:root {
  --ink: #1d1c1a;
  --ink-soft: #34312c;
  --paper: #f4f0e8;
  --paper-deep: #e9e1d3;
  --gold: #c6aa70;
  --gold-pale: #dfc994;
  --white: #fff;
  --max-width: 1180px;
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  font-weight: 300;
  line-height: 1.6;
}

a {
  color: inherit;
}

.skip-link {
  position: fixed;
  left: 1rem;
  top: 1rem;
  z-index: 20;
  padding: .7rem 1rem;
  background: var(--white);
  color: var(--ink);
  transform: translateY(-180%);
}

.skip-link:focus {
  transform: translateY(0);
}

.site-header {
  position: absolute;
  inset: 0 0 auto;
  z-index: 10;
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 92px;
  padding: 0 clamp(1rem, 4vw, 4rem);
  border-bottom: 1px solid rgba(255, 255, 255, .18);
  background: linear-gradient(to bottom, rgba(20, 19, 17, .76), rgba(20, 19, 17, .18));
}

.brand img {
  display: block;
  width: 112px;
  height: auto;
}

.nav-links {
  display: flex;
  align-items: center;
  gap: clamp(1.2rem, 3vw, 2.5rem);
}

.nav-links a {
  color: var(--white);
  font-size: .76rem;
  font-weight: 500;
  letter-spacing: .14em;
  text-decoration: none;
  text-transform: uppercase;
}

.nav-links a:not(.nav-book):hover,
.nav-links a:not(.nav-book):focus-visible {
  color: var(--gold-pale);
}

.nav-book {
  padding: .8rem 1rem;
  border: 1px solid var(--gold-pale);
  background: rgba(198, 170, 112, .86);
}

.nav-book:hover,
.nav-book:focus-visible {
  background: var(--gold-pale);
  color: var(--ink);
}

.hero {
  position: relative;
  display: grid;
  min-height: 100svh;
  place-items: center;
  overflow: hidden;
  color: var(--white);
}

.hero-image,
.hero-shade {
  position: absolute;
  inset: 0;
}

.hero-image {
  background: url("../../assets/hero-breitner-house.jpg") center 46% / cover no-repeat;
  transform: scale(1.015);
}

.hero-shade {
  background:
    linear-gradient(90deg, rgba(12, 11, 10, .72) 0%, rgba(12, 11, 10, .30) 55%, rgba(12, 11, 10, .22) 100%),
    linear-gradient(0deg, rgba(12, 11, 10, .48), transparent 52%);
}

.hero-content {
  position: relative;
  z-index: 1;
  width: min(var(--max-width), calc(100% - 2rem));
  padding: 8rem 0 5rem;
}

.eyebrow,
.label {
  margin: 0 0 1rem;
  color: var(--gold);
  font-size: .72rem;
  font-weight: 600;
  letter-spacing: .22em;
  text-transform: uppercase;
}

h1,
h2 {
  margin: 0;
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 400;
  line-height: .98;
}

h1 {
  max-width: 9ch;
  font-size: clamp(4rem, 10vw, 8.6rem);
  letter-spacing: -.045em;
  text-wrap: balance;
}

.intro {
  max-width: 36rem;
  margin: 1.5rem 0 2.25rem;
  font-size: clamp(1rem, 2vw, 1.3rem);
  letter-spacing: .025em;
}

.button {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
  min-width: 220px;
  padding: 1rem 1.2rem;
  border: 1px solid transparent;
  font-size: .75rem;
  font-weight: 600;
  letter-spacing: .14em;
  line-height: 1.2;
  text-decoration: none;
  text-transform: uppercase;
  transition: background-color .2s ease, color .2s ease, border-color .2s ease;
}

.button-primary {
  background: var(--gold);
  color: var(--ink);
}

.button-primary:hover,
.button-primary:focus-visible {
  border-color: var(--white);
  background: transparent;
  color: var(--white);
}

.contact-section {
  width: min(var(--max-width), calc(100% - 2rem));
  margin: 0 auto;
  padding: clamp(5rem, 9vw, 8rem) 0;
}

.contact-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-top: 1px solid rgba(29, 28, 26, .22);
  border-bottom: 1px solid rgba(29, 28, 26, .22);
}

.contact-card {
  min-height: 285px;
  padding: 2.25rem clamp(1.25rem, 3vw, 2.5rem);
  border-right: 1px solid rgba(29, 28, 26, .22);
}

