/* Base tokens, reset, and shared nav/mobile-menu chrome — extracted
   verbatim from tsl-website-live/index.html's <head> <style> block.
   (Includes a couple of inert/malformed selectors present in the
   original source — preserved as-is per the exact-port approach.) */

*{-webkit-tap-highlight-color:transparent}
button,a,[role="button"]{touch-action:manipulation}

*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
:root{
  color-scheme:dark;
  --cream:#F5F0E8;--dark:#0c0b0a;--dark2:#1a1918;
  --pink:#C0415A;--pink2:#a8324a;
  --gold:#C9A84C;--gold-l:#E2C97E;
  --serif:'Cormorant Garamond',Georgia,'Times New Roman',serif;
  --sans:'Jost','Helvetica Neue',Arial,sans-serif;
  /* Default theme = dark */
  --bg:#1a1918;--bg2:#201e1d;
  --surf:rgba(255,255,255,.05);--surf-b:rgba(255,255,255,.1);
  --txt:#fff;--txt2:rgba(255,255,255,.82);--txt3:rgba(255,255,255,.55);
  --inp:rgba(255,255,255,.07);--inp-b:rgba(255,255,255,.12);--inp-c:#fff;
  --hdr-bg:rgba(26,25,24,.9);
}
@media (prefers-color-scheme: light){
  :root{
    color-scheme:light;
    --bg:#F5F0E8;--bg2:#EDE7D9;
    --surf:#fff;--surf-b:rgba(26,25,24,.1);
    --txt:#1a1918;--txt2:#3d3a36;--txt3:#7a7168;
    --inp:#fff;--inp-b:rgba(26,25,24,.15);--inp-c:#1a1918;
    --hdr-bg:rgba(245,240,232,.93);
  }
}
html{scroll-behavior:smooth;color-scheme:dark;background:var(--bg)}
body{font-family:var(--sans);overflow-x:hidden;-webkit-font-smoothing:antialiased;background:var(--bg);color:var(--txt)}
@media (prefers-color-scheme: light){
  html{color-scheme:light}
  body{background:var(--cream);color:var(--dark2)}
}
::-webkit-scrollbar{width:0}

/* NAV */
nav{position:fixed;top:0;left:0;right:0;z-index:200;display:flex;align-items:center;justify-content:space-between;padding:0 3rem;height:70px;transition:background 0.5s,border-color 0.5s,box-shadow 0.5s;border-bottom:0.5px solid transparent}
nav.on-dark{background:rgba(12,11,10,0.2);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border-bottom-color:rgba(255,255,255,0.07)}
nav.on-light{background:rgba(245,240,232,0.97);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border-bottom-color:rgba(0,0,0,0.08);box-shadow:0 2px 28px rgba(0,0,0,0.07)}
.nav-logo a{display:block;line-height:0}
.nav-logo img{height:46px;width:auto;display:block}


