*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
:root {
  --midnight: #0D1B2A;
  --linen: #F7F3EE;
  --ember: #C4622D;
  --teal: #3A6B5E;
  --warm-grey: #E8E2D9;
  --text-muted: #4A4540;
  --serif: 'DM Serif Display', Georgia, serif;
  --sans: 'Inter', system-ui, sans-serif;
  --mono: 'DM Mono', monospace;
}
html { scroll-behavior: smooth; }
body { background: var(--linen); color: var(--midnight); font-family: var(--sans); font-size: 16px; line-height: 1.7; -webkit-font-smoothing: antialiased; }

/* NAV */
nav { display: flex; justify-content: space-between; align-items: center; padding: 1.5rem 4rem; border-bottom: 1px solid var(--warm-grey); position: sticky; top: 0; background: var(--linen); z-index: 100; }
.nav-logo { font-family: var(--mono); font-size: 15px; font-weight: 500; letter-spacing: 0.04em; color: var(--midnight); text-decoration: none; }
.nav-links { display: flex; gap: 2.5rem; list-style: none; }
.nav-links a { font-size: 13px; font-weight: 500; letter-spacing: 0.06em; text-transform: uppercase; color: var(--text-muted); text-decoration: none; transition: color 0.2s; }
.nav-links a:hover { color: var(--ember); }

/* HERO */
.hero { padding: 8rem 4rem 7rem; max-width: 900px; }
.hero-eyebrow { font-family: var(--mono); font-size: 12px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--teal); margin-bottom: 2rem; }
.hero-headline { font-family: var(--serif); font-size: clamp(2.6rem, 5vw, 4rem); line-height: 1.12; font-weight: 400; color: var(--midnight); margin-bottom: 2rem; }
.hero-headline .accent { color: var(--ember); font-style: italic; }
.hero-sub { font-size: 17px; color: var(--text-muted); max-width: 560px; line-height: 1.75; margin-bottom: 3rem; }
.hero-cta { display: inline-block; background: var(--midnight); color: var(--linen); font-family: var(--sans); font-size: 13px; font-weight: 500; letter-spacing: 0.06em; text-transform: uppercase; text-decoration: none; padding: 0.85rem 2rem; transition: background 0.2s; }
.hero-cta:hover { background: var(--ember); }

/* DIVIDER */
.divider { height: 1px; background: var(--warm-grey); margin: 0 4rem; }

/* SECTIONS */
.section { padding: 6rem 4rem; }
.section-label { font-family: var(--mono); font-size: 11px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--ember); margin-bottom: 3.5rem; }

/* SERVICES */
.services-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2.5rem; }
.service-card { border-top: 2px solid var(--ember); padding-top: 1.5rem; }
.service-card.teal { border-top-color: var(--teal); }
.service-title { font-family: var(--serif); font-size: 1.35rem; font-weight: 400; line-height: 1.25; color: var(--midnight); margin-bottom: 0.75rem; }
.service-body { font-size: 14.5px; color: var(--text-muted); line-height: 1.75; margin-bottom: 1.25rem; }
.service-tags { display: flex; flex-wrap: wrap; gap: 6px; }
.tag { font-family: var(--mono); font-size: 10px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--text-muted); background: var(--warm-grey); padding: 4px 8px; }

/* ABOUT */
.about-section { background: var(--midnight); color: var(--linen); padding: 6rem 4rem; display: grid; grid-template-columns: 1fr 1.4fr; gap: 5rem; align-items: start; }
.about-section .section-label { color: var(--ember); }
.about-headline { font-family: var(--serif); font-size: clamp(1.8rem, 3vw, 2.4rem); font-weight: 400; line-height: 1.2; color: var(--linen); }
.about-body { font-size: 15px; color: rgba(247,243,238,0.82); line-height: 1.8; margin-bottom: 1.5rem; }
.about-credentials { display: flex; flex-direction: column; gap: 0.6rem; margin-top: 1.75rem; }
.credential { font-family: var(--mono); font-size: 12.5px; letter-spacing: 0.04em; color: rgba(247,243,238,0.72); display: flex; align-items: center; gap: 0.75rem; }
.credential::before { content: ''; display: inline-block; width: 16px; height: 1px; background: var(--ember); flex-shrink: 0; }

/* THINKING */
.tl-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: var(--warm-grey); border: 1px solid var(--warm-grey); margin-top: 1rem; }
.tl-item { background: var(--linen); padding: 2rem; text-decoration: none; color: var(--midnight); transition: background 0.2s; display: flex; flex-direction: column; gap: 0.5rem; }
.tl-item:hover { background: #EDE6DB; }
.tl-platform { font-family: var(--mono); font-size: 10px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--teal); }
.tl-title { font-family: var(--serif); font-size: 1.15rem; font-weight: 400; line-height: 1.3; color: var(--midnight); }
.tl-desc { font-size: 13.5px; color: var(--text-muted); line-height: 1.65; }
.tl-arrow { margin-top: auto; padding-top: 1rem; font-size: 13px; color: var(--ember); font-weight: 500; letter-spacing: 0.03em; }

