:root{
  --green:#061b12;
  --green2:#0a2a1d;
  --green3:#0d3827;
  --gold:#d6ad56;
  --gold-light:#f0d38a;
  --gold-dark:#7b4c12;
  --cream:#f4e5bd;
  --burgundy:#6a211e;
  --ink:#180f09;
  --shadow:rgba(0,0,0,.72);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:#020907}
body{margin:0;color:var(--cream);background:#020907;font-family:Baskerville,"Palatino Linotype","Book Antiqua",Georgia,serif;line-height:1.55;overflow-x:hidden}
a{color:inherit}
img{max-width:100%;display:block}
.skip{position:fixed;z-index:1000;left:12px;top:-80px;background:var(--cream);color:#111;padding:10px 14px;border-radius:4px}.skip:focus{top:12px}

/* APPROVED HERO */
.hero{position:relative;background:#020907;isolation:isolate}
.hero-art{width:100%;height:auto;display:block}
.hero-hotspots{position:absolute;inset:0;z-index:4}
.hot{position:absolute;display:block;border-radius:8px;outline-offset:3px}
.hot:hover{box-shadow:inset 0 0 0 1px rgba(241,206,116,.22);background:rgba(214,173,86,.025)}
.hot:focus-visible{outline:2px solid var(--gold-light);background:rgba(214,173,86,.08)}
.hot.home{left:9.4%;top:4.7%;width:5.5%;height:7%}
.hot.about{left:16.1%;top:4.7%;width:14.9%;height:7%}
.hot.experience{left:32%;top:4.7%;width:12.9%;height:7%}
.hot.gallery{left:57.6%;top:4.7%;width:8.4%;height:7%}
.hot.reviews{left:66.2%;top:4.7%;width:8.1%;height:7%}
.hot.booking{left:75.1%;top:4.7%;width:8.3%;height:7%}
.hot.contact{left:83.7%;top:4.7%;width:8.4%;height:7%}
.hot.hero-book-hotspot{left:14.1%;top:59.1%;width:25.2%;height:8.1%}
.mobile-book{display:none}

/* FLOATING NAV */
.floating-nav{position:fixed;z-index:50;left:50%;top:14px;transform:translate(-50%,-130%);opacity:0;width:min(960px,calc(100% - 28px));height:66px;padding:0 20px 0 12px;display:flex;align-items:center;gap:18px;background:rgba(4,25,17,.94);border:1px solid rgba(214,173,86,.68);box-shadow:0 8px 35px rgba(0,0,0,.55),inset 0 0 0 4px rgba(214,173,86,.035);backdrop-filter:blur(9px);transition:.35s ease;border-radius:999px}
.floating-nav.visible{transform:translate(-50%,0);opacity:1}
.mini-crest{width:48px;height:48px;border:2px solid var(--gold);border-radius:50%;display:grid;place-items:center;text-decoration:none;flex:none;box-shadow:inset 0 0 0 4px #0a2f20,0 0 0 1px #3b260d}
.mini-crest span{font-style:italic;color:var(--gold-light);font-size:23px}
.floating-links{display:flex;align-items:center;justify-content:space-between;gap:26px;width:100%}
.floating-links a{text-decoration:none;font-size:13px;letter-spacing:.12em;color:var(--gold-light)}
.floating-links a:hover{color:white}
.floating-links .nav-book{border:1px solid var(--gold);padding:9px 16px;border-radius:2px;background:#0b3222}

/* SHARED STUDY SECTIONS */
.study-section{position:relative;padding:88px 24px;background:
  linear-gradient(rgba(1,13,9,.86),rgba(1,13,9,.90)),
  url('assets/study-bg-v17.jpg') center/cover fixed;
  border-top:1px solid rgba(214,173,86,.28)}
.study-section:nth-of-type(even){background:
  linear-gradient(rgba(5,28,19,.88),rgba(2,15,10,.94)),
  url('assets/study-bg-v17.jpg') center/cover fixed}
.ornate-shell{position:relative;width:min(1240px,100%);margin:auto;padding:72px 70px 86px;background:
  radial-gradient(circle at 50% 0%,rgba(112,69,19,.18),transparent 42%),
  linear-gradient(145deg,rgba(10,39,27,.96),rgba(3,20,14,.97));
  border:1px solid #b88731;box-shadow:0 24px 70px var(--shadow),inset 0 0 0 5px #071c14,inset 0 0 0 6px rgba(224,181,84,.52),inset 0 0 70px rgba(0,0,0,.35)}
.ornate-shell:before,.ornate-shell:after{position:absolute;color:var(--gold);font-size:54px;line-height:1;text-shadow:0 1px 0 #3d2103,0 0 12px rgba(229,180,66,.25);z-index:2}
.ornate-shell:before{content:'❧';left:18px;top:10px;transform:rotate(-14deg)}
.ornate-shell:after{content:'❧';right:18px;bottom:25px;transform:rotate(166deg)}
.two-col{display:grid;grid-template-columns:minmax(0,.9fr) minmax(360px,1.05fr);gap:70px;align-items:center}
.copy-block{padding:10px 0 38px}
.eyebrow{color:var(--gold);font-weight:700;letter-spacing:.18em;font-size:13px;margin-bottom:18px;text-transform:uppercase}
h2{font-size:clamp(40px,5vw,70px);line-height:1.05;margin:0;color:var(--gold-light);font-weight:500;text-shadow:0 2px 0 #402402,0 7px 24px rgba(0,0,0,.6);letter-spacing:.01em}
h3{font-size:28px;color:var(--gold-light);font-weight:500;margin:25px 0 8px}
p{font-size:18px;margin:0 0 20px;color:#f0e2c0}.lead{font-size:24px;font-style:italic;color:var(--gold-light)}
.gold-rule{height:1px;width:180px;background:linear-gradient(90deg,transparent,var(--gold),transparent);margin:28px 0}
.text-link{display:inline-flex;gap:10px;text-decoration:none;color:var(--gold-light);font-size:15px;letter-spacing:.08em;border-bottom:1px solid rgba(214,173,86,.55);padding-bottom:5px}.text-link:hover{color:#fff}
.section-heading{text-align:center;max-width:900px;margin:0 auto 54px}.section-heading p{font-style:italic;color:#d9c79e;margin-top:14px}

/* Ornate real-photo frames */
.gold-frame{position:relative;margin:0;padding:18px;background:linear-gradient(135deg,#6c3b08 0%,#f3cf72 12%,#8a5210 29%,#e6bd58 48%,#633606 67%,#f4d783 88%,#7d480c 100%);border:2px solid #f1cf75;box-shadow:0 18px 50px rgba(0,0,0,.62),inset 0 0 0 4px #5a3308,inset 0 0 0 7px #d9a948}
.gold-frame:before,.gold-frame:after{content:'✦';position:absolute;color:#f2cf73;font-size:38px;text-shadow:0 2px 4px #2d1600;z-index:2}
.gold-frame:before{left:-11px;top:-18px}.gold-frame:after{right:-11px;bottom:-19px}
.gold-frame img{width:100%;height:100%;object-fit:cover;border:2px solid #3f2406;box-shadow:inset 0 0 15px #000}
.gold-frame figcaption{position:absolute;left:50%;bottom:-42px;transform:translateX(-50%);white-space:nowrap;color:#bfa56d;font-style:italic;font-size:13px}
.gold-frame.portrait{height:690px}.gold-frame.landscape{aspect-ratio:1.34/1;padding:13px}

/* Experience */
.experience-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.experience-card{padding:0 0 24px;text-align:center}.experience-card p{font-size:16px;color:#d8c8a7}
.service-ribbon{margin:48px auto 0;display:flex;flex-wrap:wrap;justify-content:center;gap:12px 18px;color:var(--gold-light);font-size:12px;letter-spacing:.12em;border-top:1px solid rgba(214,173,86,.35);border-bottom:1px solid rgba(214,173,86,.35);padding:18px}.service-ribbon i{color:#8f6d32;font-style:normal}

/* Gallery */
.story-layout{display:grid;grid-template-columns:1fr .46fr .46fr;grid-template-rows:auto auto;gap:28px;align-items:stretch}
.story-main{grid-column:1/3;grid-row:1;aspect-ratio:2/1;padding:15px}
.story-small{grid-row:2;aspect-ratio:.9/1}.story-small:nth-of-type(2){grid-column:1}.story-small:nth-of-type(3){grid-column:2}
.story-copy{grid-column:3;grid-row:1/3;display:flex;flex-direction:column;justify-content:center;padding:30px;border-left:1px solid rgba(214,173,86,.42)}
.story-copy p:first-child{font-size:35px;color:var(--gold-light);line-height:1.2}.story-copy p:last-child{font-size:25px;font-style:italic;color:#d8bf86}
.portfolio-button,.book-button{display:table;margin:48px auto 0;padding:15px 28px;color:var(--gold-light);text-decoration:none;background:#0b3423;border:1px solid var(--gold);box-shadow:inset 0 0 0 3px #062218,0 8px 24px rgba(0,0,0,.45);font-size:14px;letter-spacing:.13em;transition:.2s}.portfolio-button:hover,.book-button:hover{background:#124a32;transform:translateY(-1px);color:#fff}

/* Reviews */
.reviews-shell{background:
 radial-gradient(circle at 65% 15%,rgba(214,173,86,.09),transparent 25%),
 linear-gradient(145deg,rgba(7,30,21,.97),rgba(3,17,12,.98))}
.letters-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.letter{margin:0;padding:32px 28px 25px;min-height:255px;color:#382615;background:linear-gradient(115deg,#ead9ad,#f8ebc8 50%,#e0ca96);border:1px solid #ae823d;box-shadow:0 12px 28px rgba(0,0,0,.45),inset 0 0 20px rgba(102,63,18,.12);clip-path:polygon(1% 1%,99% 0,100% 97%,97% 100%,3% 99%,0 96%)}
.letter p{font-size:18px;color:#3f2c18;font-style:italic;line-height:1.45}.stars{color:#8a6019;letter-spacing:.12em;margin-bottom:15px}.letter footer{display:flex;flex-direction:column;color:#5b3d20}.letter footer span{font-size:13px;font-style:italic}

/* Booking */
.book-layout{grid-template-columns:minmax(330px,.78fr) minmax(0,1fr)}
.contact-photo{height:700px}.book-copy{text-align:center;padding:10px 30px}.book-copy h2{font-size:clamp(40px,4.7vw,66px)}.script-line{font-size:29px;font-style:italic;color:var(--gold-light);margin-top:24px}
.crest-large{width:135px;height:135px;margin:0 auto 28px;border:3px solid var(--gold);border-radius:50%;display:grid;place-items:center;background:#082a1c;box-shadow:inset 0 0 0 7px #061a12,0 0 0 1px #81561d,0 0 35px rgba(214,173,86,.18)}
.crest-large span{font-size:60px;font-style:italic;color:var(--gold-light);text-shadow:0 2px 3px #2a1400}
.book-button{margin-top:28px;font-size:16px;padding:18px 32px}.contact-list{display:grid;gap:13px;margin:35px auto 0;max-width:480px;text-align:left;border-top:1px solid rgba(214,173,86,.3);padding-top:24px}.contact-list a,.contact-list span{text-decoration:none;color:#e5d5b1;font-size:17px}.contact-list a:hover{color:white}.contact-list span span,.contact-list b{display:inline-grid;place-items:center;width:32px;color:var(--gold);font-weight:normal}

.section-footer{position:absolute;left:50%;bottom:24px;transform:translateX(-50%);color:var(--gold);letter-spacing:.19em;font-size:12px;white-space:nowrap}.alt-footer{color:#e0ba64}
.site-footer{text-align:center;padding:50px 20px 60px;background:#020b08;border-top:1px solid rgba(214,173,86,.35);color:#bda879;font-size:14px;letter-spacing:.06em}.footer-crest{width:56px;height:56px;border:1px solid var(--gold);border-radius:50%;display:grid;place-items:center;margin:0 auto 15px;color:var(--gold);font-size:23px;font-style:italic}.site-footer div+div{margin-top:7px}

/* reveal */
.reveal{opacity:0;transform:translateY(18px);transition:opacity .65s ease,transform .65s ease}.reveal.visible{opacity:1;transform:none}

@media (max-width:1000px){
  .ornate-shell{padding:58px 42px 80px}.two-col{grid-template-columns:1fr;gap:55px}.gold-frame.portrait{height:min(760px,105vw)}
  .experience-grid{grid-template-columns:1fr}.experience-card{max-width:720px;margin:auto}.experience-card+.experience-card{margin-top:22px}
  .story-layout{grid-template-columns:1fr 1fr;grid-template-rows:auto auto auto}.story-main{grid-column:1/3}.story-copy{grid-column:1/3;grid-row:3;border-left:0;border-top:1px solid rgba(214,173,86,.42);text-align:center}.book-layout{grid-template-columns:1fr}.contact-photo{height:min(850px,120vw);max-width:640px;width:100%;margin:auto}.letters-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:760px){
  .hero-hotspots{display:none}.mobile-book{display:block;position:absolute;z-index:5;left:50%;bottom:8%;transform:translateX(-50%);padding:12px 18px;background:rgba(6,43,28,.94);border:1px solid var(--gold);color:var(--gold-light);text-decoration:none;font-size:11px;letter-spacing:.12em;white-space:nowrap;box-shadow:0 8px 24px #000}
  .floating-nav{height:58px;padding:0 11px;width:calc(100% - 18px)}.mini-crest{width:40px;height:40px}.mini-crest span{font-size:19px}.floating-links{gap:12px;justify-content:flex-end}.floating-links a{font-size:10px}.floating-links a:nth-child(2),.floating-links a:nth-child(3),.floating-links a:nth-child(4){display:none}.floating-links .nav-book{padding:7px 10px}
  .study-section{padding:45px 12px;background-attachment:scroll}.ornate-shell{padding:55px 25px 75px}.ornate-shell:before,.ornate-shell:after{font-size:38px}.section-heading{margin-bottom:35px}h2{font-size:39px}h3{font-size:25px}p{font-size:17px}.lead{font-size:21px}
  .letters-grid{grid-template-columns:1fr}.story-layout{gap:16px}.story-small{padding:10px}.story-copy p:first-child{font-size:28px}.story-copy p:last-child{font-size:20px}.section-footer{font-size:9px;letter-spacing:.1em;width:100%;text-align:center}.book-copy{padding:0}.contact-list a,.contact-list span{font-size:15px}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.floating-nav{transition:none}}

/* PAGE 2 REVIEW V21 — approved changes only */
.section-about .copy-block h2 {
  text-align: right;
}
.section-about .copy-block .gold-rule {
  margin-left: auto;
}
.section-about .copy-block .text-link {
  display: table;
  margin-left: auto;
}


/* PAGE 3 REVIEW V23 — approved changes only */
.section-gallery .story-layout{
  grid-template-columns: 1fr 1fr;
  grid-template-rows: auto auto;
}
.section-gallery .story-main{
  grid-column: 1 / 3;
}
.section-gallery .story-small:nth-of-type(2){
  grid-column: 1;
}
.section-gallery .story-small:nth-of-type(3){
  grid-column: 2;
}
.section-gallery .story-copy{
  display:none !important;
}


/* FINAL V28 — locked Page 1 treatment */
.hero{background:#120b07;}
.hero-art{width:100%;height:auto;display:block;}
.hero-real{
  position:absolute;
  z-index:3;
  left:25.2%;
  top:18.0%;
  transform:translateX(-50%);
  color:var(--gold-light);
  font-family:Baskerville,"Palatino Linotype","Book Antiqua",Georgia,serif;
  font-weight:600;
  font-size:clamp(20px,3.0vw,46px);
  line-height:1;
  letter-spacing:.08em;
  text-shadow:0 2px 0 #4b2804,0 5px 14px rgba(0,0,0,.8);
}
.hero-footer{
  position:relative;
  z-index:6;
  display:flex;
  justify-content:center;
  align-items:center;
  gap:18px;
  min-height:68px;
  padding:14px 20px 17px;
  background:linear-gradient(180deg,#1a0f09,#080504);
  border-top:1px solid rgba(214,173,86,.70);
  border-bottom:1px solid rgba(214,173,86,.50);
  color:var(--gold-light);
  font-family:Baskerville,"Palatino Linotype","Book Antiqua",Georgia,serif;
  font-size:clamp(15px,1.8vw,27px);
  letter-spacing:.12em;
  text-align:center;
  text-shadow:0 2px 2px #2b1605;
}
.hero-footer span{color:var(--gold);font-size:.75em;}
/* Hotspot percentages recalibrated for the cropped approved hero image. */
.hot.home{top:5.35%}
.hot.about{top:5.35%}
.hot.experience{top:5.35%}
.hot.gallery{top:5.35%}
.hot.reviews{top:5.35%}
.hot.booking{top:5.35%}
.hot.contact{top:5.35%}
.hot.hero-book-hotspot{top:67.6%}
@media (max-width:760px){
  .hero-real{left:25%;top:18.2%;font-size:clamp(16px,4vw,28px)}
  .hero-footer{min-height:54px;gap:8px;padding:11px 10px 13px;font-size:12px;letter-spacing:.08em}
}


/* FINAL V29 — approved Page 1 artwork and live hotspots */
.hero{position:relative;background:#020907;}
.hero-art{width:100%;height:auto;display:block;}
.hero-real,.hero-footer,.mobile-book{display:none !important;}
.hero-hotspots{display:block !important;position:absolute;inset:0;z-index:4;}
/* Approved 1672 × 941 landscape hero navigation */
.hot.home{left:8.5%;top:3.4%;width:8.5%;height:9.0%}
.hot.about{left:17.0%;top:3.4%;width:15.5%;height:9.0%}
.hot.experience{left:32.5%;top:3.4%;width:12.5%;height:9.0%}
.hot.gallery{left:58.3%;top:3.4%;width:8.4%;height:9.0%}
.hot.reviews{left:67.4%;top:3.4%;width:8.4%;height:9.0%}
.hot.booking{left:76.0%;top:3.4%;width:8.6%;height:9.0%}
.hot.contact{left:85.2%;top:3.4%;width:8.0%;height:9.0%}
.hot.hero-book-hotspot{left:19.0%;top:69.0%;width:23.0%;height:10.0%}
@media (max-width:760px){
  .hero-hotspots{display:block !important;}
}

/* V31 FIX: invisible clickable overlay; never render a green box */
.hero-hotspots .hero-book-hotspot,
.hero-hotspots .hero-book-hotspot:hover,
.hero-hotspots .hero-book-hotspot:focus,
.hero-hotspots .hero-book-hotspot:focus-visible {
  margin:0 !important;
  padding:0 !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  outline:0 !important;
  color:transparent !important;
}

/* V32 — iPhone/gallery overflow fix. Desktop/tablet layout remains unchanged. */
@media (max-width:760px){
  .section-gallery .story-layout{
    grid-template-columns:minmax(0,1fr) !important;
    grid-template-rows:auto !important;
    width:100%;
    max-width:100%;
    gap:22px;
    overflow:visible;
  }
  .section-gallery .story-main,
  .section-gallery .story-small,
  .section-gallery .story-small:nth-of-type(2),
  .section-gallery .story-small:nth-of-type(3){
    grid-column:1 !important;
    grid-row:auto !important;
    width:100%;
    max-width:100%;
    min-width:0;
    margin:0;
    box-sizing:border-box;
  }
  .section-gallery .story-main{
    aspect-ratio:2/1;
  }
  .section-gallery .story-small{
    aspect-ratio:4/5;
  }
  .section-gallery .gold-frame,
  .section-gallery .gold-frame img{
    max-width:100%;
    box-sizing:border-box;
  }
  .section-gallery .gold-frame img{
    display:block;
  }
}


/* V36 — iPhone gallery fix WITHOUT changing the approved layout */
@media (max-width:760px){
  html, body{
    max-width:100%;
    overflow-x:hidden;
  }

  .section-gallery{
    padding-left:8px !important;
    padding-right:8px !important;
    overflow-x:hidden !important;
  }

  .section-gallery .ornate-shell{
    width:100% !important;
    max-width:100% !important;
    box-sizing:border-box !important;
    padding-left:18px !important;
    padding-right:18px !important;
  }

  .section-gallery .story-layout{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
    grid-template-rows:auto auto !important;
    gap:12px !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    box-sizing:border-box !important;
    margin:0 !important;
  }

  .section-gallery .story-main{
    grid-column:1 / 3 !important;
    grid-row:1 !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    box-sizing:border-box !important;
    aspect-ratio:2 / 1 !important;
    padding:10px !important;
    margin:0 !important;
  }

  .section-gallery .story-small,
  .section-gallery .story-small:nth-of-type(2),
  .section-gallery .story-small:nth-of-type(3){
    grid-row:2 !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    box-sizing:border-box !important;
    padding:8px !important;
    margin:0 !important;
    aspect-ratio:.9 / 1 !important;
  }

  .section-gallery .story-small:nth-of-type(2){grid-column:1 !important;}
  .section-gallery .story-small:nth-of-type(3){grid-column:2 !important;}

  .section-gallery .gold-frame{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    box-sizing:border-box !important;
  }

  .section-gallery .gold-frame img{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    height:100% !important;
    box-sizing:border-box !important;
    object-fit:cover !important;
  }

  /* Keep decorative stars inside the phone viewport. */
  .section-gallery .gold-frame:before{left:-5px !important;}
  .section-gallery .gold-frame:after{right:-5px !important;}

  .section-gallery .portfolio-button{
    max-width:100% !important;
    box-sizing:border-box !important;
    text-align:center !important;
  }
}
