@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Playfair+Display:ital,wght@0,500;0,600;1,500&display=swap');
:root{color-scheme:dark;--paper:#000000;--ink:#ffffff;--soft:#b8b8b8;--line:#333333;--serif:'Playfair Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:14px;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit;color:#fff}input,textarea,select{color-scheme:dark}button{color:#fff}.site-header{height:88px;padding:0 7vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.16);position:relative;z-index:3;background:var(--paper)}.wordmark{font-size:16px;font-weight:600;letter-spacing:.02em}.wordmark span{display:block;font-size:8px;letter-spacing:.25em;color:var(--soft);margin-top:4px}.nav{display:flex;gap:42px}.nav a,.footer-links a{font-size:11px;letter-spacing:.06em}.nav a:hover,.footer-links a:hover{opacity:.55}.menu-toggle{display:none;border:0;background:none;font-size:22px}.hero{min-height:690px;height:calc(100vh - 88px);max-height:900px;position:relative;display:grid;grid-template-columns:44% 56%;padding:0 7vw}.hero-copy{align-self:center;z-index:1;padding-bottom:50px}.eyebrow{font-size:9px;letter-spacing:.2em;color:var(--soft);font-weight:600}.hero h1,.page-heading h1,.about-copy h1,.contact-layout h1,.admin-top h1,.login-panel h1{font:500 clamp(48px,7vw,92px)/1.06 var(--serif);letter-spacing:-.045em;margin:28px 0 40px;max-width:650px}.hero h1{font-size:clamp(56px,7vw,96px)}.text-link{display:inline-flex;gap:18px;align-items:center;border-bottom:1px solid var(--ink);padding-bottom:8px;font-size:11px;letter-spacing:.04em}.text-link span{font-size:16px}.hero-image{position:absolute;right:7vw;top:8%;width:49%;height:82%;background-position:center 36%;background-size:cover;background-color:#111111;animation:appear .8s ease both}.hero-image:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 75%,rgba(0,0,0,.28))}.image-note{position:absolute;z-index:1;right:20px;bottom:19px;color:white;font-size:8px;letter-spacing:.16em}.hero-index{position:absolute;right:7vw;bottom:6%;font:16px var(--serif)}.hero-index span{color:#a4a29c}.intro{padding:130px 13vw 90px;position:relative}.intro>p{font:500 clamp(30px,4.6vw,58px)/1.25 var(--serif);letter-spacing:-.025em;max-width:780px;margin:25px 0}.intro em,.home-cta em,.about-copy em,.contact-layout em{font-weight:500}.intro .text-link{position:absolute;right:13vw;bottom:96px}.gallery{display:grid;grid-template-columns:1fr 1fr;gap:5vw 3.2vw;padding:0 13vw}.photo-tile{appearance:none;border:0;background:none;padding:0;text-align:left;cursor:zoom-in;position:relative;overflow:hidden}.photo-tile:nth-child(even){margin-top:100px}.photo-tile img{display:block;width:100%;aspect-ratio:1.17;object-fit:cover;transition:transform .7s cubic-bezier(.2,.7,.2,1);background:#111111}.photo-tile:hover img{transform:scale(1.025)}.portrait-tile img{aspect-ratio:.82}.tile-caption{display:flex;justify-content:space-between;gap:12px;padding-top:14px}.tile-caption b{font:500 17px var(--serif)}.tile-caption small{font-size:8px;letter-spacing:.16em;color:var(--soft);padding-top:4px}.sample-tile{height:420px;background-size:cover;background-position:center;position:relative}.sample-tile span{position:absolute;bottom:18px;left:18px;color:white;font-size:9px;letter-spacing:.15em}.sample-one{background-image:url('https://images.unsplash.com/photo-1534528741775-53994a69daeb?auto=format&fit=crop&w=1000&q=80')}.sample-two{margin-top:100px;background-image:url('https://images.unsplash.com/photo-1524504388940-b1c1722653e1?auto=format&fit=crop&w=1000&q=80')}.sample-three{background-image:url('https://images.unsplash.com/photo-1470252649378-9c29740c9fa8?auto=format&fit=crop&w=1000&q=80')}.home-cta{text-align:center;padding:180px 20px 170px}.home-cta h2{font:500 clamp(42px,6vw,76px)/1.14 var(--serif);letter-spacing:-.035em;margin:26px 0 36px}.page-heading{padding:100px 13vw 45px}.page-heading h1{font-size:clamp(56px,9vw,112px);margin:20px 0}.page-heading h1 span,.admin-top h1 span{color:#d0d0d0}.page-heading>p:last-child{color:var(--soft)}.filters{padding:0 13vw 50px;display:flex;gap:26px;flex-wrap:wrap}.filters a{font-size:10px;color:var(--soft);padding-bottom:6px}.filters a.active{color:var(--ink);border-bottom:1px solid}.portfolio-gallery{padding-bottom:130px}.empty-state{grid-column:1/-1;padding:60px 0;color:var(--soft)}.about-layout{display:grid;grid-template-columns:1fr 1fr;gap:11vw;padding:90px 13vw 140px;align-items:center}.about-image{height:660px;background-size:cover;background-position:center 30%}.about-copy h1{font-size:clamp(45px,5vw,69px);margin:24px 0 34px}.about-copy>p:not(.eyebrow){font-size:13px;line-height:2;color:#c4c4c4;max-width:460px;margin-bottom:22px}.about-copy .text-link{margin-top:18px}.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:13vw;padding:110px 15vw 150px}.contact-layout h1{font-size:clamp(56px,7vw,86px);margin:28px 0}.contact-lead{line-height:1.8;color:var(--soft);max-width:340px}.contact-email{display:inline-block;font:19px var(--serif);margin:28px 0 10px}.muted{color:var(--soft);font-size:11px}.contact-form{display:flex;flex-direction:column;gap:22px;padding-top:28px}.contact-form label,.settings-form label{display:flex;flex-direction:column;gap:9px;font-size:10px;letter-spacing:.04em}.contact-form input,.contact-form textarea,.settings-form input,.settings-form textarea,.inline-form input,.manage-row input:not([type=checkbox]),.manage-row textarea,.manage-row select,.upload-form select{border:0;border-bottom:1px solid #bbb9b2;background:transparent;padding:10px 0;outline:none;border-radius:0}.contact-form input:focus,.contact-form textarea:focus,.settings-form input:focus,.settings-form textarea:focus{border-color:#fff}.contact-form textarea,.settings-form textarea{resize:vertical}.button-dark{border:1px solid #444444;background:#222222;color:#ffffff;padding:15px 20px;cursor:pointer;align-self:flex-start;font-size:10px;letter-spacing:.06em}.button-dark span{margin-left:30px}.contact-form small,.upload-form small{font-size:9px;color:var(--soft);line-height:1.6}.site-footer{border-top:1px solid var(--line);padding:45px 7vw;display:grid;grid-template-columns:1fr 1fr auto;gap:30px;align-items:center}.footer-name{display:block;font:18px var(--serif);margin-bottom:8px}.footer-links{display:flex;gap:24px}.site-footer small{font-size:9px;color:var(--soft)}.lightbox{width:min(94vw,1200px);height:min(92vh,900px);max-width:none;max-height:none;border:0;background:#111;color:white;padding:30px;grid-template-columns:50px 1fr 50px;align-items:center}.lightbox[open]{display:grid}.lightbox::backdrop{background:rgba(0,0,0,.92)}.lightbox figure{margin:0;text-align:center}.lightbox img{max-width:100%;max-height:calc(88vh - 80px);object-fit:contain}.lightbox figcaption{font:14px var(--serif);padding-top:12px}.lightbox button{border:0;background:transparent;color:white;font-size:28px;cursor:pointer}.lightbox-close{position:absolute;right:20px;top:12px}.flash-wrap{position:fixed;top:95px;right:25px;z-index:5}.flash{background:#20201e;color:white;padding:14px 20px;font-size:12px}.flash.error{background:#8b2c25}.login-panel{max-width:480px;margin:120px auto 180px;padding:0 25px}.login-panel h1{font-size:56px}.admin-page{padding:75px 8vw 120px}.admin-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:55px}.admin-top h1{font-size:65px;margin:15px 0}.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:45px 7vw}.admin-section{border-top:1px solid var(--line);padding-top:22px;margin-bottom:48px}.admin-section h2{font:500 23px var(--serif);margin:0 0 22px}.upload-form,.settings-form{display:flex;flex-direction:column;gap:17px}.file-drop{border:1px dashed #aaa;padding:25px;cursor:pointer;font-size:11px}.file-drop input{display:block;margin-top:14px;max-width:100%}.settings-form{display:grid;grid-template-columns:1fr 1fr;gap:14px}.settings-form label:nth-child(4){grid-column:1/-1}.settings-form label:nth-child(8){grid-column:1/-1}.settings-form button{margin-top:4px}.inline-form{display:flex;gap:10px}.inline-form input{flex:1;min-width:80px}.inline-form .button-dark{padding:10px 13px}.admin-list{list-style:none;padding:0;margin:15px 0}.admin-list li{display:flex;justify-content:space-between;padding:9px 0;border-bottom:1px solid var(--line);font-size:11px}.delete-button,.save-button{border:0;background:none;text-decoration:underline;cursor:pointer;font-size:10px;color:#fff}.save-button{background:#222222;color:#ffffff;padding:9px 13px;text-decoration:none}.photo-manager{margin-top:20px}.manage-list{display:flex;flex-direction:column}.manage-row{display:grid;grid-template-columns:130px 1fr;gap:20px;padding:18px 0;border-bottom:1px solid var(--line)}.manage-row>img{width:130px;height:100px;object-fit:cover}.manage-row form{display:flex;flex-direction:column;gap:10px}.manage-row textarea{min-height:40px}.manage-controls{display:flex;flex-wrap:wrap;align-items:center;gap:12px;font-size:10px}.manage-controls label{display:flex;align-items:center;gap:5px}.manage-controls select{max-width:140px}.order-input{width:55px!important}.dragging{opacity:.45}.order-save{margin:0 0 20px}.hero-image{will-change:transform}@keyframes appear{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media(max-width:760px){.site-header{height:72px;padding:0 6vw}.menu-toggle{display:block}.nav{display:none;position:absolute;top:71px;left:0;right:0;background:var(--paper);padding:22px 6vw 30px;flex-direction:column;gap:23px;border-bottom:1px solid var(--line)}.nav.open{display:flex}.hero{height:auto;min-height:760px;padding:0 6vw;display:flex;flex-direction:column;justify-content:flex-end}.hero-image{left:6vw;right:6vw;top:4%;width:88%;height:65%}.hero-copy{padding:0 0 90px}.hero h1{font-size:58px;margin:18px 0 25px;max-width:85%}.hero-index{right:6vw;bottom:6%}.intro{padding:90px 7vw 55px}.intro>p{font-size:36px}.intro .text-link{position:static;margin-top:20px}.gallery{padding:0 7vw;grid-template-columns:1fr;gap:40px}.photo-tile:nth-child(even){margin-top:0}.photo-tile img,.portrait-tile img{aspect-ratio:1.05}.sample-tile{height:390px}.sample-two{margin-top:0}.home-cta{padding:120px 20px}.page-heading{padding:70px 7vw 35px}.page-heading h1{font-size:68px}.filters{padding:0 7vw 35px;gap:17px}.portfolio-gallery{padding-bottom:80px}.about-layout,.contact-layout{grid-template-columns:1fr;padding:55px 7vw 90px;gap:45px}.about-image{height:450px}.about-copy h1{font-size:52px}.contact-layout h1{font-size:66px}.contact-form{padding-top:0}.site-footer{padding:35px 7vw;grid-template-columns:1fr;gap:24px}.footer-links{flex-wrap:wrap}.lightbox{padding:20px 8px;grid-template-columns:32px 1fr 32px}.admin-page{padding:50px 6vw 80px}.admin-top h1{font-size:48px}.admin-grid{grid-template-columns:1fr;gap:0}.settings-form{grid-template-columns:1fr}.settings-form label:nth-child(n){grid-column:auto}.manage-row{grid-template-columns:85px 1fr;gap:12px}.manage-row>img{width:85px;height:85px}.manage-controls{gap:8px}.manage-controls select{max-width:110px}.contact-email{font-size:17px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}
.inbox article{border-top:1px solid var(--line);padding:16px 0}.inbox article>div{font-size:11px}.inbox time{float:right;color:var(--soft);font-size:9px}.inbox p{white-space:pre-wrap;color:#c4c4c4;line-height:1.7;font-size:12px}
.category-overview{display:grid;grid-template-columns:1fr 1fr;column-gap:4vw;padding:0 13vw 130px}
.category-link{display:grid;grid-template-columns:36px minmax(0,1fr) 24px;gap:12px;align-items:center;border-top:1px solid var(--line);padding:24px 0;transition:opacity .2s ease}
.category-link:nth-last-child(-n+2){border-bottom:1px solid var(--line)}
.category-link:hover{opacity:.62}
.category-number{font-size:9px;letter-spacing:.12em;color:var(--soft)}
.category-name{font:500 clamp(21px,2.8vw,34px)/1.2 var(--serif)}
.category-arrow{font-size:16px;text-align:right}
.category-error{margin:0 13vw 30px}
@media(max-width:760px){.category-overview{grid-template-columns:1fr;padding:0 7vw 85px}.category-link:nth-last-child(-n+2){border-bottom:0}.category-link:last-child{border-bottom:1px solid var(--line)}.category-error{margin:0 7vw 25px}}
