:root{--ink:#172020;--paper:#f7f8f5;--muted:#68716f;--accent:#d2b793;--line:#d3d9d4;--font:'DM Sans',sans-serif;--display:'Manrope',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:92px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:3px solid #c29354;outline-offset:5px}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:var(--display);font-weight:500;line-height:1.08}h2{font-size:clamp(2.6rem,5.2vw,5.2rem);letter-spacing:-.065em}h2 em{font-family:Georgia,serif;font-weight:400;letter-spacing:-.045em}p+p{margin-top:22px}.skip{position:fixed;top:-100px;left:20px;z-index:200;background:white;padding:12px}.skip:focus{top:10px}header{position:absolute;top:0;left:0;width:100%;padding:30px 4.5%;z-index:20;display:flex;align-items:center;justify-content:space-between;color:white;border-bottom:1px solid #ffffff35}.brand{display:flex;gap:21px;align-items:center}.brand-mark{font-family:var(--display);font-size:2.7rem;font-weight:600;letter-spacing:-.06em;line-height:1}.brand-dot{color:var(--accent)}.brand-name{font-size:.75rem;letter-spacing:.12em;line-height:1.5;border-left:1px solid #ffffff60;padding-left:20px}nav{display:flex;align-items:center;gap:36px;font-size:.9rem}nav a:hover{color:var(--accent)}.nav-outline{border:1px solid #ffffff75;padding:10px 18px}.menu-toggle{display:none}.hero{position:relative;min-height:860px;height:100svh;max-height:1250px;color:white;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden;background:#34434b}.hero-image,.hero-shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:55% center}.hero-shade{background:linear-gradient(90deg,rgba(8,20,26,.8),rgba(8,20,26,.14) 75%),linear-gradient(0deg,rgba(8,20,26,.75),transparent 45%)}.hero-content{position:relative;padding:175px 7% 65px}.eyebrow,.section-label{font-size:.8rem;letter-spacing:.13em;font-weight:500}.hero .eyebrow{color:#e5d4bc;margin-bottom:25px}h1{font-size:clamp(4rem,7.7vw,8rem);letter-spacing:-.065em;line-height:1.015}h1 span{font-family:Georgia,serif;font-style:italic;color:#e5d4bc;font-weight:400}.hero-bottom{display:flex;gap:60px;align-items:flex-end;margin-top:38px}.hero-bottom p{font-size:1rem;line-height:1.6;color:#e3e8e6}.button{display:inline-flex;padding:15px 23px;font-size:.9rem;border:1px solid currentColor}.button.light{background:var(--paper);color:var(--ink);border-color:var(--paper)}.button:hover{background:var(--accent);border-color:var(--accent)}.hero-caption{position:relative;display:flex;justify-content:space-between;gap:25px;margin:0 4.5%;padding:22px 0;border-top:1px solid #ffffff50;font-size:.75rem;letter-spacing:.1em}.hero-caption a{letter-spacing:0}.section{padding:105px 7%}.section-label{display:flex;justify-content:space-between;gap:25px;border-top:1px solid var(--line);padding-top:20px;margin-bottom:65px;color:var(--muted)}.intro-grid,.archive-grid{display:grid;grid-template-columns:1fr 1fr;gap:10%}.large-copy{font-size:clamp(1.25rem,1.9vw,1.6rem);line-height:1.5;letter-spacing:-.03em}.intro-copy>p:not(.large-copy),.profile-copy>p:not(.large-copy):not(.eyebrow),.archive-grid>div>p:not(.large-copy){color:var(--muted);margin-top:25px;max-width:58ch}.text-link{display:inline-block;border-bottom:1px solid var(--ink);padding-bottom:5px;margin-top:30px;font-weight:500;font-size:.95rem}.principles{display:grid;grid-template-columns:repeat(3,1fr);gap:50px;margin-top:90px}.principles article{border-top:1px solid var(--line);padding-top:22px}.principles span{font-size:.8rem;color:var(--muted)}.principles h3{font-size:1.3rem;margin:30px 0 15px;letter-spacing:-.04em}.principles p{color:var(--muted)}.projects{background:#e8ece8}.section-heading{display:flex;justify-content:space-between;gap:50px;align-items:flex-end}.section-heading>p{color:var(--muted);max-width:33ch}.filters{display:flex;gap:10px;margin:45px 0 30px;flex-wrap:wrap}.filters button{background:none;border:1px solid #bac3bd;padding:9px 22px;color:var(--ink);font-size:.9rem}.filters button.active{background:var(--ink);color:white;border-color:var(--ink)}.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:55px 30px}.project-card{border:0;background:none;padding:0;text-align:left;color:var(--ink)}.project-visual{height:350px;overflow:hidden;position:relative;background:#263837;color:white;display:flex;align-items:flex-end;padding:32px}.project-visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s ease}.project-card:hover img{transform:scale(1.035)}.project-visual.photo::after{content:'';position:absolute;inset:50% 0 0;background:linear-gradient(transparent,#10202099)}.project-number{position:absolute;top:20px;left:22px;z-index:1;font-size:.85rem}.project-visual:not(.photo){background:#253c3c}.project-card:nth-child(3n) .project-visual:not(.photo){background:#485550}.project-card:nth-child(4n) .project-visual:not(.photo){background:#29313d}.project-type{z-index:1;position:relative;font-size:clamp(2.6rem,4vw,4rem);font-family:Georgia,serif;font-style:italic;font-weight:400;line-height:1.06;max-width:8ch}.project-info{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;padding-top:20px;border-top:1px solid #bbc6be;margin-top:20px}.project-info h3{font-size:1.6rem;letter-spacing:-.04em}.project-info p{font-size:.85rem;color:var(--muted);margin-top:7px}.project-info>span{font-size:.8rem;white-space:nowrap;border-bottom:1px solid var(--ink);padding-bottom:4px}.portfolio-note{color:var(--muted);font-size:.85rem;max-width:70ch;margin-top:35px}.profile{background:var(--ink);color:var(--paper)}.profile .section-label{border-color:#ffffff35;color:#b8c2bf}.profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center}.profile figure img{width:100%;height:650px;object-fit:cover;object-position:center 30%;filter:grayscale(100%)}.profile figcaption{font-size:.75rem;letter-spacing:.1em;margin-top:15px;color:#aebbb5}.profile .eyebrow{color:var(--accent)}.profile h2{font-size:clamp(4rem,7vw,7rem);margin:22px 0 28px}.profile-copy>p:not(.large-copy):not(.eyebrow){color:#bdc8c2}.profile .text-link{border-color:var(--accent);color:var(--accent)}.source-link{display:block;color:#bdc8c2;text-decoration:underline;font-size:.85rem;margin-top:15px}.archive-grid{align-items:start}.archive-row{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding:24px 0;font-size:.95rem}.archive-row:first-of-type{margin-top:35px;border-top:1px solid var(--line)}.archive-row span:last-child{font-size:.72rem;letter-spacing:.04em;color:var(--muted);text-align:right}.archive-row:hover{color:#986d35}footer{background:#dbe2dc;padding:60px 7% 25px}.footer-top{display:flex;justify-content:space-between;gap:25px;align-items:center;margin-bottom:55px}.footer-top p{font-size:.9rem;line-height:1.5}.footer-top>a:last-child{border-bottom:1px solid var(--ink);font-size:.9rem}.footer-bottom{border-top:1px solid #b7c2b9;padding-top:22px;display:flex;justify-content:space-between;gap:20px;font-size:.72rem;letter-spacing:.08em;color:#46554b}.footer-bottom button{background:none;border:0;color:inherit;font-size:.8rem;text-decoration:underline;padding:0}dialog{width:min(940px,92vw);max-height:90svh;background:var(--paper);color:var(--ink);border:0;padding:0;box-shadow:0 30px 100px #0005}dialog::backdrop{background:#0b171bd9;backdrop-filter:blur(6px)}.dialog-close{position:sticky;float:right;top:15px;right:15px;z-index:5;background:var(--paper);border:1px solid var(--line);padding:8px 14px;margin:15px;color:var(--ink)}.dialog-body{padding:70px 55px 55px}.dialog-body h2{font-size:3rem;margin:20px 0 30px}.dialog-body p{color:var(--muted)}.dialog-body a{text-decoration:underline}.dialog-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;border-block:1px solid var(--line);padding:20px 0;margin:30px 0}.dialog-meta dt{font-size:.75rem;letter-spacing:.05em;color:var(--muted);margin-bottom:5px}.dialog-meta dd{margin:0;font-size:.95rem}.dialog-photo{width:100%;max-height:420px;object-fit:cover}.dialog-source{display:block;margin-top:28px;font-size:.9rem}.dialog-note{font-size:.85rem;margin-top:22px}.empty{grid-column:1/-1;padding:30px}[hidden]{display:none!important}@media(min-width:1700px){.section{padding-inline:max(7%,calc((100vw - 1500px)/2))}}@media(max-width:900px){header{padding:25px 5%}.brand-name{display:none}nav{gap:22px}.hero{min-height:780px}.hero-content{padding-inline:6%}.section{padding:75px 6%}.intro-grid,.archive-grid{gap:7%}.principles{gap:25px}.profile-grid{gap:6%}.profile figure img{height:550px}.project-visual{height:290px}.section-label{margin-bottom:45px}.footer-bottom{flex-wrap:wrap}}@media(max-width:650px){html{scroll-padding-top:20px}header{padding:22px 6%}.brand-mark{font-size:2.2rem}.menu-toggle{display:block;background:none;border:1px solid #ffffff70;color:white;padding:6px 13px;font-size:.85rem}nav{display:none;position:absolute;top:85px;left:0;right:0;background:var(--ink);padding:25px 6%;flex-direction:column;align-items:stretch;gap:22px}nav.open{display:flex}.hero{height:92svh;min-height:710px}.hero-content{padding:150px 6% 50px}h1{font-size:clamp(3.7rem,13vw,5.5rem)}.hero .eyebrow{font-size:.7rem}.hero-bottom{gap:25px;align-items:flex-start;flex-direction:column;margin-top:30px}.hero-caption{margin-inline:6%;font-size:.65rem}.hero-caption>span:nth-child(2){display:none}.hero-image{object-position:57% center}.section{padding:65px 6%}.section-label{font-size:.7rem;gap:15px;margin-bottom:40px}.section-label>span:last-child{text-align:right}.intro-grid,.archive-grid,.profile-grid{grid-template-columns:1fr;gap:35px}h2{font-size:3.2rem}.principles{grid-template-columns:1fr;gap:25px;margin-top:45px}.principles h3{margin-top:18px}.section-heading{display:block}.section-heading>p{margin-top:25px}.project-grid{grid-template-columns:1fr;gap:40px}.project-visual{height:300px}.project-type{font-size:3.6rem}.profile figure img{height:auto;max-height:570px;object-fit:cover}.profile h2{font-size:5rem}.profile-grid figure{order:2}.footer-top{flex-wrap:wrap;align-items:flex-start;margin-bottom:35px}.footer-bottom>span:last-child{display:none}.dialog-body{padding:65px 25px 30px}.dialog-body h2{font-size:2.5rem}.dialog-meta{grid-template-columns:1fr 1fr}.archive-row{gap:15px}.archive-row span:last-child{max-width:90px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:55% center;opacity:0;transition:opacity 1.4s ease;filter:saturate(.78) contrast(1.04)}.hero-video.ready{opacity:1}.hero-motion{position:absolute;z-index:3;right:4.5%;top:140px;background:#14212770;color:#fff;border:1px solid #ffffff65;padding:9px 16px;font-size:.8rem;letter-spacing:.03em;backdrop-filter:blur(8px)}.hero-motion:hover{background:#142127bd}.hero-content{animation:hero-enter 1.2s ease-out both}.hero h1{animation:hero-enter 1.5s ease-out both}@keyframes hero-enter{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@media(max-width:650px){.hero-motion{top:110px;right:6%;font-size:.75rem}.hero-video{object-position:56% center}}@media(prefers-reduced-motion:reduce){.hero-content,.hero h1{animation:none}}
.project-summary{font-size:1rem;color:var(--muted);line-height:1.6;margin-top:18px;max-width:58ch}.menu-toggle{min-height:44px}.hero-motion{min-height:44px}.filters button{min-height:44px}.dialog-close{min-height:44px}
.project-card{min-width:0;width:100%;white-space:normal}.project-info>div{min-width:0}.project-type{overflow-wrap:break-word}@media(max-width:650px){h1{font-size:clamp(3rem,13vw,5.5rem)}.project-info{gap:12px}.project-info>span{flex-shrink:0}}@media(max-width:360px){.project-type{font-size:2.7rem}h2{font-size:2.8rem}.hero .eyebrow{font-size:.65rem;letter-spacing:.09em}.project-info h3{font-size:1.4rem}}
.hero .eyebrow{max-width:42ch;line-height:1.6}.practice-ledger{margin-top:65px;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:10%;padding-top:25px}.practice-ledger span{font-size:.75rem;letter-spacing:.08em;color:var(--muted)}.practice-ledger h3{font-size:1.4rem;margin:18px 0 12px;letter-spacing:-.03em}.practice-ledger p{color:var(--muted);max-width:45ch}.project-card.transaction{grid-column:1/-1;position:relative;display:grid;grid-template-columns:1fr 1fr;column-gap:8%;border-top:1px solid #bbc6be;padding:28px 0 28px 45px}.transaction::before{content:attr(data-index);position:absolute;top:28px;left:0;font-size:.8rem;color:var(--muted)}.transaction .project-visual{display:none}.transaction .project-info{border:0;padding:0;margin:0}.transaction .project-summary{margin:0}.project-card.transaction:hover h3{color:#816443}.project-grid{row-gap:32px}.conversion .project-visual{height:420px}.conversion:first-child .project-visual{background:#172020}.conversion:first-child .project-type{font-family:var(--display);font-style:normal;font-size:clamp(2.5rem,4vw,4.5rem);letter-spacing:-.055em;max-width:10ch}.conversion:first-child .project-number{color:var(--accent)}@media(max-width:650px){.practice-ledger{grid-template-columns:1fr;gap:30px}.project-card.transaction{grid-template-columns:1fr;row-gap:20px;padding-left:32px}.conversion .project-visual{height:300px}.transaction .project-info{display:block}.transaction .project-info>span{display:inline-block;margin-top:12px}.hero .eyebrow{max-width:28ch;font-size:.7rem}}
/* Stacked full-name header lockup */
header .brand{flex-direction:column;align-items:flex-start;gap:10px}header .brand-name{display:block;border-left:0;padding-left:0;font-size:.66rem;letter-spacing:.12em;line-height:1.3;white-space:nowrap}header .brand-name br{display:none}header .brand-name br::after{content:' '}@media(max-width:650px){header .brand{gap:8px}header .brand-name{font-size:.53rem;letter-spacing:.08em}}

.project-film{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.dialog-photo{display:block;width:100%;max-height:480px;object-fit:cover}.project-visual.photo:after{pointer-events:none}.project-type{font-size:2.5rem!important;text-shadow:0 2px 15px #000}.project-grid .conversion .project-visual{height:340px}.project-film{filter:saturate(.8)}

/* Keep project captions readable without splitting words. */
.project-grid .project-type{max-width:none;width:100%;font-family:var(--display);font-style:normal;font-size:clamp(1.35rem,2.5vw,2.3rem)!important;line-height:1.12;letter-spacing:-.035em;overflow-wrap:normal;word-break:normal;hyphens:none}.project-grid .project-visual{align-self:stretch}.project-grid{align-items:start}.project-grid .project-visual.photo:after{inset:35% 0 0;background:linear-gradient(transparent,#102020bb)}
.project-card img,.project-card:hover img{transform:none!important;transition:none!important;animation:none!important}
