:root {
  --ink: #102234;
  --ink-2: #1b3449;
  --paper: #f6f2ea;
  --white: #ffffff;
  --sand: #d9c39b;
  --sand-2: #b99966;
  --muted: #617180;
  --line: #dce3e7;
  --soft: #edf2f3;
  --shadow: 0 24px 60px rgba(16, 34, 52, .12);
  --radius: 18px;
  --max: 1180px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: var(--ink);
  background: var(--white);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}
img, svg { max-width: 100%; }
a { color: inherit; }
button, input, textarea { font: inherit; }
.container { width: min(calc(100% - 40px), var(--max)); margin: 0 auto; }
.skip-link { position:absolute; left:-999px; top:8px; z-index:9999; background:white; padding:10px 14px; }
.skip-link:focus { left:8px; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }

.site-header {
  position: sticky;
  top: 0;
  z-index: 50;
  background: rgba(255,255,255,.93);
  backdrop-filter: blur(12px);
  border-bottom: 1px solid rgba(16,34,52,.08);
}
.nav-wrap { min-height: 80px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.brand { display:flex; align-items:center; gap:12px; text-decoration:none; }
.brand-mark { width:42px; height:42px; display:grid; place-items:center; border:1px solid var(--sand-2); color:var(--sand-2); font:700 25px/1 Georgia, serif; border-radius:50%; }
.brand-text { display:flex; flex-direction:column; line-height:1.12; }
.brand-text strong { font-family: Georgia, "Times New Roman", serif; font-size:18px; letter-spacing:.01em; }
.brand-text small { color:var(--muted); font-size:11px; margin-top:4px; letter-spacing:.045em; }
.primary-nav { display:flex; align-items:center; gap:25px; font-size:14px; font-weight:650; }
.primary-nav a { text-decoration:none; }
.primary-nav > a:not(.button):hover { color:var(--sand-2); }
.nav-toggle { display:none; background:none; border:0; width:40px; height:40px; padding:7px; }
.nav-toggle span:not(.sr-only) { display:block; height:2px; margin:5px 0; background:var(--ink); }

.button { display:inline-flex; align-items:center; justify-content:center; min-height:50px; padding:0 22px; border:1px solid var(--sand-2); border-radius:999px; background:var(--sand-2); color:#132332; text-decoration:none; font-weight:750; cursor:pointer; transition:.2s ease; }
.button:hover { transform:translateY(-1px); filter:brightness(.97); box-shadow:0 10px 24px rgba(16,34,52,.12); }
.button-small { min-height:40px; padding:0 17px; font-size:13px; }
.button-full { width:100%; }
.text-link { font-weight:750; text-decoration:none; }
.text-link:hover { color:var(--sand-2); }

.hero { position:relative; overflow:hidden; padding:90px 0 84px; background:linear-gradient(140deg, #f8f6f0 0%, #ffffff 60%); }
.hero::after { content:""; position:absolute; width:520px; height:520px; border-radius:50%; right:-250px; top:-220px; background:radial-gradient(circle, rgba(217,195,155,.25), rgba(217,195,155,0) 70%); pointer-events:none; }
.hero-grid { display:grid; grid-template-columns:1.2fr .8fr; gap:74px; align-items:center; }
.eyebrow { margin:0 0 15px; color:var(--sand-2); font-size:12px; font-weight:850; letter-spacing:.16em; }
.hero h1, h2, h3 { margin-top:0; }
.hero h1 { max-width:800px; margin-bottom:25px; font-family: Georgia, "Times New Roman", serif; font-size:clamp(48px, 6vw, 78px); font-weight:500; line-height:.98; letter-spacing:-.04em; }
.hero h1 span { color:var(--ink-2); }
.hero-lede { max-width:720px; font-size:20px; line-height:1.6; color:#405464; }
.hero-actions { display:flex; align-items:center; gap:22px; margin-top:32px; flex-wrap:wrap; }
.trust-row { display:flex; gap:0; margin-top:38px; color:var(--muted); font-size:12px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; flex-wrap:wrap; }
.trust-row span { display:flex; align-items:center; }
.trust-row span:not(:last-child)::after { content:"•"; margin:0 11px; color:var(--sand-2); }
.hero-card { position:relative; padding:30px; color:white; background:var(--ink); border-radius:var(--radius); box-shadow:var(--shadow); }
.hero-card::before { content:""; position:absolute; inset:10px; border:1px solid rgba(217,195,155,.22); border-radius:12px; pointer-events:none; }
.hero-card-topline { position:relative; color:var(--sand); text-transform:uppercase; letter-spacing:.14em; font-size:11px; font-weight:800; margin-bottom:21px; }
.metric-stack { position:relative; display:grid; gap:0; }
.metric-stack div { padding:18px 0; border-top:1px solid rgba(255,255,255,.13); }
.metric-stack strong, .metric-stack span { display:block; }
.metric-stack strong { font-family: Georgia, "Times New Roman", serif; font-size:23px; font-weight:500; }
.metric-stack span { margin-top:4px; color:#b9c5cd; font-size:13px; }
.hero-card-note { position:relative; margin:18px 0 0; color:#dbe1e5; font-size:13px; }

.band { padding:72px 0; background:var(--ink); color:white; }
.problem-grid { display:grid; grid-template-columns:1fr .95fr; gap:72px; }
.problem h2 { font-family:Georgia, serif; font-size:clamp(34px,4.2vw,52px); font-weight:500; line-height:1.12; letter-spacing:-.03em; }
.problem-copy { color:#d1d9df; font-size:17px; }
.problem-copy p:first-child { margin-top:3px; }
.problem-copy strong { color:white; }

.section { padding:96px 0; }
.section-heading { max-width:680px; }
.section-heading.narrow { max-width:760px; }
.section-heading h2, .fit-grid h2, .about-grid h2, .cta-grid h2, .proof-copy h2 { font-family:Georgia, serif; font-size:clamp(34px,4vw,52px); line-height:1.12; font-weight:500; letter-spacing:-.025em; }
.section-heading > p:last-child, .fit-grid > div:first-child > p:last-child, .about-grid > div:last-child > p, .cta-grid > div:first-child > p, .proof-copy p { color:#526675; font-size:17px; }
.service-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:52px; }
.service-card { min-height:290px; display:flex; flex-direction:column; padding:26px; border:1px solid var(--line); border-radius:var(--radius); background:white; }
.service-number { color:var(--sand-2); font-size:12px; font-weight:850; letter-spacing:.12em; }
.service-card h3 { margin:58px 0 12px; font-family:Georgia, serif; font-size:24px; font-weight:500; }
.service-card p { margin:0; color:#60717e; }
.featured-card { background:var(--paper); border-color:#e4d7c0; }

.section-dark { background:#122739; color:white; }
.section-heading.light p:last-child { color:#c2cdd4; }
.steps { margin-top:50px; border-top:1px solid rgba(255,255,255,.18); }
.steps article { display:grid; grid-template-columns:60px 1fr; gap:24px; padding:26px 0; border-bottom:1px solid rgba(255,255,255,.18); }
.steps article > span { color:var(--sand); font:500 30px/1 Georgia, serif; }
.steps h3 { margin-bottom:6px; font-size:20px; }
.steps p { margin:0; color:#c6d0d6; max-width:760px; }

.fit-grid { display:grid; grid-template-columns:1fr .95fr; gap:70px; align-items:start; }
.fit-card { background:var(--paper); padding:34px; border-radius:var(--radius); }
.fit-card h3 { font-family:Georgia, serif; font-size:28px; font-weight:500; }
.check-list { list-style:none; padding:0; margin:24px 0 0; }
.check-list li { position:relative; padding:14px 0 14px 34px; border-top:1px solid #ded5c5; }
.check-list li::before { content:"✓"; position:absolute; left:0; color:#8e7146; font-weight:900; }

.proof-section { background:#f7f9f8; }
.proof-grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:70px; align-items:center; }
.quote-block blockquote { margin:0; font-family:Georgia, serif; font-size:clamp(30px,3.7vw,47px); line-height:1.16; color:var(--ink); }

.about-section { background:var(--paper); }
.about-grid { display:grid; grid-template-columns:.72fr 1.28fr; gap:70px; align-items:center; }
.founder-card { overflow:hidden; background:white; border:1px solid #e3dacb; border-radius:var(--radius); box-shadow:var(--shadow); }
.founder-photo-wrap { width:100%; background:#e8e1d5; }
.founder-photo { display:block; width:100%; aspect-ratio: 1 / 1.05; object-fit:cover; object-position:center 34%; }
.founder-card-copy { padding:25px 27px 28px; }
.founder-kicker { margin:0 0 7px; color:var(--sand-2); font-size:10px; font-weight:850; letter-spacing:.14em; }
.founder-card-copy strong, .founder-card-copy span { display:block; }
.founder-card-copy strong { color:var(--ink); font-family:Georgia, serif; font-size:28px; font-weight:500; }
.founder-card-copy span { color:var(--muted); margin-top:4px; }
.founder-card .linkedin-link { color:var(--ink); margin-top:17px; }
.founder-card .linkedin-link:hover { color:var(--sand-2); }
.about-copy .about-lede { color:var(--ink-2); font-size:20px; line-height:1.55; }
.relationship-note { margin:28px 0; padding:23px 25px; border-left:3px solid var(--sand-2); background:rgba(255,255,255,.58); }
.relationship-note strong { display:block; margin-bottom:7px; font-family:Georgia, serif; font-size:22px; font-weight:500; color:var(--ink); }
.relationship-note p { margin:0; color:#526675; font-size:15px; }

.cta-section { background:white; }
.cta-grid { display:grid; grid-template-columns:.9fr 1.1fr; gap:70px; align-items:start; }
.contact-details { margin-top:30px; padding:18px 20px; background:var(--soft); border-radius:12px; }
.contact-details p { margin:0; color:#435969; }
.contact-form { padding:30px; border:1px solid var(--line); border-radius:var(--radius); box-shadow:0 18px 50px rgba(16,34,52,.08); }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.contact-form label { display:block; font-size:13px; font-weight:750; margin-bottom:16px; }
.contact-form input, .contact-form textarea { width:100%; margin-top:7px; padding:13px 14px; border:1px solid #cad4da; border-radius:10px; background:white; color:var(--ink); outline:none; }
.contact-form input:focus, .contact-form textarea:focus { border-color:var(--sand-2); box-shadow:0 0 0 3px rgba(185,153,102,.16); }
.form-note, .form-status { margin:12px 0 0; color:#73818a; font-size:12px; text-align:center; }
.form-status.success { color:#2c6a4e; }
.form-status.error { color:#a34545; }

.site-footer { padding:52px 0; background:#0c1a27; color:white; }
.footer-grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:60px; }
.brand-footer .brand-text small { color:#9fb0bc; }
.footer-meta { color:#b5c0c7; font-size:13px; }
.footer-meta p { margin-top:0; }
.fine-print { font-size:11px; color:#899aa6; max-width:760px; }

@media (max-width: 920px) {
  .hero-grid, .problem-grid, .fit-grid, .proof-grid, .about-grid, .cta-grid, .footer-grid { grid-template-columns:1fr; gap:42px; }
  .service-grid { grid-template-columns:1fr 1fr; }
  .primary-nav { position:absolute; left:20px; right:20px; top:72px; display:none; flex-direction:column; align-items:stretch; padding:18px; background:white; border:1px solid var(--line); border-radius:14px; box-shadow:var(--shadow); }
  .primary-nav.open { display:flex; }
  .nav-toggle { display:block; }
  .hero { padding-top:64px; }
}

@media (max-width: 620px) {
  .container { width:min(calc(100% - 28px), var(--max)); }
  .brand-text small { display:none; }
  .hero { padding:50px 0 60px; }
  .hero h1 { font-size:46px; }
  .hero-lede { font-size:17px; }
  .section, .band { padding:68px 0; }
  .service-grid, .form-row { grid-template-columns:1fr; }
  .service-card { min-height:auto; }
  .service-card h3 { margin-top:34px; }
  .trust-row { gap:8px 0; }
}


/* LinkedIn + Recent Thinking */
.thinking-section { background:#102234; color:white; }
.thinking-heading { display:grid; grid-template-columns:1fr auto; gap:40px; align-items:end; margin-bottom:42px; }
.thinking-heading h2 { margin-bottom:14px; font-family:Georgia, serif; font-size:clamp(34px,4vw,52px); line-height:1.12; font-weight:500; letter-spacing:-.025em; }
.thinking-heading p:last-child { max-width:720px; margin-bottom:0; color:#c7d1d8; font-size:17px; }
.thinking-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:18px; }
.thinking-card { display:flex; flex-direction:column; min-height:290px; padding:28px; border:1px solid rgba(255,255,255,.16); border-radius:var(--radius); background:#152d41; }
.thinking-card h3 { margin:48px 0 13px; font-family:Georgia, serif; font-size:27px; line-height:1.2; font-weight:500; }
.thinking-card p { margin:0 0 24px; color:#c3ced5; }
.thinking-meta { display:flex; justify-content:space-between; gap:16px; color:var(--sand); font-size:11px; font-weight:800; text-transform:uppercase; letter-spacing:.1em; }
.thinking-link { margin-top:auto; color:white; font-weight:800; text-decoration:none; }
.thinking-link:hover { color:var(--sand); }
.thinking-placeholder { min-height:150px; }
.linkedin-link { display:inline-flex; align-items:center; gap:9px; margin-top:20px; color:white; font-size:13px; font-weight:800; text-decoration:none; }
.linkedin-link svg { width:20px; height:20px; fill:currentColor; }
.linkedin-link:hover { color:var(--sand); }
.linkedin-link-light { margin:0; padding:11px 14px; border:1px solid rgba(255,255,255,.24); border-radius:999px; white-space:nowrap; }
.about-linkedin { display:inline-block; margin-top:8px; }
.footer-linkedin { color:var(--sand); text-decoration:none; font-weight:750; }
.footer-linkedin:hover { color:white; }

@media (max-width: 920px) {
  .thinking-heading { grid-template-columns:1fr; align-items:start; }
  .thinking-grid { grid-template-columns:1fr; }
  .linkedin-link-light { justify-self:start; }
}
