@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=Libre+Caslon+Display&display=swap');
:root{--paper:#f8f7f3;--ink:#252622;--muted:#686a63;--line:#dcdcd3;--accent:#6a7057;--serif:'Libre Caslon Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:19px;line-height:1.65}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:6px}.skip{position:fixed;top:-100px;left:20px;padding:12px;background:white;z-index:30}.skip:focus{top:10px}.header{max-width:1600px;margin:auto;padding:27px 5%;display:flex;align-items:center;gap:40px;border-bottom:1px solid var(--line)}.wordmark{font-size:19px;letter-spacing:.07em;font-weight:650;line-height:1.2;white-space:nowrap}.wordmark span{display:block;font-size:19px;letter-spacing:.2em;margin-top:9px;font-weight:500;color:var(--muted)}nav{display:flex;gap:27px;margin-left:auto;font-size:19px}nav a{padding:8px 0;position:relative}nav a:hover,nav a[aria-current=page]{color:var(--accent)}nav a[aria-current=page]:after{content:'';position:absolute;left:0;right:0;bottom:1px;height:1px;background:var(--accent)}.contact-top{font-size:19px;border-bottom:1px solid var(--ink);padding-bottom:3px;margin-left:10px;white-space:nowrap}.contact-top span{margin-left:12px}.menu{display:none}.wrap{max-width:1240px;padding:0 5%;margin:auto}.eyebrow{font-size:19px;letter-spacing:.17em;text-transform:uppercase;font-weight:600;color:var(--muted);display:flex;align-items:center;gap:12px}.eyebrow:before{content:'';width:24px;height:1px;background:var(--accent)}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:400}h1,h2,.project-title{font-family:var(--serif);line-height:1.05}h1{font-size:clamp(58px,6.8vw,96px);letter-spacing:-.035em}h2{font-size:clamp(40px,4.5vw,62px);letter-spacing:-.025em}.hero{display:grid;grid-template-columns:1.25fr .9fr;gap:90px;align-items:center;padding-top:70px;padding-bottom:75px}.hero h1{margin:24px 0}.hero h1 em{font-weight:400;color:var(--accent)}.hero p{max-width:485px;font-size:19px;color:var(--muted);line-height:1.85}.hero .intro-line{font-size:19px;color:var(--ink);margin-bottom:14px}.hero-actions{display:flex;align-items:center;gap:27px;margin-top:27px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:32px;font-size:19px;padding:13px 20px;background:var(--ink);color:white;border:1px solid var(--ink);cursor:pointer}.button:hover{background:var(--accent);border-color:var(--accent)}.text-link{font-size:19px;border-bottom:1px solid var(--ink);padding-bottom:5px;display:inline-flex;align-items:center;gap:22px}.portrait-wrap{position:relative}.portrait-frame{background:#e8e8df;aspect-ratio:4/4.25;overflow:hidden}.portrait-frame img{width:100%;height:100%;object-fit:cover;object-position:center 22%;filter:grayscale(1)}.portrait-caption{display:flex;align-items:center;justify-content:space-between;font-size:19px;letter-spacing:.1em;margin-top:13px;color:var(--muted)}.hero-number{position:absolute;top:15px;right:16px;font-size:19px;letter-spacing:.1em;color:#6d6d64}.strip{display:flex;justify-content:space-between;gap:25px;align-items:center;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:18px 0;font-size:19px;letter-spacing:.13em;text-transform:uppercase}.strip span:first-child{color:var(--muted)}.section{padding:70px 0}.section-head{display:flex;align-items:end;justify-content:space-between;gap:35px;margin-bottom:32px}.section-head .eyebrow{margin-bottom:15px}.section-head>p{max-width:335px;font-size:19px;color:var(--muted)}.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.project-card{display:block;min-width:0}.project-image{aspect-ratio:1.45;background:#ecece5;overflow:hidden;position:relative}.project-image img{width:100%;height:100%;object-fit:cover;transition:transform .3s}.project-card:hover .project-image img{transform:scale(1.035)}.project-card:nth-child(3) .project-image img{object-fit:contain;background:#efeee8}.project-meta{display:flex;justify-content:space-between;font-size:19px;color:var(--muted);letter-spacing:.09em;text-transform:uppercase;margin-top:16px}.project-card h3{font-family:var(--serif);font-size:30px;line-height:1.12;margin:10px 0}.project-card p{font-size:19px;line-height:1.85;color:var(--muted)}.card-bottom{margin-top:17px;border-top:1px solid var(--line);padding-top:12px;display:flex;justify-content:space-between;font-size:19px}.split-section{display:grid;grid-template-columns:1fr 1fr;gap:80px;border-top:1px solid var(--line);padding:55px 0 65px}.split-section h2{margin:15px 0 20px;font-size:46px}.split-section p{font-size:19px;line-height:1.85;color:var(--muted);max-width:460px}.split-section .text-link{margin-top:22px}.intro-panel{background:#eceee5;min-height:220px;display:flex;flex-direction:column;justify-content:space-between;padding:26px}.intro-panel .tiny{font-size:19px;letter-spacing:.12em;text-transform:uppercase}.intro-panel h3{font-family:var(--serif);font-size:40px;line-height:1.1;margin-bottom:8px}.intro-panel .status{display:inline-block;border:1px solid #c8ccbc;font-size:19px;padding:5px 10px;margin-top:15px}.intro-panel p{font-size:19px;max-width:300px}.materials-teaser{display:flex;justify-content:space-between;align-items:center;gap:25px;border-top:1px solid var(--line);padding:30px 0 40px}.materials-teaser h3{font-family:var(--serif);font-size:29px}.materials-teaser p{font-size:19px;color:var(--muted);margin-top:5px}footer{border-top:1px solid var(--line);padding:35px 5%;display:flex;align-items:center;justify-content:space-between;gap:30px;max-width:1600px;margin:auto;font-size:19px;color:var(--muted)}.footer-name{color:var(--ink);font-size:19px;font-weight:600}.footer-name span{display:block;font-size:19px;font-weight:400;margin-top:3px}.page-top{padding:60px 0 45px;border-bottom:1px solid var(--line)}.page-top h1{margin:20px 0;font-size:clamp(55px,6vw,82px)}.page-top>p{max-width:680px;font-size:19px;color:var(--muted)}.about-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:75px;padding:55px 0 65px}.about-copy p{margin-bottom:20px;color:var(--muted);font-size:19px;line-height:1.9}.about-copy h2{font-size:44px;margin-bottom:25px}.skill-list{display:flex;flex-wrap:wrap;gap:8px;margin:26px 0}.skill-list span{border:1px solid var(--line);padding:6px 10px;font-size:19px}.career-row{display:grid;grid-template-columns:70px 1fr 1.25fr;gap:25px;padding:38px 0;border-bottom:1px solid var(--line)}.career-row .num{font-family:var(--serif);font-size:35px;color:var(--accent)}.career-row h2{font-size:35px;line-height:1.15}.career-row p{font-size:19px;color:var(--muted);line-height:1.9}.bottom-space{padding-bottom:65px}.doc-layout{display:grid;grid-template-columns:1.3fr 1fr;gap:65px;padding:45px 0 65px}.doc-layout h2{font-size:35px;margin-bottom:25px}.doc-row{padding:19px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:20px}.doc-row h3{font-size:19px;font-weight:500}.doc-row p{font-size:19px;color:var(--muted);margin-top:3px}.doc-row>span{color:var(--accent);font-size:19px;white-space:nowrap}.note{background:#efeee7;padding:25px;font-size:19px;color:var(--muted);line-height:1.8}.note h3{font-size:19px;color:var(--ink);margin-bottom:10px}.note .button{margin-top:20px;font-size:19px}.reference-note{margin-top:32px}.reference-note p{font-size:19px;color:var(--muted)}.breadcrumb{display:inline-flex;font-size:19px;gap:15px;margin-top:35px}.detail-header{max-width:900px;padding:30px 0 40px}.detail-header h1{font-size:clamp(47px,5.8vw,76px);margin:20px 0}.detail-header>p{font-size:19px;color:var(--muted);max-width:670px}.detail-cover{width:100%;max-height:480px;object-fit:cover;display:block;background:#ebece4}.detail-body{display:grid;grid-template-columns:220px 1fr;gap:70px;padding:45px 0 60px}.detail-side{font-size:19px;color:var(--muted)}.detail-side b{display:block;color:var(--ink);font-weight:500;font-size:19px;letter-spacing:.1em;text-transform:uppercase;margin-bottom:8px}.detail-side div{border-top:1px solid var(--line);padding:16px 0}.detail-main section{margin-bottom:32px}.detail-main h2{font-size:32px;margin-bottom:15px}.detail-main p{font-size:19px;line-height:1.9;color:var(--muted);margin-bottom:15px}.detail-main .evidence{display:block;max-width:390px;max-height:none;width:100%;height:auto;border:0;background:transparent}.evidence-caption{font-size:19px!important;max-width:430px;margin-top:10px}.detail-main .reflection{padding:25px;background:#eeefe7}.detail-main .reflection p:last-child{margin-bottom:0}.next-project{border-top:1px solid var(--line);padding:25px 0 50px;display:flex;align-items:center;justify-content:space-between;font-family:var(--serif);font-size:30px}.next-project small{font-family:var(--sans);font-size:19px;display:block;color:var(--muted);letter-spacing:.1em;text-transform:uppercase;margin-bottom:8px}.work-page{padding:45px 0 70px}.work-page .project-grid{gap:30px}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
@media(min-width:1450px){.hero{padding-top:85px;padding-bottom:85px}.portrait-frame{max-height:470px}.wrap{padding:0 30px}}@media(max-width:1050px){.header{gap:20px}nav{gap:18px}.contact-top{display:none}.hero{gap:45px}.project-card h3{font-size:26px}.detail-body{gap:35px;grid-template-columns:160px 1fr}}@media(max-width:1000px){.header{padding:22px 6%;justify-content:space-between;flex-wrap:wrap}.wordmark{font-size:19px}.wordmark span{font-size:19px}.menu{display:flex;align-items:center;gap:15px;background:none;border:0;font-size:19px;padding:5px}.menu span{font-size:19px}nav{display:none;flex-direction:column;width:100%;gap:6px;padding-top:15px;border-top:1px solid var(--line);margin-top:5px}nav.open{display:flex}nav a[aria-current=page]:after{right:auto;width:24px}.wrap{padding:0 6%}.hero{grid-template-columns:1fr;gap:35px;padding-top:42px;padding-bottom:35px}.hero h1{font-size:67px;margin:20px 0}.hero p{font-size:19px}.hero .intro-line{font-size:19px}.portrait-wrap{max-width:450px}.portrait-frame{aspect-ratio:1.15;max-height:370px}.portrait-frame img{object-position:center 25%}.strip{flex-wrap:wrap;justify-content:flex-start;gap:9px 20px;padding:16px 0;font-size:19px}.strip span:first-child{width:100%}.section{padding:42px 0}.section-head{align-items:start;flex-direction:column;gap:16px}.section-head>p{max-width:100%}.project-grid{grid-template-columns:1fr;gap:34px}.project-image{aspect-ratio:1.6}.project-card h3{font-size:33px}.project-card p{font-size:19px}.split-section{grid-template-columns:1fr;gap:30px;padding:35px 0}.split-section h2{font-size:42px}.materials-teaser{align-items:start;flex-direction:column;padding:26px 0 34px}footer{flex-direction:column;align-items:start;gap:18px;padding:30px 6%}.page-top{padding:40px 0 30px}.page-top h1{font-size:57px}.about-layout{grid-template-columns:1fr;gap:35px;padding:35px 0}.about-layout .portrait-wrap{max-width:100%}.career-row{grid-template-columns:35px 1fr;gap:15px;padding:28px 0}.career-row p{grid-column:2}.career-row h2{font-size:32px}.doc-layout{grid-template-columns:1fr;gap:35px;padding-top:25px}.detail-body{grid-template-columns:1fr;gap:25px;padding-top:25px}.detail-side{display:flex;gap:25px}.detail-side>div{flex:1}.detail-header h1{font-size:47px}.next-project{font-size:26px}.hero-actions{gap:22px}.button{font-size:19px;gap:22px}.detail-cover{max-height:300px}.copyright{font-size:19px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}
.portfolio-video{width:100%;display:block;background:#181a17;aspect-ratio:16/9;object-fit:contain}.hello{display:block;font-family:var(--sans);font-size:19px;font-weight:500;letter-spacing:.17em;color:var(--muted);margin-bottom:15px}.hero h1{font-size:clamp(75px,7.6vw,110px);line-height:.91;letter-spacing:-.025em}.hero .intro-line{font-size:19px;max-width:420px;margin-top:30px;line-height:1.9;color:var(--muted)}.intro-section{max-width:850px;margin:0 auto 50px}.document-contact{padding-top:20px}.document-contact a{display:block;font-size:19px;border-bottom:1px solid var(--line);padding:17px 0}.doc-row:hover h3{color:var(--accent)}.script-cover{object-fit:contain;max-height:450px;background:#eeede7}.script-gallery{display:grid;gap:20px}.script-gallery img{width:100%;display:block;border:1px solid var(--line)}.wide-evidence{max-width:100%!important;max-height:none!important}.career-preview{gap:80px}.detail-main h2{text-transform:none}.detail-header h1{font-size:clamp(43px,5vw,69px);line-height:1.08}.detail-side{align-self:start}.project-card:nth-child(2) .project-image img,.project-card:nth-child(3) .project-image img{object-fit:cover;object-position:top}.section-head>p{max-width:440px;font-size:19px}.wordmark span{letter-spacing:.2em}.doc-layout{min-height:350px}.project-card .project-meta span:first-child{max-width:90%}.project-card:nth-child(1) .project-image img{object-position:center}.hero{gap:100px}.portrait-frame img{object-fit:cover;object-position:center 18%}.portrait-frame{aspect-ratio:1/1.05}.section-head h2{font-size:54px}.footer-name span{display:none}@media(max-width:1000px){.hero{gap:35px}.hero h1{font-size:80px}.hero .intro-line{margin-top:24px}.section-head h2{font-size:43px}.career-preview{gap:20px}.detail-header h1{font-size:43px}}

/* Readability and introductory video sizing. */
.hero{grid-template-columns:1.1fr 1fr;gap:60px}.hero-video{min-width:0}.hero .intro-line{font-size:19px}.project-meta{line-height:1.6}.strip{letter-spacing:.1em}@media(max-width:1050px){.hero{gap:36px}}@media(max-width:1000px){.hero{grid-template-columns:1fr;gap:32px}.hero .intro-line{font-size:19px}.hero-video{width:100%}}

.split-section:has(.about-photo){align-items:center}.about-photo{display:flex;justify-content:center}.about-photo img{display:block;width:auto;height:auto;max-width:100%;max-height:460px}@media(max-width:1000px){.about-photo img{max-height:440px}}

.fishing-portrait{aspect-ratio:auto;max-height:none}.fishing-portrait img{height:auto;object-fit:contain;filter:none}

/* 20px reading size and responsive navigation. */
.header{gap:24px}nav{gap:20px}.wordmark span,.eyebrow,.portrait-caption,.project-meta,.strip{letter-spacing:.04em}.portrait-caption{flex-wrap:wrap;gap:6px 16px}.project-meta{flex-wrap:wrap;gap:6px}.hero-actions{flex-wrap:wrap}.detail-side{overflow-wrap:anywhere}.doc-row{flex-wrap:wrap}.document-contact a,footer a{overflow-wrap:anywhere}@media(max-width:1250px){.contact-top{display:none}}@media(max-width:1000px){nav{gap:6px}.hero .intro-line{font-size:19px}}
.hero + .section{border-top:1px solid var(--line)}

.doc-pending{cursor:default}.doc-pending:hover h3{color:var(--ink)}.doc-pending>span{color:var(--muted)}

.wordmark{display:inline-flex;align-items:baseline;gap:.16em;font-family:var(--serif);font-size:34px;font-weight:400;letter-spacing:-.035em;line-height:1.1;text-transform:none}.wordmark em{font-style:italic;color:var(--accent)}@media(max-width:1000px){.wordmark{font-size:32px}}

.script-evidence-link{display:block;max-width:520px;margin-top:24px}.script-evidence-link img{display:block;width:100%;height:auto;border:0}

.other-scripts{margin:30px 0 0;max-width:520px}.other-scripts figcaption{font-size:19px;line-height:1.7;color:var(--muted);padding-top:12px}

.script-evidence-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-top:30px}.script-evidence-pair .other-scripts{margin:0;max-width:none;min-width:0}.script-evidence-pair .script-evidence-link{margin:0;max-width:none}.script-evidence-pair img{width:100%;height:auto}@media(max-width:480px){.script-evidence-pair{gap:14px}}

.social-covers{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:25px 20px;align-items:stretch}.social-cover-card{grid-column:span 2;margin:0;min-width:0;display:grid;grid-template-rows:1fr auto;gap:10px}.social-cover-card:last-child{grid-column:3 / span 2}.social-cover-card svg{display:block;width:100%;height:auto;overflow:hidden}.social-cover-card figcaption{text-align:center;font-size:19px;color:var(--muted);line-height:1.5}.detail-main .social-cover-note{font-size:16px;line-height:1.7;margin-top:24px;color:var(--muted)}@media(max-width:600px){.social-covers{gap:20px 12px}.social-cover-card figcaption{font-size:17px}}
.social-covers{width:82%;max-width:540px;margin-inline:auto;gap:22px 16px}@media(max-width:600px){.social-covers{gap:18px 10px}}
