@font-face{font-family:"Cormorant";src:url(/fonts/cormorant.woff) format("woff");font-weight:300 700;font-display:swap}
@font-face{font-family:"Cormorant";src:url(/fonts/cormorant-italic.woff) format("woff");font-weight:300 700;font-style:italic;font-display:swap}
:root{--bg:#f3efe9;--paper:#faf8f5;--ink:#1e1c1a;--mute:#6f675f;--clay:#9b7a64;--sage:#8a9283;--line:#ddd5cb;--serif:"Cormorant",Georgia,"Times New Roman",serif;--sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.65 var(--sans);-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}a{color:inherit}
h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1;margin:0;letter-spacing:-.01em}
.eyebrow{font:600 .72rem/1 var(--sans);letter-spacing:.32em;text-transform:uppercase;color:var(--clay)}
.wrap{width:min(1320px,92vw);margin:0 auto}
.skip{position:absolute;left:-999px}.skip:focus{left:1rem;top:1rem;background:#fff;padding:.5rem 1rem;z-index:99}
/* header */
.bar{position:fixed;inset:0 0 auto;z-index:40;display:flex;justify-content:space-between;align-items:center;padding:1.1rem 4vw;transition:transform .4s,background .4s;color:#fff;mix-blend-mode:normal}
.bar.solid{background:rgba(243,239,233,.92);backdrop-filter:blur(8px);color:var(--ink)}
.bar.hide{transform:translateY(-100%)}
.page .bar{color:var(--ink)}
.logo{font:400 1.55rem/1 var(--serif);text-decoration:none;letter-spacing:.02em}.logo i{color:var(--clay)}
.menu-btn{background:none;border:0;color:inherit;font:600 .72rem var(--sans);letter-spacing:.3em;text-transform:uppercase;cursor:pointer;display:flex;gap:.7rem;align-items:center;padding:.5rem}
.menu-btn span{width:26px;height:1px;background:currentColor;position:relative}.menu-btn span:after{content:"";position:absolute;left:6px;right:0;top:6px;height:1px;background:currentColor}
.nav{position:fixed;inset:0;z-index:60;background:var(--ink);color:var(--paper);display:grid;grid-template-columns:1fr;align-content:center;padding:6vh 8vw;opacity:0;visibility:hidden;transition:opacity .45s,visibility .45s}
.nav.open{opacity:1;visibility:visible}
.nav ol{list-style:none;margin:0;padding:0;counter-reset:n}
.nav li{counter-increment:n}
.nav a{font:300 clamp(2.2rem,7vw,5.2rem)/1.08 var(--serif);text-decoration:none;display:inline-flex;gap:1rem;align-items:baseline;transition:color .3s,padding .3s}
.nav a:before{content:"0" counter(n);font:500 .7rem var(--sans);letter-spacing:.2em;color:var(--clay)}
.nav a:hover{color:#c9ab92;padding-left:.6rem}
.nav .close{position:absolute;top:1.2rem;right:4vw;color:var(--paper)}
.nav small{display:block;margin-top:3rem;color:#a39a90;font-size:.85rem}
/* hero */
.hero{position:relative;height:100svh;min-height:520px;overflow:hidden;background:#222;color:#fff}
.hero .slide{position:absolute;inset:0;opacity:0;transition:opacity 2.2s ease}
.hero .slide.on{opacity:1}
.hero .slide img{width:100%;height:100%;object-fit:cover;transform:scale(1.06);transition:transform 9s linear}
.hero .slide.on img{transform:scale(1)}
.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.35),rgba(0,0,0,0) 30%,rgba(0,0,0,0) 55%,rgba(0,0,0,.55))}
.hero .cap{position:absolute;z-index:2;left:4vw;right:4vw;bottom:7vh}
.hero h1{font-size:clamp(3.4rem,13vw,11rem);font-weight:300;line-height:.86}
.hero h1 em{font-style:italic;color:#e8d6c6}
.hero p{max-width:30rem;margin:1.4rem 0 0;font-size:1rem;opacity:.9}
.hero .scroll{position:absolute;z-index:2;right:4vw;bottom:7vh;writing-mode:vertical-rl;font:600 .66rem var(--sans);letter-spacing:.35em;text-transform:uppercase;text-decoration:none}
/* sections */
section{padding:clamp(4.5rem,11vw,9rem) 0}
.intro{display:grid;gap:2rem}
.intro h2{font-size:clamp(2.4rem,6.5vw,5.6rem);font-weight:300}
.intro h2 em{color:var(--clay)}
.intro p{max-width:34rem;color:var(--mute);font-size:1.05rem}
.sec-head{display:flex;justify-content:space-between;align-items:end;gap:1rem;margin-bottom:2.5rem;flex-wrap:wrap}
.sec-head h2{font-size:clamp(2.4rem,6vw,5rem);font-weight:300}
.link{font:600 .72rem var(--sans);letter-spacing:.25em;text-transform:uppercase;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:.3rem}
/* editorial mosaic */
.mosaic{display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(.6rem,1.4vw,1.2rem)}
.mosaic figure{margin:0;overflow:hidden;position:relative;background:var(--line)}
.mosaic img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}
.mosaic a:hover img{transform:scale(1.04)}
.m1{grid-column:1/8;grid-row:span 2;aspect-ratio:4/5}.m2{grid-column:8/13;aspect-ratio:1}.m3{grid-column:9/13;aspect-ratio:3/4}.m4{grid-column:1/5;aspect-ratio:3/4}.m5{grid-column:5/10;margin-top:5rem!important;aspect-ratio:4/5}.m6{grid-column:10/13;aspect-ratio:2/3}
.mosaic figcaption{position:absolute;left:1rem;bottom:.9rem;color:#fff;font:italic 1.35rem var(--serif);text-shadow:0 1px 12px rgba(0,0,0,.5)}
/* genre index */
.genres{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.genres li{border-bottom:1px solid var(--line)}
.genres a{display:grid;grid-template-columns:3rem 1fr auto;gap:1rem;align-items:center;padding:1.15rem 0;text-decoration:none;position:relative}
.genres .n{font:500 .7rem var(--sans);color:var(--clay);letter-spacing:.15em}
.genres .t{font:300 clamp(1.8rem,4.6vw,3.6rem)/1 var(--serif);transition:transform .4s,color .4s}
.genres .c{font-size:.8rem;color:var(--mute)}
.genres a:hover .t{transform:translateX(.8rem);color:var(--clay);font-style:italic}
.genres .peek{position:absolute;right:12%;top:50%;width:190px;aspect-ratio:3/4;object-fit:cover;transform:translateY(-50%) rotate(3deg);opacity:0;pointer-events:none;transition:opacity .35s;z-index:3}
.genres a:hover .peek{opacity:1}
/* split */
.split{display:grid;gap:3rem;align-items:center}
.split .ph{position:relative}
.split .ph img{width:100%;aspect-ratio:4/5;object-fit:cover}
.split .ph .tag{position:absolute;right:-1rem;bottom:2rem;background:var(--paper);padding:.8rem 1.2rem;font:italic 1.2rem var(--serif)}
.split h2{font-size:clamp(2.3rem,5.5vw,4.6rem);font-weight:300;margin:1rem 0 1.5rem}
.split p{color:var(--mute);max-width:32rem}
blockquote.pull{font:italic 300 clamp(1.5rem,3.4vw,2.4rem)/1.25 var(--serif);margin:2rem 0;color:var(--ink)}
/* quotes */
.quotes{background:var(--ink);color:var(--paper)}
.qtrack{display:grid;grid-auto-flow:column;grid-auto-columns:min(86vw,560px);gap:3rem;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:1.5rem;scrollbar-width:thin}
.qtrack figure{margin:0;scroll-snap-align:start}
.qtrack blockquote{margin:0;font:300 clamp(1.25rem,2.2vw,1.65rem)/1.4 var(--serif)}
.qtrack figcaption{margin-top:1rem;font:600 .72rem var(--sans);letter-spacing:.25em;color:#c9ab92;text-transform:uppercase}
.quotes h2{font-size:clamp(2.4rem,6vw,5rem);font-weight:300;margin-bottom:3rem}
/* creator */
.creator{background:var(--paper)}
.creator .split h2 em{color:var(--sage)}
.icons{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:2rem;list-style:none;padding:0}
.icons a{display:inline-flex;align-items:center;gap:.55rem;border:1px solid var(--line);border-radius:999px;padding:.55rem 1rem .55rem .8rem;text-decoration:none;font-size:.85rem;transition:background .3s,border-color .3s}
.icons a:hover{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.icons svg{width:18px;height:18px;fill:currentColor}
.creator .ph img{aspect-ratio:9/16;max-height:640px;width:auto;margin-left:auto;margin-right:auto}
/* contact */
.contact{text-align:center}
.contact h2{font-size:clamp(3rem,10vw,8.5rem);font-weight:300;line-height:.9}
.contact h2 em{color:var(--clay)}
.contact .mail{display:inline-block;margin-top:2.5rem;font:400 clamp(1.3rem,3.4vw,2.2rem) var(--serif);text-decoration:none;border-bottom:1px solid var(--clay);padding-bottom:.3rem}
.contact p{color:var(--mute)}
/* gallery page */
.phead{padding:clamp(8rem,18vw,13rem) 0 3rem}
.phead h1{font-size:clamp(3rem,11vw,9rem);font-weight:300}
.phead h1 em{color:var(--clay)}
.phead blockquote{font:italic 300 clamp(1.2rem,2.6vw,1.8rem)/1.35 var(--serif);max-width:42rem;margin:1.5rem 0 0;color:var(--mute)}
.masonry{columns:2 160px;column-gap:clamp(.5rem,1.2vw,1.1rem)}
.masonry a{display:block;margin-bottom:clamp(.5rem,1.2vw,1.1rem);break-inside:avoid;background:var(--line);overflow:hidden}
.masonry img{width:100%;height:auto;transition:transform 1s,opacity .6s}
.masonry a:hover img{transform:scale(1.03)}
.pnav{display:flex;justify-content:space-between;gap:1rem;border-top:1px solid var(--line);padding-top:2rem;margin-top:4rem}
.pnav a{text-decoration:none;font:300 clamp(1.4rem,3.5vw,2.4rem) var(--serif)}
.pnav small{display:block;font:600 .66rem var(--sans);letter-spacing:.25em;color:var(--clay);text-transform:uppercase}
/* strips (mobile horizontal) */
.strip{display:grid;grid-auto-flow:column;grid-auto-columns:72vw;gap:.7rem;overflow-x:auto;scroll-snap-type:x mandatory;padding:0 4vw 1rem;margin:0 -4vw}
.strip a{scroll-snap-align:center}.strip img{aspect-ratio:3/4;object-fit:cover;width:100%}
/* prose */
.prose{max-width:46rem}.prose h2{font-size:clamp(1.9rem,4vw,2.8rem);margin:3rem 0 1rem}.prose p,.prose li{color:#4b4540}
.svc{display:grid;gap:0;border-top:1px solid var(--line)}
.svc article{padding:2rem 0;border-bottom:1px solid var(--line);display:grid;gap:.5rem}
.svc h3{font-size:clamp(1.8rem,3.6vw,2.6rem);font-weight:300}
.svc p{margin:0;color:var(--mute);max-width:40rem}
dl.faq dt{font:400 1.5rem var(--serif);margin-top:2rem}dl.faq dd{margin:.5rem 0 0;color:var(--mute)}
/* footer */
footer{background:var(--ink);color:#bdb4aa;padding:4rem 0 2.5rem;font-size:.85rem}
footer .wrap{display:grid;gap:2rem}
footer .big{font:300 clamp(2.4rem,7vw,5rem)/1 var(--serif);color:var(--paper)}
footer a{text-decoration:none}footer a:hover{color:#fff}
footer ul{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:.4rem 1.4rem}
footer .legal{display:flex;justify-content:space-between;flex-wrap:wrap;gap:1rem;border-top:1px solid #3a3632;padding-top:1.5rem}
/* lightbox */
.lb{position:fixed;inset:0;z-index:80;background:rgba(20,18,16,.97);display:none;align-items:center;justify-content:center}
.lb.open{display:flex}
.lb img{max-width:92vw;max-height:86vh;object-fit:contain}
.lb button{position:absolute;background:none;border:0;color:#eee;font:300 2.4rem var(--serif);cursor:pointer;padding:1rem}
.lb .x{top:.5rem;right:1rem}.lb .pv{left:.5rem;top:50%;transform:translateY(-50%)}.lb .nx{right:.5rem;top:50%;transform:translateY(-50%)}
.lb .ct{position:absolute;bottom:1rem;left:0;right:0;text-align:center;color:#999;font:.75rem var(--sans);letter-spacing:.2em}
/* motion */
.rv{opacity:0;transform:translateY(34px);transition:opacity 1.1s cubic-bezier(.2,.7,.2,1),transform 1.1s cubic-bezier(.2,.7,.2,1)}
.rv.in{opacity:1;transform:none}
.no-js .rv{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important;scroll-behavior:auto!important}.rv{opacity:1;transform:none}.hero .slide img{transform:none}}
/* mobile-first adjustments */
@media (max-width:799px){
 .mosaic{display:grid;grid-auto-flow:column;grid-template-columns:none;grid-auto-columns:78vw;overflow-x:auto;scroll-snap-type:x mandatory;margin:0 -4vw;padding:0 4vw 1rem}
 .mosaic figure{grid-column:auto!important;grid-row:auto!important;aspect-ratio:3/4!important;margin-top:0!important;scroll-snap-align:center}
 .genres .peek{display:none}.genres a{grid-template-columns:2rem 1fr}.genres .c{display:none}
 .split .ph .tag{right:.5rem}
}
@media (min-width:800px){
 .intro{grid-template-columns:1.3fr 1fr;align-items:end}
 .split{grid-template-columns:1fr 1fr;gap:6vw}.split.rev .ph{order:2}
 .masonry{columns:3}
 footer .wrap{grid-template-columns:1.4fr 1fr 1fr}footer .legal{grid-column:1/-1}
 .svc article{grid-template-columns:1fr 1.4fr;gap:3rem;align-items:baseline}
 .strip{display:none}
}
@media (min-width:1300px){.masonry{columns:4}}
/* stronger hero text */
.home .bar .logo{text-shadow:0 1px 3px rgba(0,0,0,.6),0 0 18px rgba(0,0,0,.35)}
.home .bar .logo i{color:#f3e2d3}
.hero:after{background:linear-gradient(180deg,rgba(0,0,0,.5),rgba(0,0,0,0) 32%,rgba(0,0,0,0) 50%,rgba(0,0,0,.65))}
.hero .cap{text-shadow:0 1px 3px rgba(0,0,0,.55),0 0 22px rgba(0,0,0,.35)}
.hero .cap .eyebrow{color:#fff!important;opacity:1}
.hero p{opacity:1}
.price{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,19rem),1fr));gap:3rem 2.5rem;margin:2rem 0 5rem}.price article{border-top:1px solid currentColor;padding-top:1.4rem}.price h3{font:400 1.7rem var(--serif);margin:.3rem 0}.price .amt{font:600 .8rem var(--sans);letter-spacing:.2em;text-transform:uppercase;margin:.6rem 0 1rem}.price .for{color:var(--mute);font-size:.92rem}ul.pol{padding-left:1.1rem}ul.pol li{margin:.7rem 0}
.book{display:inline-block;font:600 .66rem var(--sans);letter-spacing:.22em;text-transform:uppercase;text-decoration:none;border:1px solid currentColor;border-radius:999px;padding:.55rem 1.1rem;color:inherit;background:rgba(0,0,0,.18);text-shadow:0 1px 6px rgba(0,0,0,.35);transition:background .2s}.book:hover{background:rgba(0,0,0,.35)}.page .book,.price .book,.nav .book{background:none;text-shadow:none}.bar .book{margin-left:auto;margin-right:1.2rem}.price .book{margin-top:.8rem}
@media(max-width:520px){.bar .book{padding:.45rem .8rem;letter-spacing:.15em}}
/* bolder Book Now */
.book{font-weight:700;font-size:.72rem;border-width:1.5px;background:#a8674a;border-color:#a8674a;color:#fff!important;text-shadow:none}
.book:hover{background:#8c5239;border-color:#8c5239}
.page .book,.price .book,.nav .book{background:#a8674a;color:#fff!important}
.paybar{margin-top:1.6rem;font-size:.95rem}
.price{gap:3.5rem 3rem}.price article{padding-top:1.6rem}
.terms-note{font-size:.85rem;color:var(--mute);margin:-3rem 0 4rem}
.bform{display:grid;gap:.4rem;margin:0 0 1.5rem}.bform label{font:600 .72rem/1.4 var(--sans);letter-spacing:.18em;text-transform:uppercase;margin-top:1rem;color:var(--mute)}
.bform input,.bform select,.bform textarea{font:inherit;color:var(--ink);width:100%;padding:.8rem 1rem;border:1px solid var(--line);border-radius:10px;background:var(--paper)}
.bform input:focus,.bform select:focus,.bform textarea:focus{outline:2px solid #a8674a;outline-offset:1px}
.bform button.book{justify-self:start;margin:1.6rem 0 0;font-size:.8rem;padding:.8rem 1.6rem;cursor:pointer}.bform .note{color:var(--mute);margin:0}
.hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.bform+.terms-note{margin-top:2.5rem!important;position:static;transform:none}
