/* Made with Page Studio */
:root{--ink:#1b1713;--cream:#faf6ef;--sand:#f1e9db;--acc:#b4532a;--muted:#706c67;--line:#dbd7d0;--rad:3px;
--head:'Lora', Georgia, serif;--body:'Inter', system-ui, sans-serif;--hs:1.000;--bs:1.000;--bf:17px;--ad:1.4s;--btn:#b4532a;--btnt:#ffffff}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--body);font-size:calc(var(--bf) * var(--bs));line-height:1.7;color:var(--ink);background:var(--cream);-webkit-font-smoothing:antialiased}
body.pad{padding-top:78px}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
h1,h2,h3{font-family:var(--head);font-weight:400;line-height:1.15;margin:0}
h2{font-size:calc(clamp(30.4px,4vw,46.4px) * var(--hs) * var(--ez,1))}
h2 em,h1 em{font-style:italic;color:var(--acc)}
p{margin:0}
.wrap{max-width:1100px;margin:0 auto;padding:0 28px}
.wrap2{max-width:1100px;margin:0 auto;padding:0 28px;width:100%}
.skip{position:absolute;left:-999px;top:0;background:var(--ink);color:#fff;padding:10px 16px;z-index:100}
.skip:focus{left:8px;top:8px}
.eyebrow{display:block;font-size:calc(12px * var(--ez,1));font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--acc);margin-bottom:16px;line-height:1.7}

/* buttons */
.btn{display:inline-block;padding:15px 32px;font:600 13px/1.4 var(--body);letter-spacing:.16em;text-transform:uppercase;text-decoration:none;border:1px solid transparent;border-radius:var(--rad);cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.btn-solid{background:var(--btn);color:var(--btnt)}
.btn-solid:hover{filter:brightness(1.08)}
.btn-outline{border-color:currentColor;color:inherit;background:transparent}
.btn-outline:hover{background:rgba(255,255,255,.12)}
.btn-light{background:#fff;color:var(--ink)}
.actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:32px}

/* sections */
.sec{padding:100px 0}
.bg-light{background:var(--cream);color:var(--ink)}
.bg-sand{background:var(--sand);color:var(--ink)}
.bg-dark{background:var(--ink);color:#f3ede3}
.bg-accent{background:var(--acc);color:#fff}
.bg-dark .eyebrow{color:#e0a27f}
.bg-accent .eyebrow{color:rgba(255,255,255,.8)}
.bg-dark h2 em{color:#e0a27f}
.bg-accent h2 em{color:#fff}
.head{max-width:700px;margin:0 0 56px}
.head .intro,.intro{margin-top:18px;font-size:1em;opacity:.75}
.textblk{max-width:700px}
.textblk.ctr{margin:0 auto;text-align:center}
.textblk .prose p+p{margin-top:1em}
.prose{margin-top:24px;opacity:.82}
.prose p+p{margin-top:1em}
.ctr-actions{justify-content:center}
.spacer hr{border:0;border-top:1px solid var(--line);margin:0;position:relative;top:50%}

.prose[style*="--ez"],.intro[style*="--ez"],.card p[style*="--ez"]{font-size:calc(1em * var(--ez))}
/* header */
.hdr{position:fixed;top:0;left:0;right:0;z-index:50;transition:background .25s,box-shadow .25s}
.hdr-in{display:flex;align-items:center;justify-content:space-between;height:78px}
.hdr.solid,.hdr.overlay.stuck{background:var(--ink);color:#f3ede3}
.hdr.overlay{color:#fff}
.hdr.overlay.stuck{box-shadow:0 1px 0 rgba(255,255,255,.08)}
.hdr.overlay.light{color:var(--ink)}
.hdr.overlay.light.stuck{color:#f3ede3}
.brand{display:flex;align-items:center;gap:14px;text-decoration:none}
.brand img{height:50px;width:auto}
.bt{display:flex;flex-direction:column;line-height:1.1}
.bt b{font:400 22px/1.1 var(--head);letter-spacing:.02em}
.bt span{font-size:10.5px;letter-spacing:.3em;text-transform:uppercase;opacity:.7;margin-top:5px}
nav ul{display:flex;gap:34px;list-style:none;margin:0;padding:0;align-items:center}
nav a{text-decoration:none;font-size:13px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;opacity:.85;padding:6px 0;border-bottom:1px solid transparent}
nav a:hover,nav a[aria-current]{opacity:1;border-bottom-color:currentColor}
nav a.cta{background:var(--acc);color:#fff;padding:10px 20px;border-radius:var(--rad);opacity:1;border:0}
.menu-btn{display:none;background:none;border:0;width:44px;height:44px;cursor:pointer;color:inherit;position:relative}
.menu-btn span,.menu-btn span::before,.menu-btn span::after{content:"";position:absolute;left:10px;right:10px;height:2px;background:currentColor;transition:transform .2s,top .2s}
.menu-btn span{top:21px}
.menu-btn span::before{left:0;right:0;top:-7px}
.menu-btn span::after{left:0;right:0;top:7px}

/* hero */
.hero{position:relative;display:flex;align-items:flex-end;color:#fff;overflow:hidden;background:var(--ink)}
.hero.h-full{min-height:100vh;min-height:100svh}
.hero.h-tall{min-height:80vh}
.hero.h-medium{min-height:56vh}
.hero-art,.hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.12) 0%,rgba(0,0,0,.18) 45%,rgba(0,0,0,.62) 100%)}
.hero.ov-light::after{background:linear-gradient(180deg,rgba(0,0,0,0) 40%,rgba(0,0,0,.4) 100%)}
.hero.ov-dark::after{background:linear-gradient(180deg,rgba(0,0,0,.3) 0%,rgba(0,0,0,.45) 45%,rgba(0,0,0,.78) 100%)}
.hero.g-sand{background:linear-gradient(180deg,var(--sand),var(--cream));color:var(--ink)}
.hero.g-sand::after{display:none}
.hero.g-char{background:linear-gradient(180deg,#2a2622,#141210)}
.hero-in{position:relative;z-index:2;padding-top:140px;padding-bottom:110px}
.hero h1{font-size:calc(clamp(41.6px,7vw,86.4px) * var(--hs) * var(--ez,1));max-width:900px;line-height:1.05}
.hero .eyebrow{color:#f0c4a4}
.hero.g-sand .eyebrow{color:var(--acc)}
.hero .lede{margin-top:26px;font-size:calc(19px * var(--ez,1));max-width:620px;opacity:.92}
.hero.centre{text-align:center}
.hero.centre h1,.hero.centre .lede{margin-left:auto;margin-right:auto}
.hero.centre .actions{justify-content:center}
.hero.g-sand .btn-outline{color:var(--ink)}

/* cards */
.cards{display:grid;gap:32px}
.cards.n1{grid-template-columns:1fr}
.cards.n2{grid-template-columns:repeat(2,1fr)}
.cards.n3{grid-template-columns:repeat(3,1fr)}
.cards.n4{grid-template-columns:repeat(4,1fr)}
.card{border-top:2px solid var(--acc);padding-top:26px}
.card h3{font-size:calc(28px * var(--hs) * var(--ez,1));margin-bottom:12px}
.card p{opacity:.75}
.card a{display:inline-block;margin-top:18px;font-size:12.5px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--acc);text-decoration:none}
.bg-dark .card a{color:#e0a27f}
.card a:hover{text-decoration:underline}

/* galleries */
.gal{column-gap:var(--g,16px)}
.gal.cols-1{columns:1}
.gal.cols-2{columns:2}
.gal.cols-3{columns:3}
.gal.cols-4{columns:4}
.tile{display:block;break-inside:avoid;margin-bottom:var(--g,16px);overflow:hidden;background:var(--sand);cursor:zoom-in}
.tile img{width:100%;transition:transform .5s}
.tile:hover img{transform:scale(1.03)}
.gal.u{columns:auto;display:grid;gap:var(--g,16px)}
.gal.u.cols-1{grid-template-columns:1fr}
.gal.u.cols-2{grid-template-columns:repeat(2,1fr)}
.gal.u.cols-3{grid-template-columns:repeat(3,1fr)}
.gal.u.cols-4{grid-template-columns:repeat(4,1fr)}
.gal.u .tile{margin:0}
.colw{container-type:inline-size}
.gal.col{columns:auto;display:grid;gap:var(--g,16px);grid-template-columns:repeat(var(--n,3),1fr);grid-auto-rows:calc((100cqw - (var(--n,3) - 1) * var(--g,16px)) / var(--n,3));grid-auto-flow:dense}
.gal.col.cols-2{--n:2}
.gal.col.cols-3{--n:3}
.gal.col.cols-4{--n:4}
.gal.col .tile{margin:0}
.gal.col .tile img{height:100%;object-fit:cover}
.cw1{grid-column:span 1}.cw2{grid-column:span 2}.cw3{grid-column:span 3}.cw4{grid-column:span 4}
.ch1{grid-row:span 1}.ch2{grid-row:span 2}.ch3{grid-row:span 3}.ch4{grid-row:span 4}.ch5{grid-row:span 5}.ch6{grid-row:span 6}
.gal.u .tile img{height:100%;object-fit:cover}
.gal.u-sq .tile{aspect-ratio:1}
.gal.u-ls .tile{aspect-ratio:3/2}
.gal.u-pt .tile{aspect-ratio:2/3}
.note{opacity:.6;font-style:italic}

/* album dropdowns */
.acc{border-top:1px solid var(--line)}
.acc details{border-bottom:1px solid var(--line)}
.acc summary{list-style:none;cursor:pointer;padding:24px 4px;font:400 clamp(24px,3vw,30px)/1.2 var(--head);display:flex;justify-content:space-between;align-items:center}
.acc summary::-webkit-details-marker{display:none}
.acc summary::after{content:"+";font:300 30px/1 var(--body);color:var(--acc);transition:transform .25s}
.acc details[open] summary::after{transform:rotate(45deg)}
.acc details>.gal,.acc details>.note{margin:4px 0 32px}
.bg-dark .acc,.bg-dark .acc details{border-color:rgba(255,255,255,.18)}

/* split */
.split{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center}
.split.img-r .pic{order:2}
.pic{overflow:hidden;aspect-ratio:4/5;background:var(--sand)}
.pic img{width:100%;height:100%;object-fit:cover}
.pic.fit{aspect-ratio:auto;background:none;display:flex;justify-content:center}
.pic.fit img{height:auto;width:auto;max-width:100%;max-height:520px;object-fit:contain}
.pic.empty{background:var(--sand)}
.split .txt .btn{margin-top:32px}

/* image block */
.imgsec{padding:60px 0}
.imgblk{margin:0 auto;padding:0 28px}
.w-wide .imgblk{max-width:1156px}
.w-narrow .imgblk{max-width:788px}
.w-full{padding:0}
.w-full .imgblk{max-width:none;padding:0}
.imgblk img{width:100%}
.imgblk figcaption{text-align:center;font-size:14px;opacity:.65;margin-top:14px}

/* quote */
.quote{margin:0 auto;max-width:820px;text-align:center}
.quote p{font:italic 400 clamp(24px,3.4vw,34px)/1.4 var(--head);font-size:calc(clamp(24px,3.4vw,34px) * var(--ez,1))}
.quote cite{display:block;margin-top:24px;font:600 12px/1.5 var(--body);letter-spacing:.2em;text-transform:uppercase;font-style:normal;color:var(--acc)}

/* contact */
.enq{max-width:640px;margin:48px auto 0;display:grid;gap:14px}
.enq .row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.enq input,.enq select,.enq textarea{width:100%;font:inherit;font-size:16px;padding:14px 16px;border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:0}
.enq textarea{resize:vertical}
.enq input:focus,.enq select:focus,.enq textarea:focus{outline:2px solid var(--acc);outline-offset:-1px}
.enq .actions{margin-top:6px;justify-content:center}
.hp{position:absolute;left:-9999px}
.contact+.actions{margin-top:32px}
.links{display:flex;gap:28px;justify-content:center;flex-wrap:wrap;margin-top:40px}
.links a{font-size:13px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;text-decoration:none;color:var(--acc)}
.links a:hover{text-decoration:underline}
.bg-dark .links a{color:#e0a27f}

/* footer */
footer{background:#14110e;color:rgba(243,237,227,.6);font-size:14px;padding:36px 0}
.foot{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}

/* reveal */
main{overflow-x:clip}
.js .rv[data-a]{opacity:0;transition:opacity var(--ad,.8s) ease,transform var(--ad,.8s) cubic-bezier(.2,.7,.2,1),filter var(--ad,.8s) ease}
.js .rv[data-a="fadeup"]{transform:translateY(34px)}
.js .rv[data-a="fadedown"]{transform:translateY(-34px)}
.js .rv[data-a="slideleft"]{transform:translateX(-70px)}
.js .rv[data-a="slideright"]{transform:translateX(70px)}
.js .rv[data-a="zoomin"]{transform:scale(.88)}
.js .rv[data-a="zoomout"]{transform:scale(1.12)}
.js .rv[data-a="flip"]{transform:perspective(900px) rotateX(24deg) translateY(30px);transform-origin:50% 100%}
.js .rv[data-a="blur"]{filter:blur(16px)}
.js .rv[data-a="tilt"]{transform:rotate(-3deg) translateY(40px);transform-origin:0 100%}
.js .rv[data-a].in{opacity:1;transform:none;filter:none}
@media (prefers-reduced-motion:reduce){.js .rv[data-a]{opacity:1;transform:none;filter:none;transition:none}html{scroll-behavior:auto}}

/* lightbox */
.lb{position:fixed;inset:0;background:rgba(10,8,6,.94);z-index:200;display:none;align-items:center;justify-content:center}
.lb.on{display:flex}
.lb img{max-width:92vw;max-height:88vh;width:auto;height:auto;object-fit:contain}
.lb button{position:absolute;background:none;border:0;color:#fff;font-size:44px;line-height:1;cursor:pointer;width:56px;height:56px;opacity:.8}
.lb button:hover{opacity:1}
.lb .x{top:14px;right:14px}
.lb .p{left:10px;top:50%;margin-top:-28px}
.lb .n{right:10px;top:50%;margin-top:-28px}

/* tablet */
@media (max-width:860px){
 .sec{padding:76px 0}
 .split{grid-template-columns:1fr;gap:36px}
 .split.img-r .pic{order:0}
 .cards.n3,.cards.n4{grid-template-columns:1fr 1fr}
 .gal.cols-3,.gal.cols-4{columns:2}
 .gal.u.cols-3,.gal.u.cols-4{grid-template-columns:repeat(2,1fr)}
 .gal.col.cols-3,.gal.col.cols-4{--n:2;columns:auto}
 .gal.col .cw3,.gal.col .cw4{grid-column:span 2}
 .menu-btn{display:block;margin-left:auto}
 nav ul{position:fixed;top:78px;left:0;right:0;flex-direction:column;gap:0;background:var(--ink);color:#f3ede3;padding:8px 28px 24px;display:none;align-items:stretch}
 nav ul.open{display:flex}
 nav li a{display:block;padding:16px 0;border-bottom:1px solid rgba(255,255,255,.1)}
 nav a.cta{margin-top:14px;text-align:center}
 .hdr.overlay:not(.stuck){background:transparent}
}
/* phone */
@media (max-width:520px){
 :root{--bf:16px}
 .sec{padding:60px 0}
 .wrap,.wrap2{padding:0 18px}
 .cards.n2,.cards.n3,.cards.n4{grid-template-columns:1fr}
 .gal.cols-2,.gal.cols-3,.gal.cols-4{columns:1}
 .gal.u.cols-2,.gal.u.cols-3,.gal.u.cols-4{grid-template-columns:1fr}
 .colw{container-type:normal}
 .gal.col,.gal.col.cols-2,.gal.col.cols-3,.gal.col.cols-4{display:block;columns:1}
 .gal.col .tile{margin-bottom:var(--g,16px)}
 .gal.col .tile img{height:auto}
 .enq .row{grid-template-columns:1fr}
 .hero-in{padding-bottom:70px}
 .hero .actions{flex-direction:column;align-items:flex-start}
 .hero.centre .actions{align-items:center}
 .bt b{font-size:20px}
 .brand img{height:42px}
}
#b-e2d959c659{padding:174px 0}
@media (max-width:860px){#b-e2d959c659{padding:132px 0}}
#b-817ae2f291{padding:214px 0}
@media (max-width:860px){#b-817ae2f291{padding:163px 0}}