/* STUDY */
.study-section { background: #fff; padding: 6rem 4rem; }
.study-section .section-label { color: var(--teal); }
.study-layout { display: grid; grid-template-columns: 1fr 1.6fr; gap: 5rem; align-items: start; }
.study-intro-headline { font-family: var(--serif); font-size: clamp(1.6rem, 2.5vw, 2.1rem); font-weight: 400; line-height: 1.2; margin-bottom: 1.25rem; color: var(--midnight); }
.study-intro-body { font-size: 14.5px; color: var(--text-muted); line-height: 1.8; margin-bottom: 1.25rem; }
.study-cta { display: inline-block; font-family: var(--mono); font-size: 11px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--teal); text-decoration: none; border-bottom: 1px solid var(--teal); padding-bottom: 2px; transition: color 0.2s, border-color 0.2s; }
.study-cta:hover { color: var(--ember); border-color: var(--ember); }
.reading-list { display: flex; flex-direction: column; }
.reading-cluster { margin-bottom: 2.5rem; }
.cluster-label { font-family: var(--mono); font-size: 10px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--midnight); margin-bottom: 0.75rem; padding-bottom: 0.5rem; border-bottom: 1px solid var(--warm-grey); }
.book-row { display: flex; justify-content: space-between; align-items: baseline; padding: 0.5rem 0; border-bottom: 1px solid var(--warm-grey); gap: 1rem; }
.book-title { font-size: 14px; color: var(--midnight); font-style: italic; flex: 1; }
.book-author { font-family: var(--mono); font-size: 11px; color: var(--text-muted); white-space: nowrap; }
.book-row.queue .book-title { color: var(--text-muted); }
.book-row.queue .book-author { color: #888; }

/* CONTACT */
.contact-section { padding: 6rem 4rem; display: grid; grid-template-columns: 1fr 1.6fr; gap: 5rem; align-items: start; }
.contact-headline { font-family: var(--serif); font-size: clamp(1.8rem, 3vw, 2.4rem); font-weight: 400; line-height: 1.2; color: var(--midnight); }
.contact-sub { font-size: 14.5px; color: var(--text-muted); line-height: 1.75; margin-top: 1rem; }
.form-group { margin-bottom: 1.5rem; }
.form-label { display: block; font-family: var(--mono); font-size: 11px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--text-muted); margin-bottom: 0.5rem; }
.form-input, .form-textarea, .form-select { width: 100%; padding: 0.75rem 0; background: transparent; border: none; border-bottom: 1.5px solid #C8C2B8; font-family: var(--sans); font-size: 15px; color: var(--midnight); outline: none; transition: border-color 0.2s; appearance: none; }
.form-input:focus, .form-textarea:focus, .form-select:focus { border-bottom-color: var(--ember); }
.form-textarea { resize: vertical; min-height: 100px; }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; }
.form-submit { margin-top: 2rem; background: var(--midnight); color: var(--linen); border: none; padding: 0.9rem 2.5rem; font-family: var(--sans); font-size: 13px; font-weight: 500; letter-spacing: 0.06em; text-transform: uppercase; cursor: pointer; transition: background 0.2s; }
.form-submit:hover { background: var(--ember); }

/* FOOTER */
footer { padding: 2.5rem 4rem; border-top: 1px solid var(--warm-grey); display: flex; justify-content: space-between; align-items: center; }
.footer-logo { font-family: var(--mono); font-size: 13px; font-weight: 500; letter-spacing: 0.05em; color: var(--text-muted); }
.footer-links { display: flex; gap: 2rem; list-style: none; }
.footer-links a { font-size: 12px; color: var(--text-muted); text-decoration: none; font-family: var(--mono); letter-spacing: 0.04em; }
.footer-links a:hover { color: var(--ember); }

/* MOBILE */
@media (max-width: 768px) {
  nav { padding: 1.25rem 1.5rem; }
  .nav-links { display: none; }
  .hero { padding: 4rem 1.5rem; }
  .divider { margin: 0 1.5rem; }
  .section { padding: 4rem 1.5rem; }
  .services-grid { grid-template-columns: 1fr; }
  .about-section { padding: 4rem 1.5rem; grid-template-columns: 1fr; gap: 2.5rem; }
  .tl-grid { grid-template-columns: 1fr; }
  .study-section { padding: 4rem 1.5rem; }
  .study-layout { grid-template-columns: 1fr; gap: 2.5rem; }
  .contact-section { padding: 4rem 1.5rem; grid-template-columns: 1fr; gap: 2.5rem; }
  .form-row { grid-template-columns: 1fr; gap: 0; }
  footer { padding: 2rem 1.5rem; flex-direction: column; gap: 1rem; align-items: flex-start; }
}
