:root{--paper:#F7F6F4;--ink:#18181A;--muted:#87857E;--line:#E6E4DE;--green:#7f906f;--white:#fff;--ink-soft:#4a4842;--font-serif:"Fraunces",serif;--font-sans:"Manrope",system-ui,sans-serif;--container:1700px;--gap:clamp(8px,1.4vw,18px);--edge:clamp(20px,5.5vw,80px);--header-offset:130px;--radius-pill:100px}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);font-family:var(--font-sans);line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}img{display:block;max-width:100%}a{color:inherit}.eyebrow{font-size:11px;letter-spacing:.28em;text-transform:uppercase;color:var(--green);font-weight:500}.serif{font-family:var(--font-serif)}.wrap{max-width:var(--container);margin:0 auto;padding:0 var(--edge)}#about,#contact,#work{scroll-margin-top:var(--header-offset)}header.site{position:fixed;top:0;left:0;right:0;z-index:60;display:flex;align-items:center;justify-content:space-between;padding:20px var(--edge);color:var(--white);transition:background .5s,color .5s,padding .5s,border-color .5s;border-bottom:1px solid transparent}header.site.solid{background:var(--ink);backdrop-filter:blur(12px);color:var(--paper);border-color:var(--line);padding:14px var(--edge)}header.site.solid[data-static]{position:sticky}.wordmark{font-family:var(--font-serif);font-weight:400;font-size:clamp(18px,1.7vw,22px);letter-spacing:.02em;text-decoration:none}.wordmark img{display:block;width:auto}nav.site{display:flex;gap:clamp(20px,2.6vw,40px)}nav.site a{text-decoration:none;font-size:11px;letter-spacing:.2em;text-transform:uppercase;font-weight:500;position:relative;opacity:.9;transition:opacity .3s}nav.site a:after{content:"";position:absolute;left:0;bottom:-5px;width:0;height:1px;background:currentColor;transition:width .35s}nav.site a:hover{opacity:1}nav.site a:hover:after{width:100%}.nav-toggle{display:none;width:28px;height:20px;background:none;border:0;padding:0;cursor:pointer;position:relative;color:inherit;z-index:70}.nav-toggle span{position:absolute;left:0;right:0;height:2px;background:currentColor;transition:transform .3s,opacity .3s,top .3s}.nav-toggle span:nth-child(1){top:0}.nav-toggle span:nth-child(2){top:9px}.nav-toggle span:nth-child(3){top:18px}header.nav-open .nav-toggle span:nth-child(1){top:9px;transform:rotate(45deg)}header.nav-open .nav-toggle span:nth-child(2){opacity:0}header.nav-open .nav-toggle span:nth-child(3){top:9px;transform:rotate(-45deg)}.hero{position:relative;height:100svh;min-height:600px;overflow:hidden}.hero .scrim{position:absolute;inset:0;z-index:2;background:linear-gradient(180deg,#0009,#0000 26%,#0006 60%,#6c7960)}.hero-slides{position:absolute;inset:0}.hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.04);animation:heroZoom 14s ease-out forwards;transition:opacity 1.6s ease}.hero img.is-active{opacity:1}@keyframes heroZoom{to{transform:scale(1)}}.hero .cap{position:absolute;z-index:3;left:var(--edge);bottom:clamp(40px,7vw,72px);color:var(--white);max-width:min(680px,84vw)}.hero h1{font-family:var(--font-serif);font-weight:300;font-style:italic;font-size:clamp(38px,7vw,96px);line-height:1;letter-spacing:-.015em;margin:18px 0 0}.hero .view{display:inline-flex;gap:10px;margin-top:28px;color:var(--white);text-decoration:none;font-size:11px;letter-spacing:.22em;text-transform:uppercase;font-weight:500;opacity:.9;transition:gap .35s,opacity .3s}.hero .view:hover{gap:16px;opacity:1}.section-label{padding:0 var(--edge);max-width:var(--container);margin:clamp(70px,10vw,120px) auto 0}.section-label h2{font-family:var(--font-serif);font-weight:300;font-size:clamp(24px,3.2vw,48px);letter-spacing:-.01em;margin:6px 0 0}.section-label .tagline{font-size:clamp(15px,1.4vw,17px);color:var(--muted);max-width:54ch}.album-index{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:clamp(16px,2.4vw,34px);padding:clamp(24px,3vw,40px) var(--edge) 0;max-width:var(--container);margin:0 auto}.album-card{text-decoration:none;color:inherit;display:block}.album-card .cover{position:relative;aspect-ratio:4/5;overflow:hidden;background:var(--line)}.album-card .cover img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s cubic-bezier(.19,1,.22,1)}.album-card:hover .cover img{transform:scale(1.04)}.album-card .meta{position:absolute;left:0;right:0;bottom:0;z-index:2;display:flex;justify-content:space-between;align-items:baseline;gap:14px;padding:10px 20px;font-style:italic;backdrop-filter:blur(6px);border-top:1px solid rgb(255 255 255 / 60%);background:linear-gradient(90deg,#7e926fb8,#00000040)}.album-card .meta h3{font-family:var(--font-serif);font-weight:300;font-size:clamp(17px,1.5vw,21px);color:var(--white)}.album-card .meta .count{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#ffffffbf;white-space:nowrap}.album-head{padding:clamp(120px,16vw,180px) var(--edge) clamp(30px,4vw,50px);max-width:var(--container);margin:0 auto}.album-head h1{font-family:var(--font-serif);font-weight:300;font-size:clamp(32px,5vw,64px);line-height:1.02;letter-spacing:-.015em;margin:16px 0 0}.album-head .sub{margin-top:14px;color:var(--muted);font-size:14px;letter-spacing:.02em}.album-filter{display:flex;gap:10px;flex-wrap:wrap;padding:0 var(--edge) clamp(20px,3vw,34px);max-width:var(--container);margin:0 auto}.chip{background:none;border:1px solid var(--line);color:var(--muted);font-family:inherit;font-size:11px;letter-spacing:.14em;text-transform:uppercase;padding:9px 18px;border-radius:var(--radius-pill);cursor:pointer;transition:color .3s,background .3s,border-color .3s}.chip:hover{color:var(--ink);border-color:var(--ink)}.chip.is-active{background:var(--ink);color:var(--paper);border-color:var(--ink)}.album-grid figure.is-hidden{display:none}.album-grid{columns:4 300px;column-gap:var(--gap);padding:0 var(--edge);max-width:var(--container);margin:0 auto}.album-grid figure{break-inside:avoid;margin-bottom:var(--gap);position:relative;overflow:hidden;cursor:zoom-in;background:var(--line)}.album-grid figure img{width:100%;height:auto;transition:transform 1.1s cubic-bezier(.19,1,.22,1)}.album-grid figure:hover img{transform:scale(1.03)}.album-grid figure:focus-visible{outline:2px solid var(--ink);outline-offset:3px}.album-grid figcaption{position:absolute;left:0;right:0;bottom:0;padding:16px;color:var(--white);font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:500;opacity:0;transform:translateY(6px);transition:opacity .4s,transform .4s;background:linear-gradient(180deg,transparent,rgb(0 0 0 / 45%))}.album-grid figure:hover figcaption{opacity:1;transform:none}.cta-button{display:inline-flex;gap:10px;align-items:center;background:var(--green);color:var(--paper);text-decoration:none;padding:16px 34px;border-radius:var(--radius-pill);font-size:11px;letter-spacing:.2em;text-transform:uppercase;font-weight:600;transition:gap .35s,opacity .3s}.cta-button:hover{gap:16px;opacity:.85}.prose{max-width:820px;margin:0 auto;padding:clamp(70px,12vw,150px) var(--edge)}.prose p{font-family:var(--font-serif);font-weight:300;font-size:clamp(20px,2.6vw,32px);line-height:1.4;letter-spacing:-.005em}.prose p em{font-style:italic;color:var(--ink-soft)}.about{max-width:1400px;margin:0 auto;padding:clamp(90px,14vw,160px) var(--edge);display:grid;grid-template-columns:5fr 7fr;gap:clamp(36px,7vw,110px);align-items:center}.about .portrait{aspect-ratio:4/5;overflow:hidden;background:var(--line)}.about .portrait img{width:100%;height:100%;object-fit:cover}.about h3{font-family:var(--font-serif);font-weight:300;font-size:clamp(24px,3.2vw,40px);letter-spacing:-.01em;margin:12px 0 22px}.about p:not(.eyebrow){font-size:clamp(15px,1.4vw,17px);color:var(--muted)}.about p:not(.eyebrow)+p{margin-top:1em}.about .decube-note{border-left:2px solid var(--green);padding-left:18px}.contact{color:var(--ink);padding:0 2rem 8rem}.contact .inner{max-width:60rem;margin:0 auto;text-align:center}.contact h2{font-family:var(--font-serif);font-weight:300;font-style:italic;font-size:clamp(32px,6vw,72px);line-height:1.02;letter-spacing:-.015em;margin:6px 0 16px}.contact .tagline{font-size:clamp(15px,1.4vw,17px);color:var(--muted);margin:0 auto 40px}.cform{display:grid;gap:16px;text-align:left;max-width:60%;margin:auto;border:1px solid rgb(135 133 126 / 39%);padding:4rem 3rem 2.5rem}.cform-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.cform label{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-bottom:6px;display:block}.cform input,.cform textarea,.cform select{width:100%;background:transparent;border:0;border-bottom:1px solid var(--line);color:var(--ink);font-family:inherit;font-size:16px;padding:10px 0;transition:border-color .3s;border-radius:0}.cform input:focus,.cform textarea:focus,.cform select:focus{outline:none;border-color:var(--ink)}.cform textarea{resize:vertical;min-height:110px}.cform select{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%2387857E'%3E%3Cpath d='M5.5 7.5l4.5 4.5 4.5-4.5' stroke='%2387857E' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right center;background-size:16px}.cform select:invalid{color:var(--muted)}.cform .hp{position:absolute;left:-9999px}.cform button{justify-self:center;margin-top:10px;background:var(--green);color:var(--paper);border:0;padding:14px 30px;font-family:inherit;font-size:11px;letter-spacing:.2em;text-transform:uppercase;font-weight:600;cursor:pointer;transition:opacity .3s}.cform button:hover{opacity:.85}.cform .status{font-size:14px;color:var(--muted);min-height:1.2em;text-align:center;transition:color .3s}.cform .status.is-success{color:var(--ink);font-weight:600;padding:12px 18px;margin-top:1.5rem;font-size:20px}.cform .status.is-error{color:#a23b2d;font-weight:600}.site-footer{background:var(--ink);color:var(--paper);text-align:center;display:flex;flex-direction:column;align-items:center;padding:clamp(56px,9vw,100px) var(--edge) clamp(34px,20vw,110px);border-top:1px solid rgb(255 255 255 / 10%)}.footer-logo{font-family:var(--font-serif);font-weight:400;letter-spacing:.02em;font-size:clamp(24px,3.4vw,40px);text-decoration:none;color:var(--paper)}.footer-logo img{display:inline-block;width:auto}.footer-follow{font-size:11px;letter-spacing:.28em;text-transform:uppercase;color:#f7f6f47f}.social-icons{display:flex;gap:22px;margin-top:16px}.social-icons a{color:#f7f6f4b3;display:inline-flex;transition:color .3s}.social-icons a:hover{color:var(--paper)}.social-icons svg{width:20px;height:20px;fill:currentColor}.footer-email{margin-top:24px;color:#f7f6f4bf;text-decoration:none;font-size:14px;letter-spacing:.02em;border-bottom:1px solid rgb(247 246 244 / 30%);padding-bottom:3px;transition:border-color .3s}.footer-email:hover{border-color:var(--paper)}.footer-copy{margin-top:clamp(20px,4vw,20px);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:#f7f6f466}.lightbox{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;background:#0e0e10f2;opacity:0;visibility:hidden;transition:opacity .45s,visibility .45s;-webkit-tap-highlight-color:transparent}.lightbox.open{opacity:1;visibility:visible}.lb-stage{position:relative;max-width:92vw;max-height:84vh;display:flex;align-items:center;justify-content:center}.lb-img{max-width:92vw;max-height:84vh;width:auto;height:auto;object-fit:contain;box-shadow:0 40px 90px #0000008c;opacity:0;transform:scale(.985);transition:opacity .5s,transform .6s cubic-bezier(.19,1,.22,1);cursor:zoom-in}.lb-img.show{opacity:1;transform:none}.lb-img.zoomed{cursor:grab;max-width:none;max-height:none;transition:transform .1s}.lb-close{position:absolute;top:20px;right:26px;width:44px;height:44px;background:none;border:0;color:var(--white);font-size:30px;line-height:1;cursor:pointer;opacity:.65;transition:opacity .3s;z-index:3}.lb-close:hover{opacity:1}.lb-nav{position:absolute;top:50%;transform:translateY(-50%);background:none;border:0;color:var(--white);cursor:pointer;opacity:.5;transition:opacity .3s;padding:22px;z-index:3;font-size:22px}.lb-nav:hover{opacity:1}.lb-prev{left:clamp(4px,2vw,34px)}.lb-next{right:clamp(4px,2vw,34px)}.lb-bar{position:absolute;bottom:26px;left:0;right:0;z-index:3;display:flex;justify-content:center;align-items:center;gap:20px;color:#ffffffb3;font-size:11px;letter-spacing:.18em;text-transform:uppercase}.lb-count{color:#ffffff73}.pre{opacity:0;transform:translateY(24px)}.pre.in{opacity:1;transform:none;transition:opacity 1.1s,transform 1.1s cubic-bezier(.19,1,.22,1)}@media (max-width:768px){.nav-toggle{display:block}nav.site{position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;background:var(--ink);padding:4px var(--edge) 16px;max-height:0;overflow:hidden;opacity:0;visibility:hidden;transition:max-height .35s ease,opacity .3s,visibility .3s}header.nav-open nav.site{max-height:70vh;opacity:1;visibility:visible}nav.site a{color:var(--paper);opacity:1;padding:16px 2px;font-size:13px;border-bottom:1px solid rgb(255 255 255 / 8%)}nav.site a:after{display:none}.about{grid-template-columns:1fr;gap:34px}.cform-row{grid-template-columns:1fr}.cform{max-width:100%;padding:2rem 1.25rem}.album-grid figcaption{opacity:1;transform:none}.lb-nav{font-size:18px;padding:14px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important}.pre{opacity:1;transform:none}.hero img{animation:none;transform:none;transition:none}.album-grid figure:hover img,.album-card:hover .cover img{transform:none}}
