:root{--ink: #1b1917;--muted: #6f655d;--paper: #f8f4ee;--warm: #efe4d5;--line: rgba(43, 34, 27, .16);--red: #9f1f28;--red-dark: #71141b;--evergreen: #184d3b;--gold: #bc8d34;--white: #fffdf9;--shadow: 0 22px 70px rgba(35, 26, 19, .14);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:var(--ink);background:var(--paper)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;background:linear-gradient(180deg,rgba(159,31,40,.08),transparent 460px),var(--paper)}body:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.24;background-image:linear-gradient(rgba(27,25,23,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(27,25,23,.05) 1px,transparent 1px);background-size:42px 42px;-webkit-mask-image:linear-gradient(180deg,#000,transparent 60%);mask-image:linear-gradient(180deg,#000,transparent 60%)}a{color:inherit}main{overflow:hidden}.hero{min-height:92vh;display:grid;grid-template-columns:minmax(320px,.92fr) minmax(340px,1.08fr);gap:clamp(28px,5vw,76px);align-items:center;width:min(1180px,calc(100% - 40px));margin:0 auto;padding:clamp(28px,5vw,64px) 0}.heroPhotoWrap{position:relative;min-height:620px}.heroPhotoWrap:before{content:"";position:absolute;inset:24px -18px -18px 18px;background:var(--evergreen);border:1px solid rgba(255,255,255,.32)}.heroPhoto{position:relative;width:100%;height:min(76vh,720px);min-height:560px;object-fit:cover;object-position:50% 34%;display:block;border:1px solid rgba(255,255,255,.5);box-shadow:var(--shadow);filter:contrast(1.05)}.heroCopy{padding:20px 0}h1,h2,h3,p{margin-top:0}h1{margin-bottom:22px;font-family:Georgia,Times New Roman,serif;font-size:clamp(4rem,12vw,8.5rem);line-height:.86;letter-spacing:0;color:var(--ink)}h2{font-family:Georgia,Times New Roman,serif;font-size:clamp(2.1rem,5vw,4.5rem);line-height:.98;letter-spacing:0;margin-bottom:18px}h3{font-size:1.08rem;margin-bottom:10px}.lede{max-width:690px;font-size:clamp(1.18rem,2vw,1.48rem);line-height:1.55;color:#3c332d}.heroActions{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}.button{min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:13px 18px;border-radius:6px;border:1px solid var(--line);text-decoration:none;font-weight:800;transition:transform .18s ease,border-color .18s ease,background .18s ease}.button:hover{transform:translateY(-2px)}.button.primary{background:var(--red);border-color:var(--red);color:#fff}.button.secondary{background:#ffffff7a}.button.dark{background:var(--ink);color:#fff;border-color:var(--ink);white-space:nowrap}.stats{display:grid;grid-template-columns:repeat(4,1fr);width:min(1180px,calc(100% - 40px));margin:0 auto;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.stat{padding:26px 22px;border-right:1px solid var(--line)}.stat:last-child{border-right:0}.stat strong{display:block;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.9rem,4vw,3.7rem);line-height:1;color:var(--red-dark)}.stat span{display:block;margin-top:8px;color:var(--muted);font-weight:700}.section{width:min(1180px,calc(100% - 40px));margin:0 auto;padding:clamp(70px,10vw,118px) 0}.twoColumn,.bioSection,.contactSection{display:grid;grid-template-columns:minmax(260px,.86fr) minmax(320px,1.14fr);gap:clamp(34px,6vw,72px)}.roleGrid,.projectGrid,.contactGrid{display:grid;gap:16px}.roleGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.roleCard,.projectCard{background:#fffdf9c2;border:1px solid var(--line);border-radius:8px;padding:24px}.roleCard svg,.contactItem svg{color:var(--red);flex:0 0 auto}.roleCard p,.projectCard p,.bookPanel p,.contactItem{color:var(--muted);line-height:1.6}.quoteBand{display:grid;grid-template-columns:auto minmax(0,880px);gap:18px;align-items:start;padding:clamp(42px,7vw,76px) max(20px,calc((100vw - 1180px)/2));background:var(--evergreen);color:#fff}.quoteBand svg{color:var(--gold);margin-top:8px}blockquote{margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(2rem,5vw,4.3rem);line-height:1.05;letter-spacing:0}.bioText{columns:2 320px;column-gap:34px}.bioText p{break-inside:avoid;color:#463d36;font-size:1.02rem;line-height:1.78;margin-bottom:18px}.sectionHeader{max-width:760px;margin-bottom:30px}.projectGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.projectCard{min-height:280px;display:flex;flex-direction:column}.projectCard h3{font-family:Georgia,Times New Roman,serif;font-size:clamp(1.8rem,3vw,2.7rem);line-height:1}.textLink{min-height:44px;display:inline-flex;align-items:center;gap:8px;margin-top:auto;color:var(--red);font-weight:900;text-decoration:none}.textLink.muted{color:var(--muted);cursor:default}.bookSection{padding-top:0}.bookPanel{display:grid;grid-template-columns:minmax(116px,170px) minmax(0,1fr) auto;gap:24px;align-items:center;padding:clamp(26px,5vw,42px);border:1px solid var(--line);background:var(--warm);border-radius:8px}.bookCover{width:100%;max-width:170px;aspect-ratio:1000 / 1499;object-fit:cover;border-radius:6px;box-shadow:0 16px 34px #231a1338}.contactSection{border-top:1px solid var(--line);padding-top:64px}.contactGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.contactItem{display:flex;align-items:center;gap:12px;min-height:64px;padding:16px;border:1px solid var(--line);border-radius:8px;background:#fffdf9b8;font-weight:750}.contactLink{text-decoration:none}@media(max-width:860px){.hero,.twoColumn,.bioSection,.contactSection{grid-template-columns:1fr}.hero{min-height:auto;padding-top:24px}.heroCopy{order:-1}.heroPhotoWrap{min-height:auto}.heroPhoto{height:auto;min-height:0;aspect-ratio:4 / 5}.stats,.roleGrid,.projectGrid,.contactGrid,.bookPanel{grid-template-columns:1fr}.stat{border-right:0;border-bottom:1px solid var(--line)}.stat:last-child{border-bottom:0}.bookPanel .button{width:100%}.bookCover{max-width:190px}}@media(max-width:520px){.hero,.section,.stats{width:min(100% - 28px,1180px)}h1{font-size:clamp(3.3rem,22vw,5rem)}.heroActions,.button{width:100%}.quoteBand{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
