*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#eeeae2;color:#171716;font:14px 'DM Sans',Arial,sans-serif}.nav{height:78px;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;position:absolute;top:0;left:0;right:0;z-index:5;color:#f4f0e8}.logo{color:inherit;text-decoration:none;font-weight:500;letter-spacing:.12em;font-size:13px}.logo span{font-weight:400;opacity:.65;margin-left:5px}.nav nav{display:flex;gap:32px;align-items:center}.nav nav a{color:inherit;text-decoration:none;font-size:12px}.nav nav a:hover{opacity:.65}.nav .nav-cta{border:1px solid #ffffff80;padding:10px 15px}.menu{display:none;background:none;border:0;color:inherit;font:inherit;font-size:22px}.hero{min-height:100vh;position:relative;overflow:hidden;padding:13vh 5vw 7vh;display:flex;align-items:flex-end}.hero-image{position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,15,14,.62),rgba(15,15,14,.15) 57%,rgba(15,15,14,.1)),linear-gradient(0deg,rgba(15,15,14,.25),transparent 42%),url('https://images.unsplash.com/photo-1600607687939-ce8a6c25118c?auto=format&fit=crop&w=2200&q=90') center/cover}.hero-copy{position:relative;color:#f4f0e8;max-width:800px;padding-bottom:5vh}.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:10px;margin:0 0 24px}.hero h1,.statement h2,.services h2,.contact h2{font-family:'Playfair Display',Georgia,serif;font-weight:400}.hero h1{font-size:clamp(58px,8vw,124px);line-height:.88;letter-spacing:-.045em;margin:0 0 34px}.hero h1 em,.statement h2 em{font-style:italic}.intro{font-size:17px;line-height:1.5;max-width:400px;margin:0 0 32px;color:#f4f0e8dc}.arrow-link,.contact-link{color:inherit;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:9px}.arrow-link span,.contact-link span{margin-left:35px}.hero-meta{position:absolute;right:5vw;bottom:7vh;color:#f4f0e8;display:flex;gap:30px;font-size:10px;text-transform:uppercase;letter-spacing:.12em}.projects,.services{padding:14vh 5vw}.section-head{display:flex;justify-content:space-between;border-top:1px solid #aaa59c;padding-top:14px;margin-bottom:55px;font-size:10px;text-transform:uppercase;letter-spacing:.12em}.section-head span:last-child{opacity:.55}.project-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:70px 28px}.project.large{grid-row:span 2}.project-image{width:100%;aspect-ratio:4/5;overflow:hidden;transition:transform .7s;background-color:#d8d1c5}.project.large .project-image{aspect-ratio:4/5}.image-1{background:url('https://images.unsplash.com/photo-1600607687920-4e2a09cf159d?auto=format&fit=crop&w=1400&q=85') center/cover}.image-2{background:url('https://images.unsplash.com/photo-1600566753190-17f0baa2a6c3?auto=format&fit=crop&w=1200&q=85') center/cover}.image-3{background:url('https://images.unsplash.com/photo-1600607688969-a5bfcd646154?auto=format&fit=crop&w=1200&q=85') center/cover}.project:hover .project-image{transform:scale(.985)}.project-info{display:grid;grid-template-columns:35px 1fr;column-gap:10px;padding-top:15px}.project-info span,.project-info p{font-size:10px;text-transform:uppercase;letter-spacing:.1em;opacity:.55}.project-info h2{font-family:'Playfair Display',Georgia,serif;font-size:30px;font-weight:400;margin:0}.project-info p{grid-column:2;margin:4px 0 0}.statement{background:#171716;color:#eeeae2;padding:17vh 5vw}.statement h2{font-size:clamp(42px,6vw,82px);line-height:.98;letter-spacing:-.035em;max-width:1050px;margin:0 0 80px}.statement-text{max-width:470px;margin-left:auto;font-size:16px;line-height:1.6;color:#eeeae2c9}.services{display:grid;grid-template-columns:1fr 1fr;gap:10vw}.services h2,.contact h2{font-size:clamp(45px,6vw,78px);line-height:.95;letter-spacing:-.04em;margin:0}.service-list{border-top:1px solid #aaa59c}.service-list article{display:grid;grid-template-columns:40px 1fr;gap:10px;padding:28px 0;border-bottom:1px solid #aaa59c}.service-list span{font-size:10px;opacity:.5}.service-list strong{font-family:'Playfair Display',Georgia,serif;font-size:25px;font-weight:400}.service-list p{grid-column:2;max-width:390px;line-height:1.5;margin:4px 0 0;opacity:.7}.contact{background:#d8d1c5;padding:16vh 5vw 5vh;min-height:75vh;display:flex;flex-direction:column}.contact-top{display:flex;justify-content:space-between;gap:40px}.contact h2{margin:0 0 55px}.contact-intro{font-size:14px;line-height:1.65;max-width:330px;opacity:.72}.contact-link{font-family:'Playfair Display',Georgia,serif;font-size:clamp(25px,3vw,44px);width:max-content}.contact-details{display:flex;gap:55px;margin-top:auto;padding-top:65px}.contact-details div{font-size:11px;line-height:1.7;letter-spacing:.03em}.contact-details small{display:block;text-transform:uppercase;letter-spacing:.13em;opacity:.55;margin-bottom:8px}.contact-bottom{display:flex;justify-content:space-between;margin-top:48px;padding-top:16px;border-top:1px solid #aaa59c;font-size:10px;text-transform:uppercase;letter-spacing:.12em;opacity:.6}.wa-float{position:fixed;right:24px;bottom:23px;width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:#287d5b;color:white;z-index:8;box-shadow:0 6px 20px #0002;transition:transform .2s}.wa-float:hover{transform:translateY(-3px)}
@media(max-width:700px){.nav{padding:0 6vw}.nav nav{display:none;position:absolute;top:70px;left:0;right:0;padding:22px 6vw;background:#171716;flex-direction:column;align-items:flex-start;gap:22px}.nav nav.open{display:flex}.menu{display:block}.hero{min-height:88vh;padding:15vh 6vw 8vh}.hero h1{font-size:clamp(58px,15vw,78px)}.hero-meta{display:none}.hero-image{background-position:57% center}.projects,.services{padding:11vh 6vw}.project-grid,.services{display:block}.project{margin-bottom:60px}.project-image,.project.large .project-image{aspect-ratio:4/4.6}.statement{padding:12vh 6vw}.statement h2{font-size:clamp(42px,11vw,58px);margin-bottom:55px}.statement-text{margin-left:0}.services h2{margin-bottom:55px}.contact{padding:12vh 6vw 5vh;min-height:85vh}.contact-top{display:block}.contact h2{font-size:58px;margin-bottom:24px}.contact-intro{margin-bottom:44px}.contact-details{display:grid;grid-template-columns:1fr 1fr;gap:28px 20px;padding-top:55px}.contact-bottom{margin-top:38px;gap:20px;flex-wrap:wrap}.project-info h2{font-size:25px}.wa-float{right:16px;bottom:16px;width:49px;height:49px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

.project-editor{border-top:1px solid #aaa59c;margin-top:90px;padding-top:34px;display:grid;grid-template-columns:1fr 1fr;gap:9vw;align-items:start}.project-editor h2{font:400 clamp(32px,4vw,52px)/1.05 'Playfair Display',Georgia,serif;letter-spacing:-.035em;margin:0 0 12px}.project-editor>div>p:last-child{max-width:360px;font-size:13px;line-height:1.6;opacity:.68}.project-editor form{display:grid;gap:16px}.project-editor label{display:grid;gap:7px;font-size:10px;letter-spacing:.1em;text-transform:uppercase}.project-editor input{width:100%;border:0;border-bottom:1px solid #aaa59c;background:transparent;padding:11px 0;font:13px 'DM Sans',sans-serif;color:#171716;letter-spacing:normal;text-transform:none}.project-editor input[type=file]{font-size:12px}.project-editor button{justify-self:start;border:0;background:#171716;color:#eeeae2;padding:14px 18px;font:12px 'DM Sans',sans-serif;cursor:pointer}.project-editor button:hover{background:#444}.form-note,.form-status{font-size:10px;line-height:1.5;opacity:.58;margin:0}.form-status{grid-column:2;min-height:16px}.uploaded-project{position:relative}.uploaded-project img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover}.uploaded-project .project-info{grid-template-columns:35px 1fr}.remove-project{position:absolute;top:12px;right:12px;border:0;background:#eeeae2e8;color:#171716;padding:8px 11px;font:10px 'DM Sans',sans-serif;cursor:pointer}@media(max-width:700px){.project-editor{grid-template-columns:1fr;gap:20px;margin-top:70px}.form-status{grid-column:1}}

/* Protected portfolio management page */
.admin-body{min-height:100vh}.admin-header{height:78px;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #aaa59c}.admin-header a{text-decoration:none;font-size:12px}.admin-logo{color:#171716}.admin-main{width:min(900px,calc(100% - 48px));margin:70px auto 100px}.admin-main h1{font:400 clamp(48px,7vw,78px)/1 'Playfair Display',Georgia,serif;letter-spacing:-.045em;margin:0 0 14px}.admin-lede{max-width:560px;line-height:1.7;color:#6b6962;margin-bottom:35px}.admin-card{background:#e4dfd5;padding:28px;display:grid;gap:18px;max-width:620px}.admin-card h2,.admin-topline h2{font:400 27px 'Playfair Display',Georgia,serif;margin:0}.admin-card label{display:grid;gap:7px;font-size:10px;letter-spacing:.1em;text-transform:uppercase}.admin-card input{border:0;border-bottom:1px solid #aaa59c;background:transparent;padding:11px 0;font:14px 'DM Sans',sans-serif;color:#171716;letter-spacing:normal;text-transform:none}.admin-card small{line-height:1.55;color:#706e67}.admin-card button,.admin-project button{justify-self:start;border:0;background:#171716;color:#eeeae2;padding:14px 18px;font:12px 'DM Sans',sans-serif;cursor:pointer}.admin-card button:hover,.admin-project button:hover{background:#444}.admin-notice{padding:20px;background:#e4dfd5;line-height:1.7;margin:24px 0}.admin-topline{display:flex;align-items:center;justify-content:space-between;margin:50px 0 18px}.button-quiet{border:1px solid #99958b;background:transparent;padding:10px 14px;cursor:pointer}.admin-status{min-height:20px;font-size:12px;color:#68665f}.admin-projects{display:grid;gap:12px;margin-top:26px}.admin-project{display:grid;grid-template-columns:100px 1fr auto;gap:18px;align-items:center;padding:12px;border-top:1px solid #c8c2b8}.admin-project img{width:100px;height:75px;object-fit:cover}.admin-project p{font-size:12px;color:#716f68;margin:6px 0 0}.admin-project button{padding:10px 14px}.portfolio-empty{grid-column:1/-1;color:#77756e;font:italic 24px 'Playfair Display',Georgia,serif}.live-project .project-image{display:block;height:auto;object-fit:cover}.contact-bottom{flex-wrap:wrap}
@media(max-width:700px){.admin-main{margin:46px auto 70px}.admin-card{padding:21px}.admin-project{grid-template-columns:76px 1fr auto;gap:10px}.admin-project img{width:76px;height:64px}.admin-project button{padding:9px}}
