/* September 2026: the AI Operating Partner positioning, in the existing design. */
.eyebrow,.label { font-size: .875rem; letter-spacing: .1em; }
.section { scroll-margin-top: 96px; }
.section h2 { max-width: 940px; text-wrap: balance; }
.pagehero h1 { max-width: 1000px; text-wrap: balance; }
.pagehero .hero-actions:empty { display:none; }
.ai-hero { padding:72px 0 76px; }
.ai-hero .hero-grid { grid-template-columns:1.35fr .85fr; gap:60px; align-items:center; }
.ai-hero h1 { font-size:clamp(2.7rem,4.8vw,4.15rem); line-height:1.08; letter-spacing:-.025em; text-wrap:balance; }
.ai-hero p { font-size:1.18rem; }
.ai-hero .hero-fit { font-size:.95rem; margin-top:28px; color:#c6d6e3; }
.thesis-note { color:var(--ink); background:var(--paper); border-top:6px solid var(--yellow); padding:32px; box-shadow:10px 10px 0 #04111d; }
.thesis-note .label { color:var(--blue); }
.thesis-note .note-title { color:var(--ink); font:700 clamp(1.55rem,2.45vw,2.1rem)/1.28 Fraunces,Georgia,serif; margin:22px 0; }
.thesis-note p { color:var(--muted); font-size:1rem; }
.thesis-note .note-byline { display:flex; align-items:center; gap:18px; margin-top:26px; padding-top:22px; border-top:1px solid var(--line); }
.thesis-note .note-byline img { width:64px; height:64px; object-fit:cover; object-position:50% 20%; border-radius:50%; flex-shrink:0; }
.thesis-note .note-byline p { font-weight:700; margin:0; color:var(--ink); }
.thesis-note .note-byline span { font-size:.875rem; font-weight:400; color:var(--muted); }
.body-wide { max-width:820px; font-size:1.08rem; line-height:1.8; }
.statement { font:700 clamp(1.7rem,3vw,2.45rem)/1.25 Fraunces,Georgia,serif; max-width:820px; margin:32px 0; padding-left:24px; border-left:5px solid var(--yellow); }
.capability-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 48px; margin-top:30px; }
.capability-grid article { padding:27px 0; border-top:1px solid var(--line); min-width:0; }
.capability-grid h3 { font-size:1.55rem; line-height:1.2; margin:0 0 14px; }
.capability-grid p { margin:0; line-height:1.8; }
.stage-grid { list-style:none; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; padding:0; margin:32px 0; }
.stage-grid li { padding:28px 30px; border:1px solid var(--line); background:var(--paper); display:flex; flex-direction:column; min-width:0; }
.stage-number { font-size:.875rem; font-weight:700; color:var(--blue); }
.stage-grid h3 { font-size:2rem; margin:12px 0 16px; }
.stage-grid .stage-title { font-weight:700; font-size:1.12rem; margin:0 0 8px; }
.stage-grid p { line-height:1.75; }
.stage-grid .stage-price { margin-top:auto; padding-top:16px; border-top:1px solid var(--line); font-weight:700; }
.stage-grid .textlink { align-self:flex-start; }
.read-summary { display:grid; grid-template-columns:.8fr 1.2fr 1.2fr; gap:32px; align-items:center; }
.read-summary .price { margin:0; color:var(--ink); }
.read-summary p { margin:8px 0 0; }
.read-summary strong { font-size:1.125rem; }
.commitment { border-left:5px solid var(--yellow); padding:8px 0 8px 30px; max-width:900px; }
.table-scroll { overflow-x:auto; margin:32px 0; border:1px solid var(--line); border-radius:4px; }
.table-scroll table { border-collapse:collapse; width:100%; min-width:580px; font-size:1rem; }
.table-scroll caption { text-align:left; padding:18px 22px; background:var(--ink); color:white; font-weight:700; }
.table-scroll th,.table-scroll td { text-align:left; vertical-align:top; padding:18px 22px; border-bottom:1px solid var(--line); line-height:1.7; }
.table-scroll thead th { background:var(--blue2); color:var(--ink); }
.table-scroll tbody th { width:23%; }
.table-scroll tbody tr:last-child>* { border-bottom:0; }
.proof-links { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; margin:28px 0; }
.proof-links a { padding:24px; border:1px solid var(--line); border-left:5px solid var(--blue); }
.proof-links a:hover { background:var(--blue2); }
.proof-links span,.proof-links strong { display:block; }
.proof-links span { color:var(--muted); margin-bottom:8px; font-size:.95rem; }
.about-layout { display:grid; grid-template-columns:280px minmax(0,1fr); gap:64px; align-items:start; }
.about-layout figure { margin:0; }
.about-layout img { aspect-ratio:3/4; object-fit:cover; object-position:50% 20%; width:100%; height:auto; }
.about-layout figcaption { font-size:.9rem; color:var(--muted); margin-top:15px; }
.prose.essay { margin:0 auto; }
.essay h2 { margin-top:52px; }
.essay .btn { margin-top:24px; }
.faq { max-width:860px; }
.faq details p { max-width:780px; padding-bottom:16px; }
.workflow-layout aside h2 { font-size:1.8rem; }
.workflow-layout aside a { overflow-wrap:anywhere; }
.site-footer .footer-top p { max-width:540px; }
.site-footer a { overflow-wrap:anywhere; }
.dark .capability-grid article { border-color:#3d5266; }
.hero-secondary { display:inline-flex; align-items:center; color:inherit; }
@media (max-width:900px) {
  .ai-hero .hero-grid { grid-template-columns:1fr; gap:36px; }
  .ai-hero h1 { max-width:730px; font-size:clamp(2.6rem,7vw,3.8rem); }
  .thesis-note { max-width:680px; }
  .thesis-note .note-title { font-size:1.8rem; }
  .about-layout { grid-template-columns:1fr; gap:36px; }
  .about-layout figure { max-width:280px; }
  .read-summary { grid-template-columns:1fr; gap:24px; }
}
@media (max-width:620px) {
  .ai-hero { padding:46px 0 54px; }
  .ai-hero h1 { font-size:clamp(2.35rem,9.4vw,3.3rem); }
  .ai-hero p { font-size:1.08rem; }
  .thesis-note { padding:25px; box-shadow:6px 6px 0 #04111d; }
  .thesis-note .note-title { font-size:1.55rem; }
  .capability-grid,.stage-grid,.proof-links { grid-template-columns:1fr; }
  .stage-grid li { padding:25px; }
  .capability-grid { gap:0; }
  .stage-grid { gap:18px; }
  .commitment { padding-left:20px; }
  .table-scroll table { min-width:510px; }
  .table-scroll th,.table-scroll td { padding:15px; }
  .section>.wrap>.wrap { padding:0; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }

/* Search guides use the same type, palette and reading rhythm as the core site. */
.breadcrumbs { margin-bottom:26px; font-size:.95rem; }
.breadcrumbs span { padding:0 8px; color:var(--muted); }
.guide-hero .guide-answer { max-width:920px; font-size:1.2rem; line-height:1.8; }
.guide-hero .guide-byline { font-size:.95rem; line-height:1.8; margin-top:28px; }
.guide-layout { display:grid; grid-template-columns:230px minmax(0,790px); gap:64px; align-items:start; }
.guide-toc { border-top:4px solid var(--yellow); padding-top:20px; }
.guide-toc ul { padding:0; list-style:none; margin:18px 0 0; }
.guide-toc li { margin:0 0 18px; line-height:1.55; }
.guide-toc a { font-size:.98rem; }
.guide-prose { min-width:0; font-size:1.075rem; line-height:1.85; }
.guide-prose h2 { font-size:clamp(1.7rem,2.8vw,2.15rem); line-height:1.25; margin:52px 0 22px; scroll-margin-top:115px; }
.guide-prose>h2:first-child { margin-top:0; }
.guide-prose p { margin:0 0 24px; }
.guide-prose ul { padding-left:26px; margin:24px 0; }
.guide-prose li { margin-bottom:12px; }
.guide-prose a:not(.btn):not(.textlink),.guide-answer a { text-decoration:underline; text-underline-offset:3px; }
.answer-note { padding:24px 28px; background:var(--blue2); border-left:5px solid var(--blue); margin:30px 0; }
.answer-note p:last-child { margin-bottom:0; }
.guide-related { border-top:1px solid var(--line); margin-top:48px; }
.guide-related .proof-links { grid-template-columns:1fr; }
.guide-cards { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:36px 48px; }
.guide-cards article { padding:28px 0; border-top:4px solid var(--yellow); }
.guide-cards h2 { font-size:1.85rem; line-height:1.3; margin:0 0 20px; }
.guide-cards p { line-height:1.8; }
@media(max-width:900px) {
  .guide-layout { grid-template-columns:1fr; gap:42px; }
  .guide-toc { max-width:790px; }
  .guide-toc ul { columns:2; column-gap:36px; }
  .guide-toc li { break-inside:avoid; }
}
@media(max-width:620px) {
  .guide-cards { grid-template-columns:1fr; gap:16px; }
  .guide-toc ul { columns:1; }
  .guide-hero .guide-answer { font-size:1.08rem; }
  .guide-prose { font-size:1rem; }
  .answer-note { padding:22px; }
  .guide-prose .table-scroll { max-width:100%; }
}
