:root{
  --night:#17140f;--timber:#241c15;--paper:#efe9df;--muted:#b3a99a;
  --snow:#eef0ee;--slate:#1f262b;--frost:#6f7e87;--ice:#4f6574;--ember:#e0a36a;
  --sans:'Helvetica Neue',Helvetica,Arial,sans-serif;--serif:Georgia,'Times New Roman',serif;
  --ease:cubic-bezier(.22,.75,.2,1);
  --bar:139px;--min:22vw;--max:88vw;--p:0;--walk:-6vw;
  --seam-x:calc(var(--min) + (var(--max) - var(--min)) * var(--p));
}
*{box-sizing:border-box}
html{background:var(--night)}
body{margin:0;background:var(--night);color:var(--paper);font-family:var(--sans);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img{display:block;max-width:100%}
button{font:inherit;color:inherit;cursor:pointer;border:0;border-radius:0;background:none;padding:0;-webkit-tap-highlight-color:transparent}
button:focus-visible,a:focus-visible,.seam:focus-visible{outline:2px solid var(--ember);outline-offset:-4px}
button:disabled{cursor:default}
.eyebrow{font-size:9px;letter-spacing:1.7px;font-weight:500}
h1,h2,h3,p{margin:0}

/* ---------- HERO: outside and inside, one window between them ---------- */
.hero{position:relative;width:100%;height:100svh;min-height:600px;overflow:hidden;overflow:clip;isolation:isolate}
.scene{position:absolute;inset:0 0 var(--bar);overflow:hidden;overflow:clip;background:#0d0b08}
.inside{position:absolute;inset:0}
.inside:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(12,9,6,.5),transparent 38%,transparent 70%,rgba(12,9,6,.45))}
.inside img{width:100%;height:100%;object-fit:cover;object-position:46% 60%;
  filter:brightness(calc(.5 + .5 * var(--p))) saturate(calc(.85 + .15 * var(--p)));
  transform:translateX(calc((1 - var(--p)) * var(--walk))) scale(calc(1.07 - .05 * var(--p)));transform-origin:30% 60%}
.outside{position:absolute;top:0;bottom:0;left:var(--min);width:calc(100vw - var(--min));
  transform:translateX(calc((var(--max) - var(--min)) * var(--p)));will-change:transform;
  box-shadow:-18px 0 40px #0b0805a0}
.outside img{width:100%;height:100%;object-fit:cover;object-position:50% 58%}
.outside:after{content:'';position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg,rgba(16,22,28,.42),transparent 34%,transparent 58%,rgba(10,13,16,.62))}
.hero:not(.dragging) .outside,.hero:not(.dragging) .seam{transition:transform 1.25s var(--ease)}
.hero:not(.dragging) .inside img{transition:transform 1.4s var(--ease),filter 1.2s var(--ease)}
.hero:not(.dragging) .temp,.hero:not(.dragging) .opening-copy{transition:opacity .9s var(--ease),transform 1.1s var(--ease)}

.seam{position:absolute;top:0;bottom:0;left:var(--min);width:44px;margin-left:-22px;z-index:3;cursor:ew-resize;touch-action:none;
  transform:translateX(calc((var(--max) - var(--min)) * var(--p)))}
