:root{--paper:#f3efe6;--paper-soft:#ebe5d8;--ink:#11110f;--muted:#6f6a5f;--quiet:#9d9587;--line:#11110f24;--line-strong:#11110f47;--panel:#fffcf494;--panel-solid:#fbf8ef;--charcoal:#171713;--charcoal-soft:#22211d;--cream:#fffaf0;--radius:28px;--max:1240px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-height:100vh;color:var(--ink);background:linear-gradient(90deg, #11110f0b 1px, transparent 1px), linear-gradient(180deg, #11110f09 1px, transparent 1px), radial-gradient(circle at 76% 4%, #ffffffb8, transparent 28rem), var(--paper);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;background-size:92px 92px,92px 92px,auto,auto;margin:0;font-family:Geist,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}body:before{content:"";pointer-events:none;z-index:0;background:radial-gradient(circle,#0000 0 48%,#11110f14 100%);position:fixed;inset:0}a{color:inherit;text-decoration:none}img{max-width:100%}::selection{color:var(--cream);background:var(--ink)}.reveal-on-scroll{opacity:1;transform:none}.shell{width:min(var(--max), calc(100% - 48px));z-index:1;margin:0 auto;position:relative}.site-nav{justify-content:space-between;align-items:center;gap:28px;min-height:84px;padding:18px 0;display:flex}.wordmark{letter-spacing:-.02em;align-items:baseline;gap:12px;display:inline-flex}.wordmark span{font-family:Newsreader,Georgia,serif;font-size:24px;font-weight:500}.wordmark small,.section-label,.ledger-number,.ledger-meta,.project-number,.project-visit,.contact-grid span,.about-tags span,.role-line span,.project-title em{letter-spacing:.13em;text-transform:uppercase;font-size:11px;font-weight:600;line-height:1}.wordmark small{color:var(--quiet)}nav{border:1px solid var(--line);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fbf8ef9e;border-radius:999px;align-items:center;gap:4px;padding:5px;display:flex}nav a{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;border-radius:999px;padding:11px 13px;font-size:11px;font-weight:600;transition:color .18s,background .18s}nav a:hover{color:var(--ink);background:#11110f12}.hero{border-top:1px solid var(--line);grid-template-columns:minmax(0,1.14fr) minmax(340px,.86fr);align-items:end;gap:44px;padding:82px 0 86px;display:grid}.section-label{color:var(--quiet);align-items:center;gap:10px;margin:0;display:inline-flex}.section-label span{color:var(--ink)}.section-label:before{content:"";background:currentColor;width:28px;height:1px}.hero h1,.section-heading h2,.contact-section h2{letter-spacing:-.065em;color:var(--ink);margin:0;font-family:Newsreader,Georgia,serif;font-weight:500}.hero h1{max-width:900px;margin-top:18px;font-size:clamp(78px,13vw,178px);line-height:.79}.hero-deck{max-width:760px;color:var(--muted);letter-spacing:-.035em;margin:32px 0 0;font-size:clamp(20px,2.2vw,30px);line-height:1.32}.role-line{flex-wrap:wrap;gap:10px;margin-top:34px;display:flex}.role-line span,.about-tags span{border:1px solid var(--line);min-height:34px;color:var(--muted);background:#ffffff38;border-radius:999px;align-items:center;padding:0 12px;display:inline-flex}.hero-portrait{border-radius:var(--radius);background:var(--charcoal);min-height:640px;margin:0;position:relative;overflow:hidden;box-shadow:0 40px 90px #332a1a2e}.hero-portrait img{object-fit:cover;object-position:center 18%;filter:grayscale(.08)saturate(.88)contrast(1.02);width:100%;height:640px;display:block}.hero-portrait:after{content:"";background:linear-gradient(#0000 48%,#000000b8);position:absolute;inset:0}.hero-portrait figcaption{z-index:3;color:var(--cream);position:absolute;bottom:22px;left:22px;right:22px}.hero-portrait figcaption span{color:#fffaf09e;letter-spacing:.14em;text-transform:uppercase;margin-bottom:10px;font-size:11px;font-weight:650;display:block}.hero-portrait figcaption strong{letter-spacing:-.04em;max-width:460px;font-family:Newsreader,Georgia,serif;font-size:30px;font-weight:500;line-height:1.05;display:block}.about-band{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);grid-template-columns:.78fr 1.22fr;gap:0;margin-bottom:86px;display:grid;overflow:hidden}.about-image{background:var(--charcoal);min-height:480px;margin:0;overflow:hidden}.about-image img{object-fit:cover;object-position:center 30%;filter:grayscale(.72)contrast(1.03)brightness(.94);width:100%;height:100%;min-height:480px;display:block}.about-copy{flex-direction:column;justify-content:center;padding:clamp(30px,5vw,72px);display:flex}.about-copy p:not(.section-label){letter-spacing:-.055em;max-width:820px;margin:18px 0 0;font-family:Newsreader,Georgia,serif;font-size:clamp(32px,4.8vw,62px);line-height:.98}.about-tags{flex-wrap:wrap;gap:10px;margin-top:32px;display:flex}.experience-section,.life-section,.projects-section,.contact-section{border-top:1px solid var(--line);padding:92px 0}.life-section{padding-top:78px}.life-intro{grid-template-columns:.36fr 1fr;align-items:start;gap:34px;margin-bottom:34px;display:grid}.life-intro h2{letter-spacing:-.06em;max-width:760px;margin:0;font-family:Newsreader,Georgia,serif;font-size:clamp(38px,6vw,88px);font-weight:500;line-height:.9}.life-grid{grid-template-columns:1.05fr .95fr;align-items:stretch;gap:18px;display:grid}.property-photo{border-radius:var(--radius);background:var(--charcoal);border:1px solid #11110f14;min-height:620px;margin:0;overflow:hidden;box-shadow:0 34px 84px #332a1a24}.property-photo img{object-fit:cover;object-position:center;filter:grayscale(.1)saturate(.86)contrast(1.02);width:100%;height:100%;min-height:560px;display:block}.property-photo figcaption{color:#fffaf0a8;background:var(--charcoal);letter-spacing:.14em;text-transform:uppercase;padding:15px 18px;font-size:11px;font-weight:650}.property-notes{gap:12px;display:grid}.property-note{border:1px solid var(--line);background:#fbf8ef9e;border-radius:22px;align-content:space-between;min-height:142px;padding:24px;display:grid}.property-note span{color:var(--quiet);letter-spacing:.13em;text-transform:uppercase;font-size:11px;font-weight:650;line-height:1}.property-note p{max-width:560px;color:var(--ink);letter-spacing:-.045em;margin:22px 0 0;font-family:Newsreader,Georgia,serif;font-size:clamp(24px,2.6vw,36px);line-height:1.05}.home-note{background:var(--charcoal);color:var(--cream)}.home-note span{color:#fffaf094}.home-note p{color:var(--cream)}.life-photos{grid-template-columns:1fr 1fr;gap:18px;margin-top:18px;display:grid}.life-photo{background:var(--charcoal);border:1px solid #11110f14;border-radius:24px;margin:0;overflow:hidden}.life-photo img{object-fit:cover;object-position:center;filter:grayscale(.08)saturate(.9)contrast(1.02);width:100%;height:440px;display:block}.life-photo figcaption{color:#fffaf0a8;background:var(--charcoal);letter-spacing:.14em;text-transform:uppercase;padding:14px 16px;font-size:11px;font-weight:650}.section-heading{grid-template-columns:.36fr 1fr;align-items:start;gap:34px;margin-bottom:42px;display:grid}.compact-heading{margin-bottom:28px;display:block}.section-heading h2,.contact-section h2{max-width:930px;font-size:clamp(42px,7.5vw,104px);line-height:.88}.project-heading p:not(.section-label),.contact-section p{max-width:620px;color:var(--muted);margin:24px 0 0;font-size:18px;line-height:1.6}.ledger{border-top:1px solid var(--line-strong)}.ledger-item{border-bottom:1px solid var(--line);grid-template-columns:.18fr 1fr;gap:34px;padding:44px 0;display:grid;position:relative}.ledger-item:before{content:"";background:var(--quiet);border-radius:50%;width:6px;height:6px;position:absolute;top:52px;left:0;box-shadow:0 0 0 8px #11110f0b}.ledger-number{color:var(--quiet);padding-top:9px}.ledger-main{grid-template-columns:.88fr 1.12fr;gap:36px;display:grid}.ledger-meta{color:var(--quiet);grid-column:1/-1;justify-content:space-between;gap:20px;display:flex}.ledger-main h3{letter-spacing:-.055em;margin:0;font-family:Newsreader,Georgia,serif;font-size:clamp(34px,4.8vw,72px);font-weight:500;line-height:.92}.ledger-main p{color:var(--muted);margin:0;font-size:18px;line-height:1.62}.inline-image{background:var(--charcoal);border-radius:22px;grid-column:1/-1;margin:2px 0 0;overflow:hidden}.inline-image img{aspect-ratio:16/7;object-fit:cover;object-position:center 42%;filter:grayscale(.25)saturate(.82)contrast(1.05);width:100%;display:block}.inline-image figcaption{color:#fffaf094;background:var(--charcoal);letter-spacing:.14em;text-transform:uppercase;padding:13px 16px;font-size:11px;font-weight:650}ul{grid-column:2;gap:12px;margin:0;padding:0;list-style:none;display:grid}li{color:var(--ink);padding-left:18px;font-size:15px;line-height:1.5;position:relative}li:before{content:"";background:var(--quiet);border-radius:50%;width:5px;height:5px;position:absolute;top:.72em;left:0}.project-list{border-top:1px solid var(--line-strong)}.project-row{border-bottom:1px solid var(--line);grid-template-columns:.12fr .34fr 1fr .12fr;align-items:baseline;gap:24px;padding:26px 0;transition:padding-left .2s,color .2s,border-color .2s;display:grid}.project-row:hover{border-color:var(--line-strong);padding-left:14px}.project-row:hover .project-title strong{font-style:italic}.project-number,.project-visit{color:var(--quiet)}.project-title{gap:9px;display:grid}.project-title strong{letter-spacing:-.045em;font-family:Newsreader,Georgia,serif;font-size:clamp(24px,3vw,38px);font-weight:500;line-height:1}.project-title em{border:1px solid var(--line);width:fit-content;color:var(--muted);border-radius:999px;padding:7px 9px;font-style:normal}.project-text{color:var(--muted);font-size:16px;line-height:1.55}.project-visit{justify-self:end}.project-visit:after{content:" ↗"}.contact-section{grid-template-columns:.82fr 1.18fr;align-items:end;gap:42px;padding-bottom:120px;display:grid}.contact-grid{gap:12px;display:grid}.contact-grid a{border-bottom:1px solid var(--line);justify-content:space-between;gap:22px;padding:22px 0;transition:padding-left .2s,color .2s;display:flex}.contact-grid a:hover{color:var(--ink);padding-left:12px}.contact-grid span{color:var(--quiet)}.contact-grid strong{letter-spacing:-.04em;overflow-wrap:anywhere;text-align:right;font-family:Newsreader,Georgia,serif;font-size:clamp(22px,3vw,36px);font-weight:500;line-height:1}@media (max-width:980px){.hero,.about-band,.section-heading,.life-intro,.life-grid,.ledger-item,.ledger-main,.contact-section{grid-template-columns:1fr}.hero{padding-top:48px}.hero-portrait,.hero-portrait img{height:520px;min-height:520px}.about-band{margin-bottom:46px}.experience-section,.life-section,.projects-section,.contact-section{padding:64px 0}.property-photo,.property-photo img{min-height:460px}.ledger-item{gap:18px;padding:34px 0}.ledger-main{gap:22px}ul{grid-column:auto}.project-row{grid-template-columns:.16fr 1fr;gap:14px 20px}.project-text{grid-column:2}.project-visit{grid-column:2;justify-self:start}.contact-grid strong{text-align:left}}@media (max-width:680px){.shell{width:min(100% - 28px, var(--max))}.site-nav{flex-direction:column;align-items:flex-start}nav{justify-content:flex-start;width:100%;overflow-x:auto}.wordmark{justify-content:space-between;width:100%}.hero h1{font-size:clamp(64px,22vw,108px)}.hero-deck{font-size:20px}.hero-portrait,.hero-portrait img{height:460px;min-height:460px}.hero-portrait figcaption strong{font-size:24px}.about-image,.about-image img{min-height:360px}.about-copy p:not(.section-label){font-size:clamp(30px,10vw,44px)}.life-intro h2{font-size:clamp(36px,12vw,58px)}.property-photo,.property-photo img{min-height:360px}.life-photos{grid-template-columns:1fr}.life-photo img{height:340px}.property-note{min-height:0;padding:20px}.property-note p{font-size:25px}.ledger-meta{flex-direction:column;gap:8px}.inline-image img{aspect-ratio:4/3}.project-row{grid-template-columns:1fr}.project-text,.project-visit{grid-column:auto}.contact-grid a{flex-direction:column}}@keyframes title-settle{0%{opacity:0;letter-spacing:-.09em;transform:translateY(18px)}to{opacity:1;letter-spacing:-.065em;transform:translateY(0)}}@keyframes lift-in{0%{opacity:.78;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}.reveal-on-scroll{opacity:1;transform:none}}
