/* PMT Custom Elements */
:root{
  --pmt-noir:#181412;
  --pmt-noir2:#1c1610;
  --pmt-blanc:#fffdf8;
  --pmt-ivoire:#f4ecdf;
  --pmt-pierre:#d6c3ab;
  --pmt-sable:#c8b898;
  --pmt-sienna:#8e6035;
  --pmt-or2:#d7ab65;
  --pmt-or3:#b98a46;
  --pmt-line-soft:rgba(200,184,152,.16);
}

.pmt-homepage-hero-wrap,
.pmt-split,
.pmt-rooms,
.pmt-patio,
.pmt-booking,
.pmt-ticker-wrap{
  width:100%;
}

.pmt-hero{
  position:relative;
  overflow:hidden;
  min-height:100vh;
  display:flex;
  align-items:flex-end;
  background:var(--pmt-noir);
}
.pmt-hero-bg{
  position:absolute;
  inset:-6%;
  width:112%;
  height:112%;
  object-fit:cover;
  animation:pmt-kb 20s ease-out forwards;
  filter:brightness(.78) saturate(.92);
}
.pmt-hero-overlay{
  position:absolute; inset:0;
  background:linear-gradient(0deg, rgba(28,22,16,.88) 0%, rgba(28,22,16,.45) 35%, rgba(28,22,16,.1) 70%, transparent 100%);
  z-index:1;
}
@keyframes pmt-kb{from{transform:scale(1.08) translateX(8px)}to{transform:scale(1) translateX(0)}}
.pmt-hero-inner{
  position:relative; z-index:2;
  max-width:960px;
  padding:0 64px 88px;
}
.pmt-htag,
.pmt-sec-k,
.pmt-k,
.pmt-rmk{
  display:inline-flex; align-items:center; gap:14px;
  font-size:8.5px; letter-spacing:.45em; text-transform:uppercase;
  color:var(--pmt-or2); margin:0 0 24px;
}
.pmt-htag::before{content:"";display:block;width:32px;height:1px;background:var(--pmt-or2)}
.pmt-h1,
.pmt-sec-n,
.pmt-split h2,
.pmt-patio-text h2,
.pmt-room-feature-copy h3,
.pmt-bk-left h2{
  font-family:"Cormorant Garamond",serif;
  font-weight:300;
  letter-spacing:-.025em;
  line-height:.96;
}
.pmt-h1{font-size:clamp(58px,9vw,128px); color:var(--pmt-blanc); margin:0 0 30px}
.pmt-h1 em,.pmt-sec-n em,.pmt-split h2 em,.pmt-patio-text h2 em,.pmt-room-feature-copy h3 em,.pmt-bk-left h2 em{font-style:italic;color:var(--pmt-or2)}
.pmt-h1 .pmt-ln{display:block;overflow:hidden}
.pmt-h1 .pmt-lni{display:block;opacity:0;transform:translateY(108%);animation:pmt-lr .95s cubic-bezier(.77,0,.18,1) forwards}
.pmt-h1 .pmt-ln:nth-child(1) .pmt-lni{animation-delay:.55s}
.pmt-h1 .pmt-ln:nth-child(2) .pmt-lni{animation-delay:.7s}
.pmt-h1 .pmt-ln:nth-child(3) .pmt-lni{animation-delay:.85s}
@keyframes pmt-lr{to{opacity:1;transform:translateY(0)}}
.pmt-hsep{display:flex;align-items:center;gap:18px;margin:0 0 22px;color:rgba(255,255,255,.76);font-size:8.5px;letter-spacing:.45em;text-transform:uppercase}
.pmt-hsep::before,.pmt-hsep::after{content:"";height:1px;background:rgba(215,171,101,.42);flex:1}
.pmt-hsep span{white-space:nowrap}
.pmt-hdesc{max-width:640px;color:rgba(255,255,255,.86);font-size:14px;letter-spacing:.02em}
.pmt-hacts{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px}

