/* The Lab's editorial cover and reading surfaces share the brand palette. */
.frame { max-width:1440px; padding-inline:var(--gutter); }
body { font-family:var(--sans); }
.eyebrow,.small-label { color:var(--accent); font-size:10px; letter-spacing:1.8px; font-weight:600; }
.hero { display:grid; grid-template-columns:minmax(0,1fr) minmax(230px,29%); align-items:center; gap:7%; padding:90px 0 88px; border:0; }
.hero h1 { font-size:clamp(40px,4.6vw,64px); font-weight:500; letter-spacing:-.055em; line-height:1.3; margin-top:32px; }
.hero-bottom { display:block; margin-top:30px; }
.hero-bottom>p { max-width:550px; font-size:16px; line-height:1.95; }
.hero-bottom .text-link { margin-top:29px; }
.text-link { font-size:13px; gap:25px; padding:9px 0; border-color:currentColor; white-space:normal; }
.section { padding:48px 0 58px; border-bottom:0; border-top:1px solid var(--line); }
.section-heading { gap:19px; margin-bottom:35px; }
.section-heading h2 { font-size:15px; font-weight:500; }
.number { font-size:10px; }
.practice { background:none; color:var(--on-deep); padding:32px 0 48px; margin-bottom:20px; border-top:1px solid var(--line); }
.practice .section-heading { margin-bottom:30px; }
.practice .number,.practice .small-label { color:var(--muted); }
.practice-grid { gap:18px; padding-left:0; }
.practice-grid article { padding:32px; border:1px solid var(--line); border-radius:12px; background:linear-gradient(145deg,#1a1a1a,#101010); box-shadow:inset 0 1px 0 rgba(255,255,255,.035); }
.practice-grid article+article { padding:32px; border:1px solid var(--line); }
.practice-grid h3 { font-size:25px; font-weight:500; letter-spacing:-.035em; }
.practice-grid p { font-size:14px; color:var(--muted); line-height:1.95; max-width:430px; }
.empty-note { align-items:center; gap:30px; padding:28px 42px 24px; }
.empty-mark { font-size:42px; color:var(--accent); }
.empty-note h3,.empty-note h2 { font-size:22px; font-weight:400; letter-spacing:-.025em; }
.empty-note p { margin-top:8px; }
.empty-note.large { padding:95px 0 110px; }
.founder { margin-top:16px; }
.founder-body { display:grid; grid-template-columns:140px 1fr auto; gap:37px; padding:7px 0 10px 42px; }
.founder-body img { width:140px; height:160px; object-fit:cover; }
.founder-identity .signature { display:block; font-size:40px; margin-bottom:12px; line-height:1.1; }
.founder-body h3 { font-size:17px; font-weight:500; margin-bottom:7px; }
.founder-body p { line-height:1.9; }
.founder-links { display:grid; gap:12px; align-content:center; }
.site-footer { padding:28px 0 35px; margin-top:40px; border-top:1px solid var(--line); }
.page-intro { padding:70px 0 46px; }
.page-intro h1 { font-size:clamp(36px,5vw,60px); letter-spacing:-.055em; font-weight:500; line-height:1.35; margin:24px 0 22px; }
.notes-layout { gap:64px; padding-top:40px; }
.notes-sidebar>div { margin-top:30px; }
.notes-sidebar a { padding:6px 0; }
.note-row { gap:28px; padding:32px 0; }
.note-row h2,.note-row h3 { font-size:25px; letter-spacing:-.025em; font-weight:500; line-height:1.5; }
.note-row div>p { margin-top:12px; }
.note-meta { font-size:11px; line-height:1.9; }
.tags { gap:8px 16px; font-size:11px; margin-top:14px; }
.search-box { padding:20px 24px; background:var(--wash); }
.search-box label { font-size:11px; }
.search-box input { border-color:var(--line); }
#search-results li { padding-inline:0; }
.article-header { padding:67px 0 45px; max-width:900px; }
.article-header h1 { font-size:clamp(33px,4vw,52px); line-height:1.45; letter-spacing:-.045em; font-weight:500; margin:22px 0; }
.article-summary { margin-bottom:26px; max-width:760px; }
.article-layout { grid-template-columns:190px minmax(0,760px); gap:64px; padding-top:40px; }
.article-toc { font-size:12px; }
.article-toc nav { top:142px; gap:12px; }
.prose { min-width:0; }
.prose>*+* { margin-top:1.4em; }
.prose h2 { font-size:28px; line-height:1.5; letter-spacing:-.035em; margin-top:2.5em; font-weight:500; }
.prose a,.article-supplement a { text-decoration-color:var(--link-line); }
.prose pre { border-radius:0; }
.prose :not(pre)>code { overflow-wrap:anywhere; }
.article-supplement { margin:64px 0 45px 254px; }
.article-supplement section { padding:26px 0; }
@media(max-width:1050px) {
  .hero { grid-template-columns:minmax(0,1fr) 26%; gap:5%; padding-block:65px; }
  .hero h1 { font-size:40px; }
  .practice { padding-inline:0; }
  .practice-grid { padding-left:0; gap:18px; }
  .practice-grid article,.practice-grid article+article { padding:27px; }
  .founder-body { padding-left:0; grid-template-columns:115px 1fr auto; gap:25px; }
  .founder-body img { width:115px; height:145px; }
  .notes-layout { gap:36px; }
  .note-row { gap:20px; }
  .article-layout { grid-template-columns:145px minmax(0,1fr); gap:35px; }
  .article-supplement { margin-left:180px; }
}
@media(max-width:700px) {
  .hero { grid-template-columns:minmax(0,1fr); padding:46px 0; gap:36px; }
  .hero h1 { font-size:clamp(30px,5.9vw,41px); letter-spacing:-.055em; margin-top:25px; }
  .hero-bottom { margin-top:24px; }
  .hero-bottom>p { font-size:15px; }
  .hero-bottom .text-link { margin-top:21px; }
  .eyebrow,.small-label { font-size:9px; letter-spacing:1.4px; }
  .section { padding:30px 0 36px; }
  .section-heading { gap:13px; margin-bottom:24px; }
  .section-heading h2 { font-size:14px; }
  .practice { padding:26px 0 32px; margin-bottom:8px; }
  .practice-grid { gap:14px; }
  .practice-grid article,.practice-grid article+article { padding:25px 23px; border:1px solid var(--line); }
  .practice-grid h3 { font-size:22px; margin:9px 0 10px; }
  .empty-note { padding:20px 0 15px; gap:18px; }
  .empty-note h3,.empty-note h2 { font-size:18px; }
  .empty-mark { font-size:32px; }
  .founder-body { grid-template-columns:84px 1fr; gap:23px; }
  .founder-body img { width:84px; height:116px; }
  .founder-identity .signature { font-size:34px; margin-bottom:9px; }
  .founder-body h3 { font-size:15px; }
  .founder-links { grid-column:1 / -1; display:flex; flex-wrap:wrap; gap:24px; margin:0; }
  .site-footer { margin-top:20px; }
  .page-intro { padding:42px 0 32px; }
  .page-intro h1 { font-size:36px; margin:20px 0 18px; }
  .notes-layout { gap:28px; padding-top:25px; }
  .notes-sidebar>div { margin:0; }
  .search-box { padding:18px; }
  .note-row { gap:9px; padding:27px 0; }
  .note-row h2,.note-row h3 { font-size:22px; }
  .article-header { padding:42px 0 30px; }
  .article-header h1 { font-size:31px; }
  .article-layout { grid-template-columns:1fr; gap:30px; padding-top:25px; }
  .article-toc nav { position:static; gap:8px; }
  .prose h2 { font-size:24px; }
  .article-supplement { margin:40px 0; }
  .empty-note.large { padding:65px 0 80px; }
}

/* Links are signalled by type and a restrained underline, without repeated arrows. */
.text-link { border-bottom:0; text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:7px; text-decoration-color:var(--link-line); }
.text-link:hover { text-decoration-color:currentColor; }
.founder-links { justify-items:start; }
.founder-links a { padding-block:8px; }
.note-row { grid-template-columns:130px minmax(0,1fr); }
@media(max-width:1000px) { .note-row { grid-template-columns:100px minmax(0,1fr); } }
@media(max-width:700px) { .note-row { grid-template-columns:minmax(0,1fr); } }

.hero-brand { position:relative; display:flex; align-items:center; justify-content:center; isolation:isolate; }
.hero-brand::before { content:""; position:absolute; z-index:-1; width:130%; aspect-ratio:1; background:radial-gradient(ellipse,rgba(255,255,255,.055),transparent 65%); pointer-events:none; }
@media(max-width:700px) { .hero-brand { display:none; } }

/* A single silver action, neutral surfaces, and restrained depth. */
.hero-bottom .text-link { min-height:44px; padding:10px 22px; border:1px solid #d2d2d2; border-radius:6px; background:linear-gradient(#eeeeee,#cfcfcf); color:#161616; font-weight:600; text-decoration:none; box-shadow:inset 0 1px 0 #ffffff; }
.hero-bottom .text-link:hover { background:#ffffff; border-color:#ffffff; }
.page-intro,.article-layout { border-color:var(--line); }
.search-box { border:1px solid var(--line); border-radius:8px; }
.tags a { padding:2px 8px; border:1px solid var(--line); border-radius:4px; background:var(--wash); }
.site-footer { color:var(--muted); }
@media print { .hero-brand{display:none} .practice-grid article,.practice-grid article+article{background:#fff;box-shadow:none} .practice-grid p,.practice .small-label,.practice .number{color:#444} .hero-bottom .text-link{background:#fff;color:#111;box-shadow:none;border-color:#777} .frame{padding:0} .article-layout{display:block} .article-supplement{margin-left:0} }

/* Initial public Lab release: the personal site remains outside the build. */
.hero-brand { display:flex; justify-content:center; align-items:center; }
.hero-actions { display:flex; align-items:center; gap:26px; flex-wrap:wrap; margin-top:28px; }
.hero-bottom .hero-actions .text-link { margin-top:0; }
.primary-action { display:inline-flex; align-items:center; justify-content:center; min-height:46px; padding:10px 22px; background:#dededb; color:#161616; border:1px solid #dededb; border-radius:3px; font-size:13px; font-weight:600; }
.primary-action:hover { color:#101010; background:#fff; }
.about-grid,.contact-grid { display:grid; grid-template-columns:1fr 1.25fr; gap:70px; }
.about-grid h3,.contact-grid h3,.section-lead { font-size:clamp(24px,2.8vw,34px); line-height:1.5; font-weight:500; letter-spacing:-.04em; }
.about-grid p,.contact-grid p { font-size:15px; line-height:1.95; color:var(--muted); }
.about-grid p+p { margin-top:20px; }
.practice-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.practice-grid article,.practice-grid article+article { padding:30px 26px; }
.practice-grid h3 { font-size:23px; }
.approach-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:34px; list-style:none; padding:0; margin:34px 0 0; }
.approach-list li { display:flex; gap:18px; border-top:1px solid var(--line); padding-top:22px; }
.step-number { color:var(--muted); font-size:11px; padding-top:4px; }
.approach-list h4 { font-size:17px; font-weight:500; margin:0 0 12px; }
.approach-list p { color:var(--muted); font-size:14px; line-height:1.9; }
.contact-link { display:inline-block; margin-top:24px; font-size:clamp(19px,2.4vw,28px); text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:8px; overflow-wrap:anywhere; }
.brand-symbol::before { background:linear-gradient(135deg,#eee8d9,#c2b69c 65%,#e2d8c2); }
.brand-lockup::before { background:linear-gradient(130deg,#ddd8ca 4%,#f6f2e8 16%,#a29b8c 32%,#d6cdb9 41%,#fffaf0 45%,#938874 58%,#cfc3a8 79%,#e9e1cf); }
@media(max-width:1050px) {
 .about-grid,.contact-grid { gap:40px; }
 .practice-grid { grid-template-columns:1fr; gap:15px; }
 .practice-grid article,.practice-grid article+article { padding:28px; }
 .practice-grid p { max-width:650px; }
 .approach-list { gap:24px; }
 .hero-brand .brand-lockup { width:175px; }
}
@media(max-width:700px) {
 .about-grid,.contact-grid { grid-template-columns:1fr; gap:22px; }
 .approach-list { grid-template-columns:1fr; gap:24px; margin-top:26px; }
 .about-grid h3,.contact-grid h3,.section-lead { font-size:25px; }
 .hero-brand { display:none; }
 .hero h1 { font-size:clamp(29px,5.6vw,40px); }
 .site-footer { gap:10px 20px; }
}
@media(min-width:540px) and (max-width:700px) {
 .hero { grid-template-columns:minmax(0,1fr) 125px; gap:22px; }
 .hero h1 { font-size:29px; }
 .hero-brand { display:flex; }
 .hero-brand .brand-lockup { width:125px; }
}
