:root{--ink:#151515;--muted:#69645f;--line:#15151524;--paper:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);margin:0;font-family:Inter,Avenir Next,Segoe UI,sans-serif}body.menu-open,body.lightbox-open{overflow:hidden}a{color:inherit;text-decoration:none}img{object-fit:cover}.nav{justify-content:space-between;align-items:center;padding:30px clamp(22px,5vw,64px);display:flex}.brand{line-height:0;display:inline-flex}.brand img{object-fit:contain;width:100%;max-width:clamp(132px,18vw,190px);height:auto}.footer-brand img{object-fit:contain;width:auto;max-width:none;height:clamp(104px,17vw,164px)}.desktop-nav{letter-spacing:.16em;text-transform:uppercase;gap:clamp(18px,3vw,34px);font-size:.68rem;font-weight:700;display:flex}.menu-toggle{color:var(--ink);cursor:pointer;letter-spacing:0;text-transform:none;background:0 0;border:0;justify-content:center;align-items:center;width:44px;min-height:44px;padding:0;font-size:1.45rem;display:none}.mobile-menu{opacity:0;pointer-events:none;z-index:20;background:#fff;grid-template-rows:auto 1fr;padding:30px clamp(22px,5vw,64px);transition:opacity .22s,transform .22s;display:grid;position:fixed;inset:0;transform:translateY(-10px)}.mobile-menu.is-open{opacity:1;pointer-events:auto;transform:translateY(0)}.mobile-menu-top{justify-content:space-between;align-items:center;display:flex}.mobile-menu-nav{align-content:center;justify-items:center;gap:clamp(18px,4vw,30px);padding:clamp(48px,12vh,110px) 0;display:grid}.mobile-menu-nav a{font-family:Georgia,Times New Roman,serif;font-size:clamp(2.4rem,13vw,5.4rem);line-height:.95}.minimal-page{padding:0 clamp(22px,5vw,64px) 64px}.intro{text-align:center;max-width:900px;margin:clamp(54px,9vw,118px) auto clamp(42px,7vw,80px)}.intro.narrow{max-width:620px}.kicker{color:var(--muted);letter-spacing:.16em;text-transform:uppercase;margin:0 0 20px;font-size:.68rem;font-weight:700}h1{letter-spacing:0;margin:0 auto 22px;font-family:Georgia,Times New Roman,serif;font-size:clamp(2.05rem,5vw,4.15rem);font-weight:400;line-height:1.02}p{color:var(--muted);margin:0;font-size:clamp(.96rem,1.25vw,1.04rem);line-height:1.8}.small-link{letter-spacing:.16em;text-transform:uppercase;border-bottom:1px solid;margin-top:28px;padding-bottom:6px;font-size:.7rem;font-weight:800;display:inline-flex}.work-strip{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,2vw,24px);display:grid}.gallery-grid{column-count:3;column-gap:clamp(14px,2vw,24px)}.work-card,.gallery-item{background:#f5f5f5;margin:0;position:relative;overflow:hidden}.work-card{aspect-ratio:4/5}.gallery-item{break-inside:avoid;margin-bottom:clamp(14px,2vw,24px)}.gallery-trigger{color:inherit;cursor:zoom-in;letter-spacing:0;text-align:left;text-transform:none;background:0 0;border:0;border-radius:0;width:100%;min-height:0;padding:0;line-height:0;display:block;overflow:hidden}.gallery-trigger img{object-fit:contain;width:100%;height:auto;transition:opacity .18s,transform .36s;display:block}.gallery-trigger:hover img{opacity:.92;transform:scale(1.015)}.lightbox{z-index:50;background:#fffffffa;grid-template-columns:minmax(56px,.12fr) minmax(0,1fr) minmax(56px,.12fr);align-items:center;padding:clamp(22px,4vw,44px);display:grid;position:fixed;inset:0}.lightbox-top{z-index:2;grid-column:1/-1;justify-content:space-between;align-items:center;display:flex;position:absolute;top:clamp(18px,3vw,32px);left:clamp(22px,4vw,44px);right:clamp(22px,4vw,44px)}.lightbox-top span{color:var(--muted);letter-spacing:.16em;font-size:.68rem;font-weight:800}.lightbox button{color:var(--ink);cursor:pointer;letter-spacing:0;text-transform:none;background:0 0;border:1px solid #15151533;justify-content:center;align-items:center;width:46px;min-height:46px;padding:0;font-size:1.45rem;display:inline-flex}.lightbox-image{grid-column:2;width:100%;height:min(82vh,920px);margin:0;position:relative}.lightbox-image img{object-fit:contain}.lightbox-nav{place-self:center}.lightbox-nav.previous{grid-column:1}.lightbox-nav.next{grid-column:3}.about-layout{grid-template-columns:minmax(280px,.78fr) minmax(0,1fr);align-items:center;gap:clamp(36px,7vw,92px);max-width:1040px;margin:clamp(54px,9vw,118px) auto clamp(42px,7vw,80px);display:grid}.about-portrait{aspect-ratio:4/5;background:#f5f5f5;margin:0;position:relative;overflow:hidden}.about-copy{gap:20px;display:grid}.about-copy h1{margin-left:0;margin-right:0}.contact-layout{border-top:1px solid var(--line);max-width:820px;margin:0 auto;padding-top:44px}.signin-page{place-items:center;min-height:calc(100vh - 110px);display:grid}.signin-layout{width:100%;max-width:430px;margin:clamp(34px,7vw,86px) auto}.signin-card{background:#fbfbfbeb;border:1px solid #15151514;border-radius:28px;gap:16px;padding:clamp(26px,5vw,40px);display:grid;box-shadow:0 24px 70px #15151512}.signin-card-header{text-align:center;justify-items:center;gap:12px;margin-bottom:8px;display:grid}.signin-card-header img{object-fit:contain;width:auto;height:70px}.signin-card-header h1{margin:0;font-size:clamp(2.1rem,7vw,3rem)}.signin-card-header p{max-width:310px}.signin-actions{justify-content:space-between;align-items:center;margin-top:4px;display:flex}.signin-actions a{color:#151515b8;font-size:.88rem;font-weight:600}.signin-error{color:#9f1f17;background:#fff5f5;border:1px solid #b423182e;border-radius:12px;padding:12px 14px;font-size:.92rem;line-height:1.5}.contact-form{gap:22px;min-width:0;max-width:100%;display:grid}.form-section{background:#fbfbfb;border:1px solid #15151514;border-radius:18px;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;min-width:0;padding:clamp(18px,3vw,26px);display:grid;box-shadow:0 18px 48px #1515150a}label{color:#151515b8;letter-spacing:0;text-transform:none;gap:8px;min-width:0;font-size:.82rem;font-weight:600;display:grid}.contact-form>.form-section,.contact-actions,.recaptcha-field,.event-details{grid-column:1/-1}.contact-actions{justify-content:flex-end;align-items:center;gap:18px;display:flex}.recaptcha-field{justify-content:flex-start;max-width:100%;min-height:78px;padding:4px 0;display:flex;overflow:hidden}.recaptcha-field .g-recaptcha{transform-origin:0 0;max-width:100%}.form-status{border-radius:12px;grid-column:1/-1;padding:12px 14px;font-size:.92rem;line-height:1.5}.form-status.success{color:#1f6b3d;background:#f3fbf5;border:1px solid #207e3f2e}.form-status.error{color:#9f1f17;background:#fff5f5;border:1px solid #b423182e}.event-details{gap:18px;min-width:0;display:grid}.event-fieldset{background:#fbfbfb;border:1px solid #15151514;border-radius:18px;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;min-width:0;margin:0;padding:clamp(18px,3vw,26px);display:grid;box-shadow:0 18px 48px #1515150a}.event-fieldset legend{color:var(--ink);padding:0 8px;font-family:Georgia,Times New Roman,serif;font-size:1.32rem}.full-width{grid-column:1/-1}input,select,textarea{color:var(--ink);font:inherit;background:#fff;border:1px solid #1515151a;border-radius:12px;outline:none;width:100%;min-height:50px;padding:12px 14px;font-size:1rem;transition:border-color .16s,box-shadow .16s,background .16s}input:focus,select:focus,textarea:focus{background:#fff;border-color:#15151557;box-shadow:0 0 0 4px #1515150f}input:disabled{color:#1515157a;background:#f3f3f3}input::placeholder,textarea::placeholder{color:#69645f85;font-size:.9rem;font-weight:400}select{appearance:none;background-image:linear-gradient(45deg,#0000 50%,#15151594 50%),linear-gradient(135deg,#15151594 50%,#0000 50%);background-position:calc(100% - 18px),calc(100% - 13px);background-repeat:no-repeat;background-size:5px 5px,5px 5px;padding-right:40px}textarea{resize:vertical}button{color:#fff;cursor:pointer;letter-spacing:0;text-transform:none;background:#151515;border:1px solid #151515;border-radius:999px;width:fit-content;min-height:52px;padding:0 28px;font-size:.9rem;font-weight:700;transition:opacity .16s,transform .16s}button:hover{opacity:.9;transform:translateY(-1px)}button:disabled{cursor:not-allowed;opacity:.48;transform:none}.nav .menu-toggle,.mobile-menu .menu-toggle{color:var(--ink);letter-spacing:0;text-transform:none;background:0 0;border:0;width:44px;min-height:44px;padding:0;font-size:1.45rem}.footer{border-top:1px solid var(--line);color:var(--muted);gap:clamp(30px,5vw,54px);padding:clamp(38px,6vw,72px) clamp(22px,5vw,64px) 26px;display:grid}.footer-centerpiece{text-align:center;place-items:center;gap:22px;min-height:clamp(150px,24vw,250px);display:grid}.footer-socials{justify-content:center;align-items:center;gap:18px;display:flex}.footer-socials a{color:var(--ink);opacity:.88;justify-content:center;align-items:center;font-size:1.18rem;line-height:1;transition:opacity .18s,transform .18s;display:inline-flex}.footer-socials a:hover{opacity:1;transform:translateY(-2px)}.footer-bottom{border-top:1px solid var(--line);grid-template-columns:1fr auto auto;align-items:center;gap:18px;padding-top:24px;display:grid}.footer-bottom nav{gap:22px;display:flex}.footer-bottom a,.footer-bottom span{letter-spacing:.13em;text-transform:uppercase;font-size:.68rem;font-weight:700}@media (max-width:760px){.nav{padding:22px}.desktop-nav{display:none}.menu-toggle{display:inline-flex}.brand img{max-width:140px}.intro{text-align:left;margin-top:clamp(44px,12vw,72px)}h1{font-size:clamp(2.35rem,12vw,3.6rem)}.minimal-page{padding-bottom:48px}.work-strip,.about-layout,.signin-layout,.contact-layout,.footer-bottom,.contact-form,.form-section,.event-fieldset{grid-template-columns:1fr}.footer-bottom{align-items:flex-start}.footer-bottom nav{flex-wrap:wrap}.work-card{aspect-ratio:4/5}.gallery-grid{column-count:1}.lightbox{grid-template-rows:auto 1fr auto;grid-template-columns:1fr 1fr;padding:22px}.lightbox-top{top:18px;left:22px;right:22px}.lightbox-image{grid-area:2/1/auto/-1;height:74vh;margin-top:36px}.lightbox-nav{grid-row:3;align-self:end;margin-top:18px}.lightbox-nav.previous{grid-column:1;justify-self:start}.lightbox-nav.next{grid-column:2;justify-self:end}.about-layout{margin-top:44px}.about-copy{gap:16px}.contact-layout{padding-top:34px}.event-fieldset,.form-section{padding:18px}.contact-actions{flex-direction:column}.contact-actions button{width:100%}}@media (max-width:420px){.mobile-menu,.nav{padding-inline:18px}.brand img{max-width:124px}.minimal-page{padding-inline:16px}.form-section,.event-fieldset{border-radius:14px;padding:14px}.recaptcha-field .g-recaptcha{transform:scale(.88)}}@media (max-width:900px){.signin-actions{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:18px;width:100%;margin-top:14px;display:flex}.signin-actions a{text-align:center;order:2;margin-inline:auto}.signin-actions button{order:1;justify-content:center;align-items:center;margin-inline:auto;display:inline-flex}}