.contact-card:first-child {
  padding-left: 0;
}

.contact-card:last-child {
  padding-right: 0;
  border-right: 0;
}

.contact-card address,
.contact-card p {
  font-size: 1.05rem;
  font-style: normal;
}

.contact-card strong {
  font-weight: 600;
}

.contact-link {
  display: inline-block;
  margin-bottom: .5rem;
  text-decoration-color: var(--gold);
  text-decoration-thickness: 1px;
  text-underline-offset: .3em;
}

.contact-link:hover,
.contact-link:focus-visible {
  color: #715c30;
}

.contact-action {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.contact-action .button {
  margin-top: auto;
}

.button-dark {
  background: var(--ink);
  color: var(--white);
}

.button-dark:hover,
.button-dark:focus-visible {
  border-color: var(--ink);
  background: transparent;
  color: var(--ink);
}

.site-footer {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.5rem;
  min-height: 180px;
  padding: 2rem;
  background: var(--ink);
  color: rgba(255, 255, 255, .76);
}

.site-footer img {
  width: 86px;
  height: auto;
}

.site-footer p {
  font-size: .72rem;
  letter-spacing: .16em;
  text-transform: uppercase;
}

:focus-visible {
  outline: 2px solid var(--gold-pale);
  outline-offset: 4px;
}

@media (max-width: 800px) {
  .site-header {
    min-height: 78px;
  }

  .brand img {
    width: 88px;
  }

  .nav-links > a:first-child {
    display: none;
  }

  .nav-book {
    padding: .65rem .8rem;
  }

  .hero-content {
    padding-top: 7.5rem;
  }

  .contact-grid {
    grid-template-columns: 1fr;
  }

  .contact-card,
  .contact-card:first-child,
  .contact-card:last-child {
    min-height: auto;
    padding: 2rem 0;
    border-right: 0;
    border-bottom: 1px solid rgba(29, 28, 26, .22);
  }

  .contact-card:last-child {
    border-bottom: 0;
  }

  .contact-action .button {
    margin-top: 1rem;
  }
}

@media (max-width: 480px) {
  .hero-image {
    background-position: 58% center;
  }

  .hero-content {
    width: min(100% - 2rem, var(--max-width));
  }

  h1 {
    font-size: clamp(3.4rem, 18vw, 5.2rem);
  }

  .button {
    width: 100%;
  }

  .site-footer {
    flex-direction: column;
    text-align: center;
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  *,
  *::before,
  *::after {
    transition-duration: .01ms !important;
  }
}
.demo-page{--gold:#c6aa70;--paper:#f4f0e8}.demo-header{position:absolute;top:0;left:0;width:100%;z-index:5;display:flex;align-items:center;gap:2rem;padding:1rem 4vw;border-bottom:1px solid #ffffff38;background:#1716138c;color:white}.demo-header .brand{margin-right:auto}.demo-header .brand img{width:100px}.reserve{text-transform:uppercase;font-size:.72rem;letter-spacing:.13em;text-decoration:none;border:1px solid var(--gold);padding:.8rem 1rem}.menu summary{cursor:pointer;list-style:none;text-transform:uppercase;font-size:.76rem;letter-spacing:.14em;padding:1rem}.menu summary span{margin-left:1rem}.menu nav{position:absolute;right:4vw;top:100%;background:#1d1c1a;padding:1rem 2rem;min-width:250px;box-shadow:0 14px 35px #0005}.menu nav a{display:block;padding:.55rem 0;text-decoration:none;color:#f4f0e8}.menu nav a:hover,.menu nav a[aria-current]{color:var(--gold)}.demo-hero{min-height:77svh;position:relative;display:flex;align-items:center;color:white;background:linear-gradient(90deg,#12100ecc,#12100e45),var(--hero) center/cover}.hero-inner{width:min(1180px,calc(100% - 3rem));margin:auto;padding:10rem 0 5rem}.demo-hero h1{max-width:14ch;font-size:clamp(3.5rem,7.5vw,7.5rem);line-height:1.04}.demo-hero .intro{max-width:36rem;font-size:1.1rem}.demo-hero .eyebrow{color:#e1c993}.scroll-link{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;text-decoration:none}.scroll-link span{margin-left:2rem}.hero-caption{position:absolute;right:4vw;bottom:1.4rem;font-size:.65rem;text-transform:uppercase;letter-spacing:.2em}.content{width:min(1180px,calc(100% - 3rem));margin:auto;padding:5rem 0}.opening{max-width:760px;margin:0 auto;text-align:center;padding:1rem 0 4rem}.opening h2,.story h2,.stay h2,.amenities h2{font-size:clamp(2.3rem,4.5vw,4rem);line-height:1.1;letter-spacing:-.025em}.opening p:not(.eyebrow){font-size:1.12rem;max-width:660px;margin:1.6rem auto}.story{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:clamp(2rem,6vw,6rem);padding:1rem 0 5rem}.story:nth-child(even)>img{grid-column:1;grid-row:1}.story:nth-child(even)>div{grid-column:2}.story p:not(.eyebrow){font-size:1.05rem;color:#504b43;line-height:1.85}.story>img{width:100%;height:520px;object-fit:cover}.story .button{margin-top:1rem}.cards{display:grid;grid-template-columns:1fr 1fr;gap:3.5rem 2.5rem}.card{color:inherit;text-decoration:none;display:block;border-bottom:1px solid #1d1c1a33;padding-bottom:1.8rem}.card img{width:100%;aspect-ratio:1.4;object-fit:cover}.card h2{font-size:2.2rem;line-height:1.15;margin-top:1.3rem}.card p{color:#575148}.card span{font-size:.7rem;text-transform:uppercase;letter-spacing:.14em}.card:hover span{color:#715c30}.photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin:2rem 0 4rem}.photo-grid a{display:block;overflow:hidden}.photo-grid img{width:100%;height:280px;object-fit:cover;display:block;transition:transform .3s}.photo-grid a:hover img{transform:scale(1.04)}.amenities{padding:1rem 0 3rem}.amenities ul{padding:2rem 0;list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.amenities li{padding:1rem 0;border-bottom:1px solid #1d1c1a33}.stay{text-align:center;background:#e9e1d3;padding:5rem 1.5rem}.stay .button{margin:.5rem}.demo-footer{display:grid;grid-template-columns:1.1fr 1fr 1.1fr 1fr;gap:2rem;padding:4rem max(1.5rem,calc((100% - 1180px)/2));background:#1d1c1a;color:#e7e0d4;font-size:.9rem}.demo-footer img{width:110px}.demo-footer a{line-height:2;text-underline-offset:4px}.demo-footer address{font-style:normal}.demo-label{grid-column:1/-1;border-top:1px solid #ffffff26;padding-top:1.5rem;font-size:.68rem;letter-spacing:.04em;color:#bbb3a6}.demo-page .contact-section{width:100%;padding:1rem 0 3rem}.demo-page .contact-card{min-width:0}.demo-page .contact-link{overflow-wrap:anywhere}.demo-page .contact-card .button{min-width:0;width:100%}dialog{border:0;background:#141310;color:white;width:96vw;max-width:1400px;height:92svh;padding:3rem 4rem}dialog::backdrop{background:#000d}dialog[open]{display:flex;align-items:center;justify-content:center}dialog figure{margin:0;text-align:center;width:100%;height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center}dialog figure img{max-width:100%;max-height:calc(100% - 3rem);object-fit:contain}dialog figcaption{padding:.7rem;font-size:.8rem}dialog button{position:absolute;background:#171613;color:white;border:1px solid #ffffff70;font-size:1.5rem;padding:.3rem .7rem;cursor:pointer}.lightbox-close{right:1rem;top:.6rem}.lightbox-prev{left:.5rem;top:48%}.lightbox-next{right:.5rem;top:48%}@media(max-width:850px){.demo-footer{grid-template-columns:1fr 1fr}.story{gap:2rem}.story>img{height:400px}.photo-grid{grid-template-columns:1fr 1fr}.amenities ul{grid-template-columns:1fr 1fr}}@media(max-width:600px){.demo-header{gap:.5rem;padding:.8rem 1rem}.demo-header .brand img{width:75px}.menu summary{padding:.5rem}.menu summary span{margin-left:.4rem}.reserve{font-size:.6rem;padding:.6rem}.hero-inner{padding-top:9rem}.demo-hero{min-height:76svh}.hero-caption{display:none}.demo-hero h1{font-size:3.5rem}.content{padding:3rem 0}.story,.cards{grid-template-columns:1fr}.story:nth-child(even)>img,.story:nth-child(even)>div{grid-column:auto;grid-row:auto}.story>img{height:auto;max-height:500px}.photo-grid{gap:.5rem}.photo-grid img{height:180px}.demo-footer{grid-template-columns:1fr;gap:1.5rem}.amenities ul{grid-template-columns:1fr}.stay .button{width:100%;margin:.5rem 0}.opening{padding-bottom:2rem}dialog{padding:3rem 2rem}.hero-inner .intro{font-size:1rem}.card h2{font-size:2rem}}
.demo-footer a,.demo-footer a:hover,.demo-footer a:focus-visible{text-decoration:none}.experience-story{grid-template-columns:1.2fr 1fr}.experience-story h2{font-size:clamp(2rem,3vw,3rem)}@media(max-width:600px){.experience-story{grid-template-columns:1fr}}
.awards-banner{padding:2.5rem 0;background:#fff;border-top:1px solid #ddd7cc}.awards-heading{width:min(1180px,calc(100% - 3rem));margin:0 auto 1.5rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}.awards-heading .eyebrow{margin:0;color:#715c30}.awards-toggle{font:inherit;font-size:.75rem;background:transparent;border:1px solid #b9ad96;color:#514631;padding:.4rem .9rem;cursor:pointer}.awards-window{overflow-x:auto;scrollbar-width:thin}.awards-track{display:flex;width:max-content;animation:awards-scroll 48s linear infinite}.awards-group{display:flex;align-items:center;gap:3rem;padding-right:3rem;flex-shrink:0}.award-item{width:180px;height:140px;display:flex;justify-content:center;align-items:center;flex-shrink:0}.award-item img{display:block;width:100%;height:100%;object-fit:contain}.awards-banner:hover .awards-track,.awards-banner:focus-within .awards-track,.awards-banner.is-paused .awards-track{animation-play-state:paused}@keyframes awards-scroll{to{transform:translateX(-50%)}}@media(max-width:600px){.award-item{width:140px;height:115px}.awards-group{gap:2rem;padding-right:2rem}.awards-banner{padding:2rem 0}}@media(prefers-reduced-motion:reduce){.awards-track{animation:none}.awards-group[aria-hidden]{display:none}.awards-toggle{display:none}}
.awards-banner{padding:1.5rem 0}.awards-heading{width:min(720px,calc(100% - 3rem));margin-bottom:1rem}.awards-window{width:min(720px,calc(100% - 3rem));margin-inline:auto;overflow:hidden}.awards-track{width:450%;animation-duration:48s}.awards-group{width:50%;gap:0;padding:0}.award-item{width:11.111111%;height:92px;padding:0 18px}.award-item img{max-width:140px;margin:auto}@media(max-width:600px){.awards-banner{padding:1.25rem 0}.awards-track{width:900%}.award-item{height:85px;padding:0 16px}}@media(prefers-reduced-motion:reduce){.awards-window{overflow-x:auto}.awards-track{width:225%}.awards-group{width:100%}}@media(max-width:600px) and (prefers-reduced-motion:reduce){.awards-track{width:450%}}
.awards-heading,.awards-window{width:min(840px,calc(100% - 3rem))}.awards-heading{justify-content:center;margin-bottom:1.5rem}.awards-heading .eyebrow{font-size:clamp(1.2rem,2.3vw,1.75rem);font-weight:500;letter-spacing:.12em;text-align:center}.award-item{height:112px;padding:0 18px}.award-item img{max-width:165px}.awards-banner{padding:2rem 0}@media(max-width:600px){.award-item{height:100px;padding:0 16px}.awards-banner{padding:1.5rem 0}}
.experience-story>img{height:auto;max-height:none;object-fit:contain}
.scroll-link{display:inline-flex;align-items:center;justify-content:space-between;gap:2rem;min-height:54px;padding:.75rem 1rem .75rem 1.4rem;border:1px solid #d5bb81;border-radius:2px;background:rgba(24,21,16,.7);color:#fff4de;font-size:.74rem;font-weight:600;letter-spacing:.15em;text-decoration:none;box-shadow:0 4px 18px #0002;transition:background-color .2s,color .2s,border-color .2s,box-shadow .2s}.scroll-link span{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;margin-left:0;border-left:1px solid #d5bb8159;padding-left:.75rem;font-size:1.2rem;line-height:1}.scroll-link:hover,.scroll-link:focus-visible{background:#d5bb81;color:#211c13;border-color:#ead8b2;box-shadow:0 6px 22px #0003}.scroll-link:hover span,.scroll-link:focus-visible span{border-left-color:#211c1340}@media(max-width:600px){.scroll-link{min-height:50px;padding:.6rem .85rem .6rem 1.15rem;gap:1.5rem;font-size:.7rem}}
body.booking-is-open{overflow:hidden}.booking-dialog{width:min(1200px,calc(100vw - 3rem));max-width:1200px;height:90svh;max-height:960px;padding:0;border:1px solid #bfa36a;border-radius:3px;background:#f4f0e8;color:#1d1c1a;box-shadow:0 24px 90px #0008;overflow:hidden}.booking-dialog[open]{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start}.booking-dialog::backdrop{background:rgba(14,12,9,.8);backdrop-filter:blur(4px)}.booking-header{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-shrink:0;padding:1rem 1.5rem;background:#1d1c1a;color:#fff}.booking-header .eyebrow{margin:0 0 .3rem;font-size:.6rem}.booking-header h2{font-size:1.65rem;line-height:1.15}.booking-dialog .booking-close{position:static;display:flex;justify-content:center;align-items:center;flex-shrink:0;width:42px;height:42px;padding:0;border:1px solid #c6aa7080;border-radius:2px;background:transparent;color:#efdbaf;font-size:1.8rem;line-height:1;cursor:pointer}.booking-dialog .booking-close:hover{background:#c6aa70;color:#1d1c1a}.booking-frame-wrap{flex:1;min-height:0;background:#fff}.booking-frame{display:block;width:100%;height:100%;border:0;background:white}.booking-footer{display:flex;justify-content:space-between;align-items:center;gap:.75rem;flex-shrink:0;padding:.65rem 1.5rem;border-top:1px solid #d8d0c2;font-size:.7rem;color:#5a5142}.booking-footer a{text-underline-offset:3px}@media(max-width:600px){.booking-dialog{width:calc(100vw - 1rem);height:95svh;max-height:95svh}.booking-header{padding:.85rem 1rem}.booking-header h2{font-size:1.35rem}.booking-footer{padding:.65rem 1rem;justify-content:center}.booking-footer>span{display:none}}
.card{display:flex;flex-direction:column}.card>div{display:flex;flex:1;flex-direction:column;align-items:flex-start}.card .card-action{display:inline-flex;align-items:center;justify-content:space-between;gap:1.75rem;min-height:48px;min-width:175px;margin-top:auto;padding:.65rem .85rem .65rem 1.1rem;border:1px solid #b49a62;border-radius:2px;background:#f9f6ef;color:#514124;box-shadow:0 3px 10px #34261108;font-size:.7rem;font-weight:600;letter-spacing:.14em;transition:background-color .2s,color .2s,border-color .2s,box-shadow .2s}.card .card-action span{color:inherit;font-size:inherit;letter-spacing:inherit}.card .card-action .card-action-arrow{display:inline-flex;align-items:center;justify-content:center;width:30px;height:26px;border-left:1px solid #b49a6266;padding-left:.65rem;font-size:1.15rem;line-height:1}.card:hover .card-action,.card:focus-visible .card-action{background:#1d1c1a;border-color:#1d1c1a;color:#e8d3a4;box-shadow:0 5px 16px #3426111a}.card:hover .card-action-arrow,.card:focus-visible .card-action-arrow{border-left-color:#c6aa7066}.card p{margin-bottom:1.5rem}@media(max-width:600px){.card .card-action{min-width:165px;min-height:46px}}
.demo-page .contact-section .contact-link,.demo-page .contact-section .contact-link:hover,.demo-page .contact-section .contact-link:focus-visible{text-decoration:none}
.demo-hero{background-image:none;isolation:isolate}.demo-hero::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,#12100ecc,#12100e45);pointer-events:none}.seo-hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}.hero-inner{position:relative;z-index:2}.hero-caption{z-index:2}.hero-image{background-image:none}.hero-image .seo-hero-img{object-position:center 46%}.demo-footer img,.card img{height:auto}@media(max-width:480px){.hero-image .seo-hero-img{object-position:58% center}}