@font-face{font-family:Cormorant;src:url('assets/cormorant-normal-500.woff') format('woff');font-weight:500;font-display:swap}
@font-face{font-family:Cormorant;src:url('assets/cormorant-italic-500.woff') format('woff');font-weight:500;font-style:italic;font-display:swap}
@font-face{font-family:DM Sans;src:url('assets/dm-sans-normal-400.woff') format('woff');font-weight:400;font-display:swap}
@font-face{font-family:DM Sans;src:url('assets/dm-sans-normal-600.woff') format('woff');font-weight:600;font-display:swap}
:root{--paper:#f7f5ed;--ink:#202622;--forest:#263a30;--olive:#4d654e;--sage:#ccdbb5;--hair:#cfcec0;--serif:Cormorant,"Times New Roman",serif;--sans:"DM Sans",Arial,sans-serif;--gutter:clamp(24px,6.8vw,104px)}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:24px}
body{margin:0;background:var(--paper);color:var(--ink);font:400 16px/1.5 var(--sans);-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
a:focus-visible,button:focus-visible{outline:3px solid #568eae;outline-offset:5px}
h1,h2,h3,p,figure,blockquote{margin:0}
h1,h2,h3,.monogram,.footer-name,.signoff i{font-family:var(--serif);font-weight:500}
h2{font-size:clamp(52px,5vw,80px);line-height:.95;letter-spacing:-.055em}
h2 i{color:var(--olive)}
.inner{width:min(100%,1600px);padding-inline:var(--gutter);margin-inline:auto}
.skip{position:fixed;z-index:9;left:12px;top:-80px;padding:12px 18px;background:white;color:black}.skip:focus{top:8px}
.mast{background:var(--ink);color:var(--paper)}
.navrow{display:flex;align-items:center;justify-content:space-between;min-height:72px;gap:18px}
.brand{display:inline-flex;align-items:center;gap:20px}
.monogram{font-size:36px;line-height:1;letter-spacing:-.12em;padding-right:5px;color:var(--sage)}
.monogram i{font-size:.86em}
.wordmark,.footer-name{text-transform:uppercase;letter-spacing:.19em;font-size:12px;font-family:var(--sans);font-weight:600}
nav{display:flex;align-items:center;gap:clamp(20px,2.8vw,47px);font-size:14px}
nav>a:not(.contact-nav):hover,.social a:hover{color:var(--sage);text-decoration:underline;text-underline-offset:5px}
.contact-nav{border:1px solid #717c6f;border-radius:2px;padding:8px 17px}
.contact-nav span{margin-left:9px}
.contact-nav:hover,.headshot:hover{background:var(--sage);color:var(--ink)}
.hero{background:linear-gradient(102deg,#242926 5%,#303331 55%,#343436 85%);isolation:isolate;overflow:hidden;position:relative;color:var(--paper)}
.hero-photo{position:absolute;z-index:-1;top:0;bottom:0;right:max(0px,calc((100vw - 1600px)/2));width:min(63%,980px);mask-image:linear-gradient(to right,transparent 0%,#000 27%)}
.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 18%}
.hero-inner{min-height:clamp(525px,42vw,660px);position:relative;display:flex;align-items:center}
.intro{padding:46px 0 50px;position:relative}
.eyebrow,.micro{font-size:11px;font-weight:600;line-height:1.4;letter-spacing:.17em;text-transform:uppercase}
.eyebrow{display:flex;align-items:center;gap:13px;color:var(--olive)}
.rule{display:inline-block;width:33px;height:1px;background:currentColor}
.hero .eyebrow,footer .eyebrow{color:var(--sage)}
h1{font-size:clamp(110px,10vw,160px);letter-spacing:-.065em;line-height:.74;margin:29px 0 26px -.045em}
h1 i{color:var(--sage);display:inline-block;padding-right:.13em}
.location{font-size:clamp(15px,1.15vw,18px);line-height:1.52;color:#e0e1d9}
.actions{display:flex;align-items:center;gap:27px;margin-top:29px}
.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:13px 22px;border-radius:2px;background:var(--sage);color:#1e2d23;font-size:14px;font-weight:600;transition:background .18s}
.button:hover{background:#e0ebc9}
.play{display:inline-block;width:0;height:0;border-top:5px solid transparent;border-bottom:5px solid transparent;border-left:8px solid currentColor;margin-left:2px}
.line-link,.small-link{display:inline-flex;align-items:center;gap:14px;border-bottom:1px solid #727b6b;padding-block:3px;font-size:14px;font-weight:600;width:fit-content}
.line-link:hover,.small-link:hover{color:var(--olive);border-color:currentColor}
.line-link.light{border-color:#a4ad9e;color:#f1f3e9}.line-link.light:hover{color:var(--sage)}
.headshot{position:absolute;bottom:20px;right:var(--gutter);display:inline-flex;align-items:center;gap:8px;color:white;background:#242a26d9;border:1px solid #a3aaa0;border-radius:2px;padding:6px 11px;font-size:12px}
.down{font-size:15px}
.spot{background:#e8e9dc;border-bottom:1px solid #d2d5c8}
.spot-inner{display:flex;align-items:center;gap:clamp(28px,6vw,112px);min-height:78px}
.spot .micro{white-space:nowrap;color:#4a544c;padding-right:clamp(20px,4vw,60px);border-right:1px solid #b7bcac}
.marks{display:flex;align-items:center;justify-content:space-between;gap:25px;width:min(825px,76%)}
.marks img{width:auto;max-width:20%;object-fit:contain}.pbs{height:26px}.hulu{height:23px}.ae{height:27px}.prime{height:31px}
.work{padding-top:clamp(54px,5.5vw,84px);padding-bottom:clamp(60px,6vw,96px)}
.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:15px;margin-bottom:30px}
.section-head h2,.bio h2,footer h2{margin-top:15px}
.section-head .line-link{margin-bottom:5px}
.projects{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(26px,4.3vw,70px)}
.cover{position:relative;display:block;overflow:hidden;background:#373c35}
.cover img{height:100%;width:100%;object-fit:cover;transition:transform .35s}
.cover:hover img{transform:scale(1.02)}.dogwood{aspect-ratio:1.88}
.dogwood img{object-position:center 52%}
.feature-info{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:17px}
.feature-info h3{font-size:40px;line-height:1.05;letter-spacing:-.045em;margin:3px 0}
.feature-link{flex:none;align-self:center}.role{font-size:14px;color:#52594f}
.micro{color:#4d5a4b;font-size:10px;letter-spacing:.15em}
.side-projects{border-top:1px solid var(--hair);align-self:start}
.compact{display:grid;grid-template-columns:minmax(115px,1.05fr) 1fr;gap:clamp(15px,1.7vw,28px);align-items:center;padding:23px 0;border-bottom:1px solid var(--hair)}
.compact .cover{aspect-ratio:1.65}
.compact h3{font-size:clamp(27px,2.7vw,45px);letter-spacing:-.05em;line-height:1.04;margin:7px 0 4px}
.small-link{font-size:12px;gap:8px;margin-top:10px}
.cover-play{position:absolute;bottom:8px;left:8px;width:31px;height:31px;display:grid;place-items:center;border:1px solid #ffffff9c;background:#191d19b3;border-radius:50%;color:white}
.cover-play .play{border-top-width:4px;border-bottom-width:4px;border-left-width:6px}
.bio{border-block:1px solid #ced1c4;background:#e9ecdf}
.bio-grid{display:grid;grid-template-columns:minmax(240px,.85fr) 1fr;gap:clamp(40px,8vw,140px);align-items:center;padding-top:clamp(46px,5vw,84px);padding-bottom:clamp(46px,5vw,84px)}
.second-portrait{width:100%;height:auto;max-height:490px;object-fit:cover;object-position:50% 25%}
.bio-copy{max-width:560px}.bio h2{margin-bottom:24px}
.bio-copy>p:not(.eyebrow){margin-bottom:13px;font-size:clamp(15px,1.18vw,19px);line-height:1.64}
.signoff{font-size:14px;margin-top:20px}.signoff i{font-size:40px;line-height:1}
.quote{text-align:center;padding-block:clamp(54px,6.5vw,103px)}
blockquote{font:italic 500 clamp(34px,4vw,65px)/1.03 var(--serif);letter-spacing:-.04em;color:var(--forest)}
figcaption{font-size:12px;margin-top:16px;color:#485247}figcaption span{margin:0 6px;color:#7b8978}
footer{background:var(--forest);color:var(--paper)}
.footer-top,.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px}
.footer-top{padding:clamp(44px,5vw,81px) 0}.footer-top h2 i{color:var(--sage)}
.footer-bottom{padding:21px 0;border-top:1px solid #657266}
.social{display:flex;align-items:center;gap:24px;font-size:12px}
dialog{width:min(900px,93vw);max-height:92dvh;overflow:auto;padding:20px;border:1px solid #69776a;background:#202722;color:var(--paper)}
dialog::backdrop{background:#111713d9}
.player-head{margin-bottom:15px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.player-head h2{font-size:clamp(28px,4vw,43px);letter-spacing:-.035em;line-height:1.2}
.close{font:24px/1 var(--sans);color:var(--paper);background:transparent;border:1px solid #849285;width:38px;height:38px;border-radius:50%;cursor:pointer}
.frame{aspect-ratio:16/9;background:black}.frame iframe{width:100%;height:100%;border:0}.frame+.line-link{margin-top:12px}
@media (min-width:1650px){.hero-photo{mask-image:linear-gradient(to right,transparent,#000 25%,#000 90%,transparent)}}
@media (max-width:900px){.projects{grid-template-columns:1fr 1fr;gap:25px}.compact{grid-template-columns:1fr 1fr;padding:15px 0}.hero-photo{width:61%}.marks{width:75%}.wordmark{font-size:11px}}
@media (max-width:700px){
  :root{--gutter:22px}.navrow{min-height:58px;gap:10px}.brand{gap:9px}.monogram{font-size:30px}.wordmark{font-size:10px;letter-spacing:.1em}
  nav{gap:16px;font-size:12px}.contact-nav{padding:5px 8px}.contact-nav span{display:none}
  .hero{background:#343436}.hero-photo{width:100%;height:100%;mask-image:none;right:0}
  .hero-photo img{object-fit:contain;object-position:right top;width:100%;height:auto;max-height:none;mask-image:linear-gradient(#000 70%,transparent 100%)}
  .hero-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#202622 0%,#202622e8 19%,#20262210 74%),linear-gradient(88deg,#202622b5,transparent 78%)}
  .hero-inner{min-height:clamp(575px,117vw,690px);align-items:flex-end;padding-bottom:24px}
  .intro{padding:0 0 35px}.hero .eyebrow{font-size:10px;letter-spacing:.15em;color:#e2eacb}
  h1{font-size:clamp(85px,16vw,115px);margin:20px 0 18px}.location{font-size:14px;line-height:1.45}
  .actions{margin-top:18px;gap:22px}.button{padding:11px 16px}.headshot{bottom:11px;font-size:11px;padding:2px 7px}
  .spot-inner{min-height:74px;gap:15px}.spot .micro{font-size:8px;padding-right:13px}.marks{gap:12px;flex:1}.marks img{max-width:22%}
  .pbs{height:19px}.ae{height:20px}.hulu{height:17px}.prime{height:24px}
  .section-head{margin-bottom:23px}.section-head .line-link{font-size:12px;gap:6px}
  .projects{grid-template-columns:1fr;gap:26px}.compact{grid-template-columns:minmax(115px,.8fr) 1fr;padding:17px 0;gap:21px}
  .compact h3{font-size:33px}.compact .cover{max-height:170px}.feature-info h3{font-size:35px}
  .bio-grid{grid-template-columns:1fr;gap:27px}.second-portrait{max-height:410px;aspect-ratio:1.18;object-position:center 22%}.bio h2{margin-bottom:18px}
  .footer-bottom{align-items:flex-start;flex-direction:column}.social{flex-wrap:wrap;gap:12px 21px}.footer-top .button{white-space:nowrap}
}
@media (max-width:400px){.wordmark{display:none}.hero-inner{min-height:565px}.section-head{align-items:flex-start;flex-direction:column;gap:10px}.footer-top{align-items:flex-start;flex-direction:column}.spot .micro{white-space:nowrap;padding-right:8px;font-size:8px}.marks img{max-width:21%}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:after{transition:none!important}}
