*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg:#fbfaf4;--bg-alt:#f2eee4;--ink:#1c1a17;--muted:#6b6353;--faint:#9b9484;--line:#e4ded0;--accent:#8a7a5e;--white:#fff;--serif-display:"Cormorant Garamond","EB Garamond",Georgia,serif;--serif:"EB Garamond",Georgia,"Times New Roman",serif;--sans:"Jost",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--pad:clamp(22px,5vw,88px);--nav-h:76px}html{scroll-behavior:smooth}body{font-family:var(--serif);background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;font-size:18px;line-height:1.6;overflow-x:hidden}::selection{background:var(--ink);color:var(--bg)}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.eyebrow{font-family:var(--sans);letter-spacing:.28em;text-transform:uppercase;color:var(--accent);font-size:11px;font-weight:400}.display{font-family:var(--serif-display);letter-spacing:-.005em;font-weight:400;line-height:1.06}.lede{font-family:var(--serif);color:var(--muted);font-weight:400;line-height:1.55}.fade-in{opacity:1;transform:none}.reveal-media{overflow:hidden}.nav{z-index:80;height:var(--nav-h);padding:0 var(--pad);color:var(--ink);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--line);background:#fbfaf4f0;justify-content:space-between;align-items:center;display:flex;position:fixed;top:0;left:0;right:0}main{padding-top:var(--nav-h);display:block}.nav-logo{line-height:1;display:block}.nav-logo .mark{font-family:var(--sans);letter-spacing:.22em;text-transform:uppercase;font-size:21px;font-weight:300}.nav-logo .sub{font-family:var(--sans);letter-spacing:.34em;text-transform:uppercase;opacity:.7;margin-top:5px;font-size:8.5px;font-weight:400}.nav-right{align-items:center;gap:clamp(18px,2.4vw,34px);display:flex}.nav-link{font-family:var(--sans);letter-spacing:.16em;text-transform:uppercase;opacity:.85;padding:4px 0;font-size:12px;font-weight:400;transition:opacity .3s;position:relative}.nav-link:hover{opacity:1}.nav-link:after{content:"";opacity:0;background:currentColor;height:1px;position:absolute;bottom:0;left:0;right:0}.nav-link.active:after{opacity:1}@media (max-width:620px){.nav-link{display:none}}.nav-burger{cursor:pointer;color:inherit;background:0 0;border:none;flex-direction:column;gap:5px;padding:8px 0 8px 4px;display:flex}.nav-burger span{background:currentColor;width:26px;height:1.5px;transition:transform .35s,opacity .3s;display:block}.menu{z-index:90;background:var(--bg);grid-template-rows:var(--nav-h)1fr auto;padding:0 var(--pad);opacity:0;visibility:hidden;transition:opacity .5s,transform .5s,visibility .5s;display:grid;position:fixed;inset:0;transform:translateY(-8px)}.menu.open{opacity:1;visibility:visible;transform:none}.menu-top{justify-content:space-between;align-items:center;display:flex}.menu-close{font-family:var(--sans);letter-spacing:.16em;text-transform:uppercase;cursor:pointer;color:var(--ink);background:0 0;border:none;align-items:center;gap:10px;font-size:12px;display:flex}.menu-close .x{font-size:22px;line-height:1}.menu-list{flex-direction:column;justify-content:center;gap:clamp(6px,1.4vh,16px);display:flex}.menu-list a{font-family:var(--serif-display);letter-spacing:-.01em;color:var(--ink);width:fit-content;font-size:clamp(40px,8vw,92px);font-weight:400;line-height:1.02;transition:color .3s,padding-left .4s cubic-bezier(.2,.6,.2,1);position:relative}.menu-list a .idx{font-family:var(--sans);letter-spacing:.1em;color:var(--faint);vertical-align:super;margin-right:14px;font-size:12px}.menu-list a:hover{color:var(--accent);padding-left:18px}.menu-foot{border-top:1px solid var(--line);font-family:var(--sans);letter-spacing:.06em;color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:16px;padding:28px 0 34px;font-size:12px;display:flex}.hero{background:var(--ink);width:100%;height:clamp(400px,72vh,820px);position:relative;overflow:hidden}.hero-slide{opacity:0;transition:opacity 1.6s;position:absolute;inset:0}.hero-slide.active{opacity:1}.hero-slide img{object-fit:cover;width:100%;height:100%;animation:22s ease-in-out infinite alternate kenburns}@keyframes kenburns{0%{transform:scale(1.03)translate(0)}to{transform:scale(1.12)translate(-1.6%,-1.2%)}}@media (prefers-reduced-motion:reduce){.hero-slide,.hero-slide img{transition:none;animation:none}}.section{padding:clamp(72px,11vw,168px)var(--pad)}.section-tight{padding:clamp(56px,8vw,110px)var(--pad)}.band{background:var(--bg-alt)}.rule{background:var(--line);border:0;height:1px}.mission{text-align:center;max-width:940px;margin:0 auto}.mission h2{font-family:var(--serif-display);letter-spacing:-.01em;max-width:16ch;margin:22px auto 30px;font-size:clamp(30px,4.6vw,60px);font-weight:400;line-height:1.1}.mission p{color:var(--muted);max-width:62ch;margin:0 auto 18px;font-size:clamp(16px,1.5vw,19px);line-height:1.7}.showcase-wrap{padding:clamp(44px,6vw,96px) 0}.showcase{flex-direction:column;gap:clamp(40px,5vw,88px);display:flex}.showcase-item{grid-template-columns:1fr;display:grid}.showcase-media{aspect-ratio:2;position:relative}.showcase-media img{object-fit:cover;width:100%;height:100%}.showcase-text{padding:24px var(--pad)6px;align-self:center}.showcase-text .eyebrow{margin-bottom:15px;display:block}.showcase-text h3{font-family:var(--serif-display);letter-spacing:-.01em;margin-bottom:16px;font-size:clamp(27px,2.6vw,38px);font-weight:400;line-height:1.08}.showcase-text p{color:var(--muted);margin-bottom:22px;font-size:16px;line-height:1.62}.more{font-family:var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--ink);align-items:center;gap:10px;font-size:12px;display:inline-flex}@media (min-width:900px){.showcase-item{grid-template-columns:65% 35%;align-items:center}.showcase-text{padding:0 var(--pad)0 clamp(32px,3.4vw,64px);max-width:400px}}.quote{text-align:center;max-width:900px;margin:0 auto}.quote blockquote{font-family:var(--serif-display);letter-spacing:-.005em;font-size:clamp(24px,3.4vw,42px);font-style:italic;font-weight:400;line-height:1.32}.quote .who{font-family:var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--accent);margin-top:28px;font-size:11px}.facts{grid-template-columns:repeat(4,1fr);gap:20px;max-width:1100px;margin:0 auto;display:grid}@media (max-width:720px){.facts{grid-template-columns:repeat(2,1fr);gap:40px 20px}}.fact{text-align:center}.fact .n{font-family:var(--serif-display);color:var(--ink);font-size:clamp(44px,6vw,76px);font-weight:400;line-height:1}.fact .l{font-family:var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-top:14px;font-size:11px}.cta{text-align:center}.cta h2{font-family:var(--serif-display);margin-bottom:30px;font-size:clamp(30px,4.4vw,56px);font-weight:400;line-height:1.08}.btn{font-family:var(--sans);letter-spacing:.18em;text-transform:uppercase;cursor:pointer;background:var(--ink);color:var(--bg);border:1px solid var(--ink);padding:17px 44px;font-size:12px;font-weight:400;transition:background .35s,color .35s;display:inline-block}.btn:hover,.btn-ghost{color:var(--ink);background:0 0}.btn-ghost:hover{background:var(--ink);color:var(--bg)}.page-head{padding:clamp(40px,6vw,76px)var(--pad)clamp(36px,5vw,60px)}.page-head .eyebrow{margin-bottom:18px;display:block}.page-head h1{font-family:var(--serif-display);letter-spacing:-.01em;max-width:15ch;font-size:clamp(38px,6vw,82px);font-weight:400;line-height:1.03}.page-head p{max-width:60ch;color:var(--muted);margin-top:22px;font-size:17px;line-height:1.7}.page-head.center{text-align:center}.page-head.center h1,.page-head.center p{margin-inline:auto}.filters{padding:0 var(--pad)clamp(36px,5vw,64px);flex-wrap:wrap;justify-content:center;gap:28px;display:flex}.filter{font-family:var(--sans);letter-spacing:.14em;text-transform:uppercase;cursor:pointer;color:var(--faint);background:0 0;border:none;padding:6px 0;font-size:12px;transition:color .3s;position:relative}.filter:hover,.filter.active{color:var(--ink)}.filter.active:after{content:"";background:var(--accent);height:1px;position:absolute;bottom:0;left:0;right:0}.work-grid{max-width:1200px;padding:0 var(--pad)clamp(80px,10vw,140px);grid-template-columns:repeat(2,1fr);gap:clamp(38px,4.5vw,64px) clamp(20px,2.4vw,34px);margin-inline:auto;display:grid}@media (max-width:720px){.work-grid{grid-template-columns:1fr;gap:clamp(34px,8vw,48px)}}.work-card{display:block}.work-card-media{aspect-ratio:2;position:relative;overflow:hidden}.work-card-media img{object-fit:cover;width:100%;height:100%}.work-card-info{text-align:center;padding-top:20px}.work-card-info h3{font-family:var(--serif-display);font-size:clamp(21px,2vw,27px);font-weight:500;line-height:1.12}.work-card-info .meta{font-family:var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--faint);margin-top:7px;font-size:10.5px;display:block}.proj-hero{background:var(--ink);height:clamp(380px,70vh,780px);position:relative;overflow:hidden}.proj-hero img{object-fit:cover;width:100%;height:100%}.proj-head{padding:clamp(48px,7vw,96px)var(--pad);border-bottom:1px solid var(--line);grid-template-columns:1fr 1.2fr;gap:clamp(28px,5vw,80px);display:grid}@media (max-width:820px){.proj-head{grid-template-columns:1fr;gap:24px}}.proj-head h1{font-family:var(--serif-display);letter-spacing:-.01em;font-size:clamp(32px,4.4vw,56px);font-weight:400;line-height:1.04}.proj-meta{flex-direction:column;gap:14px;display:flex}.proj-meta .row{font-family:var(--sans);letter-spacing:.06em;gap:16px;font-size:12px;display:flex}.proj-meta .row .k{text-transform:uppercase;letter-spacing:.16em;color:var(--faint);min-width:116px}.proj-meta .row .v{color:var(--ink)}.proj-desc{color:var(--muted);max-width:62ch;font-size:clamp(17px,1.7vw,21px);line-height:1.65}.proj-desc+.proj-desc{margin-top:18px}.proj-gallery{flex-direction:column;display:flex}.proj-gallery figure{width:100%;position:relative}.proj-gallery img{object-fit:cover;width:100%;height:auto;display:block}.proj-next{border-top:1px solid var(--line);grid-template-columns:1fr 1fr;display:grid}@media (max-width:620px){.proj-next{grid-template-columns:1fr}}.proj-next a{padding:clamp(40px,6vw,72px)var(--pad);transition:background .35s}.proj-next a:hover{background:var(--bg-alt)}.proj-next .all{border-right:1px solid var(--line)}@media (max-width:620px){.proj-next .all{border-right:0;border-bottom:1px solid var(--line)}}.proj-next .lab{font-family:var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--faint);margin-bottom:12px;font-size:11px;display:block}.proj-next .nm{font-family:var(--serif-display);font-size:clamp(22px,2.6vw,34px);font-weight:400}.proj-next .next{text-align:right}.about{padding:clamp(36px,6vw,72px)var(--pad)clamp(70px,10vw,130px)}.about-grid{grid-template-columns:.85fr 1.15fr;gap:clamp(40px,6vw,100px);max-width:1180px;display:grid}@media (max-width:900px){.about-grid{grid-template-columns:1fr;gap:44px}}.about-portrait{aspect-ratio:4/5;position:relative;overflow:hidden}.about-portrait img{object-fit:cover;width:100%;height:100%}.about-side .name{font-family:var(--serif-display);margin-top:26px;font-size:26px;font-weight:500}.about-side .role{font-family:var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin-top:6px;font-size:12px}.about-cred{margin-top:26px;list-style:none}.about-cred li{border-top:1px solid var(--line);padding:14px 0}.about-cred li strong{font-family:var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--faint);margin-bottom:5px;font-size:10px;font-weight:500;display:block}.about-cred li span{color:var(--ink);font-size:16px}.about-body .eyebrow{margin-bottom:20px;display:block}.about-body .lead{font-family:var(--serif-display);letter-spacing:-.01em;margin-bottom:30px;font-size:clamp(24px,3vw,38px);font-weight:400;line-height:1.2}.about-body p{color:var(--ink);margin-bottom:22px;font-size:18px;line-height:1.78}.about-body p.muted{color:var(--muted)}.about-areas{border-top:1px solid var(--line);margin-top:44px;padding-top:30px}.about-areas h3{font-family:var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--accent);margin-bottom:14px;font-size:11px;font-weight:500}.about-areas p{color:var(--muted);font-size:15px;line-height:1.85}.process{padding:0 var(--pad)clamp(70px,10vw,130px)}.phase{border-top:1px solid var(--line);grid-template-columns:130px 1fr;gap:clamp(24px,4vw,64px);max-width:1080px;padding:clamp(36px,5vw,60px) 0;display:grid}@media (max-width:680px){.phase{grid-template-columns:1fr;gap:14px}}.phase .num{font-family:var(--serif-display);color:var(--line);font-size:clamp(40px,4vw,60px);font-weight:400;line-height:1}.phase h3{font-family:var(--serif-display);margin-bottom:6px;font-size:clamp(24px,2.6vw,34px);font-weight:500}.phase .dur{font-family:var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--accent);margin-bottom:16px;font-size:11px;display:block}.phase .sum{font-family:var(--serif-display);margin-bottom:16px;font-size:clamp(19px,2vw,24px);font-style:italic;line-height:1.4}.phase .txt{color:var(--muted);max-width:66ch;font-size:16.5px;line-height:1.8}.contact{padding:clamp(36px,6vw,72px)var(--pad)clamp(70px,10vw,130px)}.contact-grid{grid-template-columns:1fr 1fr;gap:clamp(40px,6vw,100px);max-width:1120px;display:grid}@media (max-width:860px){.contact-grid{grid-template-columns:1fr;gap:48px}}.contact-info h1{font-family:var(--serif-display);letter-spacing:-.01em;margin-bottom:22px;font-size:clamp(34px,4.6vw,58px);font-weight:400;line-height:1.05}.contact-info .desc{color:var(--muted);max-width:46ch;margin-bottom:28px;font-size:17px;line-height:1.72}.status{font-family:var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--accent);align-items:center;gap:10px;margin-bottom:30px;font-size:12px;display:flex}.status .dot{background:#7b9068;border-radius:50%;width:8px;height:8px}.contact-list{list-style:none}.contact-list li{border-top:1px solid var(--line);padding:14px 0}.contact-list li strong{font-family:var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--faint);margin-bottom:5px;font-size:10px;font-weight:500;display:block}.contact-list li span,.contact-list li a{color:var(--ink);font-size:16px}.form{flex-direction:column;gap:22px;display:flex}.field label{font-family:var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:8px;font-size:10px;font-weight:500;display:block}.field input,.field select,.field textarea{width:100%;font-family:var(--serif);color:var(--ink);border:none;border-bottom:1px solid var(--line);background:0 0;outline:none;padding:10px 0;font-size:17px;transition:border-color .3s}.field input::placeholder,.field textarea::placeholder{color:var(--faint)}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--ink)}.field textarea{resize:vertical;min-height:120px}.field select{cursor:pointer;appearance:none}.form-row{grid-template-columns:1fr 1fr;gap:22px;display:grid}@media (max-width:560px){.form-row{grid-template-columns:1fr}}.footer{border-top:1px solid var(--line);padding:clamp(48px,6vw,80px)var(--pad)40px}.footer-top{grid-template-columns:1.4fr 1fr 1fr;gap:40px;display:grid}@media (max-width:780px){.footer-top{grid-template-columns:1fr;gap:34px}}.footer .mark{font-family:var(--sans);letter-spacing:.2em;text-transform:uppercase;font-size:18px;font-weight:300}.footer .blurb{color:var(--muted);max-width:34ch;margin-top:14px;font-size:16px;line-height:1.6}.footer h4{font-family:var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--faint);margin-bottom:16px;font-size:10px;font-weight:500}.footer-col a,.footer-col span{color:var(--ink);padding:5px 0;font-size:16px;transition:color .3s;display:block}.footer-col a:hover{color:var(--accent)}.footer-bottom{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;gap:12px;margin-top:clamp(40px,5vw,64px);padding-top:22px;display:flex}.footer-bottom span{font-family:var(--sans);letter-spacing:.06em;color:var(--faint);font-size:11px}
