/* ============================================================
   nickbottai.com — shared stylesheet
   One file for all pages. Update here, updates everywhere.
   Identity carried from the Pillar document: navy / gold / cream,
   Playfair Display display face, Inter body, IBM Plex Mono data.
   ============================================================ */

:root{
  --navy:#1a2744;
  --navy-deep:#111c33;
  --gold:#c9a84c;
  --gold-lift:#dcbc5e;
  --cream:#f5f0e8;
  --ink:#16181d;
  --mid:#4a4f5a;
  --light:#7a808c;
  --rule:#e2dcd2;
  --rule-dark:rgba(255,255,255,.14);
  --green:#1a6644;
  --red:#8b1a1a;
  --white:#fff;
  --maxw:1120px;
  --readw:68ch;
}

*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  *,*::before,*::after{animation-duration:.001ms!important;transition-duration:.001ms!important;}
}
body{
  margin:0;font-family:'Inter',system-ui,-apple-system,sans-serif;
  font-size:17px;line-height:1.65;color:var(--ink);background:var(--white);
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;height:auto;display:block;}
a{color:inherit;}
a:focus-visible,button:focus-visible,summary:focus-visible{
  outline:2px solid var(--gold);outline-offset:3px;border-radius:2px;
}

.nb-wrap{max-width:var(--maxw);margin:0 auto;padding-inline:24px;}
.nb-wrap--read{max-width:760px;}

h1,h2,h3{font-family:'Playfair Display',Georgia,serif;font-weight:700;line-height:1.14;margin:0;}
h1{font-size:clamp(2.1rem,5vw,3.5rem);letter-spacing:-.015em;}
h2{font-size:clamp(1.7rem,3.4vw,2.5rem);letter-spacing:-.01em;}
h3{font-family:'Inter',sans-serif;font-size:1.0625rem;font-weight:700;line-height:1.45;}

.nb-eyebrow{
  font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:.6875rem;
  letter-spacing:.16em;text-transform:uppercase;color:var(--gold);margin:0 0 14px;
}

.nb-skip{position:absolute;left:-9999px;top:0;z-index:200;
  background:var(--gold);color:var(--navy);padding:12px 20px;font-weight:600;}
.nb-skip:focus{left:12px;top:12px;}

/* ---------- HEADER ---------- */
.nb-header{position:sticky;top:0;z-index:100;background:rgba(26,39,68,.97);
  backdrop-filter:saturate(180%) blur(8px);border-bottom:1px solid var(--rule-dark);}
.nb-header .nb-wrap{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:66px;}
.nb-brand{text-decoration:none;color:var(--white);line-height:1.2;}
.nb-brand strong{display:block;font-family:'Playfair Display',serif;font-size:1.05rem;font-weight:700;}
.nb-brand span{display:block;font-family:'IBM Plex Mono',monospace;font-size:.625rem;
  letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.55);margin-top:2px;}
.nb-nav{display:flex;align-items:center;gap:26px;}
.nb-nav a{color:rgba(255,255,255,.78);text-decoration:none;font-size:.8125rem;font-weight:500;}
.nb-nav a:hover,.nb-nav a[aria-current="page"]{color:var(--gold);}
.nb-nav .nb-nav-cta{border:1px solid var(--gold);color:var(--gold);padding:9px 16px;
  font-family:'IBM Plex Mono',monospace;font-size:.6875rem;letter-spacing:.1em;text-transform:uppercase;}
.nb-nav .nb-nav-cta:hover{background:var(--gold);color:var(--navy);}

.nb-nav-toggle{display:none;flex-direction:column;justify-content:center;gap:5px;
  width:36px;height:36px;padding:0;border:0;background:none;cursor:pointer;color:var(--white);}
.nb-nav-toggle span{display:block;width:22px;height:2px;background:currentColor;
  transition:transform .2s ease,opacity .2s ease;}
.nb-nav-toggle:hover{color:var(--gold);}
.nb-nav-toggle.is-open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.nb-nav-toggle.is-open span:nth-child(2){opacity:0;}
.nb-nav-toggle.is-open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

@media (max-width:900px){
  .nb-header .nb-wrap{flex-wrap:wrap;}
  .nb-nav-toggle{display:flex;}
  .nb-nav{display:none;flex-direction:column;align-items:stretch;gap:0;
    width:100%;order:3;margin-top:18px;}
  .nb-nav.is-open{display:flex;}
  .nb-nav a:not(.nb-nav-cta){display:block;padding:14px 2px;
    border-top:1px solid var(--rule-dark);}
  .nb-nav .nb-nav-cta{display:inline-block;text-align:center;margin:18px 2px 22px;}
}

