
/* ===== REFERENCE ONLY ===== */
#REF-gold			{color:rgb(180, 160, 120);	}
#REF-gold-light		{color:rgb(230, 205, 145);	}
#REF-copper			{color:rgb(025, 020, 022);	}
#REF-copper-light	{color:rgb(050, 040, 043);	}
#REF-white			{color:rgb(232, 228, 223);	}


/* ===== Theme ===== */	
:root 	{
			--gold: 180, 160, 120;
			--gold-light: 230, 205, 145;
			
			--copper: 25, 20, 22;
			--copper-light: 50,40,43;
			
			--white:232, 228, 223;
			
		}	
		
.is-visible {opacity:1}
.is-hidden {opacity:0}

.dark {color:rgb(var(--copper))}
html {scroll-behavior:smooth}
body * {box-sizing:border-box}
html,body {font-family:'Inter'!important;background:rgb(var(--copper));max-width:100vw;overflow-x:hidden;margin:0;padding:0;font-weight:500;font-size:1.05rem;line-height:1.7;box-sizing:border-box}
h1,h2,h3,b,strong,.b,.cta {font-weight:800;font-family:'Sora';padding:0;margin:0}
em {font-style:normal}
li {list-style:none;color:rgb(var(--gold))}
ul,P {margin:0;padding:0}
a {text-decoration:underline;color:inherit;cursor:pointer;transition:all 0.25s ease}
header.standard {text-align:center;margin-top:80px;}
header h1 {line-height:0.8;color:rgb(var(--white));font-size:clamp(2.8rem,8vw,4.5rem);text-shadow:-5px 5px 10px rgba(0, 0, 0, 0.303)}
header p {font-size:clamp(1.4rem,4vw,2rem);color:rgb(var(--gold));padding:0}
.extra {margin-bottom:40px}
a:hover {color:rgb(var(--white));}
a.cta {box-sizing:border-box;display:inline-block;border:4px solid #222;margin-top:10px;border-radius:10px;box-shadow:-10px 10px 10px rgba(0,0,0,0.3);padding:10px 30px;font-size:1.2rem;background:rgb(var(--gold));color:rgb(var(--copper));transition:background 0.3s ease;text-decoration:none;text-align:center;min-width:250px}
a.cta:hover {background:rgb(var(--white));cursor:pointer}
p {color:rgb(var(--gold))}
h2 {color:rgb(var(--white));line-height:1.2}
.wh {color:rgb(var(--white))}
.caps {text-transform:capitalize}
.lowercase {text-transform:lowercase}
.uppercase {text-transform: uppercase}
.center {text-align:center;}
.editorial-heading {font-size:2rem;margin:0 auto 40px auto;opacity:0.9}
#about-section{scroll-margin-top:80px;}
#videos-section,#booking-section,#photos-section, #package-section {scroll-margin-top:160px;}
.sv {width:40px;height:auto;display:block}
.sv svg {transition:all .3s ease;border-radius:50%}
.sv svg .b {fill:rgb(var(--gold));}
.sv svg .f {fill:rgb(var(--white));}
.sv svg .d {fill:rgb(var(--gold));}
.sv svg:hover {filter:brightness(1.2);transform:scale(1.1)}
.social-icons svg {fill:rgb(var(--gold));transition:all .3s ease;border-radius:5px}
.social-icons svg:hover {fill:rgb(var(--white));transform:scale(1.1)}
.social-icons {display:flex;gap:10px;justify-content:center;}
.moreServices {padding:40px;text-decoration:none;color:rgb(var(--gold));text-align:center;max-width:70ch;margin:auto}
.moreServices a {text-decoration:none;color:rgb(var(--gold))}
.moreServices a:hover {text-decoration:none;color:rgb(var(--white))}
ul.linkList li {color:rgb(var(--copper))}
a.noUnderline {text-decoration:none}

/* --------------------------- NAVIGATION --------------------------- */

nav{position:absolute;top:0;z-index:99}
#menu-background{height:80px;width:100%;display:block;position:fixed;z-index:89;overflow:hidden;transition:opacity 0.3s ease-in-out;background:rgb(var(--copper));background-image:linear-gradient(15deg, rgba(var(--copper),1), rgba(var(--copper-light),1), rgba(var(--copper),1));box-shadow:0 10px 20px rgba(0, 0, 0, 0.4)}
#menu-background::before {position:absolute;content:'';inset:0;background:url('/img/leopard-01.svg');display:block;background-size:400px;opacity:0.2}
#menu-background::after {bottom:0;left:0;content:'';position:absolute;display:block;padding-top:1px;width:100vw;background:linear-gradient(45deg, rgba(var(--gold),0.7), rgba(var(--gold-light),0.8), rgba(var(--gold),0.7));}
.logoContainer {z-index:100;position:fixed;top:20px;left:20px;}
.topTextMob:hover {background:rgb(var(--white))}
.menuNav{position:fixed;left:0;top:0;width:100vw;display:block;height:80px;z-index:98}
.menuNav a:hover {color:rgb(var(--white));}
.menuItem  {display:inline-block;color:rgb(var(--gold));fill:rgb(var(--gold));}
.menuNav a {text-decoration: none}
.menuItem a {color:rgb(var(--gold));fill:rgb(var(--gold));}
.topSVG {text-align:center;height:60px;width:60px;line-height:80px;vertical-align: middle;}
.toptext {width:100vw;text-align:left;height:80px;position:relative;top:0px;left:70px;display:block;line-height:80px;vertical-align: middle;font-size:1.2rem}
.toptext a {margin: 0 15px ;letter-spacing:0;display:inline-block}

/* --------------------------- MAIN ELEMENTS --------------------------- */
section.contain {padding:80px 0;max-width:1280px;margin:auto;}
#pic-block-main {position:relative;z-index:0;width:100vw;height:60svh;overflow:hidden;}
#pic-block-main img {display:block;width:100%;height:100%;object-fit:cover;object-position:center top;filter:saturate(0.85)}
.vq {max-width:30ch;align-self:center;margin:20px auto;font-size:0.9rem}
.logoaligntext {line-height:clamp(2.1rem,6vw,3.4rem);position:absolute;bottom:0;left:0;padding:20px;width:100%;padding-left:max(20px,calc(25vw - 200px));}
.logoaligntext h1 {font-size:clamp(2.8rem,8vw,4.5rem);color:rgb(var(--white));text-shadow:-1.5vw 1vw 0 rgba(var(--copper),0.3)}
.logoaligntext h1 span {font-weight:100;display:block;margin-top:6px;font-size:clamp(1.8rem,5vw,3rem);opacity:0.8;color:rgb(var(--white));text-shadow:none}
.logoaligntext p {font-size:clamp(1.4rem,4vw,2rem);color:rgb(var(--gold));padding-bottom:0}
.hashtag {display:block;height:80px;font-family:'Sora';position:absolute;top:0;right:20px;color:rgb(var(--gold));opacity:0.7}
.hashtag:hover {opacity:1}
.hashtag a {display:block;height:100%;line-height:80px}
.sectionaligntext {position:relative;display:block;padding-top:20px;padding-left:max(0px,calc(25vw - 220px));}
.sectionaligntext h2 {font-size:clamp(2.8rem,8vw,4.5rem);color:rgb(var(--white));text-shadow:-1.5vw 1vw 0 rgba(var(--copper),0.5)}
.sectionaligntext p {font-size:clamp(1.1rem,4vw,1.6em);color:rgb(var(--gold))}
.sectionIntro {margin:0 auto 20px auto;text-align:left;padding-left:max(0px,calc(25vw - 220px));}
.sectionIntro p {max-width:60ch;color:rgb(var(--white));opacity:0.9}
.sectionaligntext.watch {position:relative;display:block;padding-top:20px;line-height:clamp(2.1rem,6vw,3.4rem);padding-left:0}
.content {position:relative;display:flex;flex-wrap:wrap;align-items:stretch;justify-content:center;width:100%;padding:0;gap:20px;}
.textBlock {flex:1 1 400px;max-width:480px;display:flex;flex-direction:column;}
.textBlock a {text-decoration:none}
.linkBlock {flex:300px;max-width:300px;margin-bottom:40px;display:flex;flex-direction:column;justify-self: center}
.leopardLight .textBlock p,.leopardLight .textBlock h2 {padding-bottom:1rem;color:rgb(var(--copper))}
.ctaWrap {margin-top:auto;padding-bottom:40px;}
.ctaWrap-wide {text-align:center;margin-top:auto;padding-bottom:40px;margin:auto}
.hero-overlay {padding-top:80px;background:linear-gradient(rgba(42,35,30,0),rgba(42,35,30,0.67))}
.leopardDark {background:linear-gradient(15deg,rgb(var(--copper)),rgb(var(--copper-light)),rgb(var(--copper)));position:relative;display:block;padding:80px 20px;}
.leopardDark::after {bottom:0;left:0;content:'';position:absolute;display:block;padding-top:1px;width:100vw;background:linear-gradient(45deg,rgba(var(--gold),0.7),rgba(var(--gold-light),0.8),rgba(var(--gold),0.7));opacity:0.8}
.leopardLight {background:rgb(var(--copper));box-shadow:0 0 20px rgba(0,0,0,0.3);z-index:2;position:relative;display:block;padding:20px;background-image:linear-gradient(45deg,rgba(var(--gold),0.7),rgba(var(--gold-light),0.8),rgba(var(--gold),0.7)),url('/img/leopard-01.svg')}
.leopardLight {background-size:max(800px,100vw);background-position:center}
.heightHidden {display:none}
	
/* --------------------------- VIDEO --------------------------- */
span.spanTitle {font-family:'Sora';font-size:1.4rem;display:block;}
.videoGrid {display:grid;grid-template-columns:repeat(auto-fit,minmax(420px,1fr));gap:15px;align-items:start;}
.videoItem {display:block;}
.videoItem a{text-decoration: none}
.videoPoster {position:relative;overflow:hidden;border-radius:10px;margin:auto;box-shadow:-10px 10px 10px rgba(0,0,0,0.2)}
.videoPoster img {width:100%;display:block;transform:scale(1);transition:filter 0.4s ease,transform 0.4s ease;}
.videoPoster:hover img {filter:saturate(1.1) brightness(1.1);transform:scale(1.05);}
.videoWatchPlayer {max-width:100%;overflow: hidden;border-radius:10px;box-shadow:-10px 10px 10px rgba(0,0,0,0.3);margin:30px auto;padding:0}	
.videoWatchDescription {margin:60px auto}
.videoWatchDescription p {text-align:center;max-width:60ch;margin:16px auto}
.videoWatchDescription a {text-decoration:none}
.watch h1 {line-height:0.9}
video {display:block;width:100%;height:auto;margin:0;padding:0}	

/* --------------------------- GALLERY --------------------------- */
.imageGallery1 {gap:0;display:grid;grid-template-columns:repeat(3,1fr);width:100%;padding:10px}
.imageG {aspect-ratio:4/3;transform:rotate(4deg);overflow:hidden;border:0px solid rgba(var(--white),1);box-shadow:-10px 10px 20px rgba(0,0,0,0.6);border-radius:05px;background:rgba(var(--copper)); display: block;padding: 0;}
.imageG img {width:100%;height:100%;object-fit:cover;object-position:top;display:block;filter:saturate(0.8);transition:transform 0.4s ease,filter 0.4s ease;}
.imageG:hover img {transform:scale(1.05);filter:saturate(1.1);cursor:pointer;}
.galleryView {z-index:99;position:fixed;z-index:102;top:50%;left:50%;transform:translate(-50%,-50%);min-width:100vw;min-height:100vh;width:auto;height:auto;aspect-ratio:1/1;}
.fixed {position:fixed;z-index:103}
.clickClose {position:fixed;top:20px;right:50%;transform:translateX(50%);text-align:center;vertical-align:middle;color:rgb(var(--white));z-index:104;display:block;border-radius:5px;;opacity:0}
.show {opacity:1;}
.wrap {position:relative}
.zIndex0 {z-index:0}
.zIndex1 {z-index:1}
.zIndex2 {z-index:2}

/* ======== LIGHTBOX ======== */
.lightbox {position:fixed;inset:0;z-index:9999;background:rgba(0,0,0,0.95);display:flex;align-items:center;justify-content:center;padding:0;}
.lightbox[hidden] {display:none;}
.lightbox-inner {width:100vw;height:100svh;display:flex;align-items:center;justify-content:center;}
.lightbox-inner img {width:100vw;height:100svh;object-fit:cover;display:block;border-radius:0;box-shadow:none;}
.lightbox-inner img {opacity:0;transition:opacity 0.2s ease;}
.lightbox-inner img.loaded {opacity:1;}
.lightbox button {display:block;width:50px;height:50px;font-size:2rem;font-family:monospace;color:rgb(var(--white));background:rgba(var(--copper),0.7)}
.lightbox-close,.lightbox-nav {position:absolute;border:0;cursor:pointer;border-radius:999px}
.lightbox-close {top:18px;right:18px;}
.lightbox-prev {left:18px;}
.lightbox-next {right:18px;}
.lightbox-nav {top:50%;transform:translateY(-50%)}
.lightbox-close:hover,.lightbox-nav:hover {background:rgba(var(--gold))}
body.lightbox-open {position:fixed;overflow:hidden;width:100%;}
.lightbox {touch-action:none;}
.lightbox-inner,.lightbox-inner img {touch-action:pan-y;}

@media (max-width: 768px) 	{
 .lightbox {padding:20px 10px;}
 .lightbox-nav {width:42px;height:42px;font-size:1.8rem;}
 .lightbox-close {width:40px;height:40px;font-size:1.7rem;}
							 }

/* ======== PACKAGE ======== */
.packageGrid {display:grid;grid-template-columns:repeat(3,1fr);gap:50px 30px;margin:0 auto;padding:40px 20px;max-width:1600px}
.packageCell {text-align:center;padding:10px 0px;border-radius:12px;transform:rotate(-4deg);transition:transform 0.2s ease,box-shadow 0.2s ease,background-image 0.3s ease}
.packageCell:hover {filter:brightness(1.3);text-shadow:0 0 10px rgba(var(--gold),0.8);}
.packageCell h3 {margin-bottom:0px;letter-spacing:2px;color:rgb(var(--white));text-shadow:-1rem 1rem 0 rgba(var(--copper),0.7);font-size:clamp(3rem,7vw,3.8rem);line-height:1.1}
.packageCell p {font-size:1.05rem;line-height:1.5;opacity:0.85;color:rgb(var(--gold));}
.oneImage {max-width:600px;margin:auto;transform:rotate(-8deg);margin-top:40px;}
.relative {position:relative;z-index:1}
.pianoBackround {position:relative;z-index:0}
.pianoBackground::before {position:absolute;content:'';inset:0;background-image:linear-gradient(rgb(var(--copper),0.95)20%,rgba(var(--copper-light),0.2),rgba(var(--copper),0.9)63%),url('/img/slides/7.jpg');background-size:cover;background-position:center;z-index:0;opacity:1}
.hdAspect {aspect-ratio: 16/9;overflow: hidden;}
.hdAspect img {width: 100%;height: 100%;object-fit: cover;object-position: center;}
/* ---------- Tablet / Mobile ---------- */
@media (max-width: 900px) 	{
	.packageGrid {grid-template-columns: repeat(2, 1fr);gap: 20px 20px;}
	.pianoBackground::before{background-image:none;}
							  }
/* ---------- Small Mobile ---------- */
@media (max-width: 768px) 	{
	.packageGrid {grid-template-columns: repeat(1, 1fr);}
	.packageCell {padding: 18px 10px}
	.packageCell p {font-size: 0.9rem;}				
/* Mobile-only scroll reveal */
 	.packageCell {opacity: 0;transform: rotate(-4deg) translateY(58px);transition:opacity 0.6s ease,transform 0.6s ease;will-change: opacity, transform;}
	.packageCell.in-view {opacity: 1;transform: rotate(-4deg) translateY(0);}
 /* nice stagger if JS adds --delay */
 	.packageCell {transition-delay: var(--delay, 0ms);}
							}

/* ======== TRUST QUOTE ======= */

.trust-quote {max-width:640px;margin:60px auto 26px;padding:0px 24px 16px 24px;border-bottom:1px solid rgba(var(--gold), 0.25);text-align:center;}
.trust-quote-stars {font-size:1.7rem;letter-spacing:0.16em;margin-bottom:6px;color:rgb(var(--gold));line-height:1;}
.trust-quote-main {margin:0;padding:0;border:none;}
.trust-quote-main p {color:rgb(var(--white));margin:0;font-family:'Sora';opacity:0.9;font-size:clamp(1rem,2vw,1.5rem);line-height:1;position:relative;margin-top:-4px;}
.trust-quote-main p:before {font-family:'Sora';position:relative;content:'“';opacity:0.6;font-size:clamp(2.3rem, 2vw, 3rem);left:-3px;top:10px;}
.trust-quote-support {max-width:520px;margin:16px auto 0;font-size:1rem;line-height:1.3;opacity:0.9;}
.trust-quote-meta {margin-top:18px;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:4px;}
.trust-quote-credit {margin:0;font-size:0.92rem;opacity:0.9;color:rgb(var(--white))}
.trust-quote-credit span {color:rgb(var(--gold))}
.trust-quote-verified {display:inline-flex;align-items:center;gap:6px;font-weight:100;margin:0;transform:scale(0.92);transform-origin:center;color:rgb(var(--white))}
.pf-category {opacity:0.8}
.trust-footer {max-width:56ch;margin:auto;color:rgb(var(--white));opacity:0.9}
.trust-footer a {text-decoration: none;color:rgb(var(--gold));display:block;margin-top:16px}
img.googleV{height:16px;width:auto;display:block;filter:saturate(0) brightness(1.3)}
	
/* --------------------------- FOOTER --------------------------- */
.footerheight {padding:80px 20px;position:relative;background:rgb(var(--copper));color:rgb(var(--white))}
.footerheight {background:rgb(var(--copper));background-image:linear-gradient(15deg,rgba(var(--copper),1),rgba(var(--copper-light),1),rgba(var(--copper),1))}
.footerheight::before {position:absolute;content:'';inset:0;background:url('/img/leopard-01.svg');display:block;z-index:0;background-size:400px;opacity:0.075}
footer {position:relative;text-align:center}
footer a {text-decoration:none}
footer span {font-size:0.8rem;opacity:0.8}
footer p {margin-bottom:0}
.brand  {text-align:center;margin:40px auto;}
.brand .sv {text-align:center;width:100px;margin:auto}
.copyright {margin:20px auto}
.address {margin:20px auto}
				
/* -------------- Device width changes ------------------------ */

/* ---- iPAD ---- */ @media screen and (max-width:1000px) {
.videoGrid {display:grid;grid-template-columns:repeat(auto-fit,minmax(310px,1fr));gap:15px;align-items:start;}
.imageGallery1 {display:grid;grid-template-columns:repeat(2,1fr);width:100%;}

.toptext a {margin: 0 8px ;letter-spacing:-0.5px;}
	}
	
/* ---- MOBILE ---- */ @media screen and (max-width:600px) {
section.contain {padding:40px 0;max-width:100%;margin:auto;}
.leopardDark {padding:40px 20px;}
#videos-section,#booking-section,#photos-section, #package-section {scroll-margin-top:120px;}
.imageGallery1 {display:grid;grid-template-columns:repeat(2,1fr);width:100%;}
.toptext {width:100vw;text-align:left;height:80px;position:relative;top:0px;left:70px;display:block;line-height:80px;vertical-align: middle;font-size:0.98rem}
.toptext a {margin: 0 8px ;letter-spacing:-0.5px;display:inline-block}
.mobHide {display:none}
form {box-shadow:none;margin-top:0px;border-radius:0;border:0;padding:0;padding-top:0;background:none}
form h1 {color:rgb(var(--copper))}
.formContent {padding-top:40px}
.cta {width:100%}
.videoGrid {display:block;width:100%;}
}	