@font-face{font-family:Marcellus;src:url(../fonts/marcellus-latin-400-normal.woff2) format("woff2");font-display:swap}
@font-face{font-family:Pinyon;src:url(../fonts/pinyon-script-latin-400-normal.woff2) format("woff2");font-display:swap}
@font-face{font-family:Cormorant;src:url(../fonts/cormorant-garamond-latin-400-normal.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:Cormorant;src:url(../fonts/cormorant-garamond-latin-500-normal.woff2) format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:Cormorant;src:url(../fonts/cormorant-garamond-latin-400-italic.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:Jost;src:url(../fonts/jost-latin-400-normal.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:Jost;src:url(../fonts/jost-latin-500-normal.woff2) format("woff2");font-weight:500;font-display:swap}
:root{--forest:#2A2D18;--olive:#494C36;--sage:#63684B;--moss:#818861;--ivory:#F1EDDC;--sky:#DAD6B4;--ink:#23261A;--ox:#5B1F1A;--night:#1B1610;--gut:clamp(20px,4vw,64px);--ease:cubic-bezier(.2,.7,.2,1)}
*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;background:var(--forest);scroll-behavior:auto}
body{font:400 18px/1.55 Jost,system-ui,sans-serif;color:var(--ink);background:var(--ivory);overflow-x:clip;-webkit-font-smoothing:antialiased}
img,svg{display:block;max-width:100%}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit;color:inherit;background:none;border:0;border-radius:0}button{cursor:pointer}
:focus-visible{outline:2px solid currentColor;outline-offset:4px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.skip{position:fixed;left:12px;top:-60px;z-index:200;background:var(--forest);color:var(--ivory);padding:10px 16px}.skip:focus{top:12px}
.caps{font:400 clamp(21px,2.3vw,31px)/1.25 Cormorant;letter-spacing:.17em;text-transform:uppercase}
.script{font-family:Pinyon;font-weight:400;line-height:1.15}
.small{font:500 13px/1.3 Jost;letter-spacing:.17em;text-transform:uppercase}

/* preloader */
.pre{display:none}
.js .pre{display:flex;position:fixed;inset:0;z-index:150;background:var(--ivory);color:var(--forest);flex-direction:column;align-items:center;justify-content:center;gap:26px;animation:preFail .4s 5s forwards}
.pre svg{width:min(62vw,380px);height:auto}.pre .pre__m{width:34px}
@keyframes preFail{to{opacity:0;visibility:hidden}}

/* nav */
.nav{position:fixed;inset:0 0 auto;z-index:60;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:22px var(--gut);color:var(--ink);transition:color .35s,transform .5s var(--ease)}
.nav.is-light{color:var(--ivory)}.nav.is-hidden{transform:translateY(-110%)}
.nav__l,.nav__r{display:flex;gap:clamp(24px,4vw,64px)}.nav__r{justify-content:flex-end}
.nav a.lnk{position:relative;font:500 13px/1 Jost;letter-spacing:.2em;text-transform:uppercase;padding:6px 0}
.nav a.lnk:after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .4s var(--ease)}
.nav a.lnk:hover:after,.nav a.lnk:focus-visible:after{transform:scaleX(1);transform-origin:left}
.nav__logo{width:clamp(96px,10vw,138px);display:block}.nav__logo svg{width:100%;height:auto;fill:currentColor}
.nav__btn{display:none;font:500 13px/1 Jost;letter-spacing:.2em;text-transform:uppercase;justify-self:end;padding:8px 0}
.menu{position:fixed;inset:0;z-index:55;background:var(--forest);color:var(--ivory);display:flex;flex-direction:column;justify-content:center;gap:10px;padding:var(--gut);visibility:hidden;clip-path:inset(0 0 100% 0);transition:clip-path .6s var(--ease),visibility 0s .6s}
.menu.is-open{visibility:visible;clip-path:inset(0);transition:clip-path .6s var(--ease)}
.menu a{font:400 clamp(44px,13vw,72px)/1.2 Marcellus;letter-spacing:-.02em}.menu small{margin-top:28px}

/* hero */
.hero{position:relative;height:100vh;height:100svh;overflow:hidden;background:linear-gradient(#D9D5B3,#E8E4C9 42%,#E8E4C9)}
.hero__stage{--sx:-50%;position:absolute;top:0;left:50%;width:max(100%,177.78vh);width:max(100%,177.78svh);aspect-ratio:16/9;transform:translateX(var(--sx))}
.layer{position:absolute;left:-2%;top:0;width:104%;height:100%;max-width:none;object-fit:cover;pointer-events:none;will-change:transform}
.hero__floor{position:absolute;left:-2%;width:104%;top:97%;height:70vh;background:#1C2717}
.layer--fore{top:auto;bottom:-1px;height:auto;aspect-ratio:8/1}
.hero__mist{position:absolute;left:-4%;right:-4%;top:40%;height:44%;overflow:hidden;pointer-events:none;opacity:.8}
.hero__mist i{position:absolute;inset:0 auto 0 0;width:200%;background:url(../img/hero/mist.webp) repeat-x 0 0/50% 100%;animation:drift 80s linear infinite}
.hero__mist i+i{top:26%;bottom:-26%;opacity:.7;animation-duration:130s;animation-direction:reverse}
@keyframes drift{to{transform:translateX(-50%)}}
.hero__title{position:absolute;left:50%;bottom:54.5%;width:max-content;margin-left:calc(var(--tx,0%));transform:translateX(-50%);text-align:center;color:var(--forest);font:400 min(9.4vw,17.4vh)/.92 Marcellus;letter-spacing:-.045em}
.hero__title .l{display:block;overflow:hidden;padding:.28em .12em .02em;margin-top:-.2em}
.hero__title .l>span{display:inline-block}
.hero__title .sw{font:400 1.75em/.6 Pinyon;letter-spacing:0;margin-right:-.11em;vertical-align:-.05em}
.hero__title em{font:italic 400 1.03em/.9 Cormorant;letter-spacing:-.03em;margin-right:.08em}
.hero__sub{position:absolute;left:50%;top:min(76%,calc(100vh - 170px));width:max-content;transform:translateX(-50%);color:var(--ivory);font:400 min(4.4vw,8vh)/1 Marcellus;letter-spacing:-.035em;text-align:center}
.hero__sub em{font:400 1.32em/.8 Pinyon;letter-spacing:0;margin-left:.08em}
.hero__tag{position:absolute;bottom:clamp(22px,4vh,40px);color:var(--ivory);font:400 15px/1.3 Jost;z-index:3}.hero__tag b{display:block;font:500 12.5px/1.4 Jost;letter-spacing:.15em;text-transform:uppercase}
.hero__tag--l{left:var(--gut)}.hero__tag--r{right:var(--gut);text-align:right}

/* story */
.story{position:relative;z-index:2;margin-top:-7vw;background:var(--ivory) url(../tex/ivory-paper.webp);border-radius:50% 50% 0 0/7vw 7vw 0 0;padding:clamp(150px,22vh,250px) var(--gut);min-height:118vh;display:grid;place-items:center;overflow:hidden}
.ghost{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;gap:2vh;color:#DFDAC4;pointer-events:none;white-space:nowrap;user-select:none}
.ghost span{display:block;font:400 clamp(90px,17vw,270px)/1 Marcellus;letter-spacing:-.05em}.ghost .a{font-family:Pinyon;letter-spacing:0;padding-left:5vw}.ghost .b{text-align:right;padding-right:6vw}.ghost .c{padding-left:16vw}
.sprig{position:absolute;width:clamp(52px,7vw,104px);color:var(--sage)}.sprig svg{width:100%;height:auto;fill:currentColor}
.sprig.tl{left:var(--gut);top:clamp(90px,14vh,150px);transform:rotate(180deg) scaleX(-1)}.sprig.tr{right:var(--gut);top:clamp(90px,14vh,150px);transform:rotate(180deg)}.sprig.bl{left:var(--gut);bottom:50px}.sprig.br{right:var(--gut);bottom:50px;transform:scaleX(-1)}
.story__in{position:relative;max-width:540px;text-align:center}.story__in h2{font:400 clamp(22px,2.3vw,30px)/1.22 Cormorant;font-weight:500;letter-spacing:.09em;text-transform:uppercase;color:var(--forest)}
.story__in p{margin-top:22px;font-size:19px;line-height:1.5}.story__in .fm{font:italic 400 21px/1.35 Cormorant;color:var(--sage)}

/* sheets */
.sheets{position:relative;z-index:3;background:var(--night);color:var(--ink);padding:clamp(60px,10vh,120px) clamp(14px,5vw,88px) clamp(70px,11vh,130px)}
.olive{position:relative;background:#615F40 url(../tex/olive-paper.webp) center/cover;color:var(--ivory);padding:clamp(28px,3vw,40px) clamp(22px,6vw,90px) clamp(70px,10vh,120px);text-align:center;transform-origin:50% 100%;box-shadow:0 20px 50px #0007}
.olive:after{content:"";position:absolute;inset:0;background:#2A2D1830;pointer-events:none}.olive>*{position:relative;z-index:1}
.olive__top{display:flex;justify-content:space-between;text-align:left}
.olive .script{font-size:clamp(30px,3vw,42px);margin-top:clamp(24px,4vh,50px)}
.olive__im{width:clamp(170px,17vw,240px);aspect-ratio:5/6;margin:16px auto 32px;overflow:hidden}.olive__im img{width:100%;height:100%;object-fit:cover}
.olive h2{font:400 clamp(25px,3vw,42px)/1.22 Cormorant;letter-spacing:.06em;text-transform:uppercase}
.olive__cols{columns:2;column-gap:48px;max-width:770px;margin:28px auto 0;text-align:left;font-size:18px;line-height:1.62}
.w{opacity:1}
.sheet{position:relative;background:#E9E8E1 url(../tex/sheet-paper.webp);margin-top:-1px;padding:clamp(20px,2.4vw,36px) clamp(16px,2.6vw,38px) clamp(50px,8vh,90px);color:var(--ox);box-shadow:0 20px 50px #0008}
.sheet:before{content:"";position:absolute;left:10px;top:0;bottom:0;width:1px;border-left:1px dashed #0002}
.tri{display:grid;grid-template-columns:1fr 1.32fr 1fr;height:clamp(320px,72vh,690px)}
.tri__p{position:relative;overflow:hidden;background:var(--forest);border-right:1px solid #E9E8E1}.tri__p:last-child{border:0}
.tri__im{position:absolute;inset:0;width:100%;height:118%;top:-9%;object-fit:cover;visibility:hidden}.tri__im.on{visibility:visible}
.sheet__nav{display:flex;justify-content:space-between;margin-top:14px;color:var(--ox)}.sheet__nav button{font:500 13px/1 Jost;letter-spacing:.16em;padding:10px 0;position:relative}
.sheet__nav button:hover{letter-spacing:.24em}.sheet__nav button{transition:letter-spacing .35s var(--ease)}
.tabs{display:flex;justify-content:center;flex-wrap:wrap;gap:clamp(24px,5vw,72px);margin:clamp(40px,7vh,70px) 0 clamp(34px,5vh,50px)}
.tab{font:500 clamp(17px,1.5vw,21px)/1.2 Cormorant;letter-spacing:.09em;text-transform:uppercase;padding:8px 0;position:relative;color:#5B1F1Aa6;transition:color .3s}.tab sup{font-size:.62em;margin-right:6px}
.tab:after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:currentColor;transform:scaleX(0);transition:transform .45s var(--ease)}.tab[aria-selected=true]{color:var(--ox)}.tab[aria-selected=true]:after{transform:scaleX(1)}.tab:hover{color:var(--ox)}
.panel{display:grid;grid-template-columns:1fr 1fr;gap:clamp(26px,5vw,76px);max-width:920px;margin:auto}.panel[hidden]{display:none}
.panel h3{grid-column:1/-1;font:400 clamp(32px,3.2vw,44px)/1.1 Pinyon;margin-bottom:-12px}.panel p{font:500 20px/1.42 Cormorant}.panel p+p{font-style:italic;font-weight:400}

/* journey */
.journey{position:relative;z-index:3;background:#FCFBF3;padding:clamp(90px,16vh,170px) var(--gut);display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(40px,8vw,120px);align-items:center;color:var(--forest);overflow:hidden}
.journey__fig{position:relative;margin-left:calc(var(--gut)*-1)}
.journey__blk{position:absolute;left:0;top:14%;bottom:-8%;width:44%;background:var(--olive)}
.journey__ph{position:relative;margin-left:var(--gut);aspect-ratio:4/5;overflow:hidden;background:var(--olive)}.journey__ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;visibility:hidden}.journey__ph img.on{visibility:visible}
.journey__tx{text-align:center}.journey__tx .script{font-size:clamp(40px,4.4vw,62px);margin-top:-4px}
.acc{margin-top:38px;text-align:left;border-top:1px solid #2A2D1833}
.acc__i{border-bottom:1px solid #2A2D1833}.acc__b{width:100%;display:flex;justify-content:space-between;align-items:baseline;gap:18px;padding:18px 2px;text-align:left;font:400 clamp(24px,2.3vw,31px)/1.2 Marcellus;letter-spacing:-.01em}
.acc__b i{font:italic 400 20px Cormorant;color:var(--sage);margin-right:18px}.acc__b:after{content:"+";font:400 24px Jost;transition:transform .4s var(--ease)}.acc__b[aria-expanded=true]:after{transform:rotate(45deg)}
.acc__p{overflow:hidden}.acc__p[hidden]{display:none}.acc__p p{padding:0 2px 24px;font:400 italic 23px/1.35 Cormorant;max-width:32em}

/* day */
.day{position:relative;z-index:3;background:var(--forest);color:var(--ivory);overflow:hidden}
.day__pin{height:100vh;height:100svh;display:flex;align-items:center;position:relative}
.day__track{display:flex;align-items:center;gap:clamp(40px,6vw,96px);padding:0 var(--gut);will-change:transform}
.day__intro{flex:0 0 min(84vw,600px);text-align:center}.day__intro .script{font-size:clamp(46px,5.5vw,80px)}
.moment{flex:0 0 auto;position:relative}.moment__ph{overflow:hidden;background:var(--olive)}.moment__ph img{width:115%;max-width:none;height:100%;object-fit:cover;margin-left:-7.5%;transition:scale 1.1s var(--ease)}.moment:hover img{scale:1.05}
.moment:nth-child(even) .moment__ph{width:min(62vh,84vw);aspect-ratio:8/5}.moment:nth-child(odd) .moment__ph{width:min(44vh,74vw);aspect-ratio:4/5}
.moment figcaption{display:flex;gap:16px;align-items:baseline;margin-top:14px}.moment i{font:italic 400 20px Cormorant;color:#C6C8A8}.moment b{font:400 26px/1.1 Marcellus}.moment span{display:block;font:italic 400 20px/1.25 Cormorant;color:#DFDCC4}
.moment:nth-child(even){transform:translateY(-5vh)}.moment:nth-child(odd):not(.day__intro){transform:translateY(5vh)}
.day__c{position:absolute;right:var(--gut);bottom:30px;font:400 16px Jost;letter-spacing:.14em}

/* arch */
.arch{position:relative;z-index:3;overflow:hidden;background:#1a2115}
.arch__pin{position:relative;height:100vh;height:100svh;overflow:hidden;display:grid;place-items:center;background:url(../photos/arch-bg.webp) center/cover}
.card{position:relative;width:min(520px,86vw);height:min(660px,80svh);background:#EEEADB url(../tex/ivory-paper.webp);color:var(--forest);padding:22px 24px;display:flex;flex-direction:column;box-shadow:0 30px 70px #0007}
.card__top{display:flex;justify-content:space-between;align-items:flex-start;font:400 16px/1.25 Jost}.card__top svg{width:24px;fill:currentColor}
.arch__slot{flex:1;margin:18px 12%;border-radius:999px 999px 0 0;background:url(../photos/hills-evening.webp) 62% 50%/cover;min-height:0}
.card h2{font:400 min(clamp(33px,4.3vh,44px),7.9vw)/1 Marcellus;letter-spacing:-.04em;text-align:center;white-space:nowrap}.card h2 em{font:400 1.35em/.7 Pinyon;letter-spacing:0}.card h2 .sw{font:400 1.8em/.6 Pinyon;margin-right:-.1em;letter-spacing:0}.card p{text-align:center;margin-top:8px;font-size:16px}
.arch__full{position:absolute;inset:0;opacity:0;overflow:hidden;pointer-events:none}.arch__full img{width:100%;height:100%;object-fit:cover;object-position:62% 50%;max-width:none}
.arch__end{position:absolute;left:0;right:0;bottom:14vh;text-align:center;color:var(--ivory);opacity:0;padding:0 20px}.arch__end p{font:400 clamp(50px,8vw,120px)/1 Pinyon;text-shadow:0 2px 26px #0007}

/* enquire */
.enq{position:relative;z-index:3;background:var(--forest);color:var(--ivory);padding:clamp(100px,17vh,180px) var(--gut) clamp(70px,12vh,120px)}
.enq__h{text-align:center}.enq__h .script{font-size:clamp(68px,10vw,150px);margin-top:-8px}
.form{max-width:900px;margin:clamp(40px,8vh,80px) auto 0;display:grid;grid-template-columns:1fr 1fr;gap:34px clamp(30px,6vw,70px)}
.f{position:relative;display:block}.f--w{grid-column:1/-1}
.f input,.f textarea{width:100%;display:block;padding:24px 0 10px;border-bottom:1px solid #F1EDDC70;outline:0;font:400 23px/1.3 Cormorant;transition:border-color .3s;resize:none;color-scheme:dark}
.f span.lb{position:absolute;left:0;top:25px;font:400 17px Jost;color:#E0DCC6;pointer-events:none;transition:transform .3s var(--ease),font-size .3s}
.f input:focus,.f textarea:focus{border-color:var(--ivory)}.f input:focus-visible,.f textarea:focus-visible{outline:2px solid #F1EDDC88;outline-offset:3px}
.f input:focus+.lb,.f input:not(:placeholder-shown)+.lb,.f textarea:focus+.lb,.f textarea:not(:placeholder-shown)+.lb,.f input[type=date]+.lb{transform:translateY(-23px);font-size:14px;letter-spacing:.06em}
.f .er{display:block;font:400 15.5px Jost;color:#F2BFA8;margin-top:5px;min-height:0}
.f__hint{display:block;font:italic 400 19px Cormorant;color:#D4D5B8;margin-top:5px;min-height:24px}
.form__end{grid-column:1/-1;display:flex;flex-direction:column;align-items:center;gap:18px;margin-top:6px}
.btn{display:inline-flex;align-items:center;gap:14px;padding:19px 42px;background:var(--ivory);color:var(--forest);font:500 14px/1 Jost;letter-spacing:.2em;text-transform:uppercase;border-radius:999px 999px 999px 999px;transition:background .3s}
.btn:hover{background:#fff}
.status{font:italic 400 22px/1.3 Cormorant;text-align:center;max-width:32em;min-height:30px}
.foot{position:relative;z-index:3;background:var(--forest);color:var(--ivory);padding:30px var(--gut) 28px;overflow:hidden}
.foot__big{width:100%;height:auto;margin:4vh 0 2vh;overflow:visible}.foot__big path.f1{fill:var(--ivory)}.foot__big path.f2{fill:none;stroke:var(--ivory);stroke-width:2}
.foot__row{display:flex;justify-content:space-between;flex-wrap:wrap;gap:16px 32px;border-top:1px solid #F1EDDC44;padding-top:20px;font:400 16px/1.4 Jost}.foot__row a:hover{text-decoration:underline}
.foot__row nav{display:flex;gap:26px;flex-wrap:wrap}
.credit{margin-top:14px;font:400 15px/1.4 Jost;color:#DAD7C2}.credit b{font-weight:500}.credit a:hover{text-decoration:underline}

/* cursor, progress */
.cur{position:fixed;left:0;top:0;width:14px;height:14px;margin:-7px;border-radius:50%;background:var(--ivory);mix-blend-mode:difference;z-index:120;pointer-events:none;display:none;align-items:center;justify-content:center;transition:width .3s var(--ease),height .3s var(--ease),margin .3s var(--ease)}
.cur.big{width:84px;height:84px;margin:-42px}.cur em{font:500 11.5px Jost;letter-spacing:.14em;text-transform:uppercase;color:#000;font-style:normal;opacity:0;transition:opacity .2s}.cur.big em{opacity:1}
@media (pointer:fine){.has-cur .cur{display:flex}}
.prog{position:fixed;right:10px;top:22vh;bottom:22vh;width:1px;background:#8886;z-index:50;mix-blend-mode:difference}.prog i{position:absolute;inset:0;background:#fff;transform:scaleY(0);transform-origin:top}

@media (max-width:899px){
 body{font-size:17px}
 .nav{grid-template-columns:auto 1fr;padding:16px var(--gut)}.nav__l,.nav__r{display:none}.nav__btn{display:block}.nav__logo{width:92px}
 .hero__stage{--sx:-42%}
 .hero__title{left:42%;bottom:57%;font-size:min(14.4vw,10.4vh);--tx:0%}
 .hero__sub{left:42%;font-size:min(6.6vw,5vh);top:min(72%,calc(100svh - 170px))}
 .hero__tag{font-size:14px}
 .story{min-height:0;padding-top:150px;padding-bottom:170px}.sprig.bl,.sprig.br{bottom:26px}
 .olive__cols{columns:1}
 .tri{grid-template-columns:1fr 1fr;grid-template-rows:auto auto;height:auto}.tri__p{aspect-ratio:4/5}.tri__p:nth-child(2){grid-column:1/-1;grid-row:1;aspect-ratio:1/1}
 .panel{grid-template-columns:1fr;gap:16px}
 .journey{grid-template-columns:1fr}.journey__fig{max-width:92%}
 .day__pin{height:auto;padding:100px 0 86px}.day__track{overflow-x:auto;scroll-snap-type:x mandatory;width:100%;scrollbar-width:none;align-items:flex-end;scroll-padding-inline:var(--gut)}.day__track::-webkit-scrollbar{display:none}.moment,.day__intro{scroll-snap-align:start}.moment:nth-child(n){transform:none}
 .day__intro{flex-basis:64vw}
 .form{grid-template-columns:1fr}
 .prog{display:none}
}
@media (prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}.js .pre{display:none}}