/* ---------- BUTTONS ---------- */
.nb-btn{display:inline-block;text-decoration:none;font-family:'IBM Plex Mono',monospace;
  font-size:.75rem;letter-spacing:.11em;text-transform:uppercase;padding:15px 26px;
  transition:background .18s ease,color .18s ease,border-color .18s ease;}
.nb-btn--gold{background:var(--gold);color:var(--navy);font-weight:500;}
.nb-btn--gold:hover{background:var(--gold-lift);}
.nb-btn--ghost{border:1px solid rgba(255,255,255,.35);color:var(--white);}
.nb-btn--ghost:hover{border-color:var(--gold);color:var(--gold);}
.nb-btn--dark{background:var(--navy);color:var(--white);}
.nb-btn--dark:hover{background:var(--navy-deep);}
.nb-note{font-family:'IBM Plex Mono',monospace;font-size:.6875rem;letter-spacing:.06em;
  color:rgba(255,255,255,.5);margin:16px 0 0;}
.nb-note--dark{color:var(--light);}

/* ---------- SECTION SHELL ---------- */
.nb-section{padding:86px 0;}
.nb-section--tight{padding:60px 0;}
.nb-section--cream{background:var(--cream);}
.nb-section--navy{background:var(--navy);color:var(--white);}
.nb-section--navy h2,.nb-section--navy h3{color:var(--white);}
.nb-section__intro{font-size:1.0625rem;line-height:1.72;color:var(--mid);
  max-width:var(--readw);margin:18px 0 0;}
.nb-section--navy .nb-section__intro{color:rgba(255,255,255,.78);}

/* ---------- BREADCRUMBS ---------- */
.nb-crumbs{font-family:'IBM Plex Mono',monospace;font-size:.6875rem;
  letter-spacing:.06em;padding:18px 0;background:var(--cream);border-bottom:1px solid var(--rule);}
.nb-crumbs ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px;color:var(--light);}
.nb-crumbs a{color:var(--mid);text-decoration:none;}
.nb-crumbs a:hover{color:var(--navy);}
.nb-crumbs li+li::before{content:"/";margin-right:8px;color:var(--rule);}

/* ---------- HERO (home) ---------- */
.nb-hero{background:var(--navy);color:var(--white);padding:88px 0 76px;border-bottom:3px solid var(--gold);}
.nb-hero h1{color:var(--white);max-width:16ch;}
.nb-hero h1 em{color:var(--gold);font-style:italic;}
.nb-hero__lede{font-size:1.125rem;line-height:1.7;color:rgba(255,255,255,.8);max-width:56ch;margin:26px 0 0;}
.nb-hero__lede strong{color:var(--white);font-weight:600;}
.nb-hero__actions{display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin-top:34px;}

/* ---------- PAGE HERO (inner pages) ---------- */
.nb-pagehero{background:var(--navy);color:var(--white);padding:64px 0 58px;border-bottom:3px solid var(--gold);}
.nb-pagehero h1{color:var(--white);max-width:20ch;font-size:clamp(1.9rem,4.2vw,3rem);}
.nb-pagehero__lede{font-size:1.0625rem;line-height:1.72;color:rgba(255,255,255,.8);max-width:60ch;margin:22px 0 0;}
.nb-pagehero__meta{font-family:'IBM Plex Mono',monospace;font-size:.6875rem;letter-spacing:.06em;
  color:rgba(255,255,255,.45);margin:26px 0 0;padding-top:18px;border-top:1px solid var(--rule-dark);}

/* ---------- ANSWER BLOCK (AI extraction target) ---------- */
.nb-answer{border-left:3px solid var(--gold);padding:18px 0 18px 22px;margin:32px 0 0;max-width:62ch;}
.nb-answer p{margin:0;font-size:1rem;line-height:1.7;color:rgba(255,255,255,.85);}
.nb-answer--light p{color:var(--mid);}
.nb-answer--light{background:var(--cream);padding:22px 24px;border-left:3px solid var(--gold);}

/* ---------- METRICS ---------- */
.nb-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:var(--rule-dark);
  margin-top:52px;border-block:1px solid var(--rule-dark);}
.nb-metric{background:var(--navy);padding:24px 20px;}
.nb-metric b{display:block;font-family:'Playfair Display',serif;
  font-size:clamp(1.6rem,3.6vw,2.3rem);color:var(--gold);font-weight:700;line-height:1;}
.nb-metric span{display:block;font-size:.8125rem;color:rgba(255,255,255,.72);margin-top:8px;}
.nb-metric small{display:block;font-family:'IBM Plex Mono',monospace;font-size:.625rem;
  letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.42);margin-top:5px;}