.pmt-btn{
  display:inline-block;
  padding:15px 42px;
  text-decoration:none !important;
  text-transform:uppercase;
  font-family:"Jost", sans-serif;
  font-weight:300;
  font-size:8.5px;
  letter-spacing:.42em;
  line-height:1.2;
  transition:background .3s ease, color .3s ease, transform .3s ease;
}
.pmt-btn-primary{
  background:var(--sienna);
  color:var(--blanc);
}
.pmt-btn-primary:hover{
  background:var(--sienna2);
  color:var(--blanc);
  transform:translateY(-1px);
}
.pmt-btn-ghost{
  border:1px solid rgba(255,255,255,.28);
  color:var(--blanc);
}
.pmt-btn-ghost-dark{
  border:1px solid rgba(142,96,53,.22);
  color:var(--noir);
}
.pmt-hscroll{
  position:absolute; right:64px; bottom:34px; z-index:2;
  display:flex; align-items:center; gap:14px; color:rgba(255,255,255,.66);
  font-size:8px; letter-spacing:.42em; text-transform:uppercase;
}
.pmt-hsl{display:block;width:1px;height:54px;background:rgba(255,255,255,.22);position:relative;overflow:hidden}
.pmt-hsl::after{content:"";position:absolute;left:0;top:0;width:100%;height:24px;background:var(--pmt-or2);animation:pmt-scroll 1.6s ease-in-out infinite}
@keyframes pmt-scroll{0%{transform:translateY(-130%)}100%{transform:translateY(250%)}}

.pmt-ticker-wrap{
  background:var(--pmt-noir); color:var(--pmt-sable);
  overflow:hidden; border-top:1px solid rgba(255,255,255,.06); border-bottom:1px solid rgba(255,255,255,.06);
}
.pmt-ticker-t{
  display:flex; gap:42px; white-space:nowrap; margin:0; padding:18px 0;
  font-size:9px; letter-spacing:.48em; text-transform:uppercase;
  animation:pmt-ticker 28s linear infinite;
}
.pmt-ticker-i::after{content:"";display:inline-block;width:1px;height:10px;background:rgba(215,171,101,.22);margin-left:42px;vertical-align:middle}
@keyframes pmt-ticker{from{transform:translateX(0)}to{transform:translateX(-50%)}}

.pmt-split,
.pmt-patio,
.pmt-room-feature,
.pmt-bk-inner{
  display:grid;
  grid-template-columns:1fr 1fr;
  align-items:stretch;
  gap:0;
}
.pmt-split-image-right .pmt-split-media{order:2}
.pmt-split-image-right .pmt-split-copy{order:1}
.pmt-split-media img,
.pmt-patio-gallery img,
.pmt-feature-img{
  width:100%;height:100%;object-fit:cover;display:block;
}
.pmt-split-copy,
.pmt-patio-text,
.pmt-room-feature-copy{
  padding:88px 72px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  background:#fff;
}
.pmt-split h2,
.pmt-patio-text h2,
.pmt-bk-left h2{font-size:clamp(44px,6vw,86px);margin:0 0 24px}
.pmt-split p,
.pmt-patio-text p,
.pmt-room-feature-copy p{max-width:640px;color:rgba(24,20,18,.75)}

.pmt-section-head{
  display:grid;
  grid-template-columns:40% 60%;
  gap:24px;
  max-width:1280px;
  margin:0 auto 36px;
  padding:110px 24px 0;
}
.pmt-sec-n{font-size:clamp(38px,6vw,82px);margin:0}
.pmt-sec-t{font-size:15px;max-width:680px;color:rgba(24,20,18,.75)}

