*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f3f0e9;color:#171715;font-family:Arial,Helvetica,sans-serif}body.locked{overflow:hidden}a{color:inherit}.site-header{height:84px;display:flex;align-items:center;justify-content:space-between;padding:0 4vw;position:absolute;inset:0 0 auto;z-index:20;color:white}.wordmark{text-decoration:none;font-size:15px;letter-spacing:.19em;font-weight:700}.wordmark small{display:block;font-size:8px;letter-spacing:.48em;margin-top:5px}.menu-toggle,.menu-close{border:0;background:none;color:inherit;text-transform:uppercase;letter-spacing:.15em;cursor:pointer}.menu-toggle{display:flex;gap:14px;align-items:center}.menu-toggle i{width:30px;height:1px;background:currentColor;display:block}.menu-overlay{position:fixed;z-index:100;right:0;top:0;width:min(540px,100%);height:100vh;background:#171715;color:#f5f1e8;padding:42px 6vw;transform:translateX(100%);transition:.45s ease;display:flex;flex-direction:column}.menu-overlay.open{transform:none}.menu-close{align-self:flex-end}.menu-overlay nav{margin:auto 0;display:grid}.menu-overlay nav a{font-family:Georgia,serif;font-size:clamp(30px,5vw,58px);text-decoration:none;padding:7px 0}.menu-meta{font-size:12px;letter-spacing:.12em}.hero{height:100svh;min-height:680px;position:relative;color:white;overflow:hidden}.hero>img{width:100%;height:100%;object-fit:cover}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.62),rgba(0,0,0,.05) 72%),linear-gradient(0deg,rgba(0,0,0,.35),transparent 45%)}.hero-content{position:absolute;left:7vw;bottom:14vh}.hero-content p,.section-label{font-size:11px;text-transform:uppercase;letter-spacing:.2em}.hero h1{font:400 clamp(46px,7.1vw,112px)/.92 Georgia,serif;margin:22px 0 0;letter-spacing:-.045em}.hero h1 em,.manifesto em{font-weight:400}.scroll-link{position:absolute;right:4vw;bottom:4vh;text-decoration:none;text-transform:uppercase;font-size:10px;letter-spacing:.18em}.section{padding:120px 6vw}.section-label{padding-bottom:28px;border-bottom:1px solid rgba(0,0,0,.2);margin-bottom:55px}.studio-grid,.contact-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:12vw}.studio h2,.section-intro h2,.education h2,.contact h2{font:400 clamp(39px,5.4vw,82px)/1.02 Georgia,serif;letter-spacing:-.035em;margin:0}.body-copy,.education-head p{font:16px/1.75 Arial,sans-serif}.works{background:#151514;color:#eeeae0}.works .section-label{border-color:#555}.section-intro{max-width:1100px}.filters{display:flex;gap:10px;overflow:auto;padding:50px 0 30px}.filter-btn{white-space:nowrap;border:1px solid #555;border-radius:99px;padding:10px 16px;background:none;color:#aaa;cursor:pointer}.filter-btn.active{background:#eeeae0;color:#151514;border-color:#eeeae0}.project-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:34px 24px}.project-card{grid-column:span 6;cursor:pointer}.project-card--wide{grid-column:span 8}.project-card:nth-child(5n+3){grid-column:span 4}.project-image{aspect-ratio:4/3;overflow:hidden;background:#292927}.project-card--wide .project-image{aspect-ratio:16/9}.project-image img{width:100%;height:100%;object-fit:cover;transition:transform .7s ease}.project-card:hover img{transform:scale(1.025)}.project-caption{padding:17px 0}.project-caption span{font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:#8d8b85}.project-caption h3{font:400 25px/1.15 Georgia,serif;margin:8px 0}.collab{font-size:11px;color:#aaa;margin:8px 0}.education-head{display:grid;grid-template-columns:1.2fr .55fr;gap:10vw;align-items:end}.education-strip{display:grid;grid-template-columns:2fr 1fr 1fr;margin-top:65px;gap:14px}.education-strip img{width:100%;height:440px;object-fit:cover}.education-strip img:nth-child(n+4){display:none}.expertise{background:#ddd8ce}.expertise-list button{width:100%;border:0;border-top:1px solid #999;background:none;padding:24px 0;display:grid;grid-template-columns:70px 1fr auto;text-align:left;align-items:center;cursor:pointer}.expertise-list button b{font:400 clamp(30px,4vw,60px) Georgia,serif}.expertise-list button span,.expertise-list button i{font-size:12px;font-style:normal}.expertise-list>div{max-height:0;overflow:hidden;transition:max-height .35s ease}.expertise-list>div p{padding:0 0 28px 70px;max-width:620px;line-height:1.6}.expertise-list button.open+div{max-height:180px}.manifesto{background:#6b6357;color:white;padding:130px 7vw;text-align:center}.manifesto p{font:400 clamp(38px,5vw,76px)/1.1 Georgia,serif;margin:0}.client-row{display:flex;flex-wrap:wrap;border-top:1px solid #bbb}.client-row span{flex:1;min-width:220px;padding:34px 18px;border-right:1px solid #bbb;font:24px Georgia,serif}.contact{background:#1b1b19;color:#eeeae0}.contact .section-label{border-color:#555}.contact-grid a{display:block;font:22px Georgia,serif;margin-bottom:12px}.contact-grid p{line-height:1.6;color:#aaa;margin-top:30px}footer{background:#111;color:#ddd;padding:55px 6vw;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:30px;font-size:11px;letter-spacing:.08em}.project-modal{position:fixed;inset:0;background:#f3f0e9;z-index:200;overflow:auto;opacity:0;visibility:hidden;transition:.3s}.project-modal.open{opacity:1;visibility:visible}.modal-close{position:fixed;right:3vw;top:25px;z-index:3;border:1px solid #222;background:#f3f0e9;border-radius:99px;padding:10px 18px;text-transform:uppercase;letter-spacing:.12em}.modal-inner{padding:100px 6vw}.modal-head{max-width:1000px;padding-bottom:70px}.modal-category{text-transform:uppercase;font-size:11px;letter-spacing:.18em}.modal-title{font:400 clamp(50px,8vw,118px)/.9 Georgia,serif;letter-spacing:-.05em;margin:22px 0}.modal-collab{font-size:14px}.modal-gallery{display:grid;grid-template-columns:repeat(12,1fr);gap:24px}.modal-gallery img{width:100%;grid-column:span 6;object-fit:cover}.modal-gallery img:first-child{grid-column:1/-1;max-height:82vh}.modal-gallery img:nth-child(3n){grid-column:span 5}.modal-gallery img:nth-child(3n+1):not(:first-child){grid-column:span 7}@media(max-width:800px){.site-header{height:68px}.hero{min-height:620px}.hero-content{left:6vw;right:6vw;bottom:17vh}.section{padding:80px 6vw}.studio-grid,.education-head,.contact-grid{grid-template-columns:1fr;gap:38px}.project-grid{display:block}.project-card{margin-bottom:36px}.project-card .project-image,.project-card--wide .project-image{aspect-ratio:4/3}.education-strip{grid-template-columns:1fr}.education-strip img{height:300px}.education-strip img:nth-child(n+3){display:none}footer{grid-template-columns:1fr 1fr}.modal-gallery{display:block}.modal-gallery img{display:block;margin-bottom:15px;max-height:none!important}.modal-inner{padding:90px 5vw}.modal-title{font-size:52px}.client-row span{min-width:50%}}
/* v3 studio, founder, legacy and canonical-site additions */
.hero-brand{font-weight:700;margin-bottom:12px}.hero-legacy{margin-top:26px!important;font-size:12px!important;letter-spacing:.18em!important}.studio-intro{margin-bottom:110px}.eyebrow{display:block;font-size:10px;letter-spacing:.2em;text-transform:uppercase;margin-bottom:20px}.founder-block{display:grid;grid-template-columns:minmax(280px,.8fr) 1.2fr;gap:8vw;align-items:center;padding:90px 0;border-top:1px solid #c6c0b5}.founder-image img{width:100%;max-height:680px;object-fit:cover;object-position:center top}.founder-copy h3,.legacy-section h3,.process-section h3,.clients-intro h2{font:400 clamp(38px,5vw,72px)/1 Georgia,serif;letter-spacing:-.035em;margin:0 0 30px}.founder-copy p{max-width:680px;line-height:1.75}.legacy-section,.principles-section,.practice-section,.process-section{padding:90px 0;border-top:1px solid #c6c0b5}.timeline{display:grid;grid-template-columns:repeat(3,1fr);gap:38px;margin-top:55px}.timeline article{border-top:2px solid #171715;padding-top:24px}.timeline strong{font:400 42px Georgia,serif}.timeline h4,.principles-grid h4{font:400 25px Georgia,serif;margin:18px 0 12px}.timeline p,.principles-grid p{line-height:1.65}.principles-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:#aaa;margin-top:40px}.principles-grid article{background:#f3f0e9;padding:38px}.principles-grid article>span{font-size:11px;letter-spacing:.15em}.practice-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #aaa;border-left:1px solid #aaa}.practice-grid span{padding:34px;border-right:1px solid #aaa;border-bottom:1px solid #aaa;font:25px Georgia,serif}.process-list{margin-top:45px}.process-list details{border-top:1px solid #aaa}.process-list details:last-child{border-bottom:1px solid #aaa}.process-list summary{list-style:none;cursor:pointer;padding:25px 0;font:32px Georgia,serif;display:grid;grid-template-columns:70px 1fr}.process-list summary::-webkit-details-marker{display:none}.process-list summary span{font:12px Arial,sans-serif;letter-spacing:.15em;padding-top:10px}.process-list details p{max-width:690px;margin:0 0 30px 70px;line-height:1.65}.clients-intro{display:grid;grid-template-columns:1.2fr .6fr;gap:10vw;align-items:end;margin-bottom:55px}.clients-intro p{line-height:1.65}.client-list{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #bbb;border-left:1px solid #bbb}.client-list span{padding:28px 22px;border-right:1px solid #bbb;border-bottom:1px solid #bbb;font:20px Georgia,serif}footer a{text-decoration:none}.contact-grid a{word-break:break-word}
@media(max-width:800px){.hero-content p{max-width:92%;line-height:1.5}.founder-block,.timeline,.clients-intro{grid-template-columns:1fr}.founder-block{gap:40px}.principles-grid,.practice-grid,.client-list{grid-template-columns:1fr}.studio-intro{margin-bottom:70px}.legacy-section,.principles-section,.practice-section,.process-section{padding:65px 0}.timeline{gap:28px}.process-list summary{font-size:26px}.founder-image img{max-height:520px}}


/* v3 authentication layer — visual design otherwise unchanged */
.auth-protected.auth-locked{display:none!important}
.access-gate{position:fixed;inset:0;z-index:350;background:rgba(14,14,13,.78);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:24px;opacity:0;visibility:hidden;transition:.25s ease}
.access-gate.open{opacity:1;visibility:visible}
.access-gate__panel{position:relative;width:min(560px,100%);max-height:92vh;overflow:auto;background:#f3f0e9;color:#171715;padding:52px 48px;box-shadow:0 24px 80px rgba(0,0,0,.35)}
.access-gate__close{position:absolute;right:22px;top:20px;border:0;background:none;text-transform:uppercase;letter-spacing:.14em;font-size:10px;cursor:pointer}
.access-gate__brand{font-size:10px;letter-spacing:.22em;text-transform:uppercase;margin-bottom:32px}
.access-gate h2{font:400 clamp(40px,6vw,66px)/.95 Georgia,serif;letter-spacing:-.04em;margin:0 0 20px}
.access-gate__intro{line-height:1.65;margin:0 0 28px;max-width:440px}
.access-login,.access-request-form button{width:100%;border:1px solid #171715;background:#171715;color:#f3f0e9;padding:15px 20px;text-transform:uppercase;letter-spacing:.15em;font-size:11px;cursor:pointer}
.access-divider{display:flex;align-items:center;gap:14px;margin:26px 0;color:#777;text-transform:uppercase;letter-spacing:.14em;font-size:9px}.access-divider:before,.access-divider:after{content:"";height:1px;background:#c9c3b8;flex:1}
#access-request-form label{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.14em;margin:0 0 17px}
#access-request-form input{display:block;width:100%;border:0;border-bottom:1px solid #999;background:transparent;padding:11px 0 9px;font:16px Arial,sans-serif;outline:none}
#access-request-form input:focus{border-color:#171715}
.access-honeypot{display:none}.access-form-status{min-height:20px;font-size:12px;line-height:1.5;margin:12px 0 0}.access-note{font-size:11px;color:#777;line-height:1.5;margin:18px 0 0;text-align:center}
.auth-account{position:fixed;right:20px;bottom:20px;z-index:45;border:1px solid rgba(255,255,255,.45);background:rgba(20,20,19,.82);color:white;border-radius:99px;padding:10px 15px;font-size:9px;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;display:none}
.auth-account.visible{display:block}
@media(max-width:600px){.access-gate{padding:12px}.access-gate__panel{padding:48px 25px 30px}.access-gate h2{font-size:43px}}
