/* assets/palette.css */
/* FieldKit navy + gold palette (preview, 2026-10-04).
   Loaded last on every page, after site.css and any page <style>, so it only changes color.
   Remove this one file (and its <link>) to go back to the blue palette. No layout or copy changes. */
:root {
  --pal-navy: #0e1a2b;      /* main dark: header, hero, dark panels */
  --pal-navy-2: #17263b;    /* raised navy surface */
  --pal-navy-line: #2b3b53; /* hairlines on navy */
  --pal-gold: #ebbd68;      /* accent: buttons, highlights, rules, labels on navy */
  --pal-gold-2: #f3cd85;    /* gold hover */
  --pal-bronze: #8a6416;    /* gold-family text on light surfaces (AA) */
  --pal-bronze-2: #6e5112;
  --pal-gold-tint: #fbf3e1; /* pale gold fill on light surfaces */
  --pal-gold-line: #e9cf96;
  --pal-on-navy: #f7f9fc;
  --pal-on-navy-2: #c9d3e0;
  --pal-link: #1b64cc;      /* blue kept only for plain text links */
  --pal-link-2: #134b9c;

  /* legacy accent variables used by site.css and page styles */
  --green: var(--pal-bronze);
  --green-2: var(--pal-bronze-2);
  --green-tint: var(--pal-gold);
  --green-text: var(--pal-on-navy-2);
  --mint: var(--pal-gold);
  --sand: #ffffff;
  --muted: #5d6a7b;         /* was #6b7889 (4.26:1 on #f7f9fc); now 5.22:1, passes AA */
}