@media (max-width:700px){.nb-metrics{grid-template-columns:1fr;}}

/* Light metric band for inner pages */
.nb-metrics--light{background:var(--rule);border-block:1px solid var(--rule);margin-top:0;}
.nb-metrics--light .nb-metric{background:var(--cream);}
.nb-metrics--light .nb-metric b{color:var(--navy);}
.nb-metrics--light .nb-metric span{color:var(--mid);}
.nb-metrics--light .nb-metric small{color:var(--light);}

/* ---------- DIAGNOSTIC TABLE (signature) ---------- */
.nb-diagnostic{margin-top:44px;overflow-x:auto;}
.nb-diagnostic table{width:100%;border-collapse:collapse;min-width:640px;font-size:.9375rem;}
.nb-diagnostic caption{text-align:left;font-family:'IBM Plex Mono',monospace;font-size:.6875rem;
  letter-spacing:.12em;text-transform:uppercase;color:var(--light);padding-bottom:14px;}
.nb-diagnostic th{text-align:left;font-family:'IBM Plex Mono',monospace;font-size:.6875rem;
  letter-spacing:.1em;text-transform:uppercase;color:var(--gold);font-weight:500;
  padding:0 18px 14px 0;border-bottom:2px solid var(--navy);}
.nb-diagnostic td{padding:20px 18px 20px 0;border-bottom:1px solid var(--rule);
  vertical-align:top;color:var(--mid);line-height:1.6;}
.nb-diagnostic td:first-child{color:var(--navy);font-weight:600;width:30%;}
.nb-diagnostic td:nth-child(2){font-family:'IBM Plex Mono',monospace;font-size:.8125rem;color:var(--navy);width:24%;}
.nb-diagnostic td a{color:var(--navy);text-decoration-color:var(--gold);text-underline-offset:3px;}

/* ---------- CARD GRID ---------- */
.nb-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
  gap:1px;background:var(--rule);margin-top:48px;border:1px solid var(--rule);}
.nb-card{background:var(--white);padding:32px 28px;display:flex;flex-direction:column;}
.nb-section--cream .nb-card{background:var(--white);}
.nb-card__num{font-family:'IBM Plex Mono',monospace;font-size:.6875rem;
  letter-spacing:.1em;color:var(--gold);margin:0 0 12px;}
.nb-card h3{margin:0 0 12px;color:var(--navy);}
.nb-card h3 a{text-decoration:none;}
.nb-card h3 a:hover{color:var(--gold);}
.nb-card p{font-size:.9375rem;line-height:1.68;color:var(--mid);margin:0 0 16px;}
.nb-card__proof{font-family:'IBM Plex Mono',monospace;font-size:.75rem;color:var(--navy);
  border-top:1px solid var(--rule);padding-top:14px;margin:auto 0 0;}

/* ---------- CASE STUDY TEASERS ---------- */
.nb-cases{display:grid;gap:1px;background:var(--rule-dark);margin-top:48px;}
.nb-case{background:var(--navy);padding:34px 0;display:grid;
  grid-template-columns:1fr 1.5fr;gap:36px;align-items:start;}
.nb-case__meta h3{font-family:'Playfair Display',serif;font-size:1.5rem;color:var(--gold);margin:0 0 8px;}
.nb-case__meta h3 a{text-decoration:none;}
.nb-case__meta h3 a:hover{text-decoration:underline;text-underline-offset:4px;}
.nb-case__meta p{font-family:'IBM Plex Mono',monospace;font-size:.6875rem;letter-spacing:.06em;
  color:rgba(255,255,255,.5);margin:0;line-height:1.7;}
.nb-case__body>p{font-size:.9375rem;line-height:1.72;color:rgba(255,255,255,.8);margin:0 0 20px;}
.nb-case__results{display:flex;flex-wrap:wrap;gap:28px;border-top:1px solid var(--rule-dark);
  padding-top:18px;margin:0 0 20px;}
.nb-case__results div b{display:block;font-family:'Playfair Display',serif;
  font-size:1.5rem;color:var(--white);line-height:1;}
.nb-case__results div span{display:block;font-family:'IBM Plex Mono',monospace;font-size:.625rem;
  letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.5);margin-top:6px;}
.nb-case__link{font-family:'IBM Plex Mono',monospace;font-size:.6875rem;letter-spacing:.1em;
  text-transform:uppercase;color:var(--gold);text-decoration:none;}
