:root{--paper:#fbf4e4;--red:#b72f2b;--green:#174d3a;--ink:#18332d;--line:#d9cdb5}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Nunito Sans",sans-serif;background-image:radial-gradient(#806d5013 .8px,transparent .8px);background-size:8px 8px}header{height:70px;padding:0 4vw;display:flex;align-items:center;gap:28px;background:#fffaf0f6;position:sticky;top:0;z-index:20;border-bottom:1px solid var(--line)}.logo{display:flex;align-items:center;text-decoration:none;color:var(--red);line-height:.8}.logo>span{font-size:30px}.logo strong{font:700 14px Lora}.logo b{display:block;font-size:23px}.logo small{display:block;font:700 7px "Nunito Sans";color:var(--ink);letter-spacing:.15em;margin-top:5px}nav{display:flex;gap:24px;margin-left:auto}nav a{text-decoration:none;color:var(--ink);font-size:12px;font-weight:700}.top-button,button{background:var(--red);color:white;border:0;border-radius:8px;text-decoration:none;padding:11px 17px;font-weight:700;cursor:pointer}.hero{position:relative;max-width:1536px;margin:auto;min-height:580px}.hero-art{width:100%;overflow:hidden}.hero-art img{display:block;width:100%;height:auto;object-fit:contain;object-position:left top}.availability{position:absolute;right:4%;top:5%;width:310px;background:#fffaf0ed;padding:22px;border:1px solid #d6c5a6;border-radius:10px;box-shadow:0 10px 28px #44351d20}.script,.section-title>span{font:600 30px Caveat;color:var(--green)}.availability>p{font-size:11px;margin:0 0 14px}.availability label{display:block;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;margin-bottom:10px}.availability input,.availability select{width:100%;display:block;margin-top:4px;border:1px solid var(--line);border-radius:5px;padding:9px;background:#fff;font:12px "Nunito Sans"}.two{display:grid;grid-template-columns:1fr 1fr;gap:8px}.availability button{width:100%;margin-top:4px}.section{max-width:1480px;margin:auto;padding:40px 3vw 55px}.section-title{display:flex;align-items:center;gap:24px;margin-bottom:18px}.section-title>span{background:var(--green);color:#fff;padding:2px 28px;border-radius:50% 8px 45% 10px;transform:rotate(-1deg)}.section-title p{font:500 18px Caveat;margin:0}.room-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.room-grid article{background:#fff9ed;border:1px solid var(--line);border-radius:10px;overflow:hidden;box-shadow:2px 3px 0 #e3d6bc}.room-grid article>img,.suite-images{height:240px;width:100%;object-fit:cover}.suite-images{display:grid;grid-template-columns:1fr 1fr}.suite-images img{width:100%;height:240px;object-fit:cover}.room-grid article>div:last-child{padding:13px 18px 18px}.room-grid h3{font:700 19px Lora;color:var(--red);margin:0 0 5px}.room-grid p{font-size:12px;line-height:1.45;margin:0 0 8px}.room-grid small{font-size:10px;font-weight:700;color:var(--green)}.welcome{display:grid;grid-template-columns:1.15fr 1fr;gap:38px;align-items:center;padding-top:25px}.lobby-frame{padding:10px;background:#fff9ed;border:1px solid var(--line);box-shadow:4px 5px 0 #dfd0b5;transform:rotate(-.5deg)}.lobby-frame img{display:block;width:100%;height:310px;object-fit:cover}.welcome-copy .script{font-size:26px}.welcome h2{font:600 clamp(32px,4vw,48px) Caveat;margin:0 0 10px}.welcome p{line-height:1.65;color:#65706a}.amenities{display:flex;gap:20px;flex-wrap:wrap;margin-top:22px}.amenities span{font-size:10px}.amenities b{margin-left:4px}.explore{padding-top:35px}.explore-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:10px}.explore-grid a{background:#fff9ed;border:1px solid var(--line);border-radius:8px;overflow:hidden;text-decoration:none;color:var(--ink);padding-bottom:13px;transition:.2s}.explore-grid a:hover{transform:translateY(-3px)}.explore-grid img{width:100%;height:115px;object-fit:cover}.explore-grid h3,.explore-grid p,.explore-grid b{margin-left:12px;margin-right:12px}.explore-grid h3{font:700 14px Lora;margin-top:9px;margin-bottom:5px}.explore-grid p{font-size:10px;line-height:1.35;min-height:42px}.explore-grid b{font-size:10px;color:var(--red)}.contact{background:var(--green);color:#fff;padding:20px 4vw}.contact-inner{max-width:1450px;margin:auto;display:grid;grid-template-columns:1.25fr .9fr .85fr .9fr;gap:20px;align-items:center}.help{display:grid;grid-template-columns:1fr 1.2fr;gap:4px 14px}.help .script{grid-column:1/-1}.script.light{color:#fff}.help a{color:#fff;text-decoration:none;font-size:12px;font-weight:700}.reserve-button{background:var(--red);color:#fff;border:1px solid #fff8;border-radius:9px;text-decoration:none;text-align:center;padding:12px;font-weight:700}.reserve-button small{display:block;font-weight:400;font-size:9px;margin-top:4px}.address{display:flex;gap:12px;align-items:center;border-left:1px solid #ffffff55;padding-left:20px}.pin{font-size:34px;color:#e33}.address b,.address strong{display:block;font-size:16px}.map{display:flex;align-items:center;gap:10px;color:#fff;text-decoration:none;border:1px solid #ffffffaa;border-radius:8px;padding:10px}.map>span{font-size:25px}.map b,.map small{display:block}.map small{font-size:9px}footer{background:#123b2e;color:#fff;padding:15px 4vw;display:flex;align-items:center;gap:25px;font-size:11px}footer strong{font-size:15px}footer small{margin-left:auto}.modal{position:fixed;inset:0;background:#18352c99;z-index:50;display:grid;place-items:center;padding:20px}.modal>div{width:min(430px,100%);background:var(--paper);color:var(--ink);padding:40px;text-align:center;border-radius:14px;position:relative}.modal i{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:#dbe5d4;margin:auto;font-style:normal}.modal h3{font:600 25px Lora}.x{position:absolute;right:10px;top:8px;background:none;color:#555;font-size:22px;padding:5px}
@media(max-width:1100px){nav{display:none}.top-button{margin-left:auto}.hero{min-height:0;padding-bottom:25px}.availability{position:relative;right:auto;top:auto;width:92%;margin:-20px auto 0}.hero-art{overflow:visible}.hero-art img{width:100%;height:auto;object-fit:contain;object-position:left top}.explore-grid{grid-template-columns:repeat(4,1fr)}.contact-inner{grid-template-columns:1fr 1fr}.room-grid article>img,.suite-images,.suite-images img{height:210px}}
@media(max-width:700px){header{height:62px}.logo strong{font-size:11px}.logo b{font-size:18px}.top-button{font-size:10px;padding:9px}.hero-art{width:100%;background:var(--paper)}.hero-art img{width:100%;max-width:none;height:auto;object-fit:contain;object-position:left top}.availability{margin-top:0}.room-grid,.welcome{grid-template-columns:1fr}.explore-grid{grid-template-columns:1fr 1fr}.section-title{display:block}.section-title p{margin-top:8px}.lobby-frame img{height:250px}.contact-inner{grid-template-columns:1fr}.address{border-left:0;padding-left:0}.help{grid-template-columns:1fr}.help .script{grid-column:auto}footer{flex-direction:column;align-items:flex-start;gap:6px}footer small{margin-left:0}.two{grid-template-columns:1fr}}
@media(max-width:420px){.explore-grid{grid-template-columns:1fr}.room-grid article>img,.suite-images,.suite-images img{height:190px}}
/* Final illustration consistency pass */
.leafmark{width:40px;height:52px;display:block;overflow:hidden;margin-right:7px;flex:0 0 auto}
.leafmark img{width:100%;height:100%;object-fit:cover;mix-blend-mode:multiply}
.room-grid article.suite>img{height:240px;width:100%;object-fit:cover;display:block}
.coordinate-map{padding:5px;gap:7px;overflow:hidden}
.coordinate-map>img{width:115px;height:55px;object-fit:cover;border-radius:5px;border:1px solid #ffffff77}
.coordinate-map>div{min-width:95px}
@media(max-width:1100px){.room-grid article.suite>img{height:210px}.coordinate-map>img{width:130px}}
@media(max-width:420px){.room-grid article.suite>img{height:190px}}

/* Warm watercolor confirmation popup */
.modal{backdrop-filter:blur(3px);animation:modalFade .35s ease both}
.modal>div{overflow:hidden;border:1px solid #cdbd98;box-shadow:0 24px 70px #18352c55;background:
 radial-gradient(circle at 12% 12%,#d9b76b38 0 10%,transparent 27%),
 radial-gradient(circle at 90% 82%,#78906a2b 0 13%,transparent 31%),
 linear-gradient(135deg,#fffaf0 0%,#f6ead0 52%,#fbf3df 100%);}
.modal>div:before,.modal>div:after{content:"";position:absolute;pointer-events:none;filter:blur(10px);opacity:.55;border-radius:45% 55% 60% 40%}
.modal>div:before{width:150px;height:70px;left:-38px;top:-22px;background:#bd493e33;transform:rotate(-9deg)}
.modal>div:after{width:170px;height:75px;right:-45px;bottom:-30px;background:#50725738;transform:rotate(8deg)}
.modal i{position:relative;z-index:1;background:#dce7d3;border:1px solid #9fb293;color:#315c42}
.modal h3,.modal p,.modal .x{position:relative;z-index:1}
.modal h3{color:#31533f}
.modal p{line-height:1.6}
.modal.closing{animation:modalOut .7s ease forwards}
@keyframes modalFade{from{opacity:0}to{opacity:1}}
@keyframes modalOut{to{opacity:0;transform:translateY(-8px)}}


/* Readability + final section-order refinement */
.section-title p{
  font-size:26px;
  line-height:1.2;
}
.welcome-copy .script{
  font-size:29px;
}
.amenities span{
  font-size:13px;
  line-height:1.45;
}
.explore .section-title p{
  font-size:24px;
}
.room-grid p{
  font-size:14px;
}
.room-grid small{
  font-size:12px;
}
.explore-grid h3{
  font-size:15px;
}
.explore-grid p{
  font-size:12px;
  line-height:1.45;
}
.explore-grid b{
  font-size:12px;
}
.availability>p{
  font-size:13px;
}
.availability label{
  font-size:11px;
}
.availability input,
.availability select{
  font-size:13px;
}
.help a{
  font-size:14px;
}
.map small,
.coordinate-map small{
  font-size:11px;
}
footer{
  font-size:13px;
}
.modal .x{display:none!important}

@media(max-width:700px){
  .section-title p{font-size:23px}
  .explore .section-title p{font-size:22px}
  .amenities span{font-size:13px}
}


/* Interactive room selection */
.room-choice{
  position:relative;
  cursor:pointer;
  transition:transform .2s ease, box-shadow .25s ease, background .35s ease, border-color .25s ease;
}
.room-choice:hover{
  transform:translateY(-3px);
  border-color:#8fae91;
  box-shadow:3px 7px 0 #d8ddc6;
  background:
    radial-gradient(ellipse at 85% 90%, rgba(111,151,111,.13), transparent 44%),
    #fff9ed;
}
.room-choice.selected{
  border-color:#5f8c67;
  background:
    radial-gradient(ellipse at 88% 88%, rgba(89,139,94,.22), transparent 46%),
    radial-gradient(ellipse at 15% 95%, rgba(159,187,143,.12), transparent 40%),
    #fff9ed;
  box-shadow:3px 7px 0 #cad8bd;
}
.room-check{
  position:absolute;
  right:13px;
  bottom:13px;
  z-index:4;
  width:27px;
  height:27px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#477553;
  color:white;
  font-weight:800;
  opacity:0;
  transform:scale(.72) rotate(-8deg);
  transition:opacity .2s ease, transform .25s ease;
  box-shadow:0 2px 7px rgba(30,65,42,.2);
}
.room-choice.selected .room-check{
  opacity:1;
  transform:scale(1) rotate(0);
}
.room-choice:focus-visible{
  outline:3px solid rgba(72,117,83,.35);
  outline-offset:3px;
}