.pmt-rooms-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px;
  max-width:1280px;
  margin:0 auto;
  padding:0 24px;
}
.pmt-room-cover{
  position:relative;
  min-height:600px;
  overflow:hidden;
}
.pmt-room-cover-img{
  position:absolute; inset:0; width:100%; height:100%; object-fit:cover;
}
.pmt-room-cover-overlay{
  position:absolute; inset:0;
  background:linear-gradient(0deg, rgba(24,20,18,.84) 0%, rgba(24,20,18,.22) 60%, transparent 100%);
}
.pmt-room-cover-inner{
  position:relative; z-index:2; min-height:600px;
  padding:34px; display:flex; flex-direction:column; justify-content:flex-end;
}
.pmt-rmh{font-size:36px; margin:0 0 12px; color:#fff; font-family:"Cormorant Garamond",serif; font-weight:300}
.pmt-rmt,.pmt-rmk{color:#fff}
.pmt-room-feature{
  max-width:1280px; margin:28px auto 0; border:1px solid var(--pmt-line-soft);
}

.pmt-patio-gallery{background:#fff}
.pmt-pg2{display:grid;grid-template-columns:1fr 1fr;gap:0}
.pmt-patio-text blockquote{
  margin:28px 0 0; padding-left:22px; border-left:2px solid rgba(155,107,58,.28);
  font-family:"Cormorant Garamond",serif; font-size:30px; font-style:italic; color:#805f3f;
}
.pmt-patio-text blockquote p{margin:0}
.pmt-booking{
  background:linear-gradient(135deg,#181412 0%,#2a211c 50%,#5a402c 100%);
  color:#fff; padding:92px 24px;
}
.pmt-bk-inner{max-width:1280px;margin:0 auto}
.pmt-bk-left p{color:rgba(255,255,255,.72)}
.pmt-bk-card{
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.09);
  padding:36px;
}
.pmt-bk-phone{font-size:42px; color:#fff; margin:22px 0 12px; font-family:"Cormorant Garamond",serif; font-weight:300}
.pmt-bk-address{color:rgba(255,255,255,.72)}

.reveal{opacity:0;transform:translateY(34px);transition:opacity .88s ease, transform .88s ease}
.reveal.in{opacity:1;transform:translateY(0)}
.reveal-delay-1{transition-delay:.1s}
.reveal-delay-2{transition-delay:.2s}
.reveal-delay-3{transition-delay:.3s}

@media(max-width:960px){
  .pmt-hero-inner{padding:0 22px 64px}
  .pmt-h1{font-size:clamp(44px,13vw,82px)}
  .pmt-hscroll{right:22px;bottom:24px}
  .pmt-split,
  .pmt-patio,
  .pmt-room-feature,
  .pmt-bk-inner,
  .pmt-section-head,
  .pmt-rooms-grid{
    grid-template-columns:1fr;
  }
  .pmt-rooms-grid{display:grid}
  .pmt-split-copy,.pmt-patio-text,.pmt-room-feature-copy{padding:60px 28px}
  .pmt-room-cover,.pmt-room-cover-inner{min-height:420px}
}


/* Hero scoped styling options */
.pmt-hero-scope{
  --pmt-hero-heading-font:'Cormorant Garamond', serif;
  --pmt-hero-body-font:'Jost', sans-serif;
  --pmt-hero-eyebrow-font:'Jost', sans-serif;
  --pmt-hero-heading-size:128px;
  --pmt-hero-description-size:14px;
  --pmt-hero-eyebrow-size:8.5px;
  --pmt-hero-heading-color:#fffdf8;
  --pmt-hero-accent-color:#d7ab65;
  --pmt-hero-description-color:rgba(255,255,255,.86);
  --pmt-hero-eyebrow-color:#d7ab65;
}
.pmt-hero-scope .pmt-htag{
  font-family:var(--pmt-hero-eyebrow-font);
  font-size:var(--pmt-hero-eyebrow-size);
  color:var(--pmt-hero-eyebrow-color);
}
.pmt-hero-scope .pmt-htag::before{background:var(--pmt-hero-eyebrow-color)}
.pmt-hero-scope .pmt-h1{
  font-family:var(--pmt-hero-heading-font);
  font-size:clamp(58px,9vw,var(--pmt-hero-heading-size));
  color:var(--pmt-hero-heading-color);
}
.pmt-hero-scope .pmt-h1 em{color:var(--pmt-hero-accent-color)}
.pmt-hero-scope .pmt-hsep{font-family:var(--pmt-hero-body-font)}
.pmt-hero-scope .pmt-hsep::before,
.pmt-hero-scope .pmt-hsep::after{background:color-mix(in srgb, var(--pmt-hero-accent-color) 42%, transparent)}
.pmt-hero-scope .pmt-hdesc{
  font-family:var(--pmt-hero-body-font);
  font-size:var(--pmt-hero-description-size);
  color:var(--pmt-hero-description-color);
}
.pmt-btn-link-arrow{
  display:inline-flex; align-items:center; gap:12px;
  color:var(--pmt-blanc);
  text-decoration:none !important;
  text-transform:uppercase;
  font-family:"Jost", sans-serif;
  font-size:10px;
  letter-spacing:.38em;
  padding:18px 0;
}
.pmt-btn-link-arrow__icon{
  display:inline-block;
  transition:transform .3s ease;
}
.pmt-btn-link-arrow:hover .pmt-btn-link-arrow__icon{
  transform:translateX(6px);
}
.pmt-hscroll span:last-child:empty{display:none}

/* Ticker styling options */
.pmt-ticker-wrap{
  --pmt-ticker-bg:#181412;
  --pmt-ticker-color:#c8b898;
  --pmt-ticker-font:'Jost', sans-serif;
  --pmt-ticker-size:9px;
  background:var(--pmt-ticker-bg);
  color:var(--pmt-ticker-color);
}
.pmt-ticker-t{
  font-family:var(--pmt-ticker-font);
  font-size:var(--pmt-ticker-size);
}


/* Hero scoped defaults aligned with the client mockup */
.pmt-hero-scope{
  --pmt-hero-heading-font:'Cormorant Garamond', serif;
  --pmt-hero-body-font:'Jost', sans-serif;
  --pmt-hero-eyebrow-font:'Jost', sans-serif;
  --pmt-hero-heading-size:128px;
  --pmt-hero-description-size:14px;
  --pmt-hero-eyebrow-size:8.5px;
  --pmt-hero-heading-color:#fffdf8;
  --pmt-hero-accent-color:#d7ab65;
  --pmt-hero-description-color:rgba(255,255,255,.86);
  --pmt-hero-eyebrow-color:#d7ab65;
  --pmt-hero-btn1-bg:#9B6B3A;
  --pmt-hero-btn1-bg-hover:#7A5028;
  --pmt-hero-btn1-text:#FDFAF5;
  --pmt-hero-btn1-text-hover:#FDFAF5;
  --pmt-hero-btn2-text:#B8860B;
  --pmt-hero-btn2-text-hover:#D4A84B;
  --pmt-hero-btn2-arrow:#B8860B;
  --pmt-hero-btn2-arrow-hover:#D4A84B;
}
.pmt-hero-scope .pmt-htag{
  font-family:var(--pmt-hero-eyebrow-font);
  font-weight:300;
  font-size:var(--pmt-hero-eyebrow-size);
  color:var(--pmt-hero-eyebrow-color);
}
.pmt-hero-scope .pmt-htag::before{background:var(--pmt-hero-eyebrow-color)}
.pmt-hero-scope .pmt-h1{
  font-family:var(--pmt-hero-heading-font);
  font-weight:300;
  font-size:clamp(58px,9vw,var(--pmt-hero-heading-size));
  color:var(--pmt-hero-heading-color);
}
.pmt-hero-scope .pmt-h1 em{color:var(--pmt-hero-accent-color)}
.pmt-hero-scope .pmt-hsep,
.pmt-hero-scope .pmt-hdesc{
  font-family:var(--pmt-hero-body-font);
  font-weight:300;
}
.pmt-hero-scope .pmt-hsep::before,
.pmt-hero-scope .pmt-hsep::after{background:rgba(215,171,101,.42)}
.pmt-hero-scope .pmt-hdesc{
  font-size:var(--pmt-hero-description-size);
  color:var(--pmt-hero-description-color);
}
.pmt-hero-scope .pmt-btn-primary{
  background:var(--pmt-hero-btn1-bg);
  color:var(--pmt-hero-btn1-text);
}
.pmt-hero-scope .pmt-btn-primary:hover{
  background:var(--pmt-hero-btn1-bg-hover);
  color:var(--pmt-hero-btn1-text-hover);
}
.pmt-hero-scope .pmt-btn-link-arrow{
  display:inline-flex; align-items:center; gap:12px;
  color:var(--pmt-hero-btn2-text);
  text-decoration:none !important;
  text-transform:uppercase;
  font-family:"Jost", sans-serif;
  font-weight:300;
  font-size:10px;
  letter-spacing:.38em;
  padding:18px 0;
  transition:color .3s ease;
}
.pmt-hero-scope .pmt-btn-link-arrow:hover{color:var(--pmt-hero-btn2-text-hover)}
.pmt-hero-scope .pmt-btn-link-arrow__icon{
  display:inline-block;
  color:var(--pmt-hero-btn2-arrow);
  transition:transform .3s ease, color .3s ease;
}
.pmt-hero-scope .pmt-btn-link-arrow:hover .pmt-btn-link-arrow__icon{
  transform:translateX(6px);
  color:var(--pmt-hero-btn2-arrow-hover);
}


/* Hero v0.3 safety layout */
.pmt-hero{
  min-height:100vh;
  min-height:100svh;
}
.pmt-hero-inner{
  max-width:1200px; width:100%; margin:0 auto;
  padding-top:var(--pmt-hero-pad-top, 90px);
  padding-bottom:var(--pmt-hero-pad-bottom, 88px);
  padding-left:64px;
  padding-right:64px;
  min-height:100vh;
  min-height:100svh;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  box-sizing:border-box;
}
.pmt-hero-scope{
  width:100%;
}
.pmt-hacts{
  row-gap:10px;
}
.pmt-hscroll{
  position:absolute;
}
@media (max-width:960px){
  .pmt-hero-inner{
    padding-left:22px;
    padding-right:22px;
    padding-top:max(var(--pmt-hero-pad-top, 90px), 90px);
    padding-bottom:64px;
  }
  .pmt-hscroll{
    right:22px;
    bottom:24px;
  }
}


/* Fix scroll indicator center */
.pmt-hscroll{
  left:50% !important;
  right:auto !important;
  transform:translateX(-50%);
  text-align:center;
}


/* Hero width controls by section */
.pmt-hero-scope{
  --pmt-hero-eyebrow-width:auto;
  --pmt-hero-eyebrow-width-mobile:auto;
  --pmt-hero-title-width:auto;
  --pmt-hero-title-width-mobile:auto;
  --pmt-hero-separator-width:520px;
  --pmt-hero-separator-width-mobile:100%;
  --pmt-hero-description-width:640px;
  --pmt-hero-description-width-mobile:100%;
  --pmt-hero-buttons-width:auto;
  --pmt-hero-buttons-width-mobile:100%;
  --pmt-hero-scroll-width:auto;
  --pmt-hero-scroll-width-mobile:auto;
}
.pmt-hero-scope .pmt-htag{width:var(--pmt-hero-eyebrow-width)}
.pmt-hero-scope .pmt-h1{width:var(--pmt-hero-title-width)}
.pmt-hero-scope .pmt-hsep{width:var(--pmt-hero-separator-width); max-width:100%}
.pmt-hero-scope .pmt-hdesc{width:var(--pmt-hero-description-width); max-width:100%}
.pmt-hero-scope .pmt-hacts{width:var(--pmt-hero-buttons-width); max-width:100%}
.pmt-hero-scope .pmt-hscroll{width:var(--pmt-hero-scroll-width)}
@media (max-width:960px){
  .pmt-hero-scope .pmt-htag{width:var(--pmt-hero-eyebrow-width-mobile)}
  .pmt-hero-scope .pmt-h1{width:var(--pmt-hero-title-width-mobile)}
  .pmt-hero-scope .pmt-hsep{width:var(--pmt-hero-separator-width-mobile)}
  .pmt-hero-scope .pmt-hdesc{width:var(--pmt-hero-description-width-mobile)}
  .pmt-hero-scope .pmt-hacts{width:var(--pmt-hero-buttons-width-mobile)}
  .pmt-hero-scope .pmt-hscroll{width:var(--pmt-hero-scroll-width-mobile)}
}


/* Global premium button defaults aligned with client mockup */
.pmt-hero-scope .pmt-btn-primary{
  font-size:8.5px;
  letter-spacing:.42em;
  text-transform:uppercase;
  color:var(--pmt-hero-btn1-text, #FDFAF5);
  background:var(--pmt-hero-btn1-bg, #9B6B3A);
  padding:15px 42px;
  text-decoration:none;
  transition:background .3s ease, color .3s ease, transform .3s ease;
  display:inline-block;
  border:none;
}
.pmt-hero-scope .pmt-btn-primary:hover{
  background:var(--pmt-hero-btn1-bg-hover, #7A5028);
  color:var(--pmt-hero-btn1-text-hover, #FDFAF5);
}
.pmt-hero-scope .pmt-btn-link-arrow{
  display:inline-flex;
  align-items:center;
  gap:12px;
  color:var(--pmt-hero-btn2-text, #B8860B);
  text-decoration:none !important;
  text-transform:uppercase;
  font-family:"Jost", sans-serif;
  font-weight:300;
  font-size:8.5px;
  letter-spacing:.42em;
  padding:15px 0;
  transition:color .3s ease;
}
.pmt-hero-scope .pmt-btn-link-arrow:hover{
  color:var(--pmt-hero-btn2-text-hover, #D4A84B);
}
.pmt-hero-scope .pmt-btn-link-arrow__icon{
  display:inline-block;
  color:var(--pmt-hero-btn2-arrow, #B8860B);
  transition:transform .3s ease, color .3s ease;
}
.pmt-hero-scope .pmt-btn-link-arrow:hover .pmt-btn-link-arrow__icon{
  transform:translateX(6px);
  color:var(--pmt-hero-btn2-arrow-hover, #D4A84B);
}

/* Apply same button DNA across plugin */
.pmt-split .pmt-btn-ghost-dark,
.pmt-booking .pmt-btn-primary{
  font-size:8.5px;
  letter-spacing:.42em;
  text-transform:uppercase;
  padding:15px 42px;
  display:inline-block;
  text-decoration:none !important;
  font-family:"Jost", sans-serif;
  font-weight:300;
}
.pmt-booking .pmt-btn-primary{
  background:var(--sienna);
  color:var(--blanc);
}
.pmt-booking .pmt-btn-primary:hover{
  background:var(--sienna2);
  color:var(--blanc);
}
.pmt-split .pmt-btn-ghost-dark{
  color:var(--or);
  border:none;
  padding-left:0;
  padding-right:0;
}


/* Hero button adjustable CSS */
.pmt-hero-scope{
  --pmt-hero-btn1-font-size:8.5px;
  --pmt-hero-btn1-letter-spacing:.42em;
  --pmt-hero-btn1-text-transform:uppercase;
  --pmt-hero-btn1-pad-top:15px;
  --pmt-hero-btn1-pad-right:42px;
  --pmt-hero-btn1-pad-bottom:15px;
  --pmt-hero-btn1-pad-left:42px;

  --pmt-hero-btn2-font-size:8.5px;
  --pmt-hero-btn2-letter-spacing:.42em;
  --pmt-hero-btn2-text-transform:uppercase;
  --pmt-hero-btn2-pad-top:15px;
  --pmt-hero-btn2-pad-right:0px;
  --pmt-hero-btn2-pad-bottom:15px;
  --pmt-hero-btn2-pad-left:0px;
}
.pmt-hero-scope .pmt-btn-primary{
  font-size:var(--pmt-hero-btn1-font-size);
  letter-spacing:var(--pmt-hero-btn1-letter-spacing);
  text-transform:var(--pmt-hero-btn1-text-transform);
  padding:var(--pmt-hero-btn1-pad-top) var(--pmt-hero-btn1-pad-right) var(--pmt-hero-btn1-pad-bottom) var(--pmt-hero-btn1-pad-left);
  line-height:1.2;
}
.pmt-hero-scope .pmt-btn-link-arrow{
  font-size:var(--pmt-hero-btn2-font-size);
  letter-spacing:var(--pmt-hero-btn2-letter-spacing);
  text-transform:var(--pmt-hero-btn2-text-transform);
  padding:var(--pmt-hero-btn2-pad-top) var(--pmt-hero-btn2-pad-right) var(--pmt-hero-btn2-pad-bottom) var(--pmt-hero-btn2-pad-left);
  line-height:1.2;
}