.nb-case__link:hover{text-decoration:underline;text-underline-offset:4px;}
@media (max-width:800px){.nb-case{grid-template-columns:1fr;gap:20px;}}

/* ---------- ARTICLE BODY (case studies, service pages) ---------- */
.nb-article h2{color:var(--navy);margin:52px 0 18px;}
.nb-article h2:first-child{margin-top:0;}
.nb-article h3{color:var(--navy);font-size:1.125rem;margin:34px 0 12px;}
.nb-article p{font-size:1.0625rem;line-height:1.78;color:var(--mid);margin:0 0 20px;}
.nb-article p strong{color:var(--navy);font-weight:600;}
.nb-article ul,.nb-article ol{margin:0 0 22px;padding-left:22px;}
.nb-article li{font-size:1.0625rem;line-height:1.75;color:var(--mid);margin-bottom:10px;}
.nb-article li strong{color:var(--navy);font-weight:600;}
.nb-article a{color:var(--navy);text-decoration-color:var(--gold);text-underline-offset:3px;}

/* Pull quote */
.nb-pull{margin:40px 0;padding:26px 0 26px 26px;border-left:3px solid var(--gold);}
.nb-pull p{font-family:'Playfair Display',serif;font-size:1.375rem;line-height:1.5;
  color:var(--navy);font-style:italic;margin:0;}
.nb-pull cite{display:block;font-family:'IBM Plex Mono',monospace;font-style:normal;
  font-size:.6875rem;letter-spacing:.08em;text-transform:uppercase;color:var(--light);margin-top:14px;}

/* Key-takeaway box: the block AI lifts */
.nb-takeaway{background:var(--cream);border-left:3px solid var(--gold);padding:24px 26px;margin:36px 0;}
.nb-takeaway h3{font-family:'IBM Plex Mono',monospace;font-size:.6875rem;letter-spacing:.12em;
  text-transform:uppercase;color:var(--gold);margin:0 0 12px;}
.nb-takeaway p{font-size:1rem;line-height:1.72;color:var(--navy);margin:0;}

/* Data table inside articles */
.nb-table{margin:32px 0;overflow-x:auto;}
.nb-table table{width:100%;border-collapse:collapse;min-width:520px;font-size:.9375rem;}
.nb-table th{text-align:left;font-family:'IBM Plex Mono',monospace;font-size:.6875rem;
  letter-spacing:.1em;text-transform:uppercase;color:var(--navy);font-weight:500;
  padding:0 16px 12px 0;border-bottom:2px solid var(--navy);}
.nb-table td{padding:14px 16px 14px 0;border-bottom:1px solid var(--rule);color:var(--mid);vertical-align:top;}
.nb-table td:first-child{color:var(--navy);font-weight:600;}

/* ---------- FIT LISTS ---------- */
.nb-fit{display:grid;grid-template-columns:1fr 1fr;gap:48px;margin-top:44px;}
.nb-fit h3{font-family:'IBM Plex Mono',monospace;font-size:.6875rem;letter-spacing:.12em;
  text-transform:uppercase;padding-bottom:12px;border-bottom:2px solid var(--navy);margin:0 0 20px;color:var(--navy);}
.nb-fit ul{list-style:none;margin:0;padding:0;}
.nb-fit li{font-size:.9375rem;line-height:1.65;color:var(--mid);padding:0 0 14px 26px;position:relative;}
.nb-fit li::before{position:absolute;left:0;top:0;font-family:'IBM Plex Mono',monospace;font-size:.875rem;}
.nb-fit--yes li::before{content:"✓";color:var(--green);}
.nb-fit--no li::before{content:"✕";color:var(--red);}
@media (max-width:760px){.nb-fit{grid-template-columns:1fr;gap:36px;}}

/* ---------- STEPS ---------- */
.nb-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:32px;margin-top:48px;}
.nb-step{border-top:2px solid var(--gold);padding-top:20px;}
.nb-step__when{font-family:'IBM Plex Mono',monospace;font-size:.6875rem;letter-spacing:.1em;
  text-transform:uppercase;color:var(--gold);margin:0 0 10px;}
.nb-step h3{color:var(--navy);margin:0 0 10px;}
.nb-step p{font-size:.9375rem;line-height:1.65;color:var(--mid);margin:0;}

/* ---------- QUOTES ---------- */
.nb-quotes{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:36px;margin-top:48px;}
.nb-quote blockquote{margin:0 0 18px;font-size:.9375rem;line-height:1.72;color:var(--mid);
  font-style:italic;border-left:2px solid var(--gold);padding-left:20px;}
.nb-quote cite{font-style:normal;font-size:.8125rem;color:var(--navy);font-weight:600;
  display:block;padding-left:22px;}
