:root{
  --ink:#090909 !important;
  --sea:#c9a45c !important;
  --sky:#171717 !important;
  --gold:#c9a45c !important;
  --coral:#c9a45c !important;
  --paper:#f7f5ef !important;
  --muted:#6d675e !important;
  --line:rgba(10,10,10,.16) !important;
}

html{scroll-padding-top:126px}
body{background:#f7f5ef;color:#090909;padding-top:118px}
body.home{padding-top:0}
body::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:
    radial-gradient(circle at 88% 16%,rgba(201,164,92,.13) 0 1px,transparent 2px 100%),
    radial-gradient(circle at 12% 76%,rgba(201,164,92,.09) 0 1px,transparent 2px 100%),
    linear-gradient(115deg,transparent 0 72%,rgba(201,164,92,.07) 72% 72.15%,transparent 72.15% 100%);
  background-size:260px 260px,340px 340px,100% 100%;
}
body::after{
  content:"";
  position:fixed;
  z-index:18;
  pointer-events:none;
  width:360px;
  height:360px;
  right:-225px;
  top:28%;
  border:1px solid rgba(201,164,92,.48);
  border-radius:50%;
  box-shadow:0 0 0 34px rgba(201,164,92,.045),0 0 0 68px rgba(201,164,92,.025);
}
.section:not(.dark),.location-section,.gallery-canvas{
  background-color:rgba(247,245,239,.94) !important;
  background-image:
    linear-gradient(90deg,transparent calc(100% - 1px),rgba(201,164,92,.08) 1px),
    linear-gradient(0deg,transparent calc(100% - 1px),rgba(201,164,92,.055) 1px) !important;
  background-size:84px 84px !important;
}
.section:not(.dark),.location-section,.gallery-canvas,.salvatore-section{position:relative;isolation:isolate;overflow:hidden}
.section:not(.dark)>.wrap,.location-section>.wrap,.gallery-canvas>.wrap,.salvatore-section>.wrap{position:relative;z-index:1}
.section:not(.dark)::after,.location-section::after,.gallery-canvas::after{
  content:"";
  position:absolute;
  z-index:0;
  width:min(36vw,520px);
  aspect-ratio:1;
  right:-12vw;
  top:8%;
  border:1px solid rgba(201,164,92,.32);
  border-radius:50%;
  box-shadow:0 0 0 46px rgba(201,164,92,.06),0 0 0 92px rgba(201,164,92,.035);
  pointer-events:none;
}