/* plain text links: the one place blue stays */
a { color: #0E1A2B; } a:hover { color: #22344F; }

/* eyebrow labels: gold pill */
.eyebrow { background: #EEF3FA; border-color: #0E1A2B; color: #0E1A2B; }

/* buttons: gold with navy text */
.btn-primary, .nav-links a.btn-primary { background: #FBF8F3; color: var(--pal-navy);color:#0E1A2B}
.btn-primary:hover, .nav-links a.btn-primary:hover { background: #FFFFFF; color: var(--pal-navy);color:#0E1A2B}
.btn-ghost { color: var(--pal-navy); } .btn-ghost:hover { color: var(--pal-bronze); }
.cta .btn-light, .signup .btn, .newsletter-card .btn-light { background: var(--pal-gold); color: var(--pal-navy); }
.cta .btn-light:hover, .signup .btn:hover, .newsletter-card .btn-light:hover { background: var(--pal-gold-2); color: var(--pal-navy); }

/* header: navy */
.nav { background: var(--pal-navy); border-bottom-color: var(--pal-navy-line); }
.nav.open { background: var(--pal-navy); }
.nav .brand, .nav .brand .wordmark { color: var(--pal-on-navy); }
.nav .brand .wordmark b, .nav .brand em { color: var(--pal-gold); }
.nav .brand .tagline { color: var(--pal-gold); }
.brand .tagline::before, .brand .tagline::after { background: var(--pal-gold); }
.nav-links a, .nav-dd-toggle { color: var(--pal-on-navy-2); }
.nav-links a:hover, .nav-dd-toggle:hover, .nav-dd:focus-within .nav-dd-toggle { color: var(--pal-gold); }
.nav-toggle svg { stroke: var(--pal-on-navy); }
.nav-dd-menu { background: var(--pal-navy); border-color: var(--pal-navy-line); }
.nav-dd-menu a:hover { background: rgba(235, 189, 104, .12); }
@media (max-width: 900px) {
  .nav-links { background: var(--pal-navy); border-bottom-color: var(--pal-navy-line); }
}
.nav a:focus-visible, .nav button:focus-visible { outline: 2px solid var(--pal-gold); outline-offset: 3px; }

/* footer brand on light background */
footer .brand .wordmark b, footer .brand em { color: var(--pal-bronze); }
footer .brand .tagline { color: var(--pal-bronze); }
footer nav a:hover { color: var(--pal-bronze); }

/* homepage hero: full-width navy band (border-image paints outside the box without changing layout) */
main > .hero { border-image: linear-gradient(var(--pal-navy) 0 0) fill 0 / / 0 100vw; color: var(--pal-on-navy); }
main > .hero h1 { color: var(--pal-on-navy); }
main > .hero h1 em { color: var(--pal-gold); }
main > .hero .sub { color: var(--pal-on-navy-2); }
main > .hero .author-note__label, main > .hero .author-note__detail { color: #bdc9d9; }
main > .hero .author-note__name, main > .hero .author-note a { color: var(--pal-on-navy); }
main > .hero .author-note a:hover { color: var(--pal-gold); }
main > .hero .author-note img { border-color: var(--pal-navy-line); box-shadow: 0 0 0 1px rgba(255, 255, 255, .22), 0 8px 20px rgba(0, 0, 0, .22); }
main > .hero .btn-ghost { color: var(--pal-on-navy); } main > .hero .btn-ghost:hover { color: var(--pal-gold); }
main > .hero .hero-for { color: var(--pal-on-navy); border-left-color: var(--pal-gold); }
main > .hero .hero-alt { color: var(--pal-on-navy-2); }
main > .hero .hero-alt a { color: var(--pal-on-navy); text-decoration-color: var(--pal-gold); }
main > .hero .hero-alt a:hover { color: var(--pal-gold); }
main > .hero a:focus-visible { outline-color: var(--pal-gold); }
.review-card { color: var(--ink); border-color: var(--pal-gold-line); }
.review-card .eyebrow { background: var(--pal-gold-tint); }
.review-card .step, .review-card .step:last-of-type { border-color: #e6dcc6; }
.step .n { color: var(--pal-bronze); }

/* rules, bullets, numbers */
.card .ends li::before, .price-card .ends li::before { background: var(--pal-gold); }
.card svg[stroke="#1b64cc"], .checks svg[stroke="#1b64cc"], svg[stroke="#1b64cc"] { stroke: var(--pal-bronze); }
.not-block, .not-sure, .price-card.after, .guide, .callout, .shop-talk, .quoteband { border-color: var(--pal-gold-line); }
.pull { border-left-color: #0E1A2B; }
.faq summary:hover { color: var(--pal-bronze); }

/* "How I work" panel: navy with gold numbers and rules */
.how { background: var(--pal-navy); }
.how .eyebrow { color: var(--pal-gold); background: rgba(235, 189, 104, .08); border-color: rgba(235, 189, 104, .35); }
.phase { border-top-color: rgba(235, 189, 104, .45); }
.phase .n { color: var(--pal-gold); }
.phase p { color: var(--pal-on-navy-2); }

/* demo tabs */
.tab[aria-selected="true"] { background: var(--pal-gold); border-color: var(--pal-gold); color: var(--pal-navy); }
.tab:hover { border-color: var(--pal-gold); }

/* dark panels */
.cta .eyebrow { color: var(--pal-gold) !important; border-color: rgba(235, 189, 104, .4) !important; }
.newsletter-card { background: var(--pal-navy-2); }
.newsletter-card::before { border-color: rgba(235, 189, 104, .2); box-shadow: 0 0 0 44px rgba(235, 189, 104, .04), 0 0 0 88px rgba(235, 189, 104, .025); }
.newsletter-kicker .eyebrow { color: var(--pal-gold); background: rgba(255, 255, 255, .04); border-color: rgba(235, 189, 104, .35); }
.newsletter-pulse { background: var(--pal-gold); box-shadow: 0 0 0 5px rgba(235, 189, 104, .14); }
.newsletter-topics span { color: var(--pal-on-navy-2); border-color: var(--pal-navy-line); }
.newsletter-archive:hover { color: var(--pal-gold); }
.nl-inline input:focus { border-color: var(--pal-bronze); box-shadow: 0 0 0 3px rgba(235, 189, 104, .35); }
.signup input:focus { border-color: var(--pal-gold); }
.shop-talk .signup input[type=email]:focus { border-color: var(--pal-bronze); }

/* field notes */
.fn-tag { color: var(--pal-bronze); }
.fn-new { background: var(--pal-gold-tint); color: var(--pal-bronze-2); }
.fn-read, .fn-latest .fn-all, .linkedin-post-link { color: var(--pal-navy); text-decoration: underline; text-decoration-color: var(--pal-gold); text-decoration-thickness: 2px; text-underline-offset: 4px; }
.fn-latest .fn-all:hover, .linkedin-post-link:hover { color: var(--pal-bronze); }
.note-row h2 a:hover { color: var(--pal-bronze); }

/* LinkedIn band */
.linkedin-section { background: #ffffff; border-color: var(--line); }
.linkedin-section::before { color: rgba(235, 189, 104, .12); }
.linkedin-follow { background: var(--pal-navy); color: var(--pal-on-navy); }
.linkedin-follow:hover { background: var(--pal-navy-2); color: var(--pal-gold); }
.linkedin-post::after { background: var(--pal-navy); color: var(--pal-gold); }
.linkedin-post-tags span { color: #4a4030; background: var(--pal-gold-tint); }
.linkedin-controls button:hover:not(:disabled) { background: var(--pal-navy); color: var(--pal-gold); }

/* chat widget */
.chat-fab { background: var(--pal-gold); color: var(--pal-navy); }
.chat-fab:hover { background: var(--pal-gold-2); }
.chat-head { background: var(--pal-navy); color: var(--pal-on-navy); }
.chat-head span { color: var(--pal-gold); }
.chat-log .msg.user { background: var(--pal-navy); color: var(--pal-on-navy); }
.chat-form input:focus { outline-color: var(--pal-bronze); border-color: var(--pal-bronze); }
.chat-send { background: var(--pal-gold); color: var(--pal-navy); }
.chat-send:hover { background: var(--pal-gold-2); }

/* assets/brand/brand-logo.css */
/* FieldKit logo Concept 1 (gold field-marker flag + Montserrat wordmark), preview 2026-10-04.
   The SVGs carry built-in padding (about 17% top and bottom), so heights here are a bit larger than the visible mark. */
.brand .brand-logo { display: block; height: 58px; width: auto; flex: none; margin-left: -10px; }
.brand.foot .brand-logo { height: 68px; }
.brand .lockup:empty { display: none; }
@media (min-width: 901px) and (max-width: 1300px) { .brand .brand-logo { height: 50px; } }
@media (max-width: 900px) { .brand .brand-logo { height: 48px; margin-left: -8px; } .brand.foot .brand-logo { height: 60px; } }

/* Tagline stacked under the logo.
   Shown at every width where it fits; sentence case so it reads exactly as written. */
.brand:has(.brand-logo) { flex-direction: column; align-items: flex-start; justify-content: center; gap: 0; }
.brand:has(.brand-logo) .lockup { display: flex; }
.brand:has(.brand-logo) .tagline { display: block; text-transform: none; letter-spacing: .02em; font-size: 12.5px; font-weight: 600; line-height: 1.2; margin-top: -8px; white-space: nowrap; }
.brand:has(.brand-logo) .tagline::before, .brand:has(.brand-logo) .tagline::after { content: none; display: none; }
.nav .brand:has(.brand-logo) .tagline { color: var(--pal-gold, #ebbd68); }
footer .brand:has(.brand-logo) .tagline { color: var(--pal-bronze, #8a6416); font-size: 13.5px; margin-top: -9px; }
@media (min-width: 901px) and (max-width: 1300px) { .nav .brand:has(.brand-logo) .tagline { font-size: 11.5px; margin-top: -7px; } }
/* 901 to 1399px: the full desktop nav leaves no room for the tagline, so the header shows the logo only.
   The tagline shows in the header at 1400px and up and on phones/tablets (900px and down), and in the footer at every width. */
@media (min-width: 901px) and (max-width: 1399px) { .nav .brand:has(.brand-logo) .tagline { display: none; } }
@media (min-width: 1101px) and (max-width: 1300px) { .nav-links { gap: 18px; } }
/* 901 to 1100px: tighten the nav a little so nine items fit on one line (live is already tight here) */
@media (min-width: 901px) and (max-width: 1100px) { .nav .brand .brand-logo { height: 42px; } .nav-links { gap: 12px; font-size: 13.5px; } .nav-links .btn { padding: 0 14px; font-size: 13.5px; } }
@media (min-width: 901px) and (max-width: 980px) { .nav .brand .brand-logo { height: 40px; } .nav-links { gap: 9px; font-size: 13px; } .nav-links .btn { padding: 0 12px; font-size: 13px; } }
@media (max-width: 360px) { .nav .brand:has(.brand-logo) .tagline { font-size: 10.5px; } }
@media (max-width: 900px) { .nav .brand:has(.brand-logo) .tagline { font-size: 11.5px; margin-top: -6px; } footer .brand:has(.brand-logo) .tagline { font-size: 12.5px; margin-top: -8px; } }
@media (max-width: 1180px) {
  .nav .nav-toggle { display: flex; }
  .nav .nav-links { position: absolute; top: 100%; left: 0; right: 0; flex-direction: column; align-items: stretch; gap: 10px; padding: 20px; background: var(--pal-navy); }
  .nav .nav-links:not(.open) { display: none; }
  .nav .nav-links.open { display: flex; }
  .nav .nav-links a { padding-block: 10px; }
}
@media (min-width: 901px) and (max-width: 940px) { .nav-links { gap: 7px; font-size: 12.5px; } .nav-links .btn { padding: 0 11px; font-size: 12.5px; } } /* "How I help" label (v2) is longer than "Services" */

/* assets/readability.css */
/* Readability fixes, Oct 12 2026 (audit report.md). Loaded last. Fonts unchanged (Montserrat). */
/* 2. Body text 16 to 17px */
.hero-description,.founder-copy p:not(.overline),.split-heading p.lead,.service-item p,.review-section p:not(.overline),.review-deliverables li,.plan-row p,.process-grid article p,.resource-card p,.final-cta p,.consultation-path p,.package-card li,.package-benefit,.package-subtitle,.terms-panel p,.inner-hero .lead,.about-story p{font-size:16.5px!important}
/* 6. Line length ~62 to 68ch */
.hero-description,.founder-copy p,.split-heading p.lead,.review-section p,.final-cta p,.consultation-path p,.terms-panel p,.inner-hero .lead,.about-story p,.engagement-note p,.capability-note,.resource-footnote{max-width:34em!important}
/* 3. Labels min 12px, buyer info 13 to 14px */
.overline,.eyebrow,.experience-label,.author-note__label,.tagline,.hero-note{font-size:12px!important}
.plan-cost small{font-size:13px!important}
.engagement-note p,.capability-note,.resource-footnote,.review-section p.small,.hero-note{font-size:14px!important}
/* 7. Darker gold on light backgrounds only */
.fn-guide--light .fn-label--gold{color:#8a6420!important}
/* 5. Link on navy hero */
.inner-hero .lead a{color:#ebbd68!important;text-decoration:underline!important;text-underline-offset:3px}
/* 4. Mobile tap targets 44px */
@media(max-width:820px){
 .nav-links a,footer a,.text-link,.fn-read,.fn-all,.author-note a,.post-nav a,.consultation-path a,details summary,.fn-card h2 a,.fn-card h3 a{display:inline-flex!important;align-items:center;min-height:44px!important}
 details summary{display:flex!important}
}
.fn-tag{font-size:12px!important}
.package-price small{font-size:13px!important}
.linkedin-post-tags span{font-size:12px!important}
details p,.faq p{font-size:16.5px!important;max-width:34em}

/* assets/buy-path.css */
/* Purchase path pieces (Oct 18, 2026, Design Studio audit). Navy first, gold as a thin accent.
   Self-contained so it works on pages with or without site.css. */
.bp-strip{background:#0e1a2b;color:#f7f9fc;padding:clamp(40px,5vw,64px) 0}
.bp-strip .bp-wrap{width:min(100% - 2 * clamp(20px,6.6vw,96px),1248px);margin-inline:auto}
.bp-strip h2{font-family:Montserrat,system-ui,sans-serif;font-weight:500;font-size:clamp(30px,3.4vw,42px);line-height:1.1;margin:0;color:#fff}
.bp-strip .bp-sub{margin:10px 0 0;color:#c9d3e0;font-size:17px}
.bp-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:28px}
.bp-card{display:flex;flex-direction:column;background:#fff;color:#0e1a2b;border-top:4px solid #ebbd68;border-radius:12px;padding:24px 22px 22px;box-shadow:0 10px 28px rgba(0,0,0,.18)}
.bp-tag{margin:0;font:600 12px/1.3 Inter,system-ui,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:#FBF8F3}
.bp-card h3{font-family:Montserrat,system-ui,sans-serif;font-weight:500;font-size:24px;line-height:1.2;margin:8px 0 0;color:#0e1a2b}
.bp-price{margin:10px 0 0;font:700 30px/1 Inter,system-ui,sans-serif;color:#0e1a2b}
.bp-card p.bp-desc{margin:12px 0 18px;color:#3d4a5c;font-size:16px;line-height:1.5;flex:1}
.bp-btn{display:flex;align-items:center;justify-content:center;min-height:50px;padding:12px 18px;border-radius:8px;background:#0e1a2b;color:#fff!important;font:700 16px/1.2 Inter,system-ui,sans-serif;text-decoration:none!important;text-align:center;border:2px solid #0e1a2b}
.bp-btn:hover{background:#17263b;border-color:#17263b}
.bp-btn:focus-visible{outline:3px solid #0E1A2B;outline-offset:2px}
.bp-btn--line{background:transparent;color:#0e1a2b!important}
.bp-btn--line:hover{background:#f3f5f8;border-color:#0e1a2b}
.bp-more{display:block;margin-top:12px;text-align:center;font-size:15px;color:#3d4a5c!important}
@media(max-width:860px){.bp-cards{grid-template-columns:1fr;gap:16px}}

/* Field Notes end box */
.bp-end{max-width:720px;margin:0 0 clamp(48px,6vw,80px);background:#0e1a2b;color:#f7f9fc;border-radius:14px;padding:26px 24px 24px}
.bp-end .bp-tag{color:#FBF8F3}
.bp-end h2{font-family:Montserrat,system-ui,sans-serif;font-weight:500;font-size:28px;line-height:1.2;margin:6px 0 0;color:#fff}
.bp-end .bp-sub{margin:8px 0 0;color:#c9d3e0;font-size:16px}
.bp-end-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:18px}
.bp-end-opt{display:flex;flex-direction:column;background:#fff;color:#0e1a2b;border-top:3px solid #0E1A2B;border-radius:10px;padding:16px}
.bp-end-opt b{font:700 16px/1.3 Inter,system-ui,sans-serif}
.bp-end-opt span{display:block;margin:4px 0 14px;color:#3d4a5c;font-size:15px;line-height:1.45;flex:1}
@media(max-width:640px){.bp-end{padding:22px 18px 18px}.bp-end-row{grid-template-columns:1fr}}

/* Small Bootcamp card (start-here, profit-reset) */
.bp-bc{max-width:560px;background:#fff;color:#0e1a2b;border:1px solid #d3dde9;border-top:4px solid #ebbd68;border-radius:12px;padding:22px 20px 20px}
.bp-bc h3{font-family:Montserrat,system-ui,sans-serif;font-weight:500;font-size:24px;line-height:1.2;margin:6px 0 0;color:#0e1a2b}
.bp-bc p.bp-desc{margin:10px 0 16px;color:#3d4a5c!important;font-size:16px;line-height:1.5}
.sh-main .bp-bc{margin-top:22px;border-color:#2b3b53}
.bp-next{padding-top:0!important}
.bp-next .bp-bc{margin-inline:auto}

/* Profit Reset: phone sticky buy bar */
.bp-sticky{display:none}
@media(max-width:820px){
  .bp-sticky{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:99;background:#0e1a2b;border-top:2px solid #ebbd68;padding:10px 16px calc(10px + env(safe-area-inset-bottom));align-items:center;justify-content:space-between;gap:12px;box-shadow:0 -6px 20px rgba(0,0,0,.2)}
  .bp-sticky span{color:#fff;font:600 15px/1.3 Inter,system-ui,sans-serif}
  .bp-sticky small{display:block;color:#c9d3e0;font:500 13px/1.3 Inter,system-ui,sans-serif}
  .bp-sticky a{display:inline-flex;align-items:center;min-height:44px;background:#ebbd68;color:#0e1a2b!important;font:700 15px Inter,system-ui,sans-serif;padding:0 16px;border-radius:8px;text-decoration:none;white-space:nowrap}
  body.bp-has-sticky{padding-bottom:calc(72px + env(safe-area-inset-bottom))}
}
/* Profit Reset header: consultation as a quiet text link, $37 button beside it on desktop */
.nav-links a.pr-nav-consult{background:none!important;border:0!important;box-shadow:none!important;padding:0!important;min-height:0!important;font-weight:500;text-decoration:underline;text-underline-offset:3px;color:#c9d3e0!important}
.nav-links a.pr-nav-consult:hover{color:#ebbd68!important}
.pr-nav-buy-d{display:none!important}
@media(min-width:901px){.nav-links a.pr-nav-buy-d{display:inline-flex!important}}
.sh-main .bp-bc .bp-tag{color:#8a6416}
/* Profit Reset header has one more item (the $37 button); drop "Our Approach" on mid-size screens so the row fits */
@media(min-width:901px) and (max-width:1366px){.bp-has-sticky .nav-links a[href="/#how"]{display:none}}

.bp-cards--4{grid-template-columns:repeat(4,minmax(0,1fr))}@media(max-width:1100px){.bp-cards--4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.bp-cards--4{grid-template-columns:1fr}}
.oh-slot:empty{display:none}