.seam:before{content:'';position:absolute;left:21px;top:0;bottom:0;width:1px;background:#ffffff70}
.grip{position:absolute;left:50%;top:50%;width:13px;height:58px;margin:-29px 0 0 -6.5px;background:#0f0d0b;border:1px solid #ffffff80;display:flex;justify-content:center;gap:3px;align-items:center}
.grip i{display:block;width:1px;height:22px;background:#f1ece4}

.temp{position:absolute;z-index:2;pointer-events:none;color:#fff}
.temp strong{display:block;font-weight:200;letter-spacing:-.06em;line-height:.9;font-size:clamp(44px,12vw,132px)}
.temp span{display:block;font-size:8px;letter-spacing:1.6px;margin-top:10px;font-weight:500}
.temp-out{right:18px;top:44%;text-align:right;opacity:calc(1 - .9 * var(--p));transform:translateY(calc(var(--p) * -14px))}
.temp-in{left:16px;top:43%;color:var(--ember);opacity:calc(.18 + .82 * var(--p));transform:translateY(calc((1 - var(--p)) * 10px))}
.temp-in strong{font-size:clamp(40px,11vw,128px)}

.identity{position:absolute;top:28px;left:20px;right:20px;z-index:4;pointer-events:none;text-shadow:0 1px 30px #0006}
.identity>.eyebrow{display:flex;justify-content:space-between;font-size:8px;letter-spacing:1.4px}
.identity h1{font-size:clamp(92px,25vw,300px);font-weight:200;letter-spacing:-.085em;line-height:.95;margin:16px 0 12px -6px}
.dot{font-size:.6em;margin-left:.06em}
.place{margin-left:calc(var(--min) - 20px + 18px);font-size:10px;letter-spacing:2px;line-height:1.5}
.place span{display:block;font-size:8px;letter-spacing:1.4px;margin-top:6px;opacity:.85}

.opening-copy{position:absolute;z-index:2;left:calc(var(--min) + 20px);right:18px;bottom:calc(var(--bar) + 78px);
  opacity:calc(1 - 1.7 * var(--p));transform:translateX(calc(var(--p) * 60px));pointer-events:none}
.opening-copy p{font-family:var(--serif);font-size:clamp(27px,7.4vw,52px);letter-spacing:-.04em;line-height:1.15;color:#fff;text-shadow:0 1px 24px #0007}

.come-in{position:absolute;z-index:4;left:calc(var(--min) + 20px);bottom:calc(var(--bar) + 26px);font-size:9px;letter-spacing:1.9px;font-weight:500;color:#fff;
  padding:12px 0;border-bottom:1px solid #ffffff90;display:flex;gap:10px;align-items:center;transition:left 1.25s var(--ease)}
.come-arrow{font-size:14px;transition:transform .6s var(--ease)}
.hero.is-in .come-in{left:20px}
.hero.is-in .come-arrow{transform:rotate(180deg)}

.reservation{position:absolute;z-index:5;bottom:0;left:0;width:100%;height:var(--bar);display:grid;grid-template-columns:var(--min) 1fr;text-align:left;background:var(--night);border-top:1px solid #8a7f7066;transition:transform .85s var(--ease)}
.reserve-index{border-right:1px solid #8a7f7066;padding-top:27px;text-align:center;font-family:var(--serif);font-size:26px;font-style:italic;color:#d8cbb6}
.reserve-index>span{display:block;font:500 8px var(--sans);letter-spacing:1.8px;margin-top:24px;font-style:normal}
.reserve-content{padding:24px 20px 18px;display:block}
.reserve-content>.eyebrow{font-size:8px;color:#c6bcac}
.reserve-title{display:flex;align-items:center;justify-content:space-between;margin:10px 0 19px;font-size:23px;letter-spacing:-.6px;font-weight:300}
.arrow{font-size:20px}
.reserve-meta{display:flex;justify-content:space-between;font-size:7px;letter-spacing:1px;color:#d8cfc1}
.reserve-meta>span{font-size:7px;letter-spacing:.8px;color:#a99d8c}

.dates{position:absolute;z-index:6;bottom:0;left:0;right:0;padding:24px 20px max(20px,env(safe-area-inset-bottom));background:var(--night);transform:translateY(101%);transition:transform 1s var(--ease),visibility 1s;border-top:1px solid #8a7f70;visibility:hidden}
.dates-heading{display:flex;align-items:flex-start;justify-content:space-between}
.dates .eyebrow{font-size:8px;color:var(--muted)}
.dates h2{font-family:var(--serif);font-weight:400;font-size:29px;letter-spacing:-.04em;margin:10px 0 20px}
.close{font-weight:200;font-size:30px;line-height:40px;width:44px;height:44px;margin:-10px -12px 0 0}
.date-pair{display:grid;grid-template-columns:1fr 26px 1fr;margin-bottom:17px}
.date-choice{text-align:left;border-bottom:1px solid #5f554a;padding:0 0 12px;min-height:56px}
.date-choice>span{display:block;font-size:8px;letter-spacing:1.4px;color:var(--muted)}
.date-choice strong{display:block;font-size:17px;font-weight:300;margin-top:9px;letter-spacing:-.3px}
.date-choice.active{border-color:var(--ember)}
.date-choice.active>span{color:var(--ember)}
.date-dash{text-align:center;align-self:center;color:#8c8273}
.calendar-head{display:flex;justify-content:space-between;align-items:center;font-size:12px;letter-spacing:.5px}
.calendar-head button{height:40px;width:44px;font-size:22px;font-weight:200}
.calendar-head button:disabled{opacity:.2}
.weekdays,.calendar{display:grid;grid-template-columns:repeat(7,1fr)}
.weekdays{height:26px;align-items:center;color:#a99d8c;font-size:8px;text-align:center}
.calendar button,.calendar>span{height:42px;min-width:0;font-size:12px;position:relative}
.calendar button:disabled{color:#5e554b}
.calendar button:not(:disabled):hover{background:#2f261d}
.calendar button.selected,.calendar button.selected:not(:disabled):hover{background:var(--paper);color:var(--night)}
.calendar button.between{background:#33281e}
.calendar button.today:after{content:'';width:3px;height:3px;background:currentColor;position:absolute;bottom:6px;left:50%}
.date-bottom{border-top:1px solid #5f554a66;margin-top:14px;padding-top:13px}
.date-bottom p{font-size:10px;color:#cbbfae;margin:0 0 13px;min-height:12px}
.date-bottom>button{width:100%;padding:12px 0;text-align:left;font-size:14px;border-top:1px solid #8a7f70;display:flex;justify-content:space-between}
.date-bottom>button span{font-size:18px}
.date-bottom>button:disabled{opacity:.35}
.hero.booking .dates{visibility:visible;transform:none;transition:transform 1s var(--ease),visibility 0s}
.hero.booking .reservation{transform:translateY(100%)}
.hero.booking .come-in,.hero.booking .seam{opacity:0;pointer-events:none}

/* ---------- CHAPTERS: outside is snow, inside is fire ---------- */
.chapter{position:relative;padding:22px 16px 96px}
.outside-chapter{background:var(--snow);color:var(--slate)}
.inside-chapter{background:var(--night);color:var(--paper)}
.chapter-line{display:grid;grid-template-columns:52px 1fr auto;align-items:end;padding-bottom:14px;border-bottom:1px solid currentColor;border-color:color-mix(in srgb,currentColor 22%,transparent);margin-bottom:44px}
.chapter-number{font-family:var(--serif);font-style:italic;font-size:26px;line-height:1}
.chapter-line .eyebrow{padding-bottom:3px}
.chapter-temp{font-weight:200;font-size:34px;letter-spacing:-.05em;line-height:.9}
.outside-chapter .chapter-temp{color:var(--ice)}
.inside-chapter .chapter-temp{color:var(--ember)}
.chapter h2{font-family:var(--serif);font-weight:400;font-size:clamp(34px,8.6vw,88px);letter-spacing:-.045em;line-height:1.03}
.chapter h2 em{font-style:italic}
.outside-chapter h2 em{color:var(--ice)}
.inside-chapter h2 em{color:#e8c39b}
.chapter p{font-size:16px;line-height:1.62;font-weight:300}
.chapter figure{margin:0}
.chapter figure img{width:100%;height:100%;object-fit:cover}
figcaption{display:flex;justify-content:space-between;gap:12px;margin-top:11px;font-size:8px;letter-spacing:1.5px;font-weight:500;opacity:.72}

.hut-grid,.rooms-grid,.weather-head,.weather-strip,.evening-grid{grid-template-columns:minmax(0,1fr)}
/* the hut */
.hut-grid{display:grid;gap:34px}
.hut-photo{aspect-ratio:2/3;max-height:88vh}
.hut-photo img{object-position:50% 60%}
.hut-copy{display:grid;gap:16px;max-width:34em}
.logbook{margin:0;border-top:1px solid #1f262b33}
.logbook div{display:grid;grid-template-columns:118px 1fr;gap:12px;padding:13px 0;border-bottom:1px solid #1f262b26;align-items:baseline}
.logbook dt{font-size:8px;letter-spacing:1.6px;font-weight:500;text-transform:uppercase;color:var(--frost)}
.logbook dd{margin:0;font-family:var(--serif);font-size:18px;letter-spacing:-.02em}
.barn-photo{width:64%;margin-left:auto;aspect-ratio:3/4}

/* rooms */
.rooms-grid{display:grid;gap:34px}
.room-photo{aspect-ratio:2/3;max-height:90vh}
.room-photo img{object-position:50% 70%}
.room-list{list-style:none;margin:0;padding:0;border-top:1px solid #efe9df30}
.room-list li{display:grid;grid-template-columns:62px 1fr;gap:10px;padding:20px 0;border-bottom:1px solid #efe9df24}
.room-n{font-family:var(--serif);font-style:italic;font-size:20px;color:var(--ember)}
.room-list h3{font-weight:300;font-size:23px;letter-spacing:-.5px;margin-bottom:8px}
.room-list p{font-size:15px;color:#d9cfc1}
.room-detail{aspect-ratio:3/2}
.room-corner{aspect-ratio:3/2;width:78%}

/* weather */
.weather-head{display:grid;gap:34px;margin-bottom:44px}
.board{background:var(--slate);color:#e9eef0;padding:20px 20px 8px;max-width:420px}
.board-title{display:block;font-size:8px;letter-spacing:1.7px;font-weight:500;color:#9fb0ba;margin-bottom:12px}
.board p{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:12px 0;border-top:1px solid #ffffff1f;font-size:13px}
.board p span{color:#b9c6cd}
.board strong{font-family:var(--serif);font-weight:400;font-size:21px;letter-spacing:-.02em}
.whiteout{margin:0 -16px!important;height:62vh;min-height:380px}
.whiteout figcaption{padding:0 16px}
.whiteout img{object-position:50% 82%}
.weather-strip{display:grid;gap:30px;margin-top:56px}
.weather-strip figure:nth-of-type(1){width:82%;aspect-ratio:4/5}
.weather-strip figure:nth-of-type(2){aspect-ratio:3/2}
.weather-strip figure:nth-of-type(3){width:66%;margin-left:auto;aspect-ratio:2/3}
.weather-copy{font-family:var(--serif)!important;font-size:21px!important;line-height:1.45!important;letter-spacing:-.02em;font-weight:400!important;max-width:24em}
.weather-copy em{color:var(--ice)}

/* evening */
.fire{margin:0 -16px 44px!important;height:74vh;min-height:420px}
.fire img{object-position:50% 55%}
.evening-grid{display:grid;gap:30px}
.evening-copy{display:grid;gap:14px;max-width:32em;color:#ddd2c3}
.tea{aspect-ratio:3/4;width:70%}
.last-call{margin-top:110px;border-top:1px solid #efe9df30;padding-top:36px}
.chapter .last-call p{font-family:var(--serif);font-size:clamp(38px,10vw,120px);letter-spacing:-.05em;line-height:1;font-weight:400}
.last-call em{color:#e8c39b}
.last-call button{margin-top:34px;font-size:18px;font-weight:300;padding:12px 0;border-bottom:1px solid var(--ember);display:flex;gap:40px}

/* footer */
.site-footer{background:#0f0d0a;color:var(--paper);padding:30px 16px max(28px,env(safe-area-inset-bottom))}
.footer-top{display:flex;justify-content:space-between;color:var(--muted)}
.footer-identity{display:block;color:inherit;text-decoration:none;font-weight:200;letter-spacing:-.085em;font-size:clamp(84px,24vw,280px);line-height:1;margin:28px 0 26px -5px}
.footer-identity span{font-size:.6em}
.footer-path{display:flex;flex-wrap:wrap;gap:8px 26px;border-top:1px solid #efe9df26;padding-top:18px}
.footer-path a{color:inherit;text-decoration:none;font-size:15px;font-weight:300}
.footer-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:14px;margin-top:38px;font-size:12px;color:var(--muted)}
.footer-bottom button{color:var(--paper);font-size:14px}
.footer-sign{display:inline-flex;align-items:center;gap:8px;margin-top:34px;color:#8f8576;text-decoration:none;font-family:var(--serif);font-style:italic;font-size:13px}
.footer-sign img{opacity:.75}

/* quiet arrival of each piece */
.js .reveal{opacity:0;transform:translateY(22px);transition:opacity 1.1s var(--ease),transform 1.3s var(--ease)}
.js .reveal.in{opacity:1;transform:none}

/* ---------- WIDER SCREENS ---------- */
@media(min-width:700px){
  :root{--bar:150px;--min:34vw;--max:76vw;--walk:-16vw}
  .inside{right:auto;width:calc(var(--max) + 2px)}
  .inside img{object-position:40% 66%}
  .identity{top:34px;left:4vw;right:4vw}
  .identity>.eyebrow{font-size:9px;max-width:var(--min);flex-direction:column;gap:8px}
  .identity h1{font-size:clamp(120px,19vw,300px);margin-top:22px}
  .place{margin-left:calc(var(--min) - 4vw + 26px)}
  .temp-out{right:4vw;top:47%}
  .temp-in{left:4vw;top:auto;bottom:34px}
  .opening-copy{left:calc(var(--min) + 3vw);right:22vw;bottom:calc(var(--bar) + 48px)}
  .come-in{left:auto;right:4vw;bottom:calc(var(--bar) + 40px)}
  .hero.is-in .come-in{left:auto}
  .reserve-content{padding:30px 4vw 20px 3vw}
  .reserve-index{padding-top:32px}
  .reserve-title{font-size:30px;margin-bottom:28px;max-width:640px}
  .reserve-meta{max-width:640px;font-size:8px}
  .dates{left:auto;width:430px;top:0;padding:30px 30px 22px;display:flex;flex-direction:column;justify-content:center;border-top:0;border-left:1px solid #8a7f70;transform:translateX(101%)}
  .calendar button,.calendar>span{height:46px}

  .chapter{padding:36px 4vw 150px}
  .chapter-line{grid-template-columns:90px 1fr auto;margin-bottom:80px}
  .chapter-temp{font-size:56px}
  .chapter p{font-size:17px}
  figcaption{font-size:9px}

  .hut-grid{grid-template-columns:repeat(12,1fr);column-gap:2vw;row-gap:56px;align-items:start}
  .hut-grid h2{grid-column:1/7;grid-row:1}
  .hut-photo{grid-column:7/13;grid-row:1/5;max-height:92vh;position:sticky;top:4vh}
  .hut-copy{grid-column:1/5;grid-row:2}
  .logbook{grid-column:1/6;grid-row:3}
  .barn-photo{grid-column:2/5;grid-row:4;width:auto;margin:0}

  .rooms-grid{grid-template-columns:repeat(12,1fr);column-gap:2vw;row-gap:60px;align-items:start}
  .rooms-grid h2{grid-column:6/13;grid-row:1}
  .room-photo{grid-column:1/6;grid-row:1/5;max-height:92vh;position:sticky;top:4vh}
  .room-list{grid-column:7/12;grid-row:2}
  .room-detail{grid-column:7/13;grid-row:3}
  .room-corner{grid-column:8/12;grid-row:4;width:auto}

  .weather-head{grid-template-columns:repeat(12,1fr);column-gap:2vw;align-items:end;margin-bottom:70px}
  .weather-head h2{grid-column:1/9}
  .board{grid-column:9/13;max-width:none}
  .whiteout{margin:0 -4vw!important;height:84vh}
  .whiteout figcaption{padding:0 4vw}
  .weather-strip{grid-template-columns:repeat(12,1fr);column-gap:2vw;row-gap:70px;margin-top:90px;align-items:start}
  .weather-strip figure:nth-of-type(1){grid-column:1/5;grid-row:1/3;width:auto}
  .weather-copy{grid-column:6/10;grid-row:1;align-self:center;font-size:26px!important}
  .weather-strip figure:nth-of-type(2){grid-column:5/10;grid-row:2}
  .weather-strip figure:nth-of-type(3){grid-column:10/13;grid-row:1/3;width:auto;margin-top:22vh}

  .fire{margin:0 -4vw 80px!important;height:92vh}
  .evening-grid{grid-template-columns:repeat(12,1fr);column-gap:2vw;row-gap:60px}
  .evening-grid h2{grid-column:1/7}
  .evening-copy{grid-column:8/12;align-self:end}
  .tea{grid-column:2/6;grid-row:2;width:auto;margin-top:-4vh}
  .evening-copy{grid-row:1}
  .last-call{margin-top:180px;display:grid;grid-template-columns:repeat(12,1fr);column-gap:2vw;align-items:end}
  .chapter .last-call p{grid-column:1/10}
  .last-call button{grid-column:10/13;justify-self:end}

  .site-footer{padding:44px 4vw 34px}
}
@media(max-width:699px) and (max-height:740px){
  .identity{top:20px}
  .identity h1{font-size:84px;margin-top:10px}
  .opening-copy{bottom:calc(var(--bar) + 66px)}
  .opening-copy p{font-size:25px}
  .calendar button,.calendar>span{height:36px}
  .dates h2{margin-bottom:12px;font-size:25px}
}
@media(prefers-reduced-motion:reduce){
  *,*:before,*:after{transition:none!important;animation:none!important}
  .js .reveal{opacity:1;transform:none}
}
@media(min-width:700px) and (max-width:1100px){
  .temp-out{top:17%}
  .opening-copy{right:6vw;bottom:calc(var(--bar) + 70px)}
  .come-in{left:calc(var(--min) + 3vw);right:auto;bottom:calc(var(--bar) + 18px)}
  .hero.is-in .come-in{left:4vw}
  .opening-copy p{font-size:clamp(30px,4.4vw,44px)}
}

/* ---------- Reservation flow: prices, rooms, confirm ---------- */
.dates{max-height:100%;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}
.dates h2:focus{outline:none}
.steps{list-style:none;display:flex;gap:18px;margin:0 0 20px;padding:0 0 12px;border-bottom:1px solid #5f554a66;font-size:8px;letter-spacing:1.5px;font-weight:500;text-transform:uppercase;color:#7d7264}
.steps li.on{color:var(--paper)}
.steps li.done{color:var(--ember);cursor:pointer}
.calendar button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;line-height:1}
.calendar .pr{font-size:8.5px;letter-spacing:.2px;color:#a99d8c;min-height:9px}
.calendar button.selected .pr{color:#5a4e40}
.calendar button.between .pr{color:#cdbfa9}
.calendar button.full .d{text-decoration:line-through;text-decoration-color:#8a7f70}
.calendar button.full .pr{color:#7a6e60;letter-spacing:.6px}
.calendar button:disabled .pr{color:#5e554b}
.cal-note{font-size:8.5px;letter-spacing:.4px;color:#9b8f7e;margin:10px 0 0;line-height:1.5}
.guests{display:flex;justify-content:space-between;align-items:center;padding:4px 0 14px;border-bottom:1px solid #5f554a66;font-size:8px;letter-spacing:1.5px;font-weight:500;color:var(--muted)}
.guests div{display:flex;align-items:center;gap:6px}
.guests button{width:36px;height:36px;font-size:20px;font-weight:200;border:1px solid #5f554a}
.guests button:disabled{opacity:.3}
.guests strong{width:28px;text-align:center;font-size:18px;font-weight:300;color:var(--paper)}
.room-options{display:grid}
.room-option{display:grid;grid-template-columns:64px 1fr auto;gap:14px;align-items:start;text-align:left;padding:16px 0;border-bottom:1px solid #5f554a66;position:relative}
.room-option img{width:64px;height:64px;object-fit:cover;filter:saturate(.9)}
.room-option[aria-checked=true]:before{content:'';position:absolute;left:-20px;top:16px;bottom:16px;width:2px;background:var(--ember)}
.room-option[aria-checked=true] .ro-body strong{color:var(--ember)}
.room-option:disabled{opacity:.38}
.ro-body strong{display:block;font-size:16px;font-weight:300;letter-spacing:-.2px}
.ro-bed{display:block;font-size:8px;letter-spacing:1.2px;text-transform:uppercase;color:var(--muted);margin-top:6px}
.ro-note{display:block;font-family:var(--serif);font-style:italic;font-size:13px;color:#cbbfae;margin-top:7px;line-height:1.35}
.ro-price{text-align:right;white-space:nowrap}
.ro-price strong{display:block;font-size:15px;font-weight:300}
.ro-price span{display:block;font-size:8px;letter-spacing:1px;color:var(--muted);margin-top:5px;text-transform:uppercase}
.ro-price em{display:block;font-style:normal;font-size:8px;letter-spacing:1px;color:var(--ember);margin-top:8px;text-transform:uppercase}
.summary{margin:0}
.summary div{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px solid #5f554a55;font-size:13px}
.summary dt{color:#cbbfae;font-weight:300}
.summary dd{margin:0;text-align:right}
.summary .total{border-bottom:0;padding-top:16px;font-size:20px;font-weight:300}
.summary .total dt{color:var(--paper)}
.summary .deposit{border-top:1px solid #8a7f70;font-size:13px;color:var(--ember)}
.summary .deposit dt{color:var(--ember)}
.fields{display:grid;gap:12px;margin:22px 0 14px}
.fields label{display:block}
.fields label>span{display:block;font-size:8px;letter-spacing:1.5px;font-weight:500;color:var(--muted);margin-bottom:6px}
.fields input{width:100%;background:transparent;border:0;border-bottom:1px solid #5f554a;color:var(--paper);font:300 16px var(--sans);padding:6px 0 10px;border-radius:0;outline:none}
.fields input:focus{border-color:var(--ember)}
.fields input::placeholder{color:#6f6558}
.fields label.miss>span{color:var(--ember)}
.fields label.miss input{border-color:var(--ember)}
.pay-note{font-size:11px;line-height:1.55;color:#a99d8c}
.booked-ref{font-size:12px;letter-spacing:.3px;color:var(--ember);margin:4px 0 18px}
.booked-copy{font-family:var(--serif);font-size:21px;line-height:1.4;letter-spacing:-.02em}
.concept-note{font-size:10px;line-height:1.55;color:#8f8473;margin-top:22px;padding-top:14px;border-top:1px solid #5f554a66}
@media(min-width:700px){
  .dates{width:470px;justify-content:flex-start;padding-top:34px}
  .calendar button,.calendar>span{height:50px}
  .hero.booking .outside,.hero.booking .seam{transform:translateX(calc(100vw - 470px - var(--min)))}
}

#pay>span:first-child{font-size:14px}
#pay b{font-weight:400;color:var(--ember);margin-left:6px}
.steps[hidden]{display:none}