.top,.home .top{
  position:fixed !important;
  inset:0 0 auto 0 !important;
  z-index:9999 !important;
  width:100% !important;
  background:rgba(5,5,5,.96) !important;
  border-bottom:1px solid rgba(201,164,92,.38) !important;
  backdrop-filter:blur(18px) !important;
  transform:translateZ(0);
}
.navlinks.open{position:fixed !important;background:#050505 !important}
.utility-bar{height:30px;border-bottom:1px solid rgba(201,164,92,.24);font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:#d7d1c7}
.utility-bar .wrap{height:100%;display:flex;align-items:center;justify-content:flex-end;gap:18px}
.utility-bar span{margin-right:auto;color:#9f988e}
.utility-bar a{color:#d6b86f;font-weight:700}
.navlinks a:hover,.navlinks a.active{border-color:#c9a45c !important}
.btn,.contact-submit{background:#c9a45c !important;border-color:#c9a45c !important;color:#090909 !important}
.btn:hover,.contact-submit:hover{background:#e1c27d !important;border-color:#e1c27d !important}
.btn.outline{background:rgba(0,0,0,.5) !important;border-color:#c9a45c !important;color:#fff !important}
.eyebrow,.tag,.icon,.footer h4{color:#c9a45c !important}

.section.dark,.global-carousel,.global-contact,.gallery-page,.gallery-page-modern,.gallery-hero,.contact-hero-modern,.salvatore-section{background:#090909 !important}
.global-carousel,.global-contact,.gallery-page,.gallery-page-modern,.gallery-hero,.contact-hero-modern,.salvatore-section{color:#fff !important}
.carousel-controls button{color:#c9a45c !important;border-color:#c9a45c !important}
.carousel-track figure{background:#090909 !important}
.carousel-track figcaption,.gallery-hero p,.contact-hero-modern p{color:#d2cdc4 !important}
.gallery-link,.text-link{color:#b58c42 !important}
.masonry figure{background:#151515 !important}
.masonry figcaption{background:linear-gradient(transparent,rgba(0,0,0,.94)) !important}
.room-body{background:#111 !important;color:#fff !important}
.room-body p,.dark .section-head p{color:#ccc6bd !important}
.info-box{background:#151515 !important;color:#fff !important;border-color:#c9a45c !important}
.global-contact form{background:#f5f0e5 !important;color:#17130d !important;box-shadow:28px 28px 0 #c9a45c !important}
.global-contact input:focus,.global-contact select:focus,.global-contact textarea:focus{border-color:#c9a45c !important;box-shadow:0 0 0 3px rgba(201,164,92,.2) !important}
.contact-card{box-shadow:26px 26px 0 #c9a45c !important}
.image-frame img{box-shadow:30px 30px 0 #111 !important}
.image-label{background:#c9a45c !important;color:#090909 !important}
.whatsapp{background:#090909 !important;color:#c9a45c !important;border:1px solid #c9a45c !important}
.footer{background:#050505 !important;color:#c9c4bb !important;border-top:1px solid rgba(201,164,92,.35) !important}
.powered span{color:#c9a45c !important}
.salvatore-story{align-self:center}

.bbplanner-section{position:relative;padding:68px 0;background:#0a0a0a;color:#fff;border-top:1px solid rgba(201,164,92,.38);border-bottom:1px solid rgba(201,164,92,.38)}
.bbplanner-heading{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:28px}
.bbplanner-heading h2{margin:.18em 0 0;font-size:clamp(2.2rem,4vw,4rem)}
.bbplanner-heading p{max-width:430px;color:#c9c4bb;margin:0}
.bbplanner-direct{display:grid;grid-template-columns:1fr 1fr .56fr .56fr 1.15fr;border:1px solid rgba(201,164,92,.65);background:rgba(255,255,255,.04);box-shadow:0 24px 70px rgba(0,0,0,.3)}
.bbplanner-direct label{display:grid;gap:8px;padding:17px 20px;border-right:1px solid rgba(201,164,92,.28)}
.bbplanner-direct label span{color:#c9a45c;font-size:.72rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.bbplanner-direct input,.bbplanner-direct select{width:100%;min-height:42px;padding:0;border:0;border-bottom:1px solid rgba(255,255,255,.28);background:transparent;color:#fff;font:inherit;font-size:1rem;color-scheme:dark;outline:none}
.bbplanner-direct input:focus,.bbplanner-direct select:focus{border-color:#c9a45c}
.bbplanner-direct button{border:0;background:#c9a45c;color:#090909;font:inherit;font-weight:850;text-transform:uppercase;letter-spacing:.08em;cursor:pointer;padding:18px;transition:.2s}
.bbplanner-direct button:hover{background:#e1c27d}
.bbplanner-direct button span{margin-left:8px}
.booking-trust{display:flex;gap:30px;flex-wrap:wrap;margin-top:18px;color:#bdb7ae;font-size:.82rem}
.booking-trust span::first-letter{color:#c9a45c}

.availability-bar{grid-column:1/-1;align-self:end;display:grid;grid-template-columns:1.15fr repeat(3,minmax(145px,.62fr)) minmax(150px,.5fr);align-items:end;gap:1px;margin-top:38px;background:rgba(201,164,92,.55);border:1px solid rgba(201,164,92,.72);box-shadow:0 20px 50px rgba(0,0,0,.28)}
.availability-bar>div,.availability-bar label{height:78px;background:rgba(8,8,8,.92);padding:13px 18px;color:#fff}
.availability-title{display:flex;flex-direction:column;justify-content:center}
.availability-title span{font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:#c9a45c}
.availability-title strong{font-family:var(--serif);font-size:1.15rem;font-weight:400}
.availability-bar label{display:grid;gap:4px;font-size:.64rem;text-transform:uppercase;letter-spacing:.14em;color:#b9b2a8}
.availability-bar input,.availability-bar select{width:100%;border:0;border-bottom:1px solid rgba(201,164,92,.45);background:transparent;color:#fff;padding:3px 0;font:inherit;color-scheme:dark}
.availability-bar button{height:78px;border:0;background:#c9a45c;color:#090909;font-weight:850;text-transform:uppercase;letter-spacing:.1em;cursor:pointer}
.availability-bar button:hover{background:#e1c27d}

@media(max-width:850px){
  html{scroll-padding-top:102px}body{padding-top:102px}body.home{padding-top:102px}
  .top,.home .top{background:#050505 !important}
  .navlinks.open{top:102px !important;left:0 !important;right:0 !important;max-height:calc(100svh - 102px);overflow:auto}
  .availability-bar{grid-template-columns:1fr 1fr}.availability-title,.availability-bar button{grid-column:1/-1}.availability-bar>div,.availability-bar label,.availability-bar button{height:68px}
  body::after{width:230px;height:230px;right:-165px;top:34%;opacity:.8}
  .bbplanner-heading{display:block}.bbplanner-heading p{margin-top:14px}.bbplanner-direct{grid-template-columns:1fr 1fr}.bbplanner-direct button{grid-column:1/-1;min-height:62px}.bbplanner-direct label:nth-of-type(2){border-right:0}
}
@media(max-width:560px){
  .global-contact form{box-shadow:10px 10px 0 #c9a45c !important}
  .image-frame img{box-shadow:12px 12px 0 #111 !important}
  .utility-bar span{display:none}.utility-bar .wrap{justify-content:center;gap:14px}.availability-bar{display:grid;margin-top:26px}.availability-bar>div,.availability-bar label,.availability-bar button{padding:10px 12px}.availability-title strong{font-size:1rem}
  .bbplanner-section{padding:52px 0}.bbplanner-direct{grid-template-columns:1fr}.bbplanner-direct label{border-right:0;border-bottom:1px solid rgba(201,164,92,.22)}.bbplanner-direct button{grid-column:auto}.booking-trust{display:grid;gap:8px}
}

.legal-links{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.legal-links a,.legal-links button{color:#d8d2c8;text-decoration:underline;text-underline-offset:3px}.legal-links button{border:0;background:none;padding:0;font:inherit;cursor:pointer}.legal-page{background:#0a0a0a;color:#eee}.legal-wrap{max-width:920px}.legal-wrap h1{font-size:clamp(3rem,7vw,6rem);margin:.18em 0 .25em;color:#fff}.legal-wrap h2{font-family:inherit;font-size:1.2rem;font-weight:800;color:#c9a45c;margin:2.2rem 0 .5rem}.legal-wrap p{color:#cfcac2;max-width:78ch}.legal-wrap a:not(.btn){color:#e2bd73;text-decoration:underline}.legal-update{font-size:.86rem;text-transform:uppercase;letter-spacing:.08em}.cookie-banner{position:fixed;z-index:1000;left:24px;right:24px;bottom:24px;max-width:760px;margin:auto;background:#0a0a0a;color:#eee;border:1px solid #c9a45c;padding:24px;box-shadow:0 18px 60px #000b}.cookie-banner strong{font-family:Georgia,serif;font-size:1.35rem;color:#fff}.cookie-banner p{margin:.5rem 0 1rem;color:#cfcac2}.cookie-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.cookie-actions button,.cookie-actions a{min-height:44px;padding:0 17px;border:1px solid #c9a45c;background:transparent;color:#fff;font:inherit;font-weight:700;cursor:pointer;display:inline-flex;align-items:center}.cookie-actions .cookie-accept{background:#c9a45c;color:#090909}.cookie-actions a{border:0;text-decoration:underline;padding-inline:5px}.map-consent{min-height:420px;background:#121212;border:1px solid #c9a45c;display:grid;place-items:center;padding:32px;text-align:center}.map-consent>div{max-width:430px}.map-consent strong{font-family:Georgia,serif;font-size:1.8rem;color:#fff}.map-consent p{color:#cfcac2}.map-consent .btn{margin-top:8px}@media(max-width:700px){.cookie-banner{left:12px;right:12px;bottom:12px;padding:20px}.cookie-actions>*{flex:1;justify-content:center}.footer-bottom{gap:14px}.legal-links{margin-bottom:12px}}

.pizzo-statement{position:relative;min-height:78svh;display:grid;align-items:end;background:linear-gradient(90deg,rgba(0,0,0,.84),rgba(0,0,0,.18)),url('assets/pizzo-panorama.jpg') center 55%/cover;color:#fff;padding:11vw 0 7vw}.pizzo-statement::after{content:"";position:absolute;inset:0;border:1px solid rgba(201,164,92,.35);pointer-events:none}.pizzo-statement .wrap{position:relative;z-index:1}.pizzo-statement h2{font-size:clamp(3.4rem,8vw,7.8rem);max-width:900px;margin:.16em 0;line-height:.9}.pizzo-statement p{font-size:1.15rem;max-width:530px;color:#eee}.pizzo-statement small{display:block;margin-top:26px;color:#d1ccc3;font-size:.68rem}.pizzo-hero{min-height:72svh;background-position:center 42%;position:relative}.pizzo-hero::after{content:"";position:absolute;inset:0;border-bottom:1px solid rgba(201,164,92,.55);pointer-events:none}.pizzo-hero .wrap{position:relative;z-index:1}.photo-credit{font-size:.68rem;color:#ddd;margin:16px 0 0;letter-spacing:.04em}.route figure{margin:0;position:relative}.route figure img{height:100%;min-height:560px;object-fit:cover}.route figcaption{position:absolute;left:12px;bottom:12px;background:rgba(0,0,0,.72);color:#ddd;padding:7px 10px;font-size:.65rem}.destination-card{position:relative;overflow:hidden;transition:transform .3s,border-color .3s}.destination-card::after{content:"";position:absolute;width:90px;height:90px;border:1px solid rgba(201,164,92,.24);border-radius:50%;right:-35px;top:-35px}.destination-card:hover{transform:translateY(-6px);border-color:#c9a45c}.feature .icon{stroke-linecap:round;stroke-linejoin:round}
@media(max-width:700px){.global-contact form{display:none !important}.global-contact{padding:60px 0}.contact-heading{max-width:none}.pizzo-statement{min-height:68svh;padding:90px 0 54px}.pizzo-statement h2{font-size:3.6rem}.pizzo-hero{min-height:62svh}.route figure img{min-height:360px}.route figcaption{position:static;background:#111}.editorial-gallery{gap:10px}}
