:root{--ink:#10100f;--paper:#f7f7f4;--line:#10100f45;--muted:#676761;--sans:"Inter",Arial,sans-serif;--serif:"Bodoni Moda",Georgia,serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);font-family:var(--sans);margin:0;font-size:12px;line-height:1.5}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a{cursor:pointer}::selection{background:var(--ink);color:var(--paper)}:focus-visible{outline:2px solid var(--ink);outline-offset:4px}.topbar{color:#fff;z-index:3;letter-spacing:.08em;border-bottom:1px solid #ffffff59;grid-template-columns:1fr auto 1fr;align-items:center;height:72px;padding:0 32px;font-size:10px;display:grid;position:absolute;top:0;left:0;right:0}.brand{letter-spacing:.18em;white-space:nowrap;font-size:15px}nav{gap:28px;display:flex}nav a,.book-link{transition:opacity .2s}nav a:hover,.book-link:hover{opacity:.6}.book-link{justify-self:end}.book-link span{margin-left:5px;font-size:14px}.hero{color:#fff;background:#222;min-height:100svh;position:relative;overflow:hidden}.hero img{object-fit:cover;object-position:center 45%;animation:1.2s cubic-bezier(.16,1,.3,1) both heroIn}.hero-shade{background:linear-gradient(90deg,#0000006e,#0000000a 70%),linear-gradient(#0000 65%,#00000059);position:absolute;inset:0}.hero-copy{width:min(780px,80vw);animation:.9s cubic-bezier(.16,1,.3,1) .22s both rise;position:absolute;bottom:clamp(48px,9vw,128px);left:clamp(24px,7vw,120px)}.hero-copy p,.folio-label{letter-spacing:.15em;margin:0 0 22px;font-size:10px}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--serif);font-weight:400}h1{letter-spacing:-.035em;max-width:10ch;margin:0 0 34px;font-size:clamp(43px,6.1vw,100px);line-height:.96}.hero-copy a{letter-spacing:.1em;border-bottom:1px solid #fff;padding-bottom:10px;font-size:10px}.hero-copy a span{margin-left:28px;font-size:16px}.intro{grid-template-columns:1.3fr .7fr;gap:30px;padding:clamp(90px,13vw,210px) 8vw clamp(65px,9vw,135px);display:grid}.intro h2,.about h2,.booking h2{letter-spacing:-.04em;margin:0;font-size:clamp(42px,5.5vw,88px);line-height:.96}.intro-copy{max-width:30ch;color:var(--muted);align-self:end;margin:0;font-size:13px;line-height:1.75}.gallery{grid-template-columns:1fr 1fr;gap:clamp(70px,12vw,170px) 9vw;padding:0 3vw;display:grid}.work:nth-child(2n){margin-top:15vw}.image-wrap{aspect-ratio:.78;background:#dedcd6;position:relative;overflow:hidden}.work-2 .image-wrap{aspect-ratio:.73}.work-3 .image-wrap{aspect-ratio:1.06}.work-4 .image-wrap{aspect-ratio:.73}.image-wrap img{object-fit:cover;transition:transform .8s cubic-bezier(.16,1,.3,1)}.work:hover img{transform:scale(1.04)}.work-meta{letter-spacing:.07em;justify-content:space-between;gap:20px;padding-top:15px;font-size:10px;display:flex}.work-meta p{color:var(--muted);margin:0}.work-meta div p{color:var(--ink);margin-bottom:6px}.work-meta h3{letter-spacing:-.03em;margin:0;font-size:clamp(20px,2.2vw,33px)}.about{background:var(--ink);color:var(--paper);grid-template-columns:1.15fr .7fr;gap:80px;margin-top:clamp(110px,18vw,260px);padding:clamp(90px,12vw,180px) 8vw;display:grid}.about .folio-label{color:#b8b6b1}.about>p{font-family:var(--serif);max-width:20ch;margin:5px 0 0;font-size:clamp(21px,2.2vw,33px);line-height:1.25}.booking{grid-template-columns:1fr 1fr;gap:12vw;padding:clamp(90px,13vw,210px) 8vw;display:grid}.booking-title>p:last-child{max-width:30ch;color:var(--muted);margin-top:35px;font-size:13px;line-height:1.7}.booking-form{border-top:1px solid var(--ink);flex-direction:column;display:flex}.booking-form label{border-bottom:1px solid var(--line);letter-spacing:.09em;flex-direction:column;gap:7px;padding:18px 0 13px;font-size:10px;display:flex}.booking-form input,.booking-form textarea,.booking-form select{appearance:none;width:100%;color:var(--ink);resize:vertical;background:0 0;border:0;outline:0;padding:0;font-size:14px;line-height:1.45}.booking-form input::placeholder,.booking-form textarea::placeholder{color:#7a7873}.booking-form button,.admin button{border:1px solid var(--ink);color:var(--paper);background:var(--ink);letter-spacing:.09em;margin-top:30px;padding:17px 20px;font-size:10px;transition:background .2s,color .2s}.booking-form button:hover,.admin button:hover{color:var(--ink);background:0 0}.booking-form button:disabled{opacity:.55;cursor:wait}.booking-form button span{margin-left:25px;font-size:15px}.form-error{color:#9e1717;margin:14px 0 0}.form-success{border-top:1px solid var(--ink);flex-direction:column;gap:8px;padding-top:22px;font-size:13px;display:flex}.form-success p{letter-spacing:.1em;margin:0;font-size:10px}.form-success strong{font:400 clamp(32px,3vw,46px)/1 var(--serif);letter-spacing:-.04em}.form-success span{color:var(--muted)}footer{background:var(--ink);color:var(--paper);letter-spacing:.08em;justify-content:space-between;align-items:center;gap:30px;padding:23px 32px;font-size:9px;display:flex}footer a{color:#b8b6b1}footer a:hover{color:#fff}.admin-login{background:var(--paper);min-height:100svh;padding:28px}.admin-login>a,.admin header a{letter-spacing:.08em;font-size:10px}.admin-login>div{max-width:390px;margin:18vh auto}.admin-login p{letter-spacing:.1em;font-size:10px}.admin-login h1,.admin h1{letter-spacing:-.04em;margin:0 0 28px;font-size:58px}.admin-login label,.admin label{letter-spacing:.07em;flex-direction:column;gap:7px;font-size:10px;display:flex}.admin-login input,.admin input,.admin textarea{border:1px solid var(--line);letter-spacing:0;background:#fff;min-height:43px;padding:12px;font-size:14px}.admin-login button{width:100%}.admin-login span{color:#a00;margin-top:15px;display:block}.admin{max-width:1160px;margin:auto;padding:28px}.admin header{border-bottom:1px solid var(--ink);justify-content:space-between;align-items:center;padding-bottom:20px;display:flex}.admin header h1{margin:0;font-size:36px}.admin header button{margin:0}.admin-note{color:var(--muted);max-width:67ch;margin:25px 0 55px}.admin section{border-top:1px solid var(--line);padding:24px 0 48px}.admin h2{margin:0 0 22px;font-size:30px}.fields{grid-template-columns:1fr 1fr;gap:18px;display:grid}.fields .wide{grid-column:1/-1}.section-head{justify-content:space-between;align-items:center;display:flex}.section-head button{color:var(--ink);background:0 0;margin:0;padding:12px}.work-edit{border-top:1px solid var(--line);grid-template-columns:190px 1fr auto;gap:22px;padding:24px 0;display:grid}.preview{aspect-ratio:1;color:var(--muted);background:#e2e0dc;place-items:center;font-size:9px;display:grid;overflow:hidden}.preview img{object-fit:cover;width:100%;height:100%}.work-edit .remove{color:#9e1717;background:0 0;border-color:#9e1717;align-self:start;margin:0;padding:12px}.notice{background:var(--ink);color:#fff;letter-spacing:.05em;padding:13px 16px;font-size:10px;position:fixed;bottom:20px;right:20px}@keyframes heroIn{0%{opacity:.7;transform:scale(1.06)}to{opacity:1;transform:scale(1)}}@keyframes rise{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important}}@media (max-width:700px){.topbar{grid-template-columns:1fr auto;height:62px;padding:0 18px}.topbar nav{display:none}.brand{font-size:12px}.book-link{font-size:9px}.hero{min-height:88svh}.hero-copy{bottom:42px;left:22px}.intro,.about,.booking{grid-template-columns:1fr;gap:35px;padding-left:22px;padding-right:22px}.intro{padding-top:82px}.gallery{padding:0;display:block}.work{margin:0 0 74px!important}.image-wrap{aspect-ratio:.86!important}.work-meta{padding:13px 20px 0}.about{margin-top:90px}.booking{gap:55px}.booking h2{font-size:57px}footer{flex-wrap:wrap;align-items:flex-start;gap:15px 25px;padding:24px 20px}.admin{padding:20px}.admin header h1{font-size:25px}.fields{grid-template-columns:1fr}.fields .wide{grid-column:auto}.work-edit{grid-template-columns:1fr}.preview{max-width:220px}.work-edit .remove{justify-self:start}.admin-login>div{margin:16vh 0}}.brand{font-family:var(--serif);letter-spacing:-.045em;letter-spacing:-.025em;font-family:Cormorant Garamond,Georgia,serif;font-size:clamp(20px,1.7vw,27px);font-weight:500}.topbar nav{z-index:10;pointer-events:auto;position:relative}.portfolio-menu{z-index:20;pointer-events:auto;position:relative}.portfolio-menu summary{cursor:pointer;list-style:none}.portfolio-menu summary::-webkit-details-marker{display:none}.portfolio-menu summary span{margin-left:4px;font-size:11px;transition:transform .18s;display:inline-block}.portfolio-menu[open] summary span{transform:rotate(180deg)}.portfolio-menu-list{z-index:30;pointer-events:auto;background:#10100ffa;border:1px solid #ffffff52;flex-direction:column;min-width:260px;padding:8px 12px;display:flex;position:absolute;top:calc(100% + 17px);left:-18px}.portfolio-menu-link{color:#fff;letter-spacing:.02em;white-space:nowrap;touch-action:manipulation;justify-content:space-between;align-items:center;gap:22px;min-height:44px;padding:0 6px;font-size:12px;display:flex}.portfolio-menu-link+.portfolio-menu-link{border-top:1px solid #ffffff29}.portfolio-menu-link span:last-child{letter-spacing:.08em;opacity:.7;font-size:8px}.portfolio-menu-link:hover,.portfolio-menu-link:focus-visible{opacity:1;background:#ffffff1f;outline:none}.category-grid{grid-template-columns:1fr 1fr;gap:clamp(58px,9vw,125px) 3vw;padding:0 3vw;display:grid}.category-card{display:block}.category-card:nth-child(2n){margin-top:11vw}.category-image{aspect-ratio:.82;background:#dedcd6;position:relative;overflow:hidden}.category-card-2 .category-image{aspect-ratio:.73}.category-card-3 .category-image{aspect-ratio:1.03}.category-card-4 .category-image{aspect-ratio:.74}.category-image img{object-fit:cover;transition:transform .8s cubic-bezier(.16,1,.3,1)}.category-card:hover img{transform:scale(1.04)}.category-meta{justify-content:space-between;align-items:end;gap:20px;padding-top:16px;display:flex}.category-meta p{color:var(--muted);letter-spacing:.09em;margin:0 0 8px;font-size:9px}.category-meta h3{letter-spacing:-.055em;margin:0;font-size:clamp(24px,2.7vw,42px);line-height:1.02}.category-meta>span{border:1px solid var(--ink);border-radius:50%;place-items:center;width:36px;height:36px;transition:background .2s,color .2s;display:grid}.category-card:hover .category-meta>span{background:var(--ink);color:var(--paper)}.archive-page,.story-page{background:var(--paper);min-height:100svh}.archive-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;min-height:76px;padding:0 32px;display:flex}.brand-dark{color:var(--ink)}.back-link{letter-spacing:.1em;font-size:10px}.archive-intro,.story-heading{padding:clamp(72px,12vw,160px) 8vw clamp(64px,9vw,115px)}.archive-intro h1,.story-heading h1{font:400 clamp(54px,9vw,150px)/.86 var(--serif);letter-spacing:-.07em;max-width:9ch;margin:0}.archive-intro>p:last-child,.story-heading>p:last-child{font:400 clamp(19px,2.1vw,30px)/1.3 var(--serif);max-width:27ch;margin:38px 0 0}.archive-works{grid-template-columns:1fr 1fr;gap:clamp(65px,10vw,150px) 8vw;padding:0 5vw clamp(90px,13vw,180px);display:grid}.archive-work:nth-child(2n){margin-top:12vw}.archive-image{aspect-ratio:.8;background:#dedcd6;position:relative;overflow:hidden}.archive-work:nth-child(3n) .archive-image{aspect-ratio:1.1}.archive-image img,.story-gallery img{object-fit:cover;transition:transform .6s}.archive-work:hover img{transform:scale(1.03)}.archive-work-meta{justify-content:space-between;align-items:end;gap:20px;padding-top:15px;display:flex}.archive-work-meta p{color:var(--muted);letter-spacing:.08em;margin:0 0 7px;font-size:10px}.archive-work-meta h2{letter-spacing:-.06em;margin:0;font-size:clamp(27px,3vw,46px)}.archive-work-meta>span{letter-spacing:.08em;white-space:nowrap;font-size:9px}.empty-archive{font:400 30px/1.2 var(--serif);color:var(--muted)}.story-heading{max-width:1000px}.story-gallery{grid-template-columns:1fr 1fr;gap:3vw;padding:0 3vw;display:grid}.story-gallery figure{aspect-ratio:.76;background:#dedcd6;margin:0;position:relative;overflow:hidden}.story-gallery figure.wide{aspect-ratio:1.55;grid-column:span 2}.story-next{text-align:center;padding:clamp(100px,16vw,230px) 24px}.story-next p{letter-spacing:.1em;font-size:10px}.story-next a{font:400 clamp(38px,5vw,75px)/1 var(--serif);letter-spacing:-.06em;border-bottom:1px solid var(--ink)}.admin input,.admin textarea,.admin select{border:1px solid var(--line);letter-spacing:0;background:#fff;min-height:43px;padding:12px;font-size:14px}.section-head{gap:20px}.section-head p{color:var(--muted);margin:0}.work-edit,.category-edit{border-top:1px solid var(--line);grid-template-columns:190px 1fr auto;gap:22px;padding:24px 0;display:grid}.category-edit .remove{color:#9e1717;background:0 0;border-color:#9e1717;align-self:start;margin:0;padding:12px}.photo-list{border-top:1px solid var(--line);letter-spacing:.07em;flex-direction:column;gap:10px;padding-top:14px;font-size:10px;display:flex}.photo-row{align-items:center;gap:8px;display:flex}.photo-row input{flex:1}.text-button{white-space:nowrap;text-decoration:underline;color:var(--ink)!important;background:0 0!important;border:0!important;margin:0!important;padding:10px!important}.add-photo{align-self:start}.photo-thumbs{flex-wrap:wrap;gap:10px;display:flex}.photo-thumb{background:#dedcd6;width:92px;height:92px;position:relative}.photo-thumb img{object-fit:cover;width:100%;height:100%}.photo-thumb button{color:#fff;letter-spacing:0;background:#10100fd1;border:0;border-radius:50%;width:26px;height:26px;min-height:26px;margin:0;padding:0;font-size:19px;line-height:1;position:absolute;top:4px;right:4px}.admin-help{color:var(--muted);letter-spacing:0;margin:0;font-size:11px}.photo-thumb{border:1px solid #0000;width:116px;height:116px}.photo-thumb.is-cover{border-color:var(--ink)}.photo-thumb .photo-delete{z-index:2}.photo-thumb .cover-choice{letter-spacing:.04em;border-radius:0;width:auto;height:auto;min-height:26px;padding:6px;font-size:8px;inset:auto 4px 4px}.photo-thumb.is-cover .cover-choice{background:var(--ink)}.cover-position{border-top:1px solid var(--line);padding-top:16px}.cover-position>p{letter-spacing:.08em;margin:0 0 10px;font-size:10px}.cover-position-frame{aspect-ratio:1.35;cursor:crosshair;touch-action:none;background:#dedcd6;width:min(290px,100%);position:relative;overflow:hidden}.cover-position-frame img{object-fit:cover;pointer-events:none;width:100%;height:100%}.cover-position-target{pointer-events:none;border:1px solid #fff;border-radius:50%;width:22px;height:22px;position:absolute;transform:translate(-50%,-50%);box-shadow:0 0 0 1px #00000073}.cover-position-ranges{grid-template-columns:1fr 1fr;gap:14px;max-width:430px;margin-top:12px;display:grid}.cover-position-ranges label{letter-spacing:.04em;font-size:10px}.cover-position-ranges input{width:100%;min-height:28px;accent-color:var(--ink);padding:0;display:block}@media (min-width:701px){.story-heading h1{white-space:nowrap;max-width:none;font-size:clamp(48px,7vw,125px)}}.story-gallery{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:12px}.story-gallery figure,.story-gallery figure.wide{aspect-ratio:auto;background:0 0;grid-column:auto}.story-gallery img{object-fit:contain;width:100%;height:auto;display:block}.story-gallery{padding:0 3vw;display:grid}.story-image-button{cursor:zoom-in;background:#e5e4df;border:0;width:100%;padding:0;display:block}.story-image-button img{object-fit:contain;width:100%;height:auto;max-height:none;display:block}.lightbox{z-index:20;background:#0a0a0af0;place-items:center;padding:64px;display:grid;position:fixed;inset:0}.lightbox-image{object-fit:contain;width:auto;max-width:100%;height:auto;max-height:calc(100svh - 128px);display:block}.lightbox-close,.lightbox-prev,.lightbox-next{z-index:1;color:#fff;width:48px;height:48px;font:400 27px/1 var(--sans);background:0 0;border:1px solid #ffffff8c;border-radius:50%;place-items:center;margin:0;padding:0;display:grid;position:absolute}.lightbox-close{font-size:34px;top:22px;right:24px}.lightbox-prev{top:50%;left:24px;transform:translateY(-50%)}.lightbox-next{top:50%;right:24px;transform:translateY(-50%)}.lightbox-count{color:#fff;letter-spacing:.1em;font-size:10px;position:absolute;bottom:22px;left:50%;transform:translate(-50%)}@media (max-width:700px){.brand{font-size:18px}.category-grid{padding:0;display:block}.category-card{margin:0 0 74px!important}.category-image{aspect-ratio:.86!important}.category-meta{padding:13px 20px 0}.archive-header{min-height:65px;padding:0 20px}.archive-intro,.story-heading{padding:68px 22px 62px}.archive-intro h1,.story-heading h1{font-size:58px}.archive-works{padding:0 0 90px;display:block}.archive-work{display:block;margin:0 0 67px!important}.archive-image{aspect-ratio:.86!important}.archive-work-meta{padding:14px 20px 0}.archive-work-meta>span{display:none}.story-gallery{padding:0;display:block}.story-gallery figure,.story-gallery figure.wide{aspect-ratio:.82;margin-bottom:4px}.story-next{padding:120px 22px}.work-edit,.category-edit{grid-template-columns:1fr}.category-edit .remove{justify-self:start}.photo-row{flex-direction:column;align-items:stretch}.photo-row .text-button{align-self:start}.story-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;display:grid}.story-gallery figure,.story-gallery figure.wide{aspect-ratio:.92;margin:0}.cover-position-ranges{grid-template-columns:1fr}.story-gallery figure,.story-gallery figure.wide{aspect-ratio:auto}.photo-thumb{width:98px;height:98px}.story-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;padding:0}.lightbox{padding:56px 18px}.lightbox-image{max-height:calc(100svh - 112px)}.lightbox-close{top:14px;right:14px}.lightbox-prev{left:10px}.lightbox-next{right:10px}.lightbox-prev,.lightbox-next{background:#0a0a0a59;width:42px;height:42px}}.image-action{z-index:1;color:var(--ink);letter-spacing:.09em;opacity:0;background:#f7f7f4f5;padding:11px 13px;font-size:9px;transition:opacity .2s,transform .2s;position:absolute;bottom:14px;right:14px;transform:translateY(6px)}.category-card:hover .image-action,.archive-work:hover .image-action,.category-card:focus-visible .image-action,.archive-work:focus-visible .image-action{opacity:1;transform:translateY(0)}.archive-work-meta>span{border:1px solid var(--ink);letter-spacing:.08em;white-space:nowrap;padding:12px 14px;font-size:9px;transition:background .2s,color .2s}.archive-work:hover .archive-work-meta>span{background:var(--ink);color:var(--paper)}@media (max-width:700px){.image-action{opacity:1;padding:12px 13px;bottom:10px;right:10px;transform:none}.archive-work-meta{display:block}.archive-work-meta>span{text-align:center;margin-top:14px;display:block}.category-meta>span{width:42px;height:42px}}.story-navigation{z-index:12;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);pointer-events:auto;background:#f7f7f4f7;min-height:72px;position:sticky;top:0}.story-nav-button{border:1px solid var(--ink);letter-spacing:.08em;white-space:nowrap;align-items:center;gap:10px;min-height:44px;padding:12px 14px;font-size:10px;transition:background .18s,color .18s;display:inline-flex}.story-nav-button:hover{background:var(--ink);color:var(--paper)}.story-nav-button span:first-child,.story-nav-button span:last-child{font-size:17px;line-height:1}.story-nav-button-secondary,.story-navigation .story-nav-button+.story-nav-button{margin-left:auto}@media (max-width:700px){.story-navigation{gap:8px;min-height:64px;padding:10px 12px}.story-nav-button{flex:1;justify-content:center;min-height:44px;padding:10px 8px;font-size:8px}.story-nav-button-secondary,.story-navigation .story-nav-button+.story-nav-button{margin-left:0}}
