
:root{
  --orange:#f59605;
  --orange2:#e58800;
  --red:#ad0712;
  --red-dark:#7f0710;
  --gold:#f4a308;
  --gold-light:#ffcb4b;
  --ink:#111;
  --footer:#26282d;
  --white:#fff;
  --max:1400px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  color:#fff;
  background:var(--red);
  font-family:Georgia, "Times New Roman", serif;
  font-size:15px;
  line-height:1.6;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
.container{width:min(var(--max),calc(100% - 36px));margin:0 auto}
.site-header{background:var(--orange);color:#111;border-bottom:5px solid var(--red-dark)}
.brand-row{
  min-height:235px;
  display:grid;
  grid-template-columns:270px 1fr;
  align-items:center;
  gap:22px;
  padding:16px 0 8px;
}
.brand-emblem img{width:245px;max-height:215px;object-fit:contain}
.brand-copy{text-align:center}
.brand-title{
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(5rem,10vw,10.5rem);
  line-height:.75;
  letter-spacing:.02em;
  font-weight:500;
  margin:0;
}
.brand-subtitle{
  margin-top:20px;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(1.2rem,2.4vw,2.25rem);
  letter-spacing:.035em;
}
.brand-subtitle strong{font-variant:small-caps}
.menu-row{
  border-top:1px solid rgba(0,0,0,.08);
  min-height:55px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:22px;
  font-family:Arial,sans-serif;
  font-size:.88rem;
}
.menu,.menu-right{display:flex;align-items:center;gap:18px}
.menu-item{position:relative}
.menu-item>a{padding:17px 0;display:block}
.menu-item.has-sub>a:after{content:" ▾";font-size:.75em}
.submenu{
  display:none;position:absolute;top:48px;left:0;background:#fff;color:#222;
  min-width:280px;z-index:100;box-shadow:0 14px 35px rgba(0,0,0,.25);
  border-top:4px solid var(--red);
}
.submenu a{display:block;padding:12px 16px;font-family:Arial,sans-serif;border-bottom:1px solid #eee}
.menu-item:hover .submenu{display:block}
.book-menu{background:rgba(255,255,255,.1);padding:0 14px;border-radius:4px}
.mobile-toggle{display:none;border:0;background:transparent;font-size:1.6rem;cursor:pointer}

.gold-rule{
  height:26px;
  border-top:4px solid var(--gold);
  border-bottom:4px solid var(--gold);
  background:
    repeating-linear-gradient(90deg,var(--gold) 0 17px,var(--red) 17px 23px);
}
.hero-team{padding:22px 0 0;background:var(--red)}
.hero-team .team-photo{
  width:100%;
  height:min(570px,55vw);
  min-height:310px;
  overflow:hidden;
  position:relative;
  border:12px solid var(--red);
  background:#8b020b;
}
.hero-team .team-photo img{width:100%;height:100%;object-fit:cover;object-position:center 45%}
.hero-team .team-photo:after{
  content:"";
  position:absolute;inset:auto 0 0;height:42%;
  background:linear-gradient(transparent,rgba(0,0,0,.42))
}
.section-title{
  text-align:center;
  color:var(--gold);
  text-transform:uppercase;
  font-size:clamp(2rem,4.4vw,4.4rem);
  line-height:1.12;
  margin:28px auto;
  max-width:1150px;
}
.section-copy{
  width:min(1080px,calc(100% - 36px));
  margin:0 auto;
  text-align:center;
  color:#fff;
  font-family:Arial,sans-serif;
  font-size:1rem;
}
.section-copy strong{font-family:Georgia,"Times New Roman",serif}
.team-list{
  display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin:24px auto 34px
}
.team-chip{
  border:1px solid rgba(255,255,255,.42);
  border-radius:999px;
  padding:8px 14px;
  background:rgba(255,255,255,.06);
  font-family:Arial,sans-serif;
  font-size:.82rem;
}
.photo-slider{
  margin:20px 0 0;
  background:var(--red);
  padding:18px 0 24px;
  position:relative;
}
.slider-track{
  display:flex;
  gap:12px;
  overflow-x:auto;
  padding:0 max(18px,calc((100vw - var(--max))/2));
  scroll-snap-type:x mandatory;
  scrollbar-width:thin;
}
.slide{
  scroll-snap-align:center;
  min-width:min(1000px,86vw);
  height:min(520px,54vw);
  min-height:320px;
  background:#111;
  border:10px solid #fff;
  overflow:hidden;
  position:relative;
}
.slide img{width:100%;height:100%;object-fit:cover}
.slide-caption{
  position:absolute;left:0;right:0;bottom:0;padding:60px 26px 20px;
  background:linear-gradient(transparent,rgba(0,0,0,.78));
  font-family:Arial,sans-serif;font-size:.9rem;
}
.story-block{padding:54px 0}
.story-block.alt{background:#9f0610}
.story-block h2{
  color:#fff;text-align:center;font-size:clamp(1.7rem,3.4vw,3.25rem);
  line-height:1.25;margin:0 0 22px
}
.story-block .large-claim{
  color:var(--gold-light);
  text-transform:uppercase;
  font-size:clamp(2.1rem,4.6vw,4.5rem);
}
.story-block p{
  width:min(1020px,calc(100% - 36px));margin:0 auto 14px;
  text-align:center;font-family:Arial,sans-serif;font-size:1rem
}
.cta-wrap{text-align:center;margin:30px 0}
.btn{
  display:inline-block;
  padding:13px 25px;
  border-radius:5px;
  background:var(--gold);
  color:#fff;
  font-family:Georgia,serif;
  text-transform:uppercase;
  font-weight:700;
  border:2px solid var(--gold);
}
.btn:hover{background:#fff;color:var(--red)}
.tripadvisor{padding:10px 0 55px}
.awards{
  display:grid;grid-template-columns:repeat(3,1fr);gap:28px;
  width:min(850px,calc(100% - 36px));margin:0 auto
}
.award{
  min-height:310px;background:#fff;color:#333;padding:25px;
  display:flex;align-items:center;justify-content:center;text-align:center;
  border:3px solid #ddd;font-family:Arial,sans-serif;
}
.award strong{font-family:Georgia,serif;font-size:1.5rem;color:#222}
.award small{display:block;margin-top:13px;color:#777}
.internal-hero{
  min-height:390px;
  display:grid;place-items:center;
  text-align:center;
  padding:50px 20px;
  background-size:cover;
  background-position:center;
  position:relative;
}
.internal-hero:before{content:"";position:absolute;inset:0;background:rgba(104,0,7,.62)}
.internal-hero>*{position:relative}
.internal-hero h1{color:var(--gold-light);font-size:clamp(2.6rem,5vw,5rem);text-transform:uppercase;line-height:1.06}
.content-panel{
  width:min(1100px,calc(100% - 36px));margin:40px auto;
  background:#fff;color:#222;padding:38px;border-radius:2px;
  font-family:Arial,sans-serif;
}
.content-panel h2,.content-panel h3{font-family:Georgia,"Times New Roman",serif;color:var(--red)}
.content-panel h2{font-size:2rem}
.content-panel p{margin:0 0 18px}
.content-panel .quote{font-family:Georgia,serif;font-size:1.4rem;color:var(--red);text-align:center;padding:18px;border-top:1px solid #ddd;border-bottom:1px solid #ddd}
.cards{
  display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:28px 0
}
.card{border:1px solid #ddd;background:#fafafa}
.card img{width:100%;height:230px;object-fit:cover}
.card-body{padding:20px}
.gallery-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:12px
}
.gallery-grid img{width:100%;height:280px;object-fit:cover;background:#ddd}
.faq{margin-top:28px}
.faq details{border-bottom:1px solid #ddd}
.faq summary{cursor:pointer;padding:16px 30px 16px 0;font-family:Georgia,serif;font-size:1.15rem;position:relative}
.faq summary:after{content:"+";position:absolute;right:4px;color:var(--red);font-size:1.5rem}
.faq details[open] summary:after{content:"−"}
.book-form{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.book-form label{font-weight:700;font-size:.82rem}
.book-form input,.book-form select,.book-form textarea{
  width:100%;padding:13px;margin-top:5px;border:1px solid #bbb;font:inherit
}
.book-form textarea{min-height:130px}
.book-form .full{grid-column:1/-1}
.closing{
  background:#fff;color:#222;text-align:center;padding:45px 20px;
  font-family:Arial,sans-serif
}
.closing h2{font-family:Georgia,"Times New Roman",serif;color:var(--red);margin-top:0}
.site-footer{background:var(--footer);color:#fff;padding:26px 0;font-family:Arial,sans-serif}
.site-footer .seo-footer{
  text-align:center;
  font-size:.76rem;
  line-height:1.7;
  color:#e3e3e3
}
.site-footer .legal{
  border-top:1px solid rgba(255,255,255,.15);
  margin-top:18px;padding-top:17px;
  text-align:center;font-size:.72rem;color:#c4c4c4
}
.whatsapp{
  position:fixed;left:22px;bottom:22px;z-index:90;
  width:58px;height:58px;border-radius:50%;
  background:#25d366;color:#fff;display:grid;place-items:center;
  border:4px solid #fff;font-family:Arial,sans-serif;font-size:1.55rem;font-weight:700;
  box-shadow:0 8px 22px rgba(0,0,0,.25)
}
.notice{padding:14px;background:#fff3cd;color:#665100;border:1px solid #ffe69c;font-family:Arial,sans-serif}
@media(max-width:900px){
  .brand-row{grid-template-columns:150px 1fr;min-height:170px}
  .brand-emblem img{width:145px}
  .brand-title{font-size:clamp(3.5rem,10vw,6rem)}
  .brand-subtitle{font-size:1.2rem;margin-top:10px}
  .menu-row{align-items:flex-start;padding:8px 0}
  .mobile-toggle{display:block}
  .menu,.menu-right{display:none;width:100%;flex-direction:column;align-items:flex-start;gap:0}
  .menu.open,.menu-right.open{display:flex}
  .menu-row{flex-wrap:wrap}
  .menu-item{width:100%}
  .menu-item>a{padding:9px 0}
  .submenu{position:static;box-shadow:none;width:100%;display:none}
  .menu-item.subopen .submenu{display:block}
  .awards,.cards,.gallery-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:600px){
  .container{width:min(100% - 22px,var(--max))}
  .brand-row{grid-template-columns:95px 1fr;gap:7px;min-height:128px}
  .brand-emblem img{width:90px}
  .brand-title{font-size:3.25rem}
  .brand-subtitle{font-size:.85rem}
  .gold-rule{height:18px}
  .hero-team .team-photo{height:360px;border-width:6px}
  .slide{min-width:92vw;height:330px;border-width:6px}
  .awards,.cards,.gallery-grid{grid-template-columns:1fr}
  .content-panel{padding:24px 18px}
  .gallery-grid img{height:230px}
  .book-form{grid-template-columns:1fr}
  .book-form .full{grid-column:auto}
}


/* ===== Revision 31/08/2026 ===== */

/* Header: TIME TOUR centered, no eagle */
.brand-row{
  min-height:235px !important;
  display:flex !important;
  justify-content:center !important;
  align-items:center !important;
  padding:18px 0 10px !important;
}
.brand-copy{
  width:100%;
  text-align:center;
}
.brand-title{
  font-size:clamp(6.2rem,11vw,11.2rem);
  line-height:.72;
}
.brand-subtitle{
  margin-top:23px;
  font-size:clamp(1.25rem,2.45vw,2.35rem);
}

/* Main photographic slider: one large image at a time, like the current site */
.photo-slider{
  padding:26px 0 32px;
  overflow:hidden;
}
.slider-stage{
  width:min(1600px,calc(100% - 18px));
  height:min(650px,62vw);
  min-height:360px;
  margin:0 auto;
  position:relative;
  background:#111;
  border:0;
  overflow:hidden;
}
.slider-stage .slide{
  position:absolute;
  inset:0;
  min-width:0;
  width:100%;
  height:100%;
  margin:0;
  border:0;
  opacity:0;
  visibility:hidden;
  transform:scale(1.015);
  transition:opacity .65s ease, transform 1.2s ease, visibility .65s;
}
.slider-stage .slide.active{
  opacity:1;
  visibility:visible;
  transform:scale(1);
  z-index:2;
}
.slider-stage .slide img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}
.slider-stage .slide-caption{
  display:none;
}
.slider-arrow{
  position:absolute;
  z-index:7;
  top:50%;
  transform:translateY(-50%);
  width:40px;
  height:40px;
  border:0;
  background:rgba(0,0,0,.48);
  color:#fff;
  font:30px/1 Arial,sans-serif;
  cursor:pointer;
}
.slider-prev{left:30px}
.slider-next{right:30px}
.slider-arrow:hover{background:rgba(0,0,0,.72)}
.slider-dots{
  position:absolute;
  z-index:8;
  left:50%;
  bottom:18px;
  transform:translateX(-50%);
  display:flex;
  gap:8px;
}
.slider-dot{
  width:12px;
  height:12px;
  border:0;
  border-radius:50%;
  padding:0;
  background:rgba(255,255,255,.72);
  cursor:pointer;
}
.slider-dot.active{background:#fff;transform:scale(1.15)}

/* Tripadvisor section: use original supplied images exactly like current layout */
.tripadvisor{
  padding:25px 0 70px;
  background:var(--red);
}
.awards{
  width:min(820px,calc(100% - 36px));
  display:grid;
  grid-template-columns:repeat(3,1fr);
  align-items:start;
  gap:44px;
}
.award.award-image{
  min-height:0;
  padding:0;
  border:0;
  background:transparent;
}
.award.award-image img{
  width:100%;
  height:auto;
  aspect-ratio:3/4;
  object-fit:contain;
  background:#fff;
}

/* Internal page closing remains, but follows Pompeii visual language */
.closing{
  background:var(--red);
  color:#fff;
  padding:42px 20px;
}
.closing h2{color:var(--gold-light)}

/* Footer aligned like the live screenshot */
.site-footer{
  background:#25272b;
  padding:17px 0 20px;
  border-top:1px solid #fff;
}
.site-footer .container{
  width:min(1400px,calc(100% - 30px));
}
.site-footer .seo-footer{
  max-width:1180px;
  margin:0 auto;
  text-align:center;
  text-transform:uppercase;
  font-family:Georgia,"Times New Roman",serif;
  font-size:.69rem;
  line-height:1.72;
  font-weight:700;
  color:#fff;
}
.site-footer .legal{
  border-top:0;
  margin:17px auto 0;
  padding-top:0;
  text-align:center;
  display:block;
  font-family:Georgia,"Times New Roman",serif;
  font-size:.68rem;
  line-height:1.65;
  text-transform:uppercase;
  color:#fff;
}
.site-footer .legal a{
  color:#fff;
  text-decoration:underline;
}
.whatsapp{
  width:58px;
  height:58px;
  left:28px;
  bottom:28px;
  border-width:4px;
  font-size:0;
}
.whatsapp:before{
  content:"☎";
  font:700 25px/1 Arial,sans-serif;
}
.back-to-top{
  position:fixed;
  z-index:90;
  right:28px;
  bottom:28px;
  width:44px;
  height:44px;
  border:2px solid #fff;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#25272b;
  color:#fff;
  font:20px/1 Arial,sans-serif;
}

@media(max-width:900px){
  .brand-row{min-height:175px !important}
  .brand-title{font-size:clamp(4.4rem,12vw,7rem)}
  .brand-subtitle{font-size:1.2rem}
  .slider-stage{height:58vw;min-height:390px}
  .awards{gap:22px}
}
@media(max-width:600px){
  .brand-row{min-height:135px !important;padding:13px 0 !important}
  .brand-title{font-size:3.75rem}
  .brand-subtitle{font-size:.88rem;margin-top:13px}
  .slider-stage{width:100%;height:68vw;min-height:310px}
  .slider-prev{left:12px}.slider-next{right:12px}
  .awards{grid-template-columns:repeat(3,1fr);gap:8px;width:calc(100% - 20px)}
  .site-footer .seo-footer{font-size:.55rem;line-height:1.65}
  .site-footer .legal{font-size:.55rem}
  .whatsapp{left:14px;bottom:14px}
  .back-to-top{right:14px;bottom:14px}
}


/* ===== V3 — exact visual corrections ===== */

/* Header: full-width wordmark, one line, no eagle */
.site-header .brand-row.container{
  width:100% !important;
  max-width:none !important;
  min-height:245px !important;
  padding:14px 3vw 10px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}
.site-header .brand-copy{
  width:100% !important;
  max-width:none !important;
  text-align:center !important;
}
.site-header .brand-title{
  display:block !important;
  width:100% !important;
  white-space:nowrap !important;
  font-family:Georgia,"Times New Roman",serif !important;
  font-size:clamp(7rem,11.5vw,12.5rem) !important;
  line-height:.72 !important;
  letter-spacing:.01em !important;
  font-weight:500 !important;
  margin:0 !important;
}
.site-header .brand-subtitle{
  white-space:nowrap !important;
  margin:24px auto 0 !important;
  font-family:Georgia,"Times New Roman",serif !important;
  font-size:clamp(1.5rem,2.55vw,2.8rem) !important;
  line-height:1 !important;
}

/* New team portrait hero: show the entire supplied photo */
.hero-team{
  padding:22px 0 0 !important;
}
.hero-team .team-photo.team-photo-portrait{
  height:min(760px,74vw) !important;
  min-height:540px !important;
  background:var(--red) !important;
  border:0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  overflow:hidden !important;
}
.hero-team .team-photo.team-photo-portrait img{
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  object-position:center !important;
}

/* Completely isolated one-image-at-a-time slider, matching the old Revolution-style behaviour */
.ptg-slider-section{
  background:var(--red);
  padding:30px 0 36px;
  overflow:hidden;
}
.ptg-slider{
  position:relative;
  width:100%;
  height:min(670px,58vw);
  min-height:430px;
  margin:0 auto;
  background:#111;
  overflow:hidden;
}
.ptg-slide{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  min-width:0 !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
  z-index:0 !important;
  transition:opacity .65s ease, visibility .65s ease !important;
}
.ptg-slide.is-active{
  opacity:1 !important;
  visibility:visible !important;
  pointer-events:auto !important;
  z-index:2 !important;
}
.ptg-slide img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center !important;
}
.ptg-prev,.ptg-next{
  position:absolute;
  z-index:8;
  top:50%;
  transform:translateY(-50%);
  width:42px;
  height:42px;
  padding:0;
  border:0;
  background:rgba(0,0,0,.48);
  color:#fff;
  cursor:pointer;
  font:30px/42px Arial,sans-serif;
  text-align:center;
}
.ptg-prev{left:30px}
.ptg-next{right:30px}
.ptg-prev:hover,.ptg-next:hover{background:rgba(0,0,0,.72)}
.ptg-dots{
  position:absolute;
  z-index:9;
  left:50%;
  bottom:18px;
  transform:translateX(-50%);
  display:flex;
  gap:7px;
}
.ptg-dot{
  display:block;
  width:12px;
  height:12px;
  padding:0;
  border:0;
  border-radius:50%;
  background:rgba(255,255,255,.78);
  cursor:pointer;
}
.ptg-dot.is-active{
  background:#fff;
  transform:scale(1.16);
}

/* Four Tripadvisor recognitions */
.tripadvisor{
  padding:18px 0 62px !important;
}
.awards.awards-four{
  width:min(1100px,calc(100% - 40px)) !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:24px !important;
  align-items:stretch !important;
}
.awards-four .award.award-image{
  height:385px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:0 !important;
  background:#fff !important;
  border:2px solid #ddd !important;
}
.awards-four .award.award-image img{
  width:100% !important;
  height:100% !important;
  max-height:none !important;
  aspect-ratio:auto !important;
  object-fit:contain !important;
  background:#fff !important;
}

@media(max-width:900px){
  .site-header .brand-row.container{
    min-height:185px !important;
    padding-left:15px !important;
    padding-right:15px !important;
  }
  .site-header .brand-title{
    font-size:clamp(4.3rem,12vw,7rem) !important;
  }
  .site-header .brand-subtitle{
    font-size:clamp(1rem,3vw,1.5rem) !important;
    margin-top:16px !important;
  }
  .hero-team .team-photo.team-photo-portrait{
    height:720px !important;
    min-height:0 !important;
  }
  .ptg-slider{
    height:58vw !important;
    min-height:390px !important;
  }
  .awards.awards-four{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    width:min(720px,calc(100% - 26px)) !important;
  }
}
@media(max-width:600px){
  .site-header .brand-row.container{
    min-height:132px !important;
    padding:10px 8px !important;
  }
  .site-header .brand-title{
    font-size:clamp(3.1rem,15vw,5rem) !important;
  }
  .site-header .brand-subtitle{
    white-space:normal !important;
    font-size:.88rem !important;
    line-height:1.15 !important;
    margin-top:12px !important;
  }
  .hero-team .team-photo.team-photo-portrait{
    height:600px !important;
  }
  .ptg-slider{
    height:68vw !important;
    min-height:320px !important;
  }
  .ptg-prev{left:12px}
  .ptg-next{right:12px}
  .awards.awards-four{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:10px !important;
    width:calc(100% - 18px) !important;
  }
  .awards-four .award.award-image{
    height:270px !important;
  }
}


/* ===== V4 — full-width team photo + 11-image historical slider ===== */

/* Team image fills the whole red-framed content width */
.hero-team .container{
  width:min(var(--max),calc(100% - 18px)) !important;
}
.hero-team .team-photo.team-photo-portrait{
  width:100% !important;
  height:min(720px,48vw) !important;
  min-height:520px !important;
  margin:0 !important;
  border:10px solid var(--red) !important;
  background:var(--red) !important;
  overflow:hidden !important;
}
.hero-team .team-photo.team-photo-portrait img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center 48% !important;
}

/* Old-site style full-width slider */
.ptg-slider-section{
  padding:30px 0 36px !important;
}
.ptg-slider{
  width:100% !important;
  max-width:none !important;
  height:min(690px,43vw) !important;
  min-height:480px !important;
  border:0 !important;
}
.ptg-slide img{
  object-fit:cover !important;
  object-position:center !important;
}
.ptg-dots{
  max-width:90%;
  flex-wrap:wrap;
  justify-content:center;
}
.ptg-dot{
  width:11px !important;
  height:11px !important;
}

@media(max-width:900px){
  .hero-team .team-photo.team-photo-portrait{
    height:68vw !important;
    min-height:520px !important;
  }
  .ptg-slider{
    height:58vw !important;
    min-height:420px !important;
  }
}
@media(max-width:600px){
  .hero-team .container{
    width:100% !important;
  }
  .hero-team .team-photo.team-photo-portrait{
    height:82vw !important;
    min-height:360px !important;
    border-width:6px !important;
  }
  .ptg-slider{
    height:68vw !important;
    min-height:330px !important;
  }
  .ptg-dot{
    width:9px !important;
    height:9px !important;
  }
}


/* ===== V5 — team image fills frame + 11 supplied photos ===== */

/* The team photo now fills the full width of its surrounding frame */
.hero-team .container{
  width:100% !important;
  max-width:none !important;
  padding:0 0 !important;
}
.hero-team .team-photo.team-photo-portrait{
  width:100% !important;
  max-width:none !important;
  height:min(720px,46vw) !important;
  min-height:540px !important;
  margin:0 !important;
  border-left:0 !important;
  border-right:0 !important;
  border-top:10px solid var(--red) !important;
  border-bottom:10px solid var(--red) !important;
  overflow:hidden !important;
  background:var(--red) !important;
}
.hero-team .team-photo.team-photo-portrait img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center 48% !important;
}

/* Eleven dots stay on one centered row on desktop */
.ptg-dots{
  display:flex !important;
  flex-wrap:nowrap !important;
  align-items:center !important;
  justify-content:center !important;
  gap:7px !important;
  width:auto !important;
}
.ptg-dot{
  flex:0 0 11px !important;
  width:11px !important;
  height:11px !important;
}

/* Portrait/old low-resolution photos are contained rather than distorted */
.ptg-slide:nth-of-type(8) img,
.ptg-slide:nth-of-type(9) img,
.ptg-slide:nth-of-type(10) img,
.ptg-slide:nth-of-type(11) img{
  object-fit:contain !important;
  background:#111 !important;
}

@media(max-width:900px){
  .hero-team .team-photo.team-photo-portrait{
    height:64vw !important;
    min-height:500px !important;
  }
}
@media(max-width:600px){
  .hero-team .team-photo.team-photo-portrait{
    height:78vw !important;
    min-height:360px !important;
  }
  .ptg-dots{
    gap:5px !important;
  }
  .ptg-dot{
    flex-basis:8px !important;
    width:8px !important;
    height:8px !important;
  }
}


/* ===== V6 — full team portrait + exact original 11-slide set ===== */

/* Full supplied portrait: no cropping. Background uses the same image blurred,
   so the visual frame remains filled even though the source photo is vertical. */
.hero-team .container{
  width:100% !important;
  max-width:none !important;
  padding:0 !important;
}
.hero-team .team-photo.team-photo-portrait{
  position:relative !important;
  width:100% !important;
  height:min(860px,72vw) !important;
  min-height:620px !important;
  margin:0 !important;
  overflow:hidden !important;
  border-top:10px solid var(--red) !important;
  border-bottom:10px solid var(--red) !important;
  border-left:0 !important;
  border-right:0 !important;
  background:#76070e !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}
.hero-team .team-photo.team-photo-portrait::before{
  content:"" !important;
  position:absolute !important;
  inset:-30px !important;
  background-image:url("../images/manfredis-team-pompeii-private-tour-guides-porta-marina.jpeg") !important;
  background-size:cover !important;
  background-position:center !important;
  filter:blur(24px) brightness(.58) !important;
  transform:scale(1.08) !important;
  z-index:0 !important;
}
.hero-team .team-photo.team-photo-portrait::after{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  background:rgba(95,0,8,.14) !important;
  z-index:1 !important;
}
.hero-team .team-photo.team-photo-portrait img{
  position:relative !important;
  z-index:2 !important;
  display:block !important;
  width:auto !important;
  height:100% !important;
  max-width:100% !important;
  object-fit:contain !important;
  object-position:center !important;
}

/* Exact original Revolution Slider image behavior: one image at a time.
   Landscape images fill the stage; original image proportions are preserved. */
.ptg-slider{
  height:min(690px,36.3vw) !important; /* approx 1905x691 ratio of original slider */
  min-height:470px !important;
}
.ptg-slide img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center !important;
}
.ptg-dots{
  flex-wrap:nowrap !important;
  gap:7px !important;
}
.ptg-dot{
  flex:0 0 11px !important;
  width:11px !important;
  height:11px !important;
}

@media(max-width:900px){
  .hero-team .team-photo.team-photo-portrait{
    height:760px !important;
    min-height:560px !important;
  }
  .ptg-slider{
    height:52vw !important;
    min-height:400px !important;
  }
}
@media(max-width:600px){
  .hero-team .team-photo.team-photo-portrait{
    height:640px !important;
    min-height:480px !important;
  }
  .ptg-slider{
    height:62vw !important;
    min-height:310px !important;
  }
  .ptg-dots{gap:5px !important}
  .ptg-dot{
    flex-basis:8px !important;
    width:8px !important;
    height:8px !important;
  }
}


/* ===== V7 — team photo: full image, no blur, no crop ===== */

.hero-team{
  padding:0 !important;
  background:var(--red) !important;
}
.hero-team .container{
  width:100% !important;
  max-width:none !important;
  padding:0 !important;
  margin:0 !important;
}
.hero-team .team-photo.team-photo-portrait{
  position:relative !important;
  display:block !important;
  width:100% !important;
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  margin:0 !important;
  padding:0 !important;
  overflow:visible !important;
  border:0 !important;
  background:transparent !important;
}
.hero-team .team-photo.team-photo-portrait::before,
.hero-team .team-photo.team-photo-portrait::after{
  display:none !important;
  content:none !important;
}
.hero-team .team-photo.team-photo-portrait img{
  position:static !important;
  display:block !important;
  width:100% !important;
  height:auto !important;
  max-width:none !important;
  max-height:none !important;
  object-fit:unset !important;
  object-position:unset !important;
  margin:0 !important;
  padding:0 !important;
}

/* The decorative Pompeii border sits directly below the complete photo */
.hero-team + .gold-rule{
  margin-top:0 !important;
}


/* ===== V9 — wider team hero + full-screen slider ===== */

/* Team photo: wide presentation, prioritizing the people rather than the building. */
.hero-team{
  padding:0 !important;
  background:var(--red) !important;
}
.hero-team .container{
  width:100% !important;
  max-width:none !important;
  padding:0 !important;
  margin:0 !important;
}
.hero-team .team-photo.team-photo-portrait{
  position:relative !important;
  display:block !important;
  width:100% !important;
  height:610px !important;
  min-height:610px !important;
  max-height:610px !important;
  margin:0 !important;
  padding:0 !important;
  overflow:hidden !important;
  border:0 !important;
  background:var(--red) !important;
}
.hero-team .team-photo.team-photo-portrait::before,
.hero-team .team-photo.team-photo-portrait::after{
  display:none !important;
  content:none !important;
}
.hero-team .team-photo.team-photo-portrait img{
  position:static !important;
  display:block !important;
  width:100% !important;
  height:100% !important;
  max-width:none !important;
  max-height:none !important;
  object-fit:cover !important;
  object-position:center 60% !important;
  margin:0 !important;
  padding:0 !important;
}

/* Historical Revolution-style slider: the image occupies the entire viewport width. */
.ptg-slider-section{
  position:relative !important;
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
  background:var(--red) !important;
  overflow:hidden !important;
}
.ptg-slider{
  position:relative !important;
  width:100vw !important;
  max-width:none !important;
  height:691px !important;
  min-height:691px !important;
  max-height:691px !important;
  margin:0 !important;
  left:50% !important;
  transform:translateX(-50%) !important;
  overflow:hidden !important;
  background:#111 !important;
}
.ptg-slide{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  min-width:0 !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  opacity:0 !important;
  visibility:hidden !important;
  background:#111 !important;
}
.ptg-slide.is-active{
  opacity:1 !important;
  visibility:visible !important;
  z-index:2 !important;
}
.ptg-slide img{
  display:block !important;
  width:100% !important;
  height:100% !important;
  max-width:none !important;
  max-height:none !important;
  object-fit:cover !important;
  object-position:center center !important;
  margin:0 !important;
  padding:0 !important;
  background:#111 !important;
}
.ptg-prev,.ptg-next{
  z-index:20 !important;
}
.ptg-dots{
  z-index:21 !important;
}

@media(max-width:1200px){
  .hero-team .team-photo.team-photo-portrait{
    height:520px !important;
    min-height:520px !important;
    max-height:520px !important;
  }
  .ptg-slider{
    height:52vw !important;
    min-height:420px !important;
    max-height:none !important;
  }
}
@media(max-width:700px){
  .hero-team .team-photo.team-photo-portrait{
    height:400px !important;
    min-height:400px !important;
    max-height:400px !important;
  }
  .ptg-slider{
    height:62vw !important;
    min-height:300px !important;
  }
  .ptg-prev{left:10px !important;}
  .ptg-next{right:10px !important;}
}


/* ===== V10 override: fixed team hero + full-width slider ===== */
.hero-team{
  padding:0 !important;
  background:var(--red) !important;
}
.hero-team .container{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
}
.hero-team .team-photo.team-photo-portrait{
  width:100% !important;
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  margin:0 !important;
  padding:0 !important;
  overflow:hidden !important;
  background:var(--red) !important;
  border:0 !important;
  display:block !important;
}
.hero-team .team-photo.team-photo-portrait::before,
.hero-team .team-photo.team-photo-portrait::after{
  display:none !important;
  content:none !important;
}
.hero-team .team-photo.team-photo-portrait img{
  display:block !important;
  width:100% !important;
  height:auto !important;
  max-width:100% !important;
  max-height:none !important;
  object-fit:cover !important;
  object-position:center center !important;
  margin:0 !important;
  padding:0 !important;
}

.gold-rule{
  margin-top:0 !important;
}

.ptg-slider-section{
  padding:0 !important;
  background:var(--red) !important;
}
.ptg-slider{
  position:relative !important;
  width:100vw !important;
  max-width:100vw !important;
  height:691px !important;
  min-height:691px !important;
  max-height:691px !important;
  margin-left:calc(50% - 50vw) !important;
  margin-right:calc(50% - 50vw) !important;
  overflow:hidden !important;
  background:#111 !important;
}
.ptg-slide{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  margin:0 !important;
  padding:0 !important;
  opacity:0 !important;
  visibility:hidden !important;
  background:#111 !important;
}
.ptg-slide.is-active{
  opacity:1 !important;
  visibility:visible !important;
  z-index:2 !important;
}
.ptg-slide img{
  display:block !important;
  width:100% !important;
  min-width:100% !important;
  max-width:none !important;
  height:100% !important;
  min-height:100% !important;
  max-height:none !important;
  object-fit:cover !important;
  object-position:center center !important;
  margin:0 !important;
  padding:0 !important;
  background:#111 !important;
}
.ptg-prev,.ptg-next{
  position:absolute !important;
  top:50% !important;
  transform:translateY(-50%) !important;
  z-index:20 !important;
  width:42px !important;
  height:42px !important;
  line-height:42px !important;
  border:0 !important;
  background:rgba(0,0,0,.55) !important;
  color:#fff !important;
  font-size:30px !important;
  text-align:center !important;
  cursor:pointer !important;
}
.ptg-prev{left:20px !important}
.ptg-next{right:20px !important}
.ptg-dots{
  position:absolute !important;
  left:50% !important;
  bottom:18px !important;
  transform:translateX(-50%) !important;
  z-index:21 !important;
  display:flex !important;
  gap:7px !important;
  flex-wrap:nowrap !important;
}
.ptg-dot{
  width:11px !important;
  height:11px !important;
  min-width:11px !important;
  border:0 !important;
  border-radius:50% !important;
  background:rgba(255,255,255,.7) !important;
  padding:0 !important;
}
.ptg-dot.is-active{background:#fff !important}

@media (max-width:1200px){
  .ptg-slider{
    width:100vw !important;
    max-width:100vw !important;
    height:52vw !important;
    min-height:420px !important;
    max-height:none !important;
    margin-left:calc(50% - 50vw) !important;
    margin-right:calc(50% - 50vw) !important;
  }
}
@media (max-width:700px){
  .ptg-slider{
    width:100vw !important;
    max-width:100vw !important;
    height:62vw !important;
    min-height:300px !important;
    margin-left:calc(50% - 50vw) !important;
    margin-right:calc(50% - 50vw) !important;
  }
  .ptg-prev{left:10px !important}
  .ptg-next{right:10px !important}
}


/* ===== V12 FINAL SLIDER FIX =====
   Keep real IMG elements visible and force ALL 11 slides to full-bleed cover.
   Higher specificity intentionally overrides older nth-of-type contain rules. */
.ptg-slider .ptg-slide{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  overflow:hidden !important;
  background:#111 !important;
}
.ptg-slider .ptg-slide img,
.ptg-slider .ptg-slide:nth-of-type(1) img,
.ptg-slider .ptg-slide:nth-of-type(2) img,
.ptg-slider .ptg-slide:nth-of-type(3) img,
.ptg-slider .ptg-slide:nth-of-type(4) img,
.ptg-slider .ptg-slide:nth-of-type(5) img,
.ptg-slider .ptg-slide:nth-of-type(6) img,
.ptg-slider .ptg-slide:nth-of-type(7) img,
.ptg-slider .ptg-slide:nth-of-type(8) img,
.ptg-slider .ptg-slide:nth-of-type(9) img,
.ptg-slider .ptg-slide:nth-of-type(10) img,
.ptg-slider .ptg-slide:nth-of-type(11) img{
  position:static !important;
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
  clip:auto !important;
  clip-path:none !important;
  pointer-events:auto !important;
  width:100% !important;
  min-width:100% !important;
  max-width:100% !important;
  height:100% !important;
  min-height:100% !important;
  max-height:100% !important;
  object-fit:cover !important;
  object-position:center center !important;
  margin:0 !important;
  padding:0 !important;
  background:#111 !important;
}


/* ===== V18 internal pages: original structure + TIME TOUR identity ===== */
.legacy-inner{background:#fff;color:#4b4b4b;font-family:Arial,sans-serif;padding:0;margin:0}
.legacy-content{width:min(1500px,calc(100% - 28px));margin:0 auto;padding:18px 0 54px;background:#fff}
.legacy-content h1,.legacy-section-title,.legacy-content h2{font-family:Georgia,"Times New Roman",serif;font-weight:400;color:#686868;text-align:center;text-transform:uppercase}
.legacy-content h1{font-size:clamp(1.55rem,2.8vw,3rem);margin:4px auto 16px;line-height:1.1}
.legacy-section-title,.legacy-content h2{font-size:clamp(1.45rem,2.3vw,2.55rem);margin:34px 0 10px}
.legacy-content p,.legacy-content li{font-size:.93rem;line-height:1.62}
.legacy-top-grid{display:grid;grid-template-columns:2fr .9fr;gap:28px;align-items:start}
.legacy-copy p{margin:0 0 10px}
.legacy-side-image img{width:100%;height:auto;display:block;max-height:360px;object-fit:cover}
.legacy-bookbar{margin:16px 0 28px;background:var(--orange);color:#fff;text-align:center}
.legacy-bookbar a{display:block;padding:13px 20px;font-family:Georgia,"Times New Roman",serif;text-transform:uppercase;font-weight:700}
.legacy-map{width:100%;height:420px;background:#ddd;margin:0 0 28px}
.legacy-map iframe{width:100%;height:100%;border:0;display:block}
.legacy-route-list{max-width:1100px;margin:0 auto 16px}.legacy-route-list.two-col ul{columns:2;column-gap:50px}
.legacy-team-note{margin:20px auto 16px;max-width:1300px}
.legacy-gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:3px;margin:12px 0 4px;align-items:stretch}
.legacy-gallery img{width:100%;height:220px;object-fit:cover;display:block}.legacy-gallery.large img{height:260px}
.legacy-amalfi-banner img{width:100%;max-height:520px;object-fit:cover;display:block}
.internal-home-footer-start{margin-top:0!important}
.legacy-team-feature{display:grid;grid-template-columns:1.15fr .85fr;gap:30px;align-items:center;margin:8px 0 30px}.legacy-team-feature img{width:100%;display:block}
.legacy-team-feature h2{text-align:left;margin-top:0}
.legacy-team-cards{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}.legacy-person{border:1px solid #ddd;background:#fafafa;padding:14px;text-align:center}.legacy-person img{width:100%;aspect-ratio:1/1;object-fit:cover}.legacy-person h3{font-family:Georgia,"Times New Roman",serif;color:var(--red);font-size:1.25rem;margin:12px 0 7px}.legacy-person.no-photo{display:flex;flex-direction:column;justify-content:center;min-height:280px}
.legacy-video-grid{display:grid;grid-template-columns:1fr;gap:34px;max-width:1100px;margin:0 auto}.legacy-video-grid article{text-align:center}.legacy-video-grid video{width:100%;max-height:600px;background:#111}.legacy-video-grid h2{font-size:1.4rem}
.article-page{max-width:1150px}.article-page>p{font-size:1rem;line-height:1.75}.legacy-article-image{margin:24px 0}.legacy-article-image img{width:100%;max-height:620px;object-fit:cover}
.booking-page{max-width:950px}.legacy-intro{text-align:center;font-size:1.05rem!important}.legacy-book-form{display:grid;grid-template-columns:1fr 1fr;gap:16px;background:#f7f4ee;padding:28px;border:1px solid #ddd}.legacy-book-form .full{grid-column:1/-1}.legacy-book-form label{display:block;font-weight:700;font-size:.82rem;text-transform:uppercase;letter-spacing:.04em}.legacy-book-form input,.legacy-book-form select,.legacy-book-form textarea{width:100%;margin-top:7px;padding:12px;border:1px solid #bbb;background:#fff;font:inherit}.legacy-submit{width:100%;border:0;background:var(--orange);color:#fff;padding:14px;font-family:Georgia,"Times New Roman",serif;text-transform:uppercase;cursor:pointer}
@media(max-width:900px){.legacy-top-grid,.legacy-team-feature{grid-template-columns:1fr}.legacy-side-image{order:-1}.legacy-gallery{grid-template-columns:repeat(2,1fr)}.legacy-team-cards{grid-template-columns:repeat(2,1fr)}.legacy-route-list.two-col ul{columns:1}}
@media(max-width:600px){.legacy-content{width:min(100% - 18px,1500px)}.legacy-gallery{grid-template-columns:1fr}.legacy-gallery img,.legacy-gallery.large img{height:auto}.legacy-team-cards{grid-template-columns:1fr}.legacy-book-form{grid-template-columns:1fr;padding:18px}.legacy-book-form .full{grid-column:auto}.legacy-map{height:330px}}


/* ===== V21 — internal galleries + lightbox ===== */
.legacy-gallery{margin:16px 0 8px}
.legacy-gallery img{cursor:pointer;transition:transform .18s ease,opacity .18s ease}
.legacy-gallery img:hover{transform:scale(1.015);opacity:.96}
.ptg-lightbox{position:fixed;inset:0;z-index:9999;display:none;background:rgba(0,0,0,.82)}
.ptg-lightbox.open{display:block}
.ptg-lightbox-stage{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(1040px,calc(100vw - 120px));max-height:calc(100vh - 140px)}
.ptg-lightbox-frame{position:relative;background:transparent}
.ptg-lightbox-image{display:block;width:100%;height:auto;max-height:calc(100vh - 190px);object-fit:contain;border:4px solid #fff;box-shadow:0 18px 40px rgba(0,0,0,.55);background:#111}
.ptg-lightbox-caption{display:flex;justify-content:space-between;gap:16px;align-items:flex-end;color:#fff;font-family:Georgia,"Times New Roman",serif;text-transform:uppercase;padding:10px 2px 0;font-size:13px;letter-spacing:.04em}
.ptg-lightbox-caption strong{display:block;font-size:28px;line-height:1.05;letter-spacing:.02em;font-weight:400}
.ptg-lightbox-meta{font-size:14px;white-space:nowrap;opacity:.95}
.ptg-lightbox-close,.ptg-lightbox-prev,.ptg-lightbox-next{position:absolute;border:0;background:transparent;color:#fff;cursor:pointer;line-height:1;font-family:Arial,sans-serif}
.ptg-lightbox-close{right:-6px;bottom:-42px;font-size:60px;font-weight:300;padding:0 6px}
.ptg-lightbox-prev,.ptg-lightbox-next{top:50%;transform:translateY(-50%);font-size:56px;padding:8px 10px;color:#fff;text-shadow:0 2px 10px rgba(0,0,0,.6)}
.ptg-lightbox-prev{left:18px}
.ptg-lightbox-next{right:18px}
body.ptg-lightbox-open{overflow:hidden}
@media(max-width:900px){.ptg-lightbox-stage{width:min(94vw,1040px)}.ptg-lightbox-image{max-height:calc(100vh - 220px)}.ptg-lightbox-caption strong{font-size:22px}.ptg-lightbox-close{right:0;bottom:-36px;font-size:46px}.ptg-lightbox-prev{left:6px}.ptg-lightbox-next{right:6px}}
@media(max-width:600px){.ptg-lightbox-stage{width:94vw}.ptg-lightbox-image{max-height:calc(100vh - 210px);border-width:3px}.ptg-lightbox-caption{flex-direction:column;align-items:flex-start;gap:4px;padding-top:8px}.ptg-lightbox-caption strong{font-size:18px}.ptg-lightbox-meta{font-size:12px}.ptg-lightbox-prev,.ptg-lightbox-next{font-size:40px}.ptg-lightbox-close{bottom:-30px;font-size:38px}}


/* ===== V22 — fix internal gallery thumbnails to show full images ===== */
.legacy-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:3px;align-items:start}
.legacy-gallery img{width:100%;height:auto !important;max-height:none !important;aspect-ratio:auto !important;object-fit:contain !important;display:block;background:none}
@media(max-width:900px){.legacy-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.legacy-gallery{grid-template-columns:1fr}}


/* ===== V23 — internal galleries use page-specific uncropped tiles from source screenshots ===== */
.legacy-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:3px;align-items:start;background:#fff}
.legacy-gallery img{width:100%;height:auto !important;display:block;object-fit:contain !important;max-height:none !important;background:#fff;cursor:pointer}
@media (max-width: 900px){.legacy-gallery{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width: 560px){.legacy-gallery{grid-template-columns:1fr;}}


/* ===== V24 image fidelity patch ===== */
.legacy-side-image img{width:100%;height:auto !important;max-height:none !important;object-fit:contain !important;display:block;background:#fff}
.legacy-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:3px;align-items:start;background:#fff}
.legacy-gallery img{width:100%;height:auto !important;max-height:none !important;aspect-ratio:auto !important;object-fit:contain !important;display:block;background:#fff;cursor:pointer}
@media(max-width:900px){.legacy-gallery{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.legacy-gallery{grid-template-columns:1fr}}


/* ===== V27 equal-size internal gallery thumbnails ===== */
.legacy-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:3px;align-items:start;background:#fff}
.legacy-gallery img{width:100%;height:auto !important;display:block;object-fit:contain !important;max-height:none !important;background:#fff;image-rendering:auto}
@media(max-width:900px){.legacy-gallery{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:600px){.legacy-gallery{grid-template-columns:1fr;}}


/* ===== V28 lightbox quality and clean black frame ===== */
.ptg-lightbox{background:rgba(0,0,0,.92)}
.ptg-lightbox-stage{width:min(1120px,calc(100vw - 80px));max-height:calc(100vh - 90px)}
.ptg-lightbox-frame{position:relative;background:#000;padding:0;display:flex;flex-direction:column;align-items:center;justify-content:center}
.ptg-lightbox-image{display:block;width:auto !important;max-width:100%;height:auto !important;max-height:calc(100vh - 170px);object-fit:contain;border:0 !important;box-shadow:none !important;background:#000;margin:0 auto}
.ptg-lightbox-caption{width:100%;box-sizing:border-box;padding:12px 0 0;color:#fff}
.ptg-lightbox-title,.ptg-lightbox-meta{padding:0 2px}
.ptg-lightbox-prev,.ptg-lightbox-next{top:calc(50% - 20px);font-size:64px}
.ptg-lightbox-close{right:-2px;bottom:-48px}
@media(max-width:900px){.ptg-lightbox-stage{width:min(95vw,1120px);max-height:calc(100vh - 84px)}.ptg-lightbox-image{max-height:calc(100vh - 190px)} }
@media(max-width:600px){.ptg-lightbox-stage{width:95vw}.ptg-lightbox-image{max-height:calc(100vh - 220px)} }


/* ===== V29 — definitive gallery/lightbox sizing fix ===== */
.legacy-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;align-items:stretch;background:#fff}
.legacy-gallery img{display:block;width:100%;height:auto !important;aspect-ratio:auto !important;object-fit:contain !important;background:#fff;cursor:pointer}
@media(max-width:900px){.legacy-gallery{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:600px){.legacy-gallery{grid-template-columns:1fr;}}

.ptg-lightbox{background:rgba(0,0,0,.94)}
.ptg-lightbox-stage{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(1380px,calc(100vw - 56px));max-height:calc(100vh - 54px)}
.ptg-lightbox-frame{position:relative;background:#000;padding:0 62px 54px;display:block}
.ptg-lightbox-image{display:block;width:100% !important;max-width:none !important;height:auto !important;max-height:calc(100vh - 185px);object-fit:contain;border:0 !important;box-shadow:none !important;background:#000;margin:0 auto}
.ptg-lightbox-caption{display:flex;justify-content:space-between;gap:18px;align-items:flex-end;color:#fff;font-family:Georgia,"Times New Roman",serif;text-transform:uppercase;padding:14px 2px 0;font-size:13px;letter-spacing:.04em}
.ptg-lightbox-caption strong{display:block;font-size:28px;line-height:1.05;letter-spacing:.02em;font-weight:400}
.ptg-lightbox-meta{font-size:14px;white-space:nowrap;opacity:.95}
.ptg-lightbox-prev,.ptg-lightbox-next{top:50%;transform:translateY(-50%);font-size:68px;padding:6px 8px;color:#fff;text-shadow:0 2px 10px rgba(0,0,0,.6)}
.ptg-lightbox-prev{left:8px}
.ptg-lightbox-next{right:8px}
.ptg-lightbox-close{right:4px;bottom:0;font-size:58px;font-weight:300;padding:0 6px;color:#fff}
@media(max-width:900px){.ptg-lightbox-stage{width:min(96vw,1380px);max-height:calc(100vh - 30px)}.ptg-lightbox-frame{padding:0 38px 46px}.ptg-lightbox-image{max-height:calc(100vh - 210px)}.ptg-lightbox-caption strong{font-size:22px}.ptg-lightbox-close{font-size:46px}}
@media(max-width:600px){.ptg-lightbox-stage{width:96vw}.ptg-lightbox-frame{padding:0 24px 38px}.ptg-lightbox-image{max-height:calc(100vh - 240px)}.ptg-lightbox-caption{flex-direction:column;align-items:flex-start;gap:4px;padding-top:8px}.ptg-lightbox-caption strong{font-size:18px}.ptg-lightbox-meta{font-size:12px}.ptg-lightbox-prev,.ptg-lightbox-next{font-size:40px}.ptg-lightbox-close{font-size:38px;right:0}}


/* ===== V30 — definitive edge-to-edge lightbox ===== */
.ptg-lightbox{
  position:fixed !important;
  inset:0 !important;
  z-index:99999 !important;
  display:none !important;
  background:rgba(0,0,0,.94) !important;
}
.ptg-lightbox.open{display:block !important;}
.ptg-lightbox-stage{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  max-width:none !important;
  max-height:none !important;
  transform:none !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:34px 76px 76px !important;
  box-sizing:border-box !important;
  background:transparent !important;
}
.ptg-lightbox-frame{
  position:relative !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  width:auto !important;
  height:auto !important;
  max-width:100% !important;
  max-height:100% !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}
.ptg-lightbox-image{
  display:block !important;
  width:auto !important;
  height:auto !important;
  max-width:min(900px,calc(100vw - 152px)) !important;
  max-height:calc(100vh - 160px) !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  outline:0 !important;
  object-fit:contain !important;
  background:transparent !important;
  box-shadow:0 12px 36px rgba(0,0,0,.45) !important;
}
.ptg-lightbox-caption{
  position:absolute !important;
  left:0 !important;
  right:0 !important;
  bottom:-42px !important;
  width:100% !important;
  margin:0 !important;
  padding:8px 0 0 !important;
  box-sizing:border-box !important;
  display:flex !important;
  justify-content:space-between !important;
  align-items:center !important;
  background:transparent !important;
  color:#fff !important;
}
.ptg-lightbox-caption strong{font-size:22px !important;line-height:1.1 !important;}
.ptg-lightbox-meta{font-size:12px !important;}
.ptg-lightbox-prev,.ptg-lightbox-next{
  position:fixed !important;
  top:50% !important;
  transform:translateY(-50%) !important;
  z-index:100001 !important;
  width:52px !important;
  height:72px !important;
  padding:0 !important;
  border:0 !important;
  background:rgba(0,0,0,.22) !important;
  color:#fff !important;
  font-size:58px !important;
  line-height:68px !important;
  cursor:pointer !important;
}
.ptg-lightbox-prev{left:12px !important;}
.ptg-lightbox-next{right:12px !important;}
.ptg-lightbox-close{
  position:fixed !important;
  top:18px !important;
  right:22px !important;
  bottom:auto !important;
  z-index:100002 !important;
  width:46px !important;
  height:46px !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  background:rgba(0,0,0,.28) !important;
  color:#fff !important;
  font-size:42px !important;
  line-height:42px !important;
}
body.ptg-lightbox-open{overflow:hidden !important;}
@media(max-width:900px){
  .ptg-lightbox-stage{padding:28px 54px 74px !important;}
  .ptg-lightbox-image{max-width:calc(100vw - 108px) !important;max-height:calc(100vh - 150px) !important;}
}
@media(max-width:600px){
  .ptg-lightbox-stage{padding:54px 18px 86px !important;}
  .ptg-lightbox-image{max-width:calc(100vw - 36px) !important;max-height:calc(100vh - 170px) !important;}
  .ptg-lightbox-prev,.ptg-lightbox-next{width:40px !important;height:58px !important;font-size:42px !important;line-height:54px !important;}
  .ptg-lightbox-prev{left:3px !important}.ptg-lightbox-next{right:3px !important}
  .ptg-lightbox-caption{bottom:-54px !important;flex-direction:column !important;align-items:flex-start !important;gap:3px !important;}
  .ptg-lightbox-caption strong{font-size:17px !important;}
  .ptg-lightbox-close{top:8px !important;right:8px !important;}
}


/* ===== V32 — Videos page matching original layout ===== */
.videos-reference-main{background:#fff;color:#777;padding:32px 0 26px;min-height:760px}
.videos-reference-layout{width:min(1220px,calc(100% - 54px));margin:0 auto;padding:0}
.videos-reference-top{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:120px;align-items:start}
.videos-reference-card{text-align:center;margin:0 auto;width:100%;max-width:520px}
.videos-reference-avatar{display:block;width:94px;height:94px;border-radius:50%;object-fit:cover;object-position:center;margin:0 auto 9px;border:0;box-shadow:none}
.videos-reference-caption{margin:0 auto 11px;font-family:Georgia,"Times New Roman",serif;font-size:13px;font-weight:400;line-height:1.35;text-transform:uppercase;color:#8a8a8a;letter-spacing:0}
.videos-reference-player{display:block;width:100%;aspect-ratio:16/9;height:auto;margin:0;background:#000;object-fit:contain;border:0;box-shadow:none}
.videos-reference-bottom{margin-top:82px;max-width:520px}
.videos-reference-bottom .videos-reference-avatar{width:90px;height:90px;margin-bottom:10px}
.videos-reference-bottom .videos-reference-caption{margin-bottom:10px}
@media(max-width:900px){
  .videos-reference-main{padding-top:28px;min-height:0}
  .videos-reference-layout{width:min(92%,620px)}
  .videos-reference-top{grid-template-columns:1fr;gap:58px}
  .videos-reference-card{max-width:620px}
  .videos-reference-bottom{margin-top:58px;max-width:620px}
}
@media(max-width:560px){
  .videos-reference-layout{width:calc(100% - 28px)}
  .videos-reference-avatar{width:82px;height:82px}
  .videos-reference-caption{font-size:11px;line-height:1.4}
  .videos-reference-top{gap:44px}
  .videos-reference-bottom{margin-top:44px}
}


/* ===== V33 — correct Gaetano portrait + Google review CTA ===== */
.videos-reference-bottom .videos-reference-avatar{object-position:50% 34% !important;}
.google-review-cta{width:min(1100px,calc(100% - 40px));margin:28px auto 0;text-align:center;}
.google-review-link{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 24px;border:2px solid #fff;background:#fff;color:#a90c16;text-decoration:none;font-family:Georgia,"Times New Roman",serif;font-size:16px;font-weight:700;line-height:1.2;box-shadow:0 6px 16px rgba(0,0,0,.14);transition:transform .18s ease,box-shadow .18s ease,background .18s ease;}
.google-review-link:hover,.google-review-link:focus{background:#f59a00;color:#111;transform:translateY(-2px);box-shadow:0 9px 22px rgba(0,0,0,.2);}
@media(max-width:600px){.google-review-cta{width:calc(100% - 22px);margin-top:20px}.google-review-link{width:100%;box-sizing:border-box;padding:12px 14px;font-size:14px}}

/* Gallery page refresh v36 */
.gallery-page .gallery-page-content{
  max-width: 1260px;
  padding-top: 28px;
}
.gallery-page .gallery-page-content h1{
  margin-bottom: 16px;
}
.gallery-page .gallery-page-grid{
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 4px;
  margin: 0 0 34px;
}
.gallery-page .gallery-page-grid img{
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  display: block;
  background: #ececec;
  cursor: zoom-in;
}
.gallery-page .gallery-top-grid-bottom{
  grid-template-columns: repeat(3, minmax(0, 1fr));
  max-width: calc(75% - 2px);
}
.gallery-page .gallery-amalfi-grid img{
  aspect-ratio: 4 / 3;
}
.gallery-page .gallery-ruins-grid img,
.gallery-page .gallery-top-grid img{
  aspect-ratio: 1 / 1;
}
@media (max-width: 991px){
  .gallery-page .gallery-page-grid{
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .gallery-page .gallery-top-grid-bottom{
    max-width: 100%;
  }
}
@media (max-width: 640px){
  .gallery-page .gallery-page-grid,
  .gallery-page .gallery-top-grid-bottom{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}


/* Gallery original-photo normalization v37 */
.gallery-page .gallery-page-content{
  max-width: 1500px;
  width: min(100% - 24px, 1500px);
}
.gallery-page .gallery-page-grid{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:4px !important;
  align-items:stretch !important;
  margin:0 0 34px !important;
  background:#fff !important;
}
.gallery-page .gallery-page-grid img{
  display:block !important;
  width:100% !important;
  height:260px !important;
  min-height:260px !important;
  max-height:260px !important;
  aspect-ratio:auto !important;
  object-fit:contain !important;
  object-position:center !important;
  background:#fff !important;
  cursor:zoom-in !important;
  transform:none !important;
}
.gallery-page .gallery-top-grid-bottom{
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  max-width:75% !important;
}
.gallery-page .legacy-section-title{
  margin:26px 0 12px !important;
}
@media(max-width:1100px){
  .gallery-page .gallery-page-grid{grid-template-columns:repeat(3,minmax(0,1fr)) !important;}
  .gallery-page .gallery-top-grid-bottom{max-width:100% !important;}
  .gallery-page .gallery-page-grid img{height:240px !important;min-height:240px !important;max-height:240px !important;}
}
@media(max-width:760px){
  .gallery-page .gallery-page-grid,
  .gallery-page .gallery-top-grid-bottom{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
  .gallery-page .gallery-page-grid img{height:190px !important;min-height:190px !important;max-height:190px !important;}
}
@media(max-width:480px){
  .gallery-page .gallery-page-grid,
  .gallery-page .gallery-top-grid-bottom{grid-template-columns:1fr !important;}
  .gallery-page .gallery-page-grid img{height:auto !important;min-height:0 !important;max-height:none !important;}
}

/* ===== V39 Book Now page aligned to original reference ===== */
.book-reference-page{background:#fff;padding:20px 0 0}
.book-reference-wrap{width:min(100% - 24px,1600px);margin:0 auto}
.book-reference-grid{display:grid;grid-template-columns:minmax(0,1fr) 285px;gap:38px;align-items:start}
.book-reference-form-col{padding:0 0 30px}
.book-reference-form{display:flex;flex-direction:column;gap:14px}
.book-ref-field{display:block;color:#8a8588;font-family:Georgia,"Times New Roman",serif;font-size:14px;font-weight:400;line-height:1.2;text-transform:uppercase}
.book-ref-field span{color:#e11;font-family:Arial,sans-serif}
.book-ref-field input,.book-ref-field textarea{display:block;width:100%;box-sizing:border-box;margin-top:5px;border:1px solid #aaa;background:#fff;border-radius:0;padding:8px 10px;font:14px Arial,sans-serif;color:#222;box-shadow:none;outline:none}
.book-ref-field input{height:34px}
.book-ref-field textarea{resize:vertical;min-height:96px}
.book-ref-two{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.book-ref-submit{width:100%;height:38px;border:0;border-radius:0;background:#f59a00;color:#fff;font-family:Georgia,"Times New Roman",serif;text-transform:uppercase;cursor:pointer;margin-top:2px}
.book-ref-submit:hover{background:#e88e00}
.book-ref-status{min-height:18px;margin:0;text-align:center;font-size:12px;color:#666}
.book-reference-sidebar{text-align:center;padding:8px 0 34px}
.book-reference-sidebar h2{font-family:Georgia,"Times New Roman",serif;font-weight:400;text-transform:uppercase;line-height:1.1;margin:0}
.book-attention h2{font-size:26px;color:#f12b2b}
.book-attention p{margin:10px 0 24px;color:#e22;text-transform:uppercase;font:700 11px/1.35 Arial,sans-serif}
.book-contact h2{font-size:23px;color:#777}
.book-contact>a{display:block;margin:7px 0 4px;color:#c44;text-decoration:underline;font:24px/1.1 Georgia,"Times New Roman",serif}
.book-contact p{margin:5px 0;color:#777;text-transform:uppercase;font:10px/1.35 Arial,sans-serif}
.book-certificates h2{font-size:23px;color:#777;margin:28px 0 12px}
.book-certificates img{display:block;width:220px;max-width:100%;height:auto;margin:0 auto 0}
@media(max-width:900px){
  .book-reference-grid{grid-template-columns:1fr;gap:16px}
  .book-reference-sidebar{max-width:420px;margin:0 auto}
  .book-certificates img{width:210px}
}
@media(max-width:560px){
  .book-reference-wrap{width:calc(100% - 20px)}
  .book-ref-two{grid-template-columns:1fr;gap:14px}
  .book-ref-field{font-size:12px}
  .book-attention h2,.book-contact h2,.book-certificates h2{font-size:20px}
}


/* ===== V40 Book Now + WhatsApp refinements ===== */
.book-reference-wrap{width:min(100% - 36px,1628px)}
.book-reference-grid{grid-template-columns:minmax(0,1fr) 470px;gap:48px;align-items:start}
.book-reference-form{gap:16px}
.book-ref-field{font-size:15px;color:#8c8588}
.book-ref-field input,.book-ref-field textarea{margin-top:6px;border:1px solid #b7b7b7;padding:7px 10px;font:14px Arial,sans-serif}
.book-ref-field input{height:46px}
.book-ref-field textarea{min-height:150px}
.book-ref-two{gap:28px}
.book-ref-submit{height:34px;font-size:15px;letter-spacing:.02em}
.book-reference-sidebar{padding-top:8px}
.book-attention h2{font-size:31px}
.book-attention p{font-size:12px;line-height:1.38;max-width:440px;margin:10px auto 28px}
.book-contact h2{font-size:31px}
.book-contact>a{font-size:33px;margin:10px 0 8px}
.book-contact p{font-size:12px;line-height:1.4;max-width:430px;margin:6px auto}
.book-certificates h2{font-size:31px;margin:34px 0 14px}
.book-certificates img{width:260px}
.whatsapp{
  left:auto !important;
  right:28px !important;
  bottom:28px !important;
  width:60px;
  height:60px;
  border-width:4px;
  background:#25d366;
  display:grid;
  place-items:center;
}
.whatsapp:before{
  content:"";
  display:block;
  width:31px;
  height:31px;
  background-repeat:no-repeat;
  background-position:center;
  background-size:contain;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cpath fill='%23fff' d='M19.11 17.21c-.27-.13-1.58-.78-1.82-.87-.24-.09-.42-.13-.6.14-.18.27-.69.87-.84 1.05-.16.18-.31.2-.58.07-.27-.13-1.12-.41-2.14-1.3-.79-.7-1.33-1.56-1.49-1.83-.16-.27-.02-.42.12-.55.12-.12.27-.31.4-.47.13-.16.18-.27.27-.45.09-.18.04-.34-.02-.47-.07-.13-.6-1.45-.82-1.99-.22-.53-.44-.46-.6-.47l-.51-.01c-.18 0-.47.07-.71.34-.24.27-.93.91-.93 2.21 0 1.3.95 2.56 1.08 2.74.13.18 1.87 2.85 4.54 3.99.64.28 1.14.44 1.53.56.64.2 1.23.17 1.69.1.52-.08 1.58-.65 1.8-1.29.22-.64.22-1.19.16-1.29-.07-.11-.25-.18-.52-.31Z'/%3E%3Cpath fill='%23fff' d='M27.24 4.76A15.87 15.87 0 0 0 16.02.1C7.31.1.23 7.18.23 15.9c0 2.79.73 5.51 2.11 7.91L.1 31.9l8.32-2.18a15.77 15.77 0 0 0 7.58 1.93h.01c8.71 0 15.79-7.09 15.79-15.8 0-4.22-1.64-8.18-4.56-11.09Zm-11.22 24.2h-.01a13.1 13.1 0 0 1-6.67-1.82l-.48-.28-4.94 1.29 1.32-4.82-.31-.5a13.16 13.16 0 0 1-2.02-6.94C2.91 8.64 8.76 2.79 15.99 2.79c3.51 0 6.81 1.37 9.29 3.85a13.05 13.05 0 0 1 3.84 9.29c0 7.22-5.88 13.09-13.1 13.09Z'/%3E%3C/svg%3E");
}
.back-to-top{right:28px;bottom:100px}
@media(max-width:1100px){
  .book-reference-grid{grid-template-columns:1fr;gap:24px}
  .book-reference-sidebar{max-width:540px;margin:0 auto}
}
@media(max-width:600px){
  .book-reference-wrap{width:calc(100% - 20px)}
  .book-ref-field input{height:42px}
  .book-ref-field textarea{min-height:120px}
  .book-attention h2,.book-contact h2,.book-certificates h2{font-size:24px}
  .book-contact>a{font-size:28px}
  .book-certificates img{width:220px}
  .whatsapp{right:14px !important;bottom:14px !important}
  .back-to-top{right:14px;bottom:84px}
}

/* ===== V42 Privacy Policy reference layout + WhatsApp optical centering ===== */
.privacy-reference-page{background:#fff;color:#777}
.privacy-title-band{
  background:#4fa4d8;
  background-image:linear-gradient(135deg,rgba(255,255,255,.05) 25%,transparent 25%),linear-gradient(225deg,rgba(255,255,255,.04) 25%,transparent 25%);
  background-size:72px 72px;
  color:#fff;
}
.privacy-title-inner{width:min(1240px,calc(100% - 36px));height:76px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:24px}
.privacy-breadcrumb{display:flex;align-items:center;gap:10px;font:11px/1.2 Arial,sans-serif;text-transform:uppercase;color:rgba(255,255,255,.8)}
.privacy-breadcrumb a{color:inherit}
.privacy-band-title{font-family:Georgia,"Times New Roman",serif;font-size:17px;text-transform:uppercase;color:#fff}
.privacy-reference-main{background:#fff;padding:34px 0 30px}
.privacy-reference-content{width:min(1240px,calc(100% - 36px));margin:0 auto;color:#8a8588;text-transform:uppercase}
.privacy-reference-content h1,.privacy-reference-content h2{font-family:Georgia,"Times New Roman",serif;font-weight:400;color:#777176;line-height:1.12;text-transform:uppercase}
.privacy-reference-content h1{font-size:26px;margin:0 0 10px;max-width:960px}
.privacy-reference-content h2{font-size:22px;margin:23px 0 7px}
.privacy-reference-content p{margin:0 0 8px;font:10px/1.45 Arial,sans-serif;letter-spacing:.01em;color:#858085}
.privacy-reference-content p strong{font-weight:400}
.privacy-reference-content a{color:inherit;text-decoration:none}
.whatsapp{
  left:auto !important;
  right:28px !important;
  bottom:28px !important;
  padding:0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  line-height:0 !important;
  font-size:0 !important;
  overflow:hidden;
}
.whatsapp:before{content:none !important;display:none !important}
.whatsapp-icon{display:block;width:32px;height:32px;flex:0 0 32px;color:#fff;transform:translate(0,0)}
.back-to-top{right:28px;bottom:100px}
@media(max-width:700px){
  .privacy-title-inner{height:auto;min-height:68px;padding:12px 0;align-items:flex-start;flex-direction:column;gap:7px}
  .privacy-reference-main{padding-top:24px}
  .privacy-reference-content h1{font-size:21px}
  .privacy-reference-content h2{font-size:18px}
  .privacy-reference-content p{font-size:9px;line-height:1.5}
  .whatsapp{right:14px !important;bottom:14px !important}
  .back-to-top{right:14px;bottom:84px}
}

/* ===== V43 Privacy typography + footer contrast ===== */
.privacy-reference-content{
  width:min(1360px,calc(100% - 44px));
}
.privacy-reference-content h1{
  font-size:30px;
  line-height:1.12;
  margin-bottom:14px;
  max-width:1120px;
}
.privacy-reference-content h2{
  font-size:25px;
  line-height:1.14;
  margin:25px 0 9px;
}
.privacy-reference-content p{
  font-size:12.5px;
  line-height:1.55;
  margin-bottom:10px;
  letter-spacing:.005em;
}
.privacy-reference-page .story-block p,
.privacy-reference-page .story-block p strong,
.privacy-reference-page .site-footer,
.privacy-reference-page .site-footer .seo-footer,
.privacy-reference-page .site-footer .legal,
.privacy-reference-page .site-footer a{
  color:#fff !important;
}
@media(max-width:700px){
  .privacy-reference-content{width:calc(100% - 28px)}
  .privacy-reference-content h1{font-size:24px}
  .privacy-reference-content h2{font-size:21px}
  .privacy-reference-content p{font-size:11.5px;line-height:1.55}
}


/* ===== V44 Home reordering, mobile header, typography ===== */
.section-title,
.story-block .large-claim{
  font-family:Georgia,"Times New Roman",serif !important;
  font-weight:500 !important;
  letter-spacing:.01em !important;
}
/* The historical gallery now opens the home below the header. */
main > .ptg-slider-section:first-child{
  padding-top:0 !important;
}
/* Large team photograph now occupies the former gallery position. */
.story-block + .gold-rule + .hero-team{
  padding-top:20px !important;
  padding-bottom:20px !important;
}
@media(max-width:900px){
  .site-header .menu-row{
    justify-content:flex-end !important;
  }
  .site-header .mobile-toggle{
    display:block !important;
    margin-left:auto !important;
    padding:8px 10px !important;
    font-size:2.15rem !important;
    line-height:1 !important;
    order:1 !important;
  }
  .site-header .menu,
  .site-header .menu-right{
    order:2 !important;
  }
}
@media(max-width:600px){
  .site-header .brand-subtitle{
    font-size:1.05rem !important;
    line-height:1.22 !important;
    margin-top:13px !important;
  }
  .site-header .mobile-toggle{
    font-size:2.4rem !important;
    padding:8px 7px !important;
  }
  .site-header .menu-row{
    padding:8px 5px !important;
  }
}


/* ===== V45 Home copy/order/mobile subtitle ===== */
.home-review-section{
  background:var(--red);
  padding:34px 0 20px;
}
.home-review-section .google-review-cta{
  margin:0 auto;
}
.home-review-section + .story-block{
  padding-top:36px;
}
@media(max-width:600px){
  .site-header .brand-subtitle{
    white-space:nowrap !important;
    font-size:clamp(.72rem,3.45vw,.84rem) !important;
    line-height:1.1 !important;
    margin-top:10px !important;
    letter-spacing:.01em !important;
  }
  .site-header .brand-subtitle strong{
    white-space:nowrap !important;
  }
}


/* ===== V46 FAQ meeting point ===== */
.faq-meeting-point{padding:4px 0 18px}
.faq-meeting-point p{margin:0 0 14px !important}
.faq-meeting-point a{color:#a90712;text-decoration:underline;font-weight:700}
.faq-meeting-image{width:220px;max-width:100%;height:auto;border:1px solid #ddd;display:block;margin:0 auto 4px}
@media(max-width:600px){.faq-meeting-image{width:190px}}


/* ===== V47 larger one-line agency subtitle + Our Team copy ===== */
@media(max-width:600px){
  .site-header .brand-row.container{
    width:100% !important;
    padding-left:5px !important;
    padding-right:5px !important;
  }
  .site-header .brand-subtitle{
    white-space:nowrap !important;
    font-size:.96rem !important;
    line-height:1.05 !important;
    letter-spacing:-.025em !important;
    margin-top:10px !important;
    width:100% !important;
  }
  .site-header .brand-subtitle strong{
    white-space:nowrap !important;
  }
}

/* ===== V48 slightly larger one-line agency subtitle on mobile ===== */
@media(max-width:600px){
  .site-header .brand-subtitle{
    white-space:nowrap !important;
    font-size:1.08rem !important;
    line-height:1.05 !important;
    letter-spacing:-.028em !important;
    margin-top:10px !important;
    width:100% !important;
  }
  .site-header .brand-subtitle strong{
    white-space:nowrap !important;
  }
}


/* ===== V50 Book Now date picker ===== */
#tour-date{color-scheme:light;cursor:pointer;padding-right:12px}
#tour-date::-webkit-calendar-picker-indicator{cursor:pointer;opacity:1}
.book-certificates img:last-child{margin-top:14px}

/* ===== V53 larger mobile typography + larger burger menu ===== */
@media(max-width:600px){
  .site-header .brand-subtitle{
    font-size:1.18rem !important;
    line-height:1.08 !important;
    letter-spacing:-.026em !important;
  }
  .site-header .mobile-toggle{
    font-size:3.1rem !important;
    padding:10px 12px !important;
    line-height:1 !important;
  }
  .site-header .menu-row{
    padding:10px 6px !important;
    min-height:64px !important;
  }
  .section-title{
    font-size:clamp(2.45rem,11vw,3.45rem) !important;
    line-height:1.06 !important;
    margin:22px auto !important;
  }
  .section-copy{
    font-size:1.08rem !important;
    line-height:1.72 !important;
  }
  .faq summary{
    font-size:1.35rem !important;
    line-height:1.32 !important;
    padding:18px 34px 18px 0 !important;
  }
  .faq summary:after{
    font-size:1.85rem !important;
    right:2px !important;
  }
  .faq details > div,
  .faq details p{
    font-size:1.08rem;
    line-height:1.75;
  }
}


/* ===== V54 darker booking form labels + Tripadvisor 2025 ===== */
.book-ref-field{
  color:#222 !important;
}
.book-ref-field input,.book-ref-field textarea{
  color:#111 !important;
}
.book-ref-field input::placeholder,.book-ref-field textarea::placeholder{
  color:#555 !important;
  opacity:1 !important;
}
/* Five award cards on desktop; retain responsive two-column layout below 900px. */
@media(min-width:901px){
  .awards.awards-four{
    width:min(1350px,calc(100% - 40px)) !important;
    grid-template-columns:repeat(5,minmax(0,1fr)) !important;
    gap:18px !important;
  }
  .awards-four .award.award-image{height:360px !important;}
}

/* ===== 1.0.1 History of Pompeii parity with approved static demo ===== */
.history-page{
  background:#ededed;
  padding:16px 0 12px;
  color:#6a6a6a;
}
.history-wrap{
  width:min(calc(100% - 28px),1500px);
  max-width:none;
  margin:0 auto;
  padding:0;
}
.history-title,
.history-subtitle{
  font-family:Georgia,"Times New Roman",serif;
  font-weight:400;
  color:#7c7780;
  text-align:center;
  line-height:1.1;
  letter-spacing:.4px;
}
.history-title{
  font-size:2rem;
  margin:0 0 6px;
}
.history-subtitle{
  font-size:1.82rem;
  margin:12px 0 10px;
}
.history-top,
.history-middle-grid{
  display:grid;
  align-items:start;
  gap:34px;
}
.history-top{
  grid-template-columns:minmax(0,1fr) minmax(350px,430px);
}
.history-middle-grid{
  grid-template-columns:minmax(0,2.05fr) minmax(300px,.95fr);
}
.history-copy,
.history-side-copy{
  font-family:Arial,sans-serif;
  font-size:12px;
  line-height:1.58;
  text-transform:uppercase;
  color:#6a6a6a;
  letter-spacing:.08px;
}
.history-copy p,
.history-side-copy p{
  margin:0 0 10px;
}
.history-fresco,
.history-main-image{
  margin:0;
}
.history-fresco img,
.history-main-image img{
  display:block;
  width:100%;
  height:auto;
}
.history-middle{
  margin-top:10px;
}
.history-side-copy{
  padding-top:4px;
}
.history-source{
  font-style:italic;
}

/* Bottom gallery: exact mosaic used by the approved demo. */
.history-gallery.legacy-gallery{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  grid-template-rows:repeat(3,220px) !important;
  gap:4px !important;
  align-items:stretch !important;
  margin:16px 0 0 !important;
  background:transparent !important;
}
.history-gallery.legacy-gallery img{
  display:block !important;
  width:100% !important;
  height:100% !important;
  max-height:none !important;
  object-fit:cover !important;
  margin:0 !important;
  padding:0 !important;
  background:#ddd !important;
  cursor:pointer !important;
}
.history-gallery .hg-forum{grid-column:1;grid-row:1}
.history-gallery .hg-redroom{grid-column:2;grid-row:1}
.history-gallery .hg-shrine{grid-column:3;grid-row:1 / span 3}
.history-gallery .hg-mosaic{grid-column:4;grid-row:1}
.history-gallery .hg-wine{grid-column:1;grid-row:2}
.history-gallery .hg-bodies{grid-column:2;grid-row:2}
.history-gallery .hg-snake{grid-column:4;grid-row:2}
.history-gallery .hg-fish{grid-column:1;grid-row:3}
.history-gallery .hg-arch{grid-column:2;grid-row:3}
.history-gallery .hg-relief{grid-column:4;grid-row:3}

@media (max-width:1100px){
  .history-wrap{width:min(calc(100% - 22px),1080px)}
  .history-top{grid-template-columns:minmax(0,1fr) 330px}
  .history-middle-grid{grid-template-columns:minmax(0,1.65fr) minmax(270px,.85fr)}
  .history-gallery.legacy-gallery{grid-template-rows:repeat(3,180px) !important}
}
@media (max-width:800px){
  .history-wrap{width:min(calc(100% - 24px),760px)}
  .history-top,
  .history-middle-grid{grid-template-columns:1fr;gap:18px}
  .history-title{font-size:1.55rem}
  .history-subtitle{font-size:1.35rem}
  .history-copy,
  .history-side-copy{font-size:11px}
  .history-fresco{max-width:420px;margin:0 auto}
  .history-gallery.legacy-gallery{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    grid-template-rows:none !important;
    grid-auto-rows:180px !important;
  }
  .history-gallery.legacy-gallery img{
    grid-column:auto !important;
    grid-row:auto !important;
  }
  .history-gallery .hg-shrine{grid-row:span 2 !important}
}
@media (max-width:520px){
  .history-gallery.legacy-gallery{
    grid-template-columns:1fr !important;
    grid-auto-rows:auto !important;
  }
  .history-gallery.legacy-gallery img{
    height:auto !important;
    object-fit:contain !important;
  }
  .history-gallery .hg-shrine{grid-row:auto !important}
}

/* ===== v1.2.0 Contact Form 7 booking integration ===== */
.book-reference-form-col .wpcf7{width:100%;}
.book-reference-form-col .wpcf7 form{margin:0;}
.book-reference-form-col .wpcf7 .book-reference-form{width:100%;}
.book-reference-form-col .wpcf7-form-control-wrap{display:block;width:100%;}
.book-reference-form-col .wpcf7-form-control-wrap input,
.book-reference-form-col .wpcf7-form-control-wrap textarea{
  width:100%;
  box-sizing:border-box;
}
.book-reference-form-col .wpcf7-not-valid-tip{
  display:block;
  margin-top:5px;
  color:#a90712;
  font:12px/1.35 Arial,sans-serif;
  text-transform:none;
}
.book-reference-form-col .wpcf7 form .wpcf7-response-output{
  margin:16px 0 0;
  padding:12px 14px;
  border-width:1px;
  font:14px/1.45 Arial,sans-serif;
  color:#222;
  background:#fff;
}
.book-reference-form-col .wpcf7 form.sent .wpcf7-response-output{
  border-color:#86c99a;
  background:#edf9f0;
  color:#14532d;
}
.book-reference-form-col .wpcf7 form.invalid .wpcf7-response-output,
.book-reference-form-col .wpcf7 form.failed .wpcf7-response-output,
.book-reference-form-col .wpcf7 form.unaccepted .wpcf7-response-output{
  border-color:#e7a6a6;
  background:#fff2f2;
  color:#8a1c1c;
}
.book-reference-form-col .wpcf7-spinner{margin:8px 0 0 10px;vertical-align:middle;}


/* ===== V54 mobile one-line hero title ===== */
@media(max-width:600px){
  .section-title{
    white-space:nowrap !important;
    font-size:clamp(1.75rem,8.2vw,2.2rem) !important;
    line-height:1.02 !important;
    letter-spacing:-.02em !important;
    margin:20px auto 18px !important;
    width:100% !important;
  }
}


/* ===== CLEAN mobile one-line hero title ===== */
@media(max-width:600px){
  .section-title{
    white-space:nowrap !important;
    font-size:clamp(1.75rem,8.2vw,2.2rem) !important;
    line-height:1.02 !important;
    letter-spacing:-.02em !important;
    margin:20px auto 18px !important;
    width:100% !important;
  }
}


/* ===== 1.3.1 Home awards: add 2025 certificate ===== */
.home .awards.awards-five,
body.home .awards.awards-five{
  width:min(1320px,calc(100% - 40px)) !important;
  display:grid !important;
  grid-template-columns:repeat(5,minmax(0,1fr)) !important;
  gap:18px !important;
  align-items:stretch !important;
}
.home .awards-five .award.award-image,
body.home .awards-five .award.award-image{
  min-height:0 !important;
  height:385px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  background:#fff !important;
  border:2px solid #ddd !important;
}
.home .awards-five .award.award-image img,
body.home .awards-five .award.award-image img{
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  background:#fff !important;
}
@media(max-width:900px){
  .home .awards.awards-five, body.home .awards.awards-five{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
}
@media(max-width:600px){
  .home .awards.awards-five, body.home .awards.awards-five{grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:8px !important;width:calc(100% - 20px) !important;}
  .home .awards-five .award.award-image, body.home .awards-five .award.award-image{height:auto !important;aspect-ratio:3/4 !important;}
}
