@import 'tailwindcss';

:root { --paper:#f7f6f1; --ink:#151513; --muted:#6d6b64; --line:#d9d7cf; --blue:#395d70; --white:#fdfcf8; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:Arial,Helvetica,sans-serif; }
a { color:inherit; text-decoration:none; }
button,input { font:inherit; }
button { color:inherit; }
.skip-link { position:fixed; left:16px; top:-60px; z-index:100; background:var(--ink); color:white; padding:10px 14px; }
.skip-link:focus { top:12px; }
.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:fixed; inset:0 0 auto; z-index:20; display:flex; align-items:center; justify-content:space-between; min-height:76px; padding:14px 28px; background:#f7f6f1e8; border-bottom:1px solid #d9d7cf88; backdrop-filter:blur(12px); }
.identity { display:flex; flex-direction:column; font-family:Georgia,'Times New Roman',serif; font-size:19px; line-height:1; }
.identity small { margin-top:6px; color:var(--muted); font:8px/1 Arial,sans-serif; letter-spacing:.15em; }
nav { display:flex; gap:clamp(14px,2.4vw,34px); font-size:11px; color:var(--muted); }
nav a { transition:color .2s ease; }
nav a:hover,nav a:focus-visible { color:var(--ink); }

.hero { position:relative; min-height:100svh; display:grid; place-items:center; overflow:hidden; padding:130px 24px 82px; }
.blueprint { position:absolute; inset:0; display:grid; grid-template-columns:repeat(5,1fr); grid-template-rows:repeat(3,1fr); opacity:.58; pointer-events:none; }
.blueprint span { border:1px solid #d9d7cf55; box-shadow:inset 0 0 60px #fff8; transform:translate(var(--x,0),var(--y,0)); animation:drift 10s ease-in-out infinite alternate; }
.blueprint span:nth-child(3n) { --x:18px; --y:-10px; }
.blueprint span:nth-child(4n) { --x:-14px; --y:16px; animation-delay:-4s; }
@keyframes drift { to { transform:translate(calc(var(--x,0) * -1),calc(var(--y,0) * -1)); } }
.hero-inner { position:relative; width:min(100%,980px); text-align:center; }
.eyebrow,.section-kicker,.project-tag { text-transform:uppercase; letter-spacing:.16em; font-size:10px; color:var(--muted); }
.hero h1 { max-width:950px; margin:20px auto 28px; font:400 clamp(50px,7.2vw,105px)/.88 Georgia,'Times New Roman',serif; letter-spacing:-.055em; }
.hero h1 em,.life h2 em { color:var(--blue); font-weight:400; }
.hero h1 span { display:block; font-style:italic; color:var(--blue); }
.intro { width:min(100%,600px); margin:0 auto 28px; color:var(--muted); font-size:14px; line-height:1.65; }
.chat-cta { display:inline-flex; align-items:center; gap:10px; border:0; border-radius:999px; padding:13px 20px; background:var(--ink); color:white; cursor:pointer; }
.hero-index { position:absolute; left:28px; bottom:22px; color:var(--muted); font-size:9px; letter-spacing:.08em; text-transform:uppercase; }

.section-shell { padding:110px max(28px,calc((100vw - 1180px)/2)); border-top:1px solid var(--line); }
.section-heading { display:grid; grid-template-columns:1fr 2fr; gap:40px; margin-bottom:64px; }
.section-heading h2,.statement h2,.life h2 { margin:0; font:400 clamp(38px,5vw,70px)/1 Georgia,'Times New Roman',serif; letter-spacing:-.035em; }
.section-kicker { margin:8px 0 0; }
.statement { background:var(--ink); color:var(--paper); }
.statement .section-kicker { color:#9a9890; }
.statement-grid { display:grid; grid-template-columns:1.15fr .85fr; gap:9vw; align-items:start; }
.statement-grid div { color:#aaa8a0; font-size:16px; line-height:1.7; }
.statement-grid p:first-child { margin-top:5px; }
.metrics { display:grid; grid-template-columns:repeat(4,1fr); margin-top:86px; border-top:1px solid #383833; }
.metrics div { padding:28px 18px 0 0; }
.metrics strong { display:block; font:400 40px/1 Georgia,serif; }
.metrics span { display:block; max-width:160px; margin-top:9px; color:#8d8b84; font-size:11px; line-height:1.4; }

.project-list { border-top:1px solid var(--line); }
.project-card { display:grid; grid-template-columns:60px 1fr 28px; gap:26px; align-items:start; padding:34px 4px; border-bottom:1px solid var(--line); transition:padding .25s ease,background .25s ease; }
.project-card:hover { padding-inline:18px; background:var(--white); }
.project-number { color:var(--muted); font:italic 18px Georgia,serif; }
.project-card h3 { margin:8px 0; font:400 clamp(28px,3vw,44px)/1 Georgia,serif; }
.project-card p:last-child { max-width:660px; margin:0; color:var(--muted); line-height:1.6; }
.profile { background:var(--white); }
.profile-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line); border:1px solid var(--line); }
.profile-grid article { min-height:190px; padding:28px; background:var(--white); }
.profile-grid h3 { margin:18px 0 10px; font:400 29px/1.08 Georgia,serif; }
.profile-grid article>p:last-child { color:var(--muted); font-size:13px; line-height:1.55; }
.credentials { display:flex; flex-wrap:wrap; gap:8px; margin-top:28px; }
.credentials span { padding:9px 12px; border:1px solid var(--line); color:var(--muted); font-size:10px; letter-spacing:.06em; text-transform:uppercase; }
.writing { background:#e9e7df; }
.writing-list { border-top:1px solid #cbc8bd; }
.writing-list article { display:grid; grid-template-columns:100px 1fr 80px; gap:24px; align-items:center; padding:25px 0; border-bottom:1px solid #cbc8bd; }
.writing-list span,.writing-list small { color:var(--muted); font-size:10px; letter-spacing:.12em; text-transform:uppercase; }
.writing-list h3 { margin:0; font:400 clamp(20px,2.3vw,31px)/1.15 Georgia,serif; }
.quiet-note { margin:28px 0 0; color:var(--muted); font-size:12px; }
.text-link { border-bottom:1px solid currentColor; padding-bottom:2px; }
.life-grid { display:grid; grid-template-columns:1.3fr .7fr; gap:9vw; }
.life-grid div { color:var(--muted); font-size:16px; line-height:1.75; }
.life-grid p:first-child { margin-top:4px; }

footer { display:grid; grid-template-columns:1fr auto 1fr; gap:30px; align-items:end; padding:44px 28px; color:var(--paper); background:var(--ink); }
footer>div:first-child { display:flex; flex-direction:column; }
footer strong { font:400 22px Georgia,serif; }
footer span,footer p,.footer-links { color:#8f8d86; font-size:10px; letter-spacing:.08em; }
.footer-links { display:flex; justify-content:flex-end; gap:22px; }
.floating-chat { position:fixed; right:22px; bottom:22px; z-index:22; display:grid; place-items:center; width:48px; height:48px; border:0; border-radius:50%; background:var(--ink); color:white; box-shadow:0 10px 25px #0003; cursor:pointer; }
.chat-panel { position:fixed; top:0; right:0; z-index:30; display:grid; grid-template-rows:auto 1fr auto; width:min(420px,100%); height:100svh; background:var(--white); border-left:1px solid var(--line); box-shadow:-20px 0 70px #00000014; transform:translateX(105%); transition:transform .35s ease; }
.chat-panel.open { transform:translateX(0); }
.chat-head { display:flex; justify-content:space-between; padding:28px; border-bottom:1px solid var(--line); }
.chat-head h2 { margin:0; font:400 27px Georgia,serif; }
.chat-head p { margin:5px 0 0; color:var(--muted); font-size:11px; }
.chat-head button { width:34px; height:34px; border:0; background:transparent; cursor:pointer; }
.chat-body { padding:28px; color:var(--muted); font-size:14px; line-height:1.6; }
.chat-body p { width:88%; padding:15px; background:#efeee9; }
.chat-form { display:grid; grid-template-columns:1fr 40px; gap:8px; padding:18px; border-top:1px solid var(--line); }
.chat-form input { min-width:0; border:1px solid var(--line); border-radius:999px; padding:12px 16px; background:transparent; outline:none; }
.chat-form input:focus { border-color:var(--blue); }
.chat-form button { display:grid; place-items:center; border:0; border-radius:50%; background:var(--ink); color:white; }
.chat-form button:disabled { opacity:.25; }

@media (max-width:720px) {
  .site-header { padding:14px 18px; }
  nav { gap:14px; }
  nav a:nth-child(2),nav a:nth-child(4) { display:none; }
  .hero { padding-inline:20px; }
  .hero h1 { font-size:clamp(47px,14vw,74px); }
  .hero-index { left:20px; }
  .section-shell { padding:78px 22px; }
  .section-heading,.statement-grid,.life-grid { grid-template-columns:1fr; gap:28px; }
  .metrics { grid-template-columns:1fr 1fr; }
  .profile-grid { grid-template-columns:1fr; }
  .project-card { grid-template-columns:38px 1fr; gap:12px; }
  .project-card svg { display:none; }
  .writing-list article { grid-template-columns:68px 1fr; }
  .writing-list small { display:none; }
  footer { grid-template-columns:1fr; align-items:start; }
  .footer-links { justify-content:flex-start; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } .blueprint span { animation:none; } * { transition-duration:.01ms!important; } }
