:root{--ink:#171715;--paper:#f1efe9;--acid:#d8ff47;--line:rgba(23,23,21,.25);--sans:"DM Sans",sans-serif;--serif:"Italiana",serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans)}a{color:inherit;text-decoration:none}img{display:block;width:100%;height:100%;object-fit:cover}.site-header{position:absolute;z-index:10;top:0;left:0;width:100%;display:flex;align-items:center;justify-content:space-between;padding:28px 3vw;color:#fff;mix-blend-mode:difference}.wordmark{font-family:var(--serif);font-size:1.55rem;letter-spacing:-.08em}nav{display:flex;gap:32px;font-size:.76rem;text-transform:uppercase;letter-spacing:.13em}nav a,.footer-bottom a{position:relative}nav a:after,.footer-bottom a:after{content:"";position:absolute;left:0;bottom:-4px;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .35s}nav a:hover:after,.footer-bottom a:hover:after{transform:scaleX(1);transform-origin:left}.menu-toggle{display:none;color:inherit;border:0;background:transparent;font:inherit;text-transform:uppercase}.hero{min-height:100svh;display:grid;grid-template-columns:46% 54%;background:var(--ink);color:#fff;overflow:hidden}.hero-copy{padding:17vh 3vw 5vh;display:flex;flex-direction:column;position:relative;z-index:2}.eyebrow,.section-number{font-size:.67rem;letter-spacing:.18em;text-transform:uppercase}.hero h1{margin:auto 0;font-family:var(--serif);font-size:clamp(6rem,12.2vw,13rem);font-weight:400;line-height:.69;letter-spacing:-.07em}.hero h1 em{color:var(--acid);font-weight:400}.hero-meta{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;font-size:.7rem;text-transform:uppercase;letter-spacing:.12em}.hero-meta a{border-bottom:1px solid #ffffff80;padding-bottom:5px}.hero-image{margin:0;position:relative;min-height:100svh}.hero-image img{object-position:57% center;filter:saturate(.8) contrast(1.04)}.hero-image figcaption{position:absolute;right:22px;bottom:22px;font-size:.62rem;text-transform:uppercase;letter-spacing:.12em}.scroll-note{position:absolute;left:50%;bottom:0;transform:translate(-50%,45%) rotate(-90deg);transform-origin:left;font-size:.59rem;text-transform:uppercase;letter-spacing:.18em;color:var(--acid);z-index:3}.intro{display:grid;grid-template-columns:1fr 2fr;gap:4vw;padding:15vh 3vw 11vh;border-bottom:1px solid var(--line)}.statement{font-family:var(--serif);font-size:clamp(2.7rem,5.1vw,6rem);line-height:1.03;letter-spacing:-.035em;margin:0;max-width:1000px}.work-grid{padding:3vw;display:grid;grid-template-columns:repeat(12,1fr);gap:9vw 2.2vw}.project{margin:0}.project img{transition:transform .8s cubic-bezier(.2,.7,.2,1)}.project:hover img{transform:scale(1.025)}.project.image-reveal{overflow:visible}.project-wide{grid-column:1/9;aspect-ratio:4/3}.project-tall{grid-column:9/13;margin-top:26vh;aspect-ratio:3/4.5}.project-small{grid-column:2/7;aspect-ratio:4/3}.project-portrait{grid-column:8/13;margin-top:12vh;aspect-ratio:4/5}.project-caption{display:flex;justify-content:space-between;align-items:baseline;padding-top:13px;border-top:1px solid var(--ink);margin-top:10px}.project-caption h2{font-family:var(--serif);font-weight:400;font-size:1.6rem;margin:0}.project-caption p{margin:0;font-size:.65rem;text-transform:uppercase;letter-spacing:.12em}.about{padding:18vh 3vw;display:grid;grid-template-columns:1fr 1fr;gap:6vw;background:#d9d4ca}.about h2{font-family:var(--serif);font-size:clamp(3rem,6vw,6.5rem);line-height:.96;font-weight:400;letter-spacing:-.04em;max-width:750px;margin:16vh 0 0}.about-copy>p{font-family:var(--serif);font-size:clamp(1.6rem,2.4vw,2.5rem);line-height:1.2;margin:0 0 10vh}.stats{border-top:1px solid var(--ink);margin:0 0 8vh}.stats div{display:grid;grid-template-columns:1fr 1fr;padding:14px 0;border-bottom:1px solid var(--line)}.stats dt{font-size:.65rem;text-transform:uppercase;letter-spacing:.14em}.stats dd{margin:0;font-family:var(--serif);font-size:1.05rem}.text-link{display:inline-block;text-transform:uppercase;letter-spacing:.12em;font-size:.7rem;border-bottom:1px solid;padding-bottom:6px}footer{padding:10vh 3vw 3vh;min-height:75vh;background:var(--ink);color:#fff;display:flex;flex-direction:column}.contact-line{display:flex;justify-content:space-between;align-items:flex-end;gap:5vw;margin:auto 0}.contact-line p{font-family:var(--serif);font-size:clamp(3.7rem,8.2vw,9rem);letter-spacing:-.05em;line-height:.88;margin:0}.contact-line em{color:var(--acid);font-weight:400}.contact-line>a{padding:12px 0;border-bottom:1px solid #fff;font-size:.78rem}.footer-bottom{display:grid;grid-template-columns:1fr auto auto;gap:5vw;padding-top:25px;border-top:1px solid #ffffff4d;font-size:.65rem;text-transform:uppercase;letter-spacing:.12em}.image-reveal{overflow:hidden}.image-reveal img{opacity:0;transform:scale(1.04);transition:opacity .9s,transform 1.1s cubic-bezier(.2,.7,.2,1)}.image-reveal.visible img{opacity:1;transform:scale(1)}
@media(max-width:760px){.site-header{position:fixed;padding:20px;mix-blend-mode:normal;color:#fff}.menu-toggle{display:block;font-size:.68rem;letter-spacing:.14em;position:relative;z-index:2}nav{position:fixed;inset:0;display:none;background:var(--ink);color:#fff;flex-direction:column;align-items:center;justify-content:center;font-family:var(--serif);font-size:2.5rem;text-transform:none}nav.open{display:flex}.hero{grid-template-columns:1fr;min-height:100svh}.hero-copy{grid-row:1;padding:16vh 20px 26px;min-height:100svh}.hero-image{position:absolute;inset:0;opacity:.62}.hero-image:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#0008,transparent)}.hero h1{font-size:clamp(5.2rem,29vw,9rem)}.hero-meta{flex-direction:column;align-items:flex-start}.intro{grid-template-columns:1fr;padding:12vh 20px 8vh}.work-grid{display:block;padding:20px}.project{margin:0 0 18vw;aspect-ratio:auto}.project img{aspect-ratio:4/5}.project-wide img,.project-small img{aspect-ratio:4/3}.about{grid-template-columns:1fr;padding:12vh 20px}.about h2{margin-top:7vh}.about-copy>p{margin-top:4vh}footer{padding:8vh 20px 25px;min-height:90vh}.contact-line{flex-direction:column;align-items:flex-start;justify-content:center}.footer-bottom{grid-template-columns:1fr auto}.footer-bottom a:last-child{grid-column:1/-1}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
.project-wide>img{object-fit:contain;background:#e5e3de}

.project-tall>img{object-position:center center}

.project-small{aspect-ratio:3/2}.project-small>img{object-fit:contain;aspect-ratio:3/2}

.project-portrait>img{object-fit:contain;background:#fff}

.login-open{color:inherit;border:0;background:none;padding:0;font:inherit;font-size:.76rem;text-transform:uppercase;letter-spacing:.13em;cursor:pointer}.gallery-section{padding:14vh 3vw;background:var(--paper);border-top:1px solid var(--line)}.gallery-heading{display:grid;grid-template-columns:1fr 2fr;gap:4vw;margin-bottom:8vh}.gallery-heading h2{font-family:var(--serif);font-size:clamp(3rem,6vw,7rem);font-weight:400;line-height:.95;letter-spacing:-.04em;margin:0}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2vw}.gallery-grid figure{margin:0;position:relative;aspect-ratio:4/5;background:#ddd9d0;overflow:hidden}.gallery-grid img{width:100%;height:100%;object-fit:cover}.gallery-empty{grid-column:1/-1;padding:12vh 0;text-align:center;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-family:var(--serif);font-size:1.8rem}.gallery-remove{position:absolute;top:12px;right:12px;width:34px;height:34px;border:0;border-radius:50%;background:#171715;color:#fff;cursor:pointer;font-size:1.1rem}.gallery-admin{margin-top:5vh;padding:24px;border:1px solid var(--ink)}.gallery-admin p{max-width:600px}.gallery-admin input{position:absolute;opacity:0;pointer-events:none}.upload-label,.upload-button,.logout-button{display:inline-block;border:1px solid var(--ink);background:transparent;padding:12px 18px;margin:8px 8px 0 0;font:inherit;font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;cursor:pointer}.upload-button{background:var(--ink);color:#fff}.upload-status{font-size:.75rem}.login-dialog{width:min(92vw,480px);border:0;padding:42px;background:var(--paper);color:var(--ink);box-shadow:0 20px 80px #0008}.login-dialog::backdrop{background:#000b}.login-dialog h2{font-family:var(--serif);font-size:3rem;font-weight:400;margin:16px 0 30px}.dialog-close{position:absolute;right:18px;top:14px;border:0;background:none;font-size:2rem;cursor:pointer}.login-dialog label{display:block;margin:18px 0;font-size:.68rem;text-transform:uppercase;letter-spacing:.12em}.login-dialog input{display:block;width:100%;margin-top:8px;padding:13px;border:1px solid var(--line);background:#fff;font:inherit}.login-dialog form>button{width:100%;padding:14px;border:0;background:var(--ink);color:#fff;font:inherit;text-transform:uppercase;letter-spacing:.12em;cursor:pointer}.login-error{color:#9b251f;font-size:.75rem}@media(max-width:760px){.login-open{font-family:var(--serif);font-size:2.5rem;text-transform:none}.gallery-section{padding:10vh 20px}.gallery-heading{grid-template-columns:1fr}.gallery-grid{grid-template-columns:1fr}.login-dialog{padding:32px 22px}}
.gallery-grid{display:block;columns:3;column-gap:2vw}.gallery-grid figure{display:inline-block;width:100%;aspect-ratio:auto;margin:0 0 2vw;break-inside:avoid}.gallery-grid img{height:auto;object-fit:contain}@media(max-width:760px){.gallery-grid{columns:1}}

.contact-line>a{font-family:var(--serif);font-size:clamp(1.35rem,2.1vw,2.4rem);letter-spacing:-.02em;padding:16px 0;border-bottom:2px solid var(--acid);transition:color .3s,border-color .3s}.contact-line>a:hover{color:var(--acid);border-color:#fff}.footer-bottom a[href*="instagram"]{font-size:.9rem;font-weight:500;letter-spacing:.08em;color:var(--acid)}@media(max-width:760px){.contact-line>a{font-size:clamp(1.05rem,5vw,1.5rem);overflow-wrap:anywhere}.footer-bottom a[href*="instagram"]{font-size:.78rem}}

.footer-bottom a[href*="instagram"]{display:inline-flex;align-items:center;gap:8px}.instagram-icon{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8}.instagram-icon .icon-dot{fill:currentColor;stroke:none}

.inquiry-open{align-self:flex-start;margin:0 0 6vh;padding:15px 22px;border:1px solid var(--acid);background:var(--acid);color:var(--ink);font:500 .72rem var(--sans);text-transform:uppercase;letter-spacing:.12em;cursor:pointer;transition:background .3s,color .3s}.inquiry-open:hover{background:transparent;color:var(--acid)}.inquiry-dialog{width:min(94vw,760px);max-height:90vh;overflow:auto;border:0;padding:46px;background:var(--paper);color:var(--ink);box-shadow:0 24px 100px #0009}.inquiry-dialog::backdrop{background:#000c}.inquiry-dialog h2{font-family:var(--serif);font-size:clamp(2.6rem,5vw,4.8rem);font-weight:400;line-height:.95;margin:18px 0}.inquiry-intro{max-width:520px;color:#4f4d48;margin-bottom:30px}.inquiry-close{position:absolute;right:20px;top:15px;border:0;background:none;font-size:2rem;cursor:pointer}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}.inquiry-dialog label{display:block;margin:14px 0;font-size:.65rem;text-transform:uppercase;letter-spacing:.12em}.inquiry-dialog input,.inquiry-dialog select,.inquiry-dialog textarea{display:block;width:100%;margin-top:8px;padding:13px;border:1px solid var(--line);border-radius:0;background:#fff;color:var(--ink);font:1rem var(--sans);text-transform:none;letter-spacing:0}.inquiry-dialog textarea{resize:vertical}.inquiry-submit{width:100%;margin-top:14px;padding:16px;border:0;background:var(--ink);color:#fff;font:500 .72rem var(--sans);text-transform:uppercase;letter-spacing:.12em;cursor:pointer}.form-note{font-size:.68rem;color:#666;line-height:1.5;margin-top:12px}@media(max-width:760px){.inquiry-dialog{padding:36px 20px}.form-row{grid-template-columns:1fr}.inquiry-open{margin-bottom:5vh}}

.footer-bottom{grid-template-columns:1fr auto auto auto;gap:3vw}.owner-footer{font-size:.58rem!important;opacity:.45;border:0;background:none;color:inherit;text-transform:uppercase;letter-spacing:.12em;cursor:pointer;padding:0}.owner-footer:hover{opacity:1}@media(max-width:760px){.owner-footer{font-family:var(--sans)!important;font-size:.55rem!important;grid-column:auto}.footer-bottom{grid-template-columns:1fr auto}}

.inquiry-ready{margin-top:22px;padding:22px;border:1px solid var(--ink);background:#fff}.inquiry-ready h3{font-family:var(--serif);font-size:1.8rem;font-weight:400;margin:0 0 8px}.inquiry-ready p{font-size:.78rem}.inquiry-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}.inquiry-actions a,.inquiry-actions button{display:inline-block;padding:13px 16px;border:1px solid var(--ink);background:var(--ink);color:#fff;font:500 .68rem var(--sans);text-transform:uppercase;letter-spacing:.1em;cursor:pointer;text-decoration:none}.inquiry-actions button{background:transparent;color:var(--ink)}.copy-status{margin-bottom:0;color:#3d642a}