.nb-quote cite span{display:block;font-family:'IBM Plex Mono',monospace;font-size:.6875rem;
  font-weight:400;color:var(--light);letter-spacing:.04em;margin-top:3px;}

/* ---------- FAQ ---------- */
.nb-faq{max-width:var(--readw);}
.nb-faq__list{margin-top:40px;}
.nb-faq__item{border-top:1px solid var(--rule);}
.nb-faq__item:last-of-type{border-bottom:1px solid var(--rule);}
.nb-faq__item>summary{cursor:pointer;list-style:none;padding:22px 44px 22px 0;position:relative;}
.nb-faq__item>summary::-webkit-details-marker{display:none;}
.nb-faq__item>summary h3{display:inline;color:var(--navy);}
.nb-faq__item>summary::after{content:"+";position:absolute;right:2px;top:20px;
  font-family:'IBM Plex Mono',monospace;font-size:1.35rem;color:var(--gold);line-height:1;}
.nb-faq__item[open]>summary::after{content:"−";}
.nb-faq__answer{padding:0 44px 26px 0;}
.nb-faq__answer p{font-size:1rem;line-height:1.72;color:var(--mid);margin:0 0 14px;}
.nb-faq__answer p:last-child{margin-bottom:0;}
.nb-faq__answer ul{margin:0 0 14px;padding-left:20px;}
.nb-faq__answer li{font-size:1rem;line-height:1.72;color:var(--mid);margin-bottom:8px;}

/* ---------- ABOUT ---------- */
.nb-about{display:grid;grid-template-columns:280px 1fr;gap:52px;align-items:start;}
.nb-about img{border:1px solid var(--rule-dark);}
.nb-about p{font-size:1rem;line-height:1.75;color:rgba(255,255,255,.8);margin:0 0 18px;}
.nb-about p strong{color:var(--white);font-weight:600;}
.nb-about ul{list-style:none;margin:26px 0 0;padding:22px 0 0;border-top:1px solid var(--rule-dark);}
.nb-about li{font-family:'IBM Plex Mono',monospace;font-size:.75rem;letter-spacing:.04em;
  color:rgba(255,255,255,.6);padding-bottom:9px;}
@media (max-width:800px){.nb-about{grid-template-columns:1fr;gap:32px;}}
.nb-about--light img{border-color:var(--rule);}
.nb-about--light p{color:var(--mid);}
.nb-about--light p strong{color:var(--navy);}
.nb-about--light ul{border-top-color:var(--rule);}
.nb-about--light li{color:var(--light);}

/* ---------- RELATED / NEXT ---------- */
.nb-related{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1px;
  background:var(--rule);border:1px solid var(--rule);margin-top:40px;}
.nb-related a{background:var(--white);padding:26px 24px;text-decoration:none;display:block;}
.nb-related a:hover{background:var(--cream);}
.nb-related span{font-family:'IBM Plex Mono',monospace;font-size:.625rem;letter-spacing:.1em;
  text-transform:uppercase;color:var(--gold);display:block;margin-bottom:10px;}
.nb-related strong{display:block;font-family:'Playfair Display',serif;font-size:1.125rem;
  color:var(--navy);line-height:1.3;}

/* ---------- FINAL CTA + FOOTER ---------- */
.nb-final{text-align:center;}
.nb-final h2{max-width:20ch;margin-inline:auto;color:var(--navy);}
.nb-final p{font-size:1.0625rem;line-height:1.7;color:var(--mid);max-width:56ch;margin:20px auto 32px;}
.nb-footer{background:var(--navy-deep);color:rgba(255,255,255,.55);padding:44px 0;}
.nb-footer__cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
  gap:32px;padding-bottom:32px;border-bottom:1px solid var(--rule-dark);}
.nb-footer h3{font-family:'IBM Plex Mono',monospace;font-size:.625rem;letter-spacing:.12em;
  text-transform:uppercase;color:var(--gold);margin:0 0 14px;}
.nb-footer ul{list-style:none;margin:0;padding:0;}
.nb-footer li{margin-bottom:9px;}
.nb-footer a{color:rgba(255,255,255,.72);text-decoration:none;font-size:.8125rem;}
.nb-footer a:hover{color:var(--gold);}
.nb-footer__base{display:flex;flex-wrap:wrap;gap:18px;align-items:center;
  justify-content:space-between;font-size:.8125rem;padding-top:26px;}
.nb-updated{font-family:'IBM Plex Mono',monospace;font-size:.6875rem;
  letter-spacing:.06em;color:rgba(255,255,255,.4);}
