:root{
  --green:#1b3326;
  --green-2:#264a37;
  --gold:#d9a441;
  --cream:#f5ede0;
  --paper:#fbf6ee;
  --ink:#1d1d1b;
  --red:#a3262a;
}
*{box-sizing:border-box}
html{font-size:20px}
body{margin:0;background:var(--cream);color:var(--ink);font-family:Georgia,'Times New Roman',serif;line-height:1.6;border:6px solid var(--gold);min-height:100vh}
h1,h2,h3{font-family:Georgia,'Times New Roman',serif;color:var(--green);line-height:1.2;margin:0 0 .5em}
h1{font-size:2.3rem}
h2{font-size:1.7rem}
h3{font-size:1.3rem}
p{margin:0 0 1em}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
.wrap{max-width:1100px;margin:0 auto;padding:0 1.2rem}
.narrow{max-width:760px}
.small{font-size:.85rem;color:#4a4a44}
.hide{display:none}

.bf-banner{display:flex;flex-wrap:wrap;gap:.4rem 1rem;justify-content:center;align-items:center;background:#111;color:#fff;text-decoration:none;padding:.6rem 1rem;font-family:Arial,Helvetica,sans-serif;font-size:.9rem;text-align:center}
.bf-tag{background:var(--gold);color:#111;font-weight:700;text-transform:uppercase;letter-spacing:.08em;padding:.15rem .6rem;border-radius:4px}
.bf-banner strong{color:var(--gold)}
.bf-cta{text-decoration:underline}

.topbar{background:var(--green);position:sticky;top:0;z-index:5;border-bottom:2px solid var(--gold)}
.topbar-in{display:flex;justify-content:space-between;align-items:center;padding-top:.6rem;padding-bottom:.6rem;gap:1rem}
.brand{color:var(--cream);font-size:1.15rem;font-weight:bold}

.btn{display:inline-block;background:var(--gold);color:var(--green);font-family:Arial,Helvetica,sans-serif;font-weight:700;font-size:1.05rem;text-decoration:none;padding:.85rem 1.6rem;border-radius:999px;border:none;cursor:pointer;box-shadow:0 3px 0 #a87a26}
.btn:hover{background:#e6b452}
.btn-small{font-size:.85rem;padding:.5rem 1rem;box-shadow:none}
.link-btn{background:none;border:none;color:var(--green);text-decoration:underline;font-size:.9rem;cursor:pointer;margin-top:.6rem}

.kicker{font-family:Arial,Helvetica,sans-serif;text-transform:uppercase;letter-spacing:.1em;font-size:.8rem;color:#8a6a1f;font-weight:700;margin-bottom:.6em}

.hero{background:var(--green);color:var(--cream);padding:3rem 0 3.5rem}
.hero h1{color:var(--cream)}
.hero .kicker{color:var(--gold)}
.hero-in{display:grid;grid-template-columns:1.2fr .8fr;gap:2.5rem;align-items:center}
.lead{font-size:1.15rem}
.price-row{display:flex;flex-wrap:wrap;align-items:baseline;gap:.4rem 1rem;margin:1.2rem 0}
.sale-pill{display:inline-block;background:#111;color:var(--gold);font-family:Arial,Helvetica,sans-serif;font-weight:700;text-transform:uppercase;letter-spacing:.08em;font-size:.8rem;padding:.3rem .8rem;border-radius:4px;border:1px solid var(--gold)}
.price{font-size:2.4rem;font-weight:bold;color:var(--gold);margin:0}
.price-note{font-size:.95rem;opacity:.9}
.facts{margin-top:1.2rem;font-size:.9rem;font-family:Arial,Helvetica,sans-serif;opacity:.9}
.hero-pic{position:relative}
.hero-pic img{position:relative;border:4px solid var(--gold);border-radius:6px;box-shadow:0 12px 30px rgba(0,0,0,.4)}
.glow{position:absolute;inset:-30px;background:radial-gradient(circle at 20% 20%,rgba(255,214,120,.45) 0 6px,transparent 7px),radial-gradient(circle at 80% 30%,rgba(255,214,120,.4) 0 5px,transparent 6px),radial-gradient(circle at 50% 90%,rgba(255,214,120,.35) 0 6px,transparent 7px),radial-gradient(circle at 10% 70%,rgba(255,214,120,.35) 0 4px,transparent 5px),radial-gradient(circle at 90% 80%,rgba(255,214,120,.4) 0 5px,transparent 6px),radial-gradient(ellipse at center,rgba(217,164,65,.35),transparent 70%);filter:blur(1px)}

.stars{text-align:center;color:var(--gold);font-size:1.3rem;letter-spacing:.8rem;padding:1.6rem 0 .4rem}

section{padding:2.5rem 0}

.room-buttons{display:flex;flex-wrap:wrap;gap:.6rem;margin:1.2rem 0}
.room-buttons button{font-family:Arial,Helvetica,sans-serif;font-size:1rem;padding:.7rem 1.2rem;border-radius:999px;border:2px solid var(--green);background:var(--paper);color:var(--green);cursor:pointer}
.room-buttons button.on{background:var(--green);color:var(--cream)}
.room-card{display:none;background:var(--paper);border:2px solid var(--gold);border-radius:10px;padding:1.4rem}
.room-card.on{display:block}
table{width:100%;border-collapse:collapse;font-size:.95rem}
td{padding:.55rem .4rem;border-top:1px solid #e3d6bf;vertical-align:top}
td:last-child{text-align:right;font-weight:bold;color:var(--green);white-space:nowrap}
.room-card td:nth-child(2){color:#5a5a52;font-size:.85rem}
.picker .small{margin-top:1rem}

.sum-table{background:var(--paper);border:2px solid var(--gold);border-radius:10px;margin-bottom:1rem}
.sum-table .total td{font-size:1.15rem;font-weight:bold;border-top:2px solid var(--green)}

.book-in{display:grid;grid-template-columns:.7fr 1.3fr;gap:2.5rem;align-items:center}
.book-pic img{border:3px solid var(--gold);border-radius:6px;box-shadow:0 10px 24px rgba(0,0,0,.25)}
.inside{padding-left:1.2rem}
.inside li{margin-bottom:.6rem}

.look{background:var(--paper);border-top:2px solid var(--gold);border-bottom:2px solid var(--gold)}
.pages{display:flex;justify-content:center;gap:1.4rem;overflow-x:auto;scroll-snap-type:x mandatory;padding:1rem .4rem 1.4rem}
.pages figure{flex:none;width:min(280px,72vw);margin:0;scroll-snap-align:center;transition:transform .2s}
.pages figure:nth-child(1){transform:rotate(-2.5deg)}
.pages figure:nth-child(2){transform:translateY(-8px)}
.pages figure:nth-child(3){transform:rotate(2.5deg)}
.pages figure:hover{transform:scale(1.04)}
.pages img{width:100%;background:#fff;border:1px solid #e3d6bf;border-radius:4px;box-shadow:0 14px 30px -12px rgba(0,0,0,.45)}
.pages figcaption{font-size:.8rem;color:#5a5a52;margin-top:.6rem;text-align:center;font-family:Arial,Helvetica,sans-serif}
.chips{display:flex;flex-wrap:wrap;justify-content:center;gap:.6rem;margin-top:.6rem}
.chips span{background:var(--green);color:var(--cream);border:1px solid var(--gold);border-radius:999px;padding:.35rem .9rem;font-family:Arial,Helvetica,sans-serif;font-size:.85rem}
.chips b{color:var(--gold)}

.paper{background:var(--paper);border:1px solid #e3d6bf;border-left:6px solid var(--gold);padding:2rem;border-radius:6px;box-shadow:0 4px 14px rgba(0,0,0,.06)}
.sign{font-style:italic;font-size:1.2rem;color:var(--green)}

.promise-box{background:var(--green);color:var(--cream);border:3px solid var(--gold);border-radius:10px;padding:1.8rem}
.promise-box h2{color:var(--gold);font-size:1.4rem}
.promise-box a{color:var(--gold)}

details{background:var(--paper);border:1px solid #e3d6bf;border-radius:8px;margin-bottom:.6rem;padding:.2rem 1rem}
summary{cursor:pointer;font-weight:bold;color:var(--green);padding:.7rem 0}
details p{margin-top:0}

.signup{background:var(--green-2);color:var(--cream)}
.signup h2{color:var(--gold)}
.signup-form{display:grid;gap:.4rem;max-width:480px}
.signup-form input[type=text],.signup-form input[type=email]{font-size:1rem;padding:.75rem;border-radius:8px;border:2px solid var(--gold);background:#fff;color:var(--ink)}
.signup-form label{font-family:Arial,Helvetica,sans-serif;font-size:.9rem}
.consent{display:flex;gap:.5rem;align-items:flex-start;margin:.4rem 0 .6rem}
.consent input{margin-top:.3rem;width:20px;height:20px}
.signup-form .btn{justify-self:start}

.closing{text-align:center}
.closing .price{color:var(--green)}

footer{background:var(--green);color:var(--cream);font-size:.8rem;padding:2rem 0;font-family:Arial,Helvetica,sans-serif}
footer p{margin:0 0 .5em}

.popup{position:fixed;inset:0;background:rgba(10,20,14,.7);display:flex;align-items:center;justify-content:center;padding:1rem;z-index:20}
.popup[hidden]{display:none}
.popup-box{position:relative;background:var(--cream);border:4px solid var(--gold);border-radius:12px;padding:2rem 1.6rem 1.4rem;max-width:480px;width:100%;max-height:92vh;overflow:auto;text-align:left}
.popup-box .signup-form label{color:var(--ink)}
.popup-close{position:absolute;top:.4rem;right:.6rem;background:none;border:none;font-size:2rem;line-height:1;color:var(--green);cursor:pointer}

@media (max-width:760px){
  html{font-size:19px}
  h1{font-size:1.8rem}
  h2{font-size:1.45rem}
  .hero-in,.book-in{grid-template-columns:1fr}
  .hero-pic{max-width:300px;margin:0 auto}
  .book-pic{max-width:240px}
  .brand{font-size:1rem}
  .btn{width:100%;text-align:center}
  .btn-small{width:auto}
  .pages{justify-content:flex-start}
  .pages figure:nth-child(n){transform:none}
}
