@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@600;700;800&family=DM+Sans:wght@400;500;600;700;800&display=swap');

:root {
  --cream:#f8efe3;
  --paper:#fffaf1;
  --ink:#29151b;
  --red:#6a243c;
  --deep:#2c151e;
  --muted:#6c4c52;
  --champagne:#e9c895;
  --line:#ccb6ad;
  --display:"Barlow Condensed","Arial Narrow",Impact,sans-serif;
  --body:"DM Sans",Arial,sans-serif;
}
*,*::before,*::after {box-sizing:border-box}
body {margin:0;color:var(--ink);background:var(--cream);font:400 1rem/1.6 var(--body);-webkit-font-smoothing:antialiased}
p,h1,h2,h3,dl,dd,figure {margin:0}
img {display:block;width:100%;height:auto}
a {color:inherit}
:focus-visible {outline:3px solid #a74665;outline-offset:4px}
.masthead :focus-visible,.campaign :focus-visible,.booking-band :focus-visible,footer :focus-visible {outline-color:var(--champagne)}
.wrap {width:min(100% - 96px,1240px);margin-inline:auto}
.skip {position:fixed;left:10px;top:10px;z-index:5;padding:10px;background:var(--paper);transform:translateY(-160%)}
.skip:focus {transform:translateY(0)}
.demo-bar {background:#e9d4c2;text-align:center;padding:6px 12px;font-size:.75rem;color:#3b222a}
.demo-bar a {text-underline-offset:3px;font-weight:750}
.masthead {background:var(--deep);color:var(--cream);border-bottom:1px solid #75534e}
.navigation {display:flex;min-height:76px;align-items:center;justify-content:space-between;gap:19px}
.logo {display:inline-flex;align-items:center;gap:11px;text-decoration:none;text-transform:uppercase;font:800 clamp(1.5rem,3.1vw,2.35rem)/1 var(--display);white-space:nowrap}
.logo span {width:12px;height:12px;transform:rotate(45deg);border:1px solid #ffe0ac;background:linear-gradient(135deg,#f3cc91 0 35%,#704142 36% 64%,#e7b77e 65%);box-shadow:0 0 9px #edbb8b64}
nav {display:flex;align-items:center;gap:clamp(13px,2.6vw,36px)}
nav a {display:inline-flex;align-items:center;min-height:44px;text-decoration:none;font-size:.9rem;font-weight:700;white-space:nowrap}
nav a:hover {text-decoration:underline;text-underline-offset:4px}
.nav-book {border:1px solid #ddb784;padding:8px 13px;color:#ffe2b9}
.kicker {font-size:.71rem;text-transform:uppercase;letter-spacing:.15em;font-weight:800}
h1,h2 {font:800 clamp(3.3rem,8vw,7.65rem)/.87 var(--display);letter-spacing:-.018em;text-transform:uppercase}
h2 {font-size:clamp(2.75rem,6vw,5.5rem)}
.campaign {
  --campaign-height:clamp(460px,48vw,660px);
  position:relative;isolation:isolate;min-height:var(--campaign-height);display:grid;align-items:end;
  background:var(--deep);color:var(--paper);
}
.campaign::after {
  content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:linear-gradient(90deg,#2c151e 0%,#2c151ed4 31%,#2c151e00 70%),linear-gradient(0deg,#23101999,transparent 61%);
}
.campaign img {
  position:absolute;inset:0 0 0 auto;width:min(100%,calc(var(--campaign-height) * 1.3393));height:100%;
  object-fit:cover;object-position:50% 35%;z-index:-2;
}
.campaign-copy {padding-block:clamp(40px,7vw,88px)}
.campaign .kicker,.booking-band .kicker {color:#ffe1b6}
.campaign h1 {font-size:clamp(5.35rem,12.1vw,11.25rem);margin:.03em 0 .105em}
.campaign-copy>p:not(.kicker) {font-size:clamp(1.02rem,1.7vw,1.26rem);max-width:32ch}
.button {display:inline-flex;align-items:center;gap:15px;min-height:50px;padding:10px 15px;margin-top:20px;text-decoration:none;background:var(--champagne);color:var(--deep);font-weight:850}
.button:hover {background:var(--paper)}
.lookbook {display:grid;grid-template-columns:minmax(0,.61fr) minmax(0,1.39fr);gap:clamp(25px,6vw,94px);padding-block:clamp(49px,7.5vw,111px)}
.lookbook-intro .kicker,.menu-heading .kicker {color:var(--red);margin-bottom:10px}
.lookbook-intro p:not(.kicker),.menu-heading p:not(.kicker) {max-width:35ch;margin-top:15px;color:var(--muted)}
.textlink {display:inline-flex;align-items:center;min-height:44px;gap:9px;color:var(--red);font-weight:800;text-underline-offset:4px;margin-top:6px}
.gallery {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:19px 14px}
.gallery img {width:100%;height:auto;aspect-ratio:700/523;object-fit:contain}
.gallery figcaption {padding:6px 0 0;font-weight:800;color:var(--red);font-size:.84rem}
.menu-band {background:var(--paper);border-block:1px solid var(--line);padding-block:clamp(43px,7vw,89px)}
.menu-inner,.prep {display:grid;grid-template-columns:minmax(0,.63fr) minmax(0,1.37fr);gap:clamp(22px,6vw,85px)}
.service-list {border-top:1px solid var(--line)}
.service {display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;padding:13px 0 14px;border-bottom:1px solid var(--line)}
.service h3 {font-size:1.08rem;line-height:1.2}
.service p {grid-column:1;color:var(--muted);font-size:.91rem}
.service .rate {grid-column:2;grid-row:1/3;color:var(--red);font-weight:800;font-size:.93rem}
.prep {padding-block:clamp(44px,7vw,92px)}
.policies {display:grid;gap:13px}
.policies dt {font-weight:800}
.policies dd {color:var(--muted)}
.booking-band {background:var(--deep);color:var(--paper);padding-block:clamp(44px,6.2vw,80px)}
.booking-inner {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.7fr);align-items:center;gap:22px}
.booking-band h2 {margin-top:10px}
.booking-band summary {cursor:pointer;min-height:44px;border:1px solid #b89373;padding:10px 14px;color:#ffe1b6;font-weight:800}
.booking-band details p {margin-top:13px;color:#f0d6d0}
footer {background:#1e1118;color:#fff1eb;padding:22px 0}
.footer-inner {display:flex;justify-content:space-between;gap:10px 20px;flex-wrap:wrap;font-size:.86rem}
.footer-inner a {text-underline-offset:4px}
@media (max-width:800px) {
  .wrap {width:calc(100% - 38px)}
  .navigation {min-height:63px}
  .campaign::after {background:linear-gradient(0deg,#24131eed 0%,#24131e93 34%,#24131e09 74%)}
  .campaign img {object-position:54% 38%}
  .lookbook,.menu-inner,.prep,.booking-inner {grid-template-columns:minmax(0,1fr)}
  .lookbook {padding-bottom:49px}
}
@media (max-width:570px) {
  .navigation {align-items:start;flex-direction:column;gap:3px;padding-block:12px 9px}
  nav {flex-wrap:wrap;gap:0 12px}
  nav a {font-size:.78rem}
  .nav-book {padding-inline:8px}
  .campaign {min-height:0;display:block}
  .campaign::after {content:none}
  .campaign img {position:static;width:100%;height:auto;aspect-ratio:1200/896;object-fit:contain}
  .campaign-copy {padding-block:24px 28px}
  .campaign h1 {font-size:clamp(3.65rem,13.6vw,5.1rem)}
  .gallery {gap:12px 10px}
}
