@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Italiana&display=swap');
:root{--paper:#eeeae1;--ink:#272622;--red:#d94129;--line:#c9c4ba;--serif:'Italiana',Georgia,serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.6 'DM Sans',sans-serif}body.locked{overflow:hidden}button,input,select,textarea{font:inherit;color:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer;border:0;background:none;padding:0;text-align:left}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--red);outline-offset:7px}img{width:100%;height:100%;display:block;object-fit:cover}svg{fill:none;stroke:currentColor;stroke-width:1.2;width:24px;height:24px}::selection{background:var(--red);color:var(--paper)}header{display:flex;align-items:center;justify-content:space-between;margin:0 4%;height:120px;border-bottom:1px solid var(--line);gap:40px}.logo{font-size:52px;font-weight:600;letter-spacing:-5px;line-height:1}.logo span{font-size:14px;letter-spacing:0;vertical-align:top;margin-left:7px}.header-note{font-size:9px;line-height:1.7;letter-spacing:1px;margin-right:auto;margin-left:65px}header nav{display:flex;gap:35px;align-items:center;font-size:13px}nav a,nav button{position:relative}nav a:after{content:'';position:absolute;bottom:-4px;left:0;width:100%;height:1px;background:var(--red);transform:scaleX(0);transform-origin:left;transition:transform .3s}nav a:hover:after{transform:scaleX(1)}sup{font-size:8px;color:var(--red);margin-left:4px}.contact-trigger span{margin-left:12px}.menu-toggle{display:none}#mobile-menu[hidden]{display:none}.cover{padding:0 4%}.cover-type{position:relative;padding:65px 0 45px;display:flex;align-items:start;justify-content:space-between}.cover-type>p{font-size:10px;letter-spacing:1.2px;margin-top:18px;line-height:1.6}h1{font:400 clamp(72px,8.6vw,145px)/.95 var(--serif);letter-spacing:-5px;margin:0 2% 0 0;width:71%;position:relative;z-index:2}em{font-family:var(--serif);font-style:normal;color:var(--red)}h1 em{display:inline-block;margin-left:11%;white-space:nowrap}.cover-image{height:58vw;max-height:720px;min-height:420px;margin:0;position:relative;overflow:hidden;background:#56604d}.cover-image>img{object-position:50% 56%;animation:cover-in 1.8s cubic-bezier(.2,.7,.3,1) both}.cover-image:after{content:'';position:absolute;inset:50% 0 0;background:linear-gradient(transparent,#0008);pointer-events:none}figcaption{position:absolute;bottom:25px;left:28px;right:28px;display:flex;justify-content:space-between;gap:20px;font-size:9px;letter-spacing:1px;color:white;z-index:2}.cover-foot{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:28px 0;font-size:8px;letter-spacing:1px}.cover-foot a{display:flex;align-items:center;gap:15px;font-size:11px;letter-spacing:0}.cover-foot svg{width:16px;height:22px;animation:arrow-down 2s ease-in-out infinite}.work{padding:130px 7% 65px}.work-top{display:flex;align-items:end;justify-content:space-between;gap:50px;margin-bottom:85px}h2{font:400 clamp(55px,6vw,95px)/.98 var(--serif);letter-spacing:-2.5px;margin:0}.work-top>div{padding-bottom:4px}.work-top p{font-size:14px;line-height:1.7}.filters{display:flex;flex-wrap:wrap;gap:22px;margin-top:35px;font-size:11px}.filters button{border-bottom:1px solid transparent;padding-bottom:5px}.filters button[aria-pressed=true]{color:var(--red);border-bottom-color:var(--red)}.photo-grid{display:grid;grid-template-columns:repeat(12,1fr);column-gap:30px;row-gap:90px;align-items:start}.photo-card{min-width:0;width:100%}.photo-card[hidden]{display:none}.frame{overflow:hidden;position:relative;background:#c8c6ba}.frame img{transition:transform 1s cubic-bezier(.2,.7,.3,1),filter .8s}.photo-card:hover .frame img{transform:scale(1.035);filter:saturate(.85)}.open-mark{position:absolute;bottom:20px;right:20px;background:var(--paper);border-radius:50%;width:45px;height:45px;display:grid;place-items:center;font-size:25px;transform:translateY(70px);transition:transform .35s}.photo-card:hover .open-mark,.photo-card:focus-visible .open-mark{transform:translateY(0)}.caption{display:flex;justify-content:space-between;gap:15px;padding-top:15px;font-size:9px;letter-spacing:.5px}.caption>span:last-child{color:#6d6a62;text-align:right}.portrait{grid-column:1/6}.portrait .frame{aspect-ratio:3/4}.city{grid-column:8/13;margin-top:170px}.city .frame{aspect-ratio:4/5}.grid-note{grid-column:1/5;padding:40px 0 20px}.asterisk{font-size:85px;line-height:1;color:var(--red);display:inline-block;animation:turn 35s linear infinite}.grid-note p{font:40px/1.1 var(--serif);letter-spacing:-1px}.grid-note small{font-size:8px;line-height:1.8;letter-spacing:1px}.couple{grid-column:6/13}.couple .frame{aspect-ratio:1.13}.coast{grid-column:1/9;margin-top:10px}.coast .frame{aspect-ratio:1.6}.detail{grid-column:9/13;margin-top:200px}.detail .frame{aspect-ratio:3/4}.forest{grid-column:3/11;margin-top:20px}.forest .frame{aspect-ratio:1.5}.stock-note{font-size:10px;color:#79766e;margin-top:40px}.photo-grid.filtered{row-gap:60px}.photo-grid.filtered .photo-card{grid-column:span 6;margin-top:0}.photo-grid.filtered .frame{aspect-ratio:4/5}.photo-grid.filtered .grid-note{display:none}.about{margin:80px 0 0;padding:100px 11%;background:#deddd2;display:grid;grid-template-columns:.8fr 1fr;gap:12%;align-items:center}.about-photo{height:570px;position:relative;transform:rotate(-3deg)}.about-photo img{filter:grayscale(1);object-position:50% 35%}.about-photo>span{position:absolute;left:0;bottom:-30px;font-size:8px;letter-spacing:1px}.kicker{font-size:9px;letter-spacing:1.2px;display:block;margin-bottom:28px}.about-copy h2{font-size:85px;margin-bottom:35px}.about-copy p{font-size:14px;line-height:1.9;color:#625f56;max-width:460px}.about-copy .lead{font-size:20px;line-height:1.55;color:var(--ink)}.signature{font:30px var(--serif);display:block;margin-top:32px;transform:rotate(-5deg);color:var(--red)}.sessions{padding:140px 7%;display:grid;grid-template-columns:1fr 1fr;gap:10%}.sessions h2{font-size:72px}.session-list{border-top:1px solid var(--ink)}details{border-bottom:1px solid var(--line)}summary{list-style:none;display:flex;align-items:center;gap:20px;cursor:pointer;font:30px var(--serif);padding:25px 0}summary::-webkit-details-marker{display:none}summary>span:first-child{font:10px 'DM Sans';color:var(--red)}summary>span:last-child{margin-left:auto;font:24px 'DM Sans';transition:rotate .3s}details[open] summary>span:last-child{rotate:45deg}details p{font-size:14px;color:#6e695f;padding:0 0 22px 33px;max-width:450px;margin:0;line-height:1.8}.session-note{font-size:11px;line-height:1.9;margin-top:28px;color:#7b766d}footer{background:#d94129;color:var(--paper);padding:70px 4% 25px}.contact-line>span{font-size:9px;letter-spacing:1px}.contact-line>button{font:400 clamp(80px,12vw,190px)/.9 var(--serif);letter-spacing:-5px;display:block;width:100%;margin:45px 0 70px;position:relative}.contact-line em{color:inherit;margin-left:18%}.contact-line svg{position:absolute;right:6%;top:15%;width:10vw;height:10vw;stroke-width:.8;transition:transform .5s}.contact-line>button:hover svg{transform:translate(10px,-10px)}.footer-bottom{border-top:1px solid #eeeae166;padding-top:35px;display:flex;align-items:center;justify-content:space-between;gap:25px}.footer-bottom>span{font-size:9px;line-height:1.8;letter-spacing:.7px}.demo-note{font-size:9px;opacity:.75;margin:35px 0 0;max-width:780px}dialog{border:0;background:var(--paper);color:var(--ink);padding:50px;width:min(650px,calc(100% - 30px));max-height:90svh;overflow:auto}dialog::backdrop{background:#191b17df;backdrop-filter:blur(8px)}.close{position:absolute;right:18px;top:10px;font-size:32px;z-index:3;width:35px;height:40px;text-align:center}.close:hover{color:var(--red)}dialog h2{font-size:65px;margin:25px 0 35px}label{font-size:12px;display:block;margin:20px 0}input,select,textarea{display:block;width:100%;background:transparent;border:0;border-bottom:1px solid #aaa69a;padding:12px 0;border-radius:0;font-size:16px;outline-offset:4px}textarea{resize:vertical}input:focus,select:focus,textarea:focus{outline:1px solid var(--red)}.submit{padding:16px 20px;background:var(--ink);color:var(--paper);display:flex;justify-content:space-between;align-items:center;width:100%;font-size:14px;margin-top:25px}.submit:hover{background:var(--red)}.form-note{font-size:10px;color:#777267}.form-note:before{content:'• ';color:var(--red)}pre{white-space:pre-wrap;font:14px/1.8 'DM Sans';background:#e2ded3;padding:20px}#edit-message{font-size:12px;text-decoration:underline;margin-top:20px}#copy-status{display:block;font-size:12px;color:var(--red);margin-top:15px}#lightbox{padding:0;width:min(1250px,calc(100% - 40px));display:grid;grid-template-columns:1.5fr 1fr;overflow:auto}#lightbox:not([open]){display:none}.lightbox-image{height:80svh;background:#171b18}.lightbox-image img{object-fit:contain}.lightbox-copy{padding:65px 40px 35px;align-self:center}.lightbox-copy>span{font-size:10px;color:var(--red)}.lightbox-copy h2{font-size:60px}.lightbox-copy p{font-size:14px;line-height:1.9;color:#746e64}.lightbox-controls{display:flex;gap:15px;margin-top:35px}.lightbox-controls button{border:1px solid var(--line);border-radius:50%;width:45px;height:45px;text-align:center;font-size:23px}.lightbox-controls button:hover{background:var(--red);color:white;border-color:var(--red)}.js .reveal{opacity:0;transform:translateY(35px);transition:opacity .9s,transform 1.2s cubic-bezier(.2,.7,.3,1)}.js .reveal.visible{opacity:1;transform:translateY(0)}.js .about-photo.visible{transform:rotate(-3deg)}@keyframes cover-in{from{transform:scale(1.09);filter:brightness(.7)}to{transform:scale(1);filter:brightness(1)}}@keyframes arrow-down{50%{transform:translateY(6px)}}@keyframes turn{to{transform:rotate(360deg)}}
@media(min-width:1500px){main,header{max-width:1800px;margin-left:auto;margin-right:auto}header{padding:0 4%}}
@media(max-width:1050px){.header-note{margin-left:20px}header nav{gap:20px}h1{font-size:9vw;letter-spacing:-3px}.cover-type>p{font-size:8px}.work{padding-left:5%;padding-right:5%}.caption{font-size:8px}.about{padding:85px 7%;gap:8%}.about-photo{height:480px}.about-copy h2{font-size:70px}.sessions{gap:6%;padding:110px 5%}.sessions h2{font-size:60px}.lightbox-copy{padding:50px 25px}.lightbox-copy h2{font-size:45px}}
@media(max-width:700px){header{height:90px;gap:20px;margin:0 5%}.logo{font-size:42px;letter-spacing:-4px}.logo span{font-size:11px}.header-note{font-size:7px;margin:0 auto 0 0;max-width:105px;letter-spacing:.5px}header nav{display:none}.menu-toggle{display:block;font-size:12px}#mobile-menu{padding:25px 5%;display:flex;justify-content:space-between;border-bottom:1px solid var(--line);font-size:14px}.cover{padding:0 5%}.cover-type{display:block;padding:35px 0}.cover-type>p{font-size:8px;line-height:1.6;margin:0 0 30px}h1{font-size:clamp(49px,11.8vw,82px);letter-spacing:-2px;width:100%;margin:0}h1 em{margin-left:7%;white-space:normal}.cover-image{height:65svh;max-height:600px;min-height:360px}.cover-image img{object-position:62% center}figcaption{left:17px;right:17px;bottom:20px;font-size:7px;letter-spacing:.5px}figcaption>span:last-child{display:none}.cover-foot{padding:20px 0;gap:20px;font-size:7px}.cover-foot>span:first-child{display:none}.cover-foot>span:last-child{font-size:6px;max-width:100px;text-align:right}.cover-foot a{font-size:10px}.work{padding:75px 5% 40px}.work-top{display:block;margin-bottom:45px}h2{font-size:58px;letter-spacing:-2px}.work-top>div{margin:25px 0 0}.work-top p{font-size:13px}.filters{margin-top:25px;gap:20px;font-size:11px}.photo-grid{column-gap:17px;row-gap:45px}.portrait{grid-column:1/11}.city{grid-column:3/13;margin-top:0}.grid-note{grid-column:1/13;padding:10px 15px}.grid-note p{font-size:35px;margin:15px 0}.grid-note .asterisk{font-size:60px}.grid-note small{font-size:8px}.couple{grid-column:1/13}.coast{grid-column:1/13;margin-top:0}.detail{grid-column:4/13;margin-top:0}.forest{grid-column:1/12;margin-top:0}.caption{font-size:8px;gap:10px;line-height:1.6;letter-spacing:0}.open-mark{width:32px;height:32px;font-size:21px;bottom:12px;right:12px;transform:none}.photo-grid.filtered .photo-card{grid-column:1/13}.photo-grid.filtered .frame{aspect-ratio:4/5}.stock-note{font-size:9px;line-height:1.7;margin-top:30px}.about{margin-top:30px;padding:65px 8% 75px;grid-template-columns:1fr;gap:75px}.about-photo{height:440px;max-width:90%;margin:auto;width:100%}.about-photo>span{font-size:7px;bottom:-25px}.about-copy h2{font-size:68px;margin-bottom:25px}.about-copy p{font-size:14px}.about-copy .lead{font-size:20px}.signature{font-size:28px}.kicker{font-size:8px;margin-bottom:22px}.sessions{padding:75px 6%;display:block}.sessions h2{font-size:57px}.session-list{margin-top:40px}summary{font-size:29px;gap:15px;padding:22px 0}details p{font-size:14px;padding-left:25px}.session-note{font-size:10px}footer{padding:45px 5% 25px}.contact-line>span{font-size:8px}.contact-line>button{font-size:18vw;letter-spacing:-2px;margin:35px 0 50px}.contact-line em{margin-left:8%}.contact-line svg{width:13vw;height:13vw;right:1%;top:0}.footer-bottom{display:grid;grid-template-columns:1fr 1fr;gap:30px;padding-top:25px}.footer-bottom .logo{grid-column:1/3}.footer-bottom>span{font-size:7px;letter-spacing:.3px}.demo-note{font-size:9px;line-height:1.7;margin-top:25px}dialog{padding:45px 25px 30px;max-height:92svh}dialog h2{font-size:54px;margin:20px 0 30px}.close{right:12px}#lightbox{display:block;width:calc(100% - 20px)}.lightbox-image{height:52svh}.lightbox-copy{padding:28px 25px}.lightbox-copy h2{font-size:45px;margin:18px 0}.lightbox-copy p{font-size:13px}.lightbox-controls{margin-top:20px}#lightbox>.close{background:var(--paper);border-radius:50%;font-size:26px;height:35px;top:12px}.submit{font-size:13px}.js .reveal{transform:translateY(20px)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.js .reveal{opacity:1;transform:none}.js .about-photo{transform:none}.open-mark{transform:none}}
.asterisk{width:75px;height:75px;stroke-width:2}@media(max-width:700px){.grid-note .asterisk{width:55px;height:55px}}