nav.on-dark 
nav.on-dark 
nav.on-light 
nav.on-light 
.nav-right{display:flex;align-items:center;gap:0.7rem;flex-shrink:0}
.btn-track,.btn-connect{font-family:var(--sans);font-size:9px;letter-spacing:0.15em;text-transform:uppercase;text-decoration:none;padding:9px 20px;transition:all 0.3s;white-space:nowrap;background:transparent}
nav.on-dark .btn-track,nav.on-dark .btn-connect{border:1px solid rgba(255,255,255,0.35);color:rgba(255,255,255,0.9)}
nav.on-dark .btn-track:hover,nav.on-dark .btn-connect:hover{border-color:#fff;color:#fff;background:rgba(255,255,255,0.08)}
nav.on-light .btn-track,nav.on-light .btn-connect{border:1px solid rgba(192,65,90,0.5);color:var(--pink)}
nav.on-light .btn-track:hover,nav.on-light .btn-connect:hover{border-color:var(--pink);background:rgba(192,65,90,0.05)}
.btn-book{font-family:var(--sans);font-size:9px;font-weight:500;letter-spacing:0.15em;text-transform:uppercase;text-decoration:none;padding:10px 22px;background:var(--pink);color:#fff;border:1px solid var(--pink);transition:background 0.25s;white-space:nowrap}
.btn-book:hover{background:var(--pink2);border-color:var(--pink2)}
.btn-logout{font-family:var(--sans);font-size:9px;letter-spacing:0.15em;text-transform:uppercase;padding:9px 20px;transition:all 0.3s;white-space:nowrap;cursor:pointer;background:transparent}
nav.on-dark .btn-logout{border:1px solid rgba(255,255,255,0.35);color:rgba(255,255,255,0.9)}
nav.on-dark .btn-logout:hover{border-color:#fff;color:#fff;background:rgba(255,255,255,0.08)}
nav.on-light .btn-logout{border:1px solid rgba(192,65,90,0.5);color:var(--pink)}
nav.on-light .btn-logout:hover{border-color:var(--pink);background:rgba(192,65,90,0.05)}
.mob-menu .mob-logout{font-family:var(--sans);font-size:11px;letter-spacing:0.18em;text-transform:uppercase;color:var(--dark2);background:transparent;border:none;border-bottom:0.5px solid rgba(0,0,0,0.07);padding:1rem 2rem;text-align:left;cursor:pointer;width:100%}
.mob-menu .mob-logout:hover{color:var(--pink)}


nav.on-dark 
nav.on-light 
.mob-menu{display:none;position:fixed;top:70px;left:0;right:0;background:var(--cream);z-index:199;flex-direction:column;border-bottom:0.5px solid rgba(0,0,0,0.1);box-shadow:0 8px 24px rgba(0,0,0,0.08)}
.mob-menu.open{display:flex}
.mob-menu a{font-family:var(--sans);font-size:11px;letter-spacing:0.18em;text-transform:uppercase;color:var(--dark2);text-decoration:none;padding:1rem 2rem;border-bottom:0.5px solid rgba(0,0,0,0.07);transition:color 0.2s}
.mob-menu a:hover{color:var(--pink)}
.mob-menu .mob-track{color:var(--pink)}
.mob-menu .mob-book{background:var(--pink);color:#fff;text-align:center;border-bottom:none;font-weight:500}
.mob-menu .mob-book:hover{background:var(--pink2);color:#fff}

/* ═══ HERO ═══ */
.hero{position:relative;height:100svh;min-height:680px;overflow:hidden}

.slide{
  position:absolute;inset:0;overflow:hidden;
  opacity:0;z-index:1;
  backface-visibility:hidden;-webkit-backface-visibility:hidden;
}
.slide.is-active{opacity:1;z-index:2}
.slide-img{
  position:absolute;inset:-3%;width:106%;height:106%;
  object-fit:cover;object-position:center;will-change:transform;
}
.slide.is-active .slide-img{animation:kb 28s ease-in-out forwards}
@keyframes kb{
  0%{transform:scale(1) translate(0,0)}
  100%{transform:scale(1.04) translate(-0.3%,0.2%)}
}

.slide-overlay{
  position:absolute;inset:0;z-index:1;
  background:linear-gradient(
    to bottom,
    rgba(0,0,0,0.2) 0%,rgba(0,0,0,0) 15%,
    rgba(0,0,0,0) 46%,rgba(0,0,0,0.62) 75%,
    rgba(0,0,0,0.85) 100%
  );
}

/* Gold corners */
.hero-frame{position:absolute;inset:20px;z-index:30;pointer-events:none}
.corner{position:absolute;width:52px;height:52px}
.corner-tl{top:0;left:0;border-top:1px solid rgba(201,168,76,0.6);border-left:1px solid rgba(201,168,76,0.6)}
.corner-tr{top:0;right:0;border-top:1px solid rgba(201,168,76,0.6);border-right:1px solid rgba(201,168,76,0.6)}
.corner-bl{bottom:0;left:0;border-bottom:1px solid rgba(201,168,76,0.6);border-left:1px solid rgba(201,168,76,0.6)}
.corner-br{bottom:0;right:0;border-bottom:1px solid rgba(201,168,76,0.6);border-right:1px solid rgba(201,168,76,0.6)}

/* Service label */
.svc-lbl{
  position:absolute;top:clamp(90px,12vh,118px);left:clamp(52px,6vw,100px);
  z-index:40;display:flex;flex-direction:column;gap:0.5rem;
  opacity:0;transform:translateX(-12px);
  transition:opacity 0.9s ease 0.4s,transform 0.9s ease 0.4s;
  pointer-events:none;
}
.svc-lbl.active{opacity:1;transform:translateX(0)}
.svc-cat{display:flex;align-items:center;gap:0.8rem}
.sl-line{width:22px;height:1px;background:var(--gold);flex-shrink:0}
.sl-cat-txt{font-family:var(--sans);font-size:9px;letter-spacing:0.26em;text-transform:uppercase;color:rgba(255,255,255,0.65)}

/* Hero text */
.hero-text{
  position:absolute;bottom:0;left:0;right:0;z-index:40;
  display:flex;flex-direction:column;align-items:center;text-align:center;
  padding:0 2rem 5.5rem;pointer-events:none;
  background:linear-gradient(to bottom,transparent 0%,transparent 8%,rgba(4,3,2,0) 12%,rgba(4,3,2,0.44) 46%,rgba(4,3,2,0.72) 100%);
}
.seo-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.h-eye{font-family:var(--sans);font-size:9px;letter-spacing:0.32em;text-transform:uppercase;color:var(--gold-l);margin-bottom:1.2rem;margin-top:5.5rem;animation:fadeUp 1s ease 0.3s both}
.h-eye span{margin:0 0.9rem;color:rgba(201,168,76,0.38)}
.h-h1{font-family:var(--serif);font-size:clamp(50px,6.5vw,100px);font-weight:300;line-height:1.03;color:#fff;letter-spacing:-0.015em;margin-bottom:0.3rem}
.word{display:inline-block;opacity:0;transform:translateY(30px);animation:wordUp 1s cubic-bezier(0.16,1,0.3,1) forwards}
.w1{animation-delay:0.5s}.w2{animation-delay:0.7s}.w3{animation-delay:0.9s}.w4{animation-delay:1.1s}
.lb{display:block}
.h-brand{font-family:var(--serif);font-style:italic;font-size:clamp(15px,1.9vw,21px);font-weight:300;color:rgba(255,255,255,0.55);letter-spacing:0.03em;margin-bottom:1.4rem;animation:fadeUp 1s ease 1.3s both}
.h-rule{width:0;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent);margin:0 auto 1.4rem;animation:ruleExpand 0.9s ease 1.6s forwards}
@keyframes ruleExpand{to{width:60px}}
.h-subs{position:relative;height:clamp(28px,4vw,40px);display:flex;align-items:center;justify-content:center;width:100%}
.h-sub{position:absolute;font-family:var(--serif);font-size:clamp(18px,2.4vw,30px);font-weight:300;font-style:italic;letter-spacing:0.01em;color:#fff;white-space:nowrap;opacity:0;transform:translateY(12px);transition:opacity 0.8s ease,transform 0.8s ease;text-shadow:0 2px 20px rgba(0,0,0,0.4)}
.h-sub.active{opacity:1;transform:translateY(0)}

/* Arrows */
.arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:40;width:48px;height:48px;border:1px solid rgba(255,255,255,0.22);background:rgba(0,0,0,0.12);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all 0.3s;pointer-events:all}
.arrow:hover{border-color:rgba(255,255,255,0.55);background:rgba(0,0,0,0.28)}
.arrow-prev{left:clamp(20px,4vw,48px)}
.arrow-next{right:clamp(20px,4vw,48px)}
.arrow svg{width:16px;height:16px;fill:none;stroke:#fff;stroke-width:1.5}

/* Bottom */
.hero-btm{position:absolute;bottom:1.8rem;left:0;right:0;z-index:40;display:flex;align-items:center;justify-content:center;padding:0 3rem;pointer-events:none}
.d-dots{display:flex;align-items:center;gap:12px;pointer-events:all}
.d-dot{width:20px;height:1px;background:rgba(255,255,255,0.28);cursor:pointer;transition:all 0.45s}
.d-dot.active{width:48px;background:var(--gold-l)}
.d-ctr{position:absolute;right:3rem;font-family:var(--serif);font-size:12px;color:rgba(255,255,255,0.3);letter-spacing:0.08em;pointer-events:none}
.d-ctr em{font-style:normal;font-size:20px;color:rgba(255,255,255,0.6)}
.scroll-hint{position:absolute;left:3rem;display:flex;flex-direction:column;align-items:center;gap:6px;pointer-events:none;opacity:0;animation:fadeUp 1s ease 3s forwards}
.scroll-txt{font-family:var(--sans);font-size:7px;letter-spacing:0.28em;text-transform:uppercase;color:rgba(255,255,255,0.38)}
.scroll-line{width:1px;height:36px;background:linear-gradient(180deg,rgba(255,255,255,0.38),transparent);animation:scrollPulse 2.5s ease-in-out 3.5s infinite}
@keyframes scrollPulse{0%,100%{opacity:0.4}50%{opacity:1}}
.progress{position:absolute;bottom:0;left:0;right:0;height:1.5px;background:rgba(255,255,255,0.05);z-index:45}
.progress-fill{height:100%;width:0%;background:linear-gradient(90deg,var(--gold),var(--gold-l))}

@keyframes fadeUp{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
@keyframes wordUp{to{opacity:1;transform:translateY(0)}}

@media(max-width:768px){
  nav{padding:0 1.2rem;height:62px}
  
  
  .mob-menu{top:62px}
  .nav-logo img{height:38px}
  .btn-track{padding:8px 11px;font-size:8px;letter-spacing:0.1em}.btn-connect{padding:8px 11px;font-size:8px;letter-spacing:0.1em}
  .btn-book{padding:9px 13px;font-size:8px;letter-spacing:0.1em}
  .btn-logout{padding:8px 11px;font-size:8px;letter-spacing:0.1em}
  .hero-frame{inset:10px}
  .corner{width:30px;height:30px}
  .arrow{width:36px;height:36px}
  .arrow-prev{left:12px}
  .arrow-next{right:12px}
  .d-ctr,.scroll-hint{display:none}
  .h-sub{font-size:clamp(15px,4vw,22px)}
}

/* Footer + back-to-top chrome — extracted verbatim from index.html */

/* ═══ FOOTER BASE ═══ */
.site-footer{
  background:#0a0906;
  position:relative;
}

/* ── CONTACT FORM STRIP ── */
.footer-form-strip{
  border-bottom:0.5px solid rgba(201,168,76,0.1);
  padding:5rem 4rem;
  background:rgba(255,255,255,0.01);
}
.footer-form-wrap{
  max-width:1000px;
  margin:0 auto;
}
.footer-form-header{
  margin-bottom:2.5rem;
}
.footer-form-eye{
  font-family:var(--sans);font-size:9px;
  letter-spacing:0.32em;text-transform:uppercase;
  color:var(--gold);margin-bottom:0.8rem;
}
.footer-form-title{
  font-family:var(--serif);font-style:italic;font-weight:300;
  font-size:clamp(20px,2.5vw,32px);
  color:#fff;line-height:1.3;letter-spacing:-0.01em;
}

/* Form grid */
.footer-form-row{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:1rem;
  margin-bottom:1rem;
}
.footer-form-field{
  display:flex;flex-direction:column;gap:0.4rem;
}
.footer-form-field-full{
  margin-bottom:1.2rem;
}
.footer-form-label{
  font-family:var(--sans);font-size:9px;
  letter-spacing:0.18em;text-transform:uppercase;
  color:rgba(255,255,255,0.4);
}
.footer-form input,
.footer-form select,
.footer-form textarea{
  background:rgba(255,255,255,0.04);
  border:0.5px solid rgba(255,255,255,0.1);
  color:#fff;
  font-family:var(--sans);font-size:13px;font-weight:300;
  padding:10px 14px;
  outline:none;
  transition:border-color 0.3s,background 0.3s;
  width:100%;
  appearance:none;
  -webkit-appearance:none;
}
.footer-form input::placeholder,
.footer-form textarea::placeholder{
  color:rgba(255,255,255,0.2);
}
.footer-form input:focus,
.footer-form select:focus,
.footer-form textarea:focus{
  border-color:rgba(201,168,76,0.5);
  background:rgba(255,255,255,0.06);
}
.footer-form select{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='rgba(201,168,76,0.6)'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right 14px center;
  padding-right:32px;
  cursor:pointer;
}
.footer-form select option{
  background:#1a1918;color:#fff;
}
.footer-form textarea{
  resize:vertical;min-height:80px;
}

/* Submit row */
.footer-form-submit-row{
  display:flex;align-items:center;
  justify-content:space-between;
  gap:1rem;flex-wrap:wrap;
}
.footer-form-legal{
  font-family:var(--sans);font-size:10px;
  color:rgba(255,255,255,0.2);line-height:1.6;
}
.footer-form-legal a{
  color:rgba(255,255,255,0.35);
  text-decoration:none;
}
.footer-form-btn{
  display:inline-flex;align-items:center;gap:0.6rem;
  background:var(--pink);border:none;cursor:pointer;
  font-family:var(--sans);font-size:10px;
  font-weight:500;letter-spacing:0.2em;text-transform:uppercase;
  color:#fff;padding:12px 28px;
  transition:background 0.25s,gap 0.3s;
  white-space:nowrap;
}
.footer-form-btn:hover{background:var(--pink2);gap:0.9rem}
.footer-form-btn-arrow{
  display:inline-block;transition:transform 0.3s;
}
.footer-form-btn:hover .footer-form-btn-arrow{transform:translateX(4px)}

/* Success message */
.footer-form-success{
  padding:1rem 0;
  font-family:var(--serif);font-style:italic;
  font-size:16px;color:var(--gold-l);
}

/* ── MAIN COLUMNS ── */
.footer-main{
  display:grid;
  grid-template-columns:1.5fr 1fr 1fr 1.2fr;
  gap:3rem;
  max-width:1200px;margin:0 auto;
  padding:5rem 4rem;
  border-bottom:0.5px solid rgba(201,168,76,0.1);
}

/* Brand col */
.footer-logo{
  display:block;height:40px;width:auto;
  margin-bottom:1.6rem;
  opacity:0.85;
}
.footer-seo-text{
  font-family:var(--sans);font-size:11px;
  font-weight:300;line-height:1.85;
  color:rgba(255,255,255,0.38);
  margin-bottom:2rem;
}

/* Chotusingh */
.footer-chotu{
  margin-bottom:1.2rem;
}
.footer-chotu-img{
  display:block;height:100px;width:auto;
  object-fit:contain;
  mix-blend-mode:lighten;
  filter:brightness(1.1) contrast(1.05);
  margin-bottom:0.4rem;
}
.footer-chotu-line{
  font-family:var(--serif);font-style:italic;font-weight:300;
  font-size:11px;color:rgba(255,255,255,0.22);
  line-height:1.5;
}

/* Nav cols */
.footer-col{
  display:flex;flex-direction:column;
}
.footer-col-brand{
  display:flex;
  flex-direction:column;
}
.footer-col-title{
  font-family:var(--sans);font-size:9px;
  font-weight:500;letter-spacing:0.28em;text-transform:uppercase;
  color:var(--gold);
  margin-bottom:1.4rem;
  padding-bottom:0.8rem;
  border-bottom:0.5px solid rgba(201,168,76,0.15);
}
.footer-links{
  list-style:none;
  display:flex;flex-direction:column;gap:0.65rem;
}
.footer-links a{
  font-family:var(--sans);font-size:12px;font-weight:300;
  color:rgba(255,255,255,0.42);text-decoration:none;
  transition:color 0.3s ease, padding-left 0.3s ease;
  line-height:1.4;display:block;
}
.footer-links a:hover{
  color:rgba(255,255,255,0.85);
  padding-left:4px;
}

/* Contact col */
.footer-col-contact{
  justify-content:space-between;
  display:flex;
  flex-direction:column;
}
.footer-col-contact .footer-apps{
  margin-top:auto;
}
.footer-contact-item{margin-bottom:1.1rem}
.footer-contact-lbl{
  display:block;
  font-family:var(--sans);font-size:8px;
  letter-spacing:0.22em;text-transform:uppercase;
  color:var(--gold);opacity:0.65;margin-bottom:0.25rem;
}
.footer-address{
  font-family:var(--sans);font-size:11px;font-weight:300;
  line-height:1.7;color:rgba(255,255,255,0.38);
  font-style:normal;
}
.footer-contact-val{
  display:block;
  font-family:var(--sans);font-size:12px;font-weight:300;
  color:rgba(255,255,255,0.42);text-decoration:none;
  line-height:1.7;transition:color 0.25s;
}
a.footer-contact-val:hover{color:rgba(255,255,255,0.8)}

/* Social */
.footer-social{
  display:flex;gap:0.6rem;flex-wrap:wrap;
  margin-top:1.2rem;margin-bottom:1.6rem;
}
.footer-social-ico{
  width:32px;height:32px;
  border:0.5px solid rgba(255,255,255,0.12);
  display:flex;align-items:center;justify-content:center;
  color:rgba(255,255,255,0.4);text-decoration:none;
  transition:border-color 0.3s,color 0.3s;
}
.footer-social-ico:hover{
  border-color:rgba(201,168,76,0.5);color:var(--gold-l);
}
.footer-social-ico svg{width:14px;height:14px}
.footer-social-wa:hover{
  border-color:rgba(37,211,102,0.5);color:#25D366;
}

/* App badges */
.footer-apps{margin-top:auto}
.footer-apps-label{
  font-family:var(--sans);font-size:8px;
  letter-spacing:0.22em;text-transform:uppercase;
  color:var(--gold);opacity:0.65;margin-bottom:0.8rem;
}
.footer-apps-row{display:flex;flex-direction:column;gap:0.5rem}
.footer-app-badge{
  display:block;text-decoration:none;
  border:0.5px solid rgba(255,255,255,0.15);
  padding:8px 14px;
  transition:border-color 0.3s,background 0.3s;
}
.footer-app-badge:hover{
  border-color:rgba(201,168,76,0.4);
  background:rgba(255,255,255,0.03);
}
.footer-app-inner{
  display:flex;align-items:center;gap:10px;
}
.footer-app-icon{
  font-size:22px;color:#fff;
  line-height:1;flex-shrink:0;
}
.footer-app-text{
  display:flex;flex-direction:column;gap:1px;
}
.footer-app-sub{
  font-family:var(--sans);font-size:8px;
  color:rgba(255,255,255,0.45);letter-spacing:0.06em;
}
.footer-app-name{
  font-family:var(--sans);font-size:13px;
  font-weight:500;color:#fff;letter-spacing:0.02em;
}

/* Legal strip */
.footer-legal{
  background:#070604;
  padding:1.4rem 4rem;
}
.footer-legal-inner{
  max-width:1200px;margin:0 auto;
  display:flex;flex-direction:column;
  align-items:center;gap:0.5rem;text-align:center;
}
.footer-legal-links{
  display:flex;flex-wrap:wrap;align-items:center;
  justify-content:center;gap:0.5rem;
}
.footer-legal-links a,
.footer-legal-txt{
  font-family:var(--sans);font-size:10px;
  color:rgba(255,255,255,0.28);text-decoration:none;
  transition:color 0.25s;
}
.footer-legal-links a:hover{color:rgba(255,255,255,0.6)}
.footer-sep{color:rgba(255,255,255,0.18);font-size:10px}
.footer-copyright{
  font-family:var(--sans);font-size:10px;
  color:rgba(255,255,255,0.18);line-height:1.6;
}

/* Mobile */
@media(max-width:1024px){
  .footer-form-row{grid-template-columns:1fr 1fr;}
  .footer-main{grid-template-columns:1fr 1fr;padding:4rem 3rem;}
  .footer-col-brand{grid-column:1/-1;}
  .footer-form-strip{padding:4rem 3rem;}
}
@media(max-width:640px){
  .footer-form-row{grid-template-columns:1fr;}
  .footer-main{grid-template-columns:1fr;padding:3rem 1.5rem;gap:2.5rem;}
  .footer-form-strip{padding:3rem 1.5rem;}
  .footer-legal{padding:1.2rem 1.5rem;}
  .footer-form-submit-row{flex-direction:column;align-items:flex-start;}
  .footer-form-btn{width:100%;justify-content:center;}
}

/* ── Footer SEO text — hidden from visitors, present for Google ── */
.footer-seo-hidden{
  position:absolute !important;
  width:1px !important;
  height:1px !important;
  overflow:hidden !important;
  clip:rect(0,0,0,0) !important;
  white-space:nowrap !important;
  pointer-events:none !important;
  visibility:hidden !important;
  opacity:0 !important;
  display:block !important;
  font-size:0 !important;
  line-height:0 !important;
}
/* ── Footer brand statement — visible, premium ── */
.footer-brand-statement{
  font-family:var(--serif);
  font-style:italic;
  font-weight:300;
  font-size:clamp(14px,1.3vw,17px);
  line-height:1.7;
  color:rgba(255,255,255,0.45);
  margin-bottom:1.8rem;
}

.back-to-top{
  position:fixed;
  bottom:2rem;
  left:2rem;
  width:44px;height:44px;
  border:0.5px solid rgba(201,168,76,0.35);
  display:flex;align-items:center;justify-content:center;
  color:rgba(255,255,255,0.5);
  background:rgba(12,11,10,0.85);
  backdrop-filter:blur(8px);
  text-decoration:none;
  z-index:998;
  opacity:0;
  transform:translateY(8px);
  transition:opacity 0.3s ease,transform 0.3s ease,
             border-color 0.3s ease,color 0.3s ease;
  pointer-events:none;
}
.back-to-top.visible{
  opacity:1;
  transform:translateY(0);
  pointer-events:auto;
}
.back-to-top:hover{
  border-color:rgba(201,168,76,0.7);
  color:var(--gold-l);
}
.back-to-top svg{
  width:16px;height:16px;
}
@media(max-width:768px){
  .back-to-top{
    bottom:5.5rem;
    left:1rem;
    width:40px;height:40px;
  }
}


/* ── Compact contact ── */
.footer-contact-compact{
  display:flex;flex-direction:column;gap:0.55rem;
  margin-bottom:1rem;
}
.footer-contact-row{
  font-family:var(--sans);font-size:11px;font-weight:300;
  color:rgba(255,255,255,0.42);line-height:1.5;
  display:flex;align-items:baseline;gap:0.5rem;
  flex-wrap:wrap;
}
.footer-contact-row a{
  color:rgba(255,255,255,0.42);text-decoration:none;
  transition:color 0.25s;
}
.footer-contact-row a:hover{color:rgba(255,255,255,0.8)}
.fcc-lbl{font-size:10px;flex-shrink:0;opacity:0.6}
.fcc-sep{opacity:0.35;margin:0 2px}

/* ── App icon buttons ── */
.footer-apps-row{
  display:flex;gap:0.8rem;
  flex-direction:row !important;
}
.footer-app-icon-btn{
  display:flex;align-items:center;justify-content:center;
  width:40px;height:40px;
  border:0.5px solid rgba(255,255,255,0.15);
  color:rgba(255,255,255,0.5);
  text-decoration:none;
  transition:border-color 0.3s,color 0.3s;
}
.footer-app-icon-btn:hover{
  border-color:rgba(201,168,76,0.5);
  color:var(--gold-l);
}
.footer-app-icon-btn svg{width:20px;height:20px}

.footer-threshold{
  width:100%;height:1px;
  background:linear-gradient(90deg,
    transparent,rgba(201,168,76,0.4) 50%,transparent);
}

/* ── Site chrome (cookie / preloader / mobile sticky CTA) ──
   Kept global so pages whose extracted styleCss omitted these rules
   don't dump unstyled bars into the document flow. */
.cookie-bar{
  position:fixed;bottom:0;left:0;right:0;
  z-index:997;
  background:var(--dark2);
  border-top:0.5px solid rgba(201,168,76,0.2);
  padding:1rem 2rem;
  display:flex;align-items:center;justify-content:space-between;
  gap:2rem;
  transform:translateY(100%);
  transition:transform 0.5s cubic-bezier(0.16,1,0.3,1);
  pointer-events:none;
}
.cookie-bar.show{
  transform:translateY(0);
  pointer-events:auto;
}
.cookie-txt{
  font-family:var(--sans);font-size:12px;
  color:rgba(255,255,255,0.55);
  line-height:1.6;margin:0;
}
.cookie-link{color:var(--gold);text-decoration:none}
.cookie-link:hover{text-decoration:underline}
.cookie-btn{
  flex-shrink:0;
  font-family:var(--sans);font-size:9px;
  font-weight:500;letter-spacing:0.18em;
  text-transform:uppercase;
  background:var(--pink);color:#fff;
  border:none;padding:8px 20px;
  cursor:pointer;transition:background 0.25s;
  white-space:nowrap;
}
.cookie-btn:hover{background:var(--pink2)}

.preloader{
  position:fixed;inset:0;
  z-index:9999;
  background:var(--dark2);
  display:flex;align-items:center;justify-content:center;
  transition:opacity 0.8s ease, visibility 0.8s ease;
}
.preloader.hidden{
  opacity:0;
  visibility:hidden;
  pointer-events:none;
}
.pre-inner{
  display:flex;flex-direction:column;
  align-items:center;gap:1rem;
}
.pre-monogram{
  font-family:var(--serif);
  font-style:italic;
  font-weight:300;
  font-size:clamp(48px,8vw,80px);
  color:transparent;
  -webkit-text-stroke:1px rgba(201,168,76,0.8);
  letter-spacing:0.08em;
}
.pre-line{
  width:48px;height:1px;
  background:linear-gradient(90deg,transparent,var(--gold),transparent);
}
.pre-text{
  font-family:var(--sans);
  font-size:9px;
  letter-spacing:0.32em;
  text-transform:uppercase;
  color:rgba(201,168,76,0.5);
  margin:0;
}

.mob-sticky-cta{
  display:none;
  position:fixed;
  bottom:0;left:0;right:0;
  z-index:996;
  padding:0.75rem 1rem;
  background:rgba(245,240,232,0.97);
  backdrop-filter:blur(12px);
  border-top:0.5px solid rgba(0,0,0,0.08);
  box-shadow:0 -4px 24px rgba(0,0,0,0.08);
}
.mob-sticky-btn{
  display:block;
  width:100%;
  padding:0.85rem;
  background:var(--pink);
  color:#fff;
  text-align:center;
  font-family:var(--sans);
  font-size:11px;
  font-weight:500;
  letter-spacing:0.18em;
  text-transform:uppercase;
  text-decoration:none;
  transition:background 0.25s;
}
.mob-sticky-btn:hover{background:var(--pink2)}
@media(max-width:768px){
  .mob-sticky-cta{display:block}
  .cookie-bar{flex-direction:column;padding:1rem 1.4rem;gap:0.8rem;text-align:center}
  .cookie-btn{width:100%;padding:10px}
}

.book-pill{
  display:none;
  position:fixed;bottom:1.5rem;left:50%;transform:translateX(-50%);
  background:var(--pink);color:#fff;
  font-family:var(--sans);font-size:10px;font-weight:500;
  letter-spacing:.18em;text-transform:uppercase;
  padding:.75rem 1.8rem;border-radius:30px;
  text-decoration:none;white-space:nowrap;
  box-shadow:0 4px 20px rgba(192,65,90,.4);
  z-index:995;
  align-items:center;gap:.5rem;
}
.book-pill svg{display:inline-block;vertical-align:-2px}
@media(max-width:768px){
  .book-pill{display:inline-flex}
  .book-pill.hidden{display:none}
}
