
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600&family=Inter:wght@400;500;600;700;800&display=swap');
:root{--ivory:#f7f1e7;--paper:#fffdf8;--olive:#64817E;--olive2:#425F5C;--gold:#c7a66b;--gold2:#e4d0a4;--ink:#64817E;--muted:#756f63;--line:rgba(24,63,52,.12);--shadow:0 36px 100px rgba(17,39,32,.15);--soft:0 18px 50px rgba(17,39,32,.09)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ivory);color:var(--ink);font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;overflow-x:hidden}a{text-decoration:none;color:inherit}img{display:block;max-width:100%}.page{min-height:100vh;background:var(--ivory)}
.topFloat{position:fixed;top:18px;left:50%;transform:translateX(-50%);z-index:50;width:min(1180px,calc(100% - 36px));height:74px;border-radius:999px;padding:10px 12px 10px 12px;display:flex;align-items:center;justify-content:space-between;background:rgba(11,35,30,.62);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid rgba(255,255,255,.18);box-shadow:0 22px 60px rgba(0,0,0,.18)}
.brandMini{display:flex;align-items:center;gap:14px;color:#fff;min-width:230px}.brandSeal{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(228,208,164,.9);font-family:Cormorant Garamond,serif;font-size:34px;text-transform:uppercase;color:var(--gold2)}.brandMini b{display:block;font-family:Cormorant Garamond,serif;font-size:27px;font-weight:500;line-height:.8}.brandMini span span{display:block;font-size:10px;letter-spacing:3.3px;text-transform:uppercase;color:#e8d8b8;margin-top:8px}.navLinks{display:flex;align-items:center;gap:8px}.navBtn,.langSelect{border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.08);color:#fff;border-radius:999px;padding:14px 18px;font-size:11px;letter-spacing:1.4px;text-transform:uppercase;font-weight:800}.navBtnMain{background:#fffdf8;color:var(--olive)}.langSelect{appearance:none;padding-right:18px;cursor:pointer}
.cineHero,.cinematic{position:relative;min-height:100svh;display:grid;align-items:center;overflow:hidden}.cineHero:before,.cinematic:before{content:"";position:absolute;inset:0;background:var(--bg) center/cover no-repeat;transform:scale(1.02);animation:slowZoom 18s ease-in-out infinite alternate}.cineHero:after,.cinematic:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,20,17,.78),rgba(4,20,17,.35) 45%,rgba(4,20,17,.12)),linear-gradient(0deg,rgba(4,20,17,.48),transparent 35%,rgba(4,20,17,.18))}.cineInner{position:relative;z-index:2;width:min(1120px,calc(100% - 48px));margin:0 auto;padding-top:90px;color:#fff}.kicker{font-size:12px;font-weight:800;letter-spacing:4px;text-transform:uppercase;color:var(--gold);margin-bottom:20px}.cineTitle{font-family:Cormorant Garamond,serif;font-weight:500;font-size:clamp(78px,10vw,154px);line-height:.82;letter-spacing:-4px;margin:0 0 26px;max-width:980px}.cineLead{font-family:Cormorant Garamond,serif;font-size:clamp(28px,3vw,44px);line-height:1.12;color:#f4ead8;max-width:750px;margin:0 0 36px}.heroActions{display:flex;gap:14px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border-radius:999px;padding:16px 24px;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:1.3px;transition:.25s;border:1px solid transparent;cursor:pointer}.btnPrimary{background:#fffdf8;color:var(--olive);box-shadow:0 14px 35px rgba(0,0,0,.16)}.btnGhost{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.25);color:#fff}.btnSoft{background:var(--olive);color:#fff}.btn:hover{transform:translateY(-2px)}.scrollLine{position:absolute;z-index:3;right:44px;bottom:44px;color:#fff;font-size:10px;font-weight:800;letter-spacing:2px;text-transform:uppercase;writing-mode:vertical-rl;opacity:.75}.scrollLine:after{content:"";display:block;width:1px;height:70px;background:rgba(255,255,255,.5);margin:14px auto 0}
.chapterNav{position:relative;z-index:5;margin:-88px auto 0;width:min(1060px,calc(100% - 48px));display:grid;grid-template-columns:repeat(6,1fr);gap:10px}.chapterNav a{min-height:150px;border-radius:34px;padding:24px;background:rgba(255,253,248,.92);backdrop-filter:blur(14px);box-shadow:var(--soft);border:1px solid rgba(255,255,255,.8);display:flex;flex-direction:column;justify-content:space-between}.chapterNav small{font-size:10px;letter-spacing:2.8px;text-transform:uppercase;color:var(--gold);font-weight:900}.chapterNav b{font-family:Cormorant Garamond,serif;font-size:31px;line-height:.92;font-weight:500;color:var(--olive)}
.fullSection{min-height:100svh;display:grid;align-items:center;padding:110px 0;position:relative}.container{width:min(1180px,calc(100% - 48px));margin:0 auto}.luxGrid{display:grid;grid-template-columns:1.05fr .95fr;gap:58px;align-items:center}.luxGrid.reverse{grid-template-columns:.95fr 1.05fr}.luxGrid.reverse .luxImage{order:2}.luxText{max-width:620px}.luxText h2,.displayTitle{font-family:Cormorant Garamond,serif;font-weight:500;font-size:clamp(60px,7vw,116px);line-height:.84;letter-spacing:-2.8px;margin:0 0 28px;color:var(--olive)}.luxText p,.lead{font-family:Cormorant Garamond,serif;font-size:clamp(27px,2.5vw,38px);line-height:1.16;color:#5C7471;margin:0 0 30px}.microText{font-size:16px;line-height:1.9;color:var(--muted);max-width:520px;margin:0 0 30px}.luxImage{position:relative;min-height:620px;border-radius:54px;overflow:hidden;box-shadow:var(--shadow);background:#ddd}.luxImage img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;transition:transform 1.2s ease}.luxImage:hover img{transform:scale(1.04)}.imageCaption{position:absolute;left:30px;right:30px;bottom:30px;padding:28px;border-radius:34px;background:rgba(14,43,36,.68);backdrop-filter:blur(18px);color:#fff;border:1px solid rgba(255,255,255,.18)}.imageCaption small{display:block;color:var(--gold2);letter-spacing:2.5px;text-transform:uppercase;font-size:10px;font-weight:900;margin-bottom:10px}.imageCaption b{display:block;font-family:Cormorant Garamond,serif;font-size:42px;line-height:.95;font-weight:500}.imageCaption span{display:block;font-size:14px;line-height:1.6;color:#eadcc1;margin-top:12px}.quoteBand{min-height:62svh;display:grid;place-items:center;text-align:center;padding:100px 20px}.quoteBand blockquote{font-family:Cormorant Garamond,serif;font-size:clamp(48px,7vw,108px);line-height:.9;color:var(--olive);margin:0;max-width:1150px;letter-spacing:-3px}.quoteBand em{display:block;font-style:normal;font-size:13px;font-family:Inter,sans-serif;text-transform:uppercase;letter-spacing:4px;font-weight:900;color:var(--gold);margin-bottom:28px}
.panelList{display:grid;gap:14px;margin:28px 0}.panelItem{display:grid;grid-template-columns:84px 1fr;gap:18px;align-items:center;padding:14px;background:rgba(255,253,248,.78);border:1px solid rgba(24,63,52,.09);border-radius:24px;box-shadow:var(--soft)}.panelItem img{height:84px;width:84px;border-radius:19px;object-fit:cover}.panelItem b{display:block;font-family:Cormorant Garamond,serif;font-size:28px;font-weight:500;color:var(--olive);line-height:.95}.panelItem span{display:block;font-size:14px;color:var(--muted);line-height:1.55;margin-top:5px}.darkSection{background:var(--olive2);color:#fff}.darkSection .luxText h2,.darkSection .displayTitle{color:#fff}.darkSection .luxText p,.darkSection .lead{color:#e8d8b8}.darkSection .microText{color:#d8cab2}.darkSection .panelItem{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.12);box-shadow:none}.darkSection .panelItem b{color:#fff}.darkSection .panelItem span{color:#ddcfb3}.immersive{min-height:100svh;position:relative;display:grid;place-items:end start;padding:120px 0;background:var(--bg) center/cover fixed}.immersive:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,25,21,.72),rgba(5,25,21,.18)),linear-gradient(0deg,rgba(5,25,21,.75),transparent 60%)}.immersive .container{position:relative;z-index:2;color:#fff}.immersive h2{font-family:Cormorant Garamond,serif;font-weight:500;font-size:clamp(72px,9vw,138px);line-height:.84;letter-spacing:-4px;margin:0 0 26px;max-width:900px}.immersive p{font-family:Cormorant Garamond,serif;font-size:clamp(30px,3vw,46px);line-height:1.08;color:#f1e5cf;max-width:760px;margin:0 0 34px}
.mapWrap{display:grid;grid-template-columns:1.15fr .85fr;min-height:760px;border-radius:58px;overflow:hidden;background:linear-gradient(145deg,#64817E,#344D4A);box-shadow:var(--shadow);border:1px solid rgba(255,255,255,.14)}.mapVisual{position:relative;min-height:760px;overflow:hidden;background:radial-gradient(circle at 72% 24%,rgba(223,201,142,.28),transparent 26%),linear-gradient(145deg,#6F8E8A,#395451)}.mapVisual:before{content:"";position:absolute;inset:78px 96px;border:1px solid rgba(255,255,255,.16);border-radius:52% 48% 58% 42%;transform:rotate(-14deg)}.mapVisual:after{content:"";position:absolute;left:-18%;right:-18%;bottom:0;height:48%;background:linear-gradient(135deg,rgba(76,144,148,.68),rgba(18,80,84,.32));clip-path:polygon(0 45%,14% 33%,27% 47%,39% 35%,54% 48%,70% 30%,83% 45%,100% 31%,100% 100%,0 100%)}.pin{position:absolute;z-index:3;width:44px;height:44px;border-radius:50% 50% 50% 10px;transform:rotate(-45deg);background:#fffdf8;color:#64817E;display:grid;place-items:center;box-shadow:0 18px 32px rgba(0,0,0,.30);border:2px solid rgba(223,201,142,.95);cursor:pointer;transition:.25s}.pin:hover{transform:rotate(-45deg) scale(1.12)}.pin span{transform:rotate(45deg);font-size:15px;font-weight:900}.pin.food{background:#ffe9b9}.pin.sea{background:#e6fbff}.pin.sun{background:#ffd784}.pin.service{background:#f5efe2}.mapPanel{padding:44px;align-self:stretch;display:flex;flex-direction:column;color:#fff}.mapPanel h3{font-family:Cormorant Garamond,serif;font-size:64px;line-height:.88;font-weight:500;margin:0 0 14px;color:#fff}.mapPanel p{font-size:15px;line-height:1.8;color:#e6d4ad;margin:0 0 22px}.filterRow{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}.filter{border:1px solid rgba(255,255,255,.24);background:rgba(255,255,255,.08);color:#fff;border-radius:999px;padding:11px 14px;font-size:10px;font-weight:800;letter-spacing:1.1px;text-transform:uppercase;cursor:pointer}.filter.active{background:#fffdf8;color:#64817E}.placeList{display:grid;gap:10px;overflow:auto;padding-right:4px}.placeItem{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;padding:15px;border-radius:22px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14)}.placeItem b{display:block;font-size:14px}.placeItem span{display:block;color:#decda7;font-size:12px;line-height:1.45;margin-top:4px}.placeItem a{font-size:10px;font-weight:800;color:#ffe6a7;border:1px solid rgba(255,230,167,.36);border-radius:999px;padding:9px 12px}
.routeGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:30px}.route{min-height:360px;border-radius:40px;background:#fffdf8;padding:28px;border:1px solid rgba(24,63,52,.1);box-shadow:var(--soft);display:flex;flex-direction:column;justify-content:space-between}.routeNo{font-family:Cormorant Garamond,serif;font-size:72px;line-height:.78;color:var(--olive)}.route small{color:var(--gold);font-weight:900;text-transform:uppercase;letter-spacing:2px}.route b{display:block;font-family:Cormorant Garamond,serif;font-size:34px;line-height:.96;font-weight:500;color:var(--olive);margin:22px 0 12px}.route span{font-size:14px;line-height:1.75;color:var(--muted)}.conciergeFinal{min-height:100svh;display:grid;place-items:center;text-align:center;padding:120px 20px;background:radial-gradient(circle at 80% 20%,rgba(199,166,107,.2),transparent 28%),linear-gradient(145deg,#64817E,#344D4A);color:#fff}.conciergeFinal .inner{max-width:960px}.conciergeFinal h2{font-family:Cormorant Garamond,serif;font-weight:500;font-size:clamp(72px,10vw,150px);line-height:.82;margin:0 0 28px;letter-spacing:-4px}.conciergeFinal p{font-family:Cormorant Garamond,serif;font-size:clamp(28px,3vw,46px);line-height:1.12;color:#ead9ba;margin:0 0 36px}.footerMinimal{padding:34px;text-align:center;font-size:11px;letter-spacing:2.5px;text-transform:uppercase;color:rgba(255,255,255,.6);background:#344D4A}.reveal{opacity:0;transform:translateY(36px);transition:opacity .9s ease,transform .9s ease}.reveal.show{opacity:1;transform:none}@keyframes slowZoom{from{transform:scale(1.01)}to{transform:scale(1.09)}}
/* compatibility with previous pages */.hero{position:relative;min-height:86svh;display:grid;align-items:center;overflow:hidden;background:var(--hero1) center/cover no-repeat}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,20,17,.78),rgba(4,20,17,.18))}.heroContent{position:relative;z-index:2;width:min(960px,calc(100% - 48px));margin:0 auto;color:#fff}.heroContent h1{font-family:Cormorant Garamond,serif;font-size:clamp(70px,9vw,132px);line-height:.84;font-weight:500;margin:0 0 24px;letter-spacing:-3px}.heroContent p{font-family:Cormorant Garamond,serif;font-size:clamp(27px,3vw,44px);line-height:1.1;color:#efe3cc}.section{padding:110px 0}.sectionTight{padding:80px 0}.sectionHead{display:grid;grid-template-columns:1fr .9fr;gap:44px;align-items:end;margin-bottom:42px}.sectionHead h2{font-family:Cormorant Garamond,serif;font-size:clamp(55px,6vw,96px);line-height:.86;font-weight:500;color:var(--olive);margin:0}.placeMosaic{display:grid;grid-template-columns:repeat(12,1fr);gap:18px}.mosaicCard{grid-column:span 4;border-radius:40px;overflow:hidden;background:var(--paper);box-shadow:var(--soft);border:1px solid rgba(24,63,52,.08)}.mosaicCard.large{grid-column:span 8}.mosaicCard .photo{height:330px}.mosaicCard.large .photo{height:440px}.mosaicCard img{width:100%;height:100%;object-fit:cover}.mosaicCard .body{padding:26px}.mosaicCard h3{font-family:Cormorant Garamond,serif;font-size:42px;line-height:.94;color:var(--olive);font-weight:500;margin:8px 0 10px}.mosaicCard p{font-size:14px;line-height:1.8;color:var(--muted);margin:0}.smallGold{font-size:10px;letter-spacing:2.3px;text-transform:uppercase;color:var(--gold);font-weight:900}.wideStory{position:relative;min-height:680px;border-radius:54px;overflow:hidden;display:grid;align-items:end;padding:50px;box-shadow:var(--shadow);background:#111}.wideStory>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.wideStory:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(5,24,20,.78),transparent 60%)}.storyText{position:relative;z-index:2;color:#fff;max-width:760px}.storyText h2{font-family:Cormorant Garamond,serif;font-size:clamp(58px,7vw,108px);line-height:.84;font-weight:500;margin:0 0 20px}.storyText p{font-family:Cormorant Garamond,serif;font-size:32px;line-height:1.12;color:#ead9ba}.concierge{position:relative;border-radius:54px;overflow:hidden;padding:76px;background:linear-gradient(145deg,#64817E,#395451);color:#fff;box-shadow:var(--shadow)}.concierge h2{font-family:Cormorant Garamond,serif;font-size:clamp(62px,8vw,128px);line-height:.82;font-weight:500;margin:0 0 20px}.concierge p{font-family:Cormorant Garamond,serif;font-size:32px;line-height:1.16;color:#ead9ba;max-width:780px}.itinerary{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.day{border-radius:38px;background:var(--paper);border:1px solid rgba(255,255,255,.8);padding:28px;min-height:340px;box-shadow:var(--soft)}.dayNo{width:82px;height:82px;border-radius:50%;background:linear-gradient(145deg,var(--olive),var(--olive2));color:#fff;display:grid;place-items:center;text-align:center;margin-bottom:30px}.dayNo b{font-family:Cormorant Garamond,serif;font-size:44px;line-height:.8}.dayNo span{display:block;font-size:8px;letter-spacing:1.5px;text-transform:uppercase;color:#e6d09c}.dayText b{display:block;font-family:Cormorant Garamond,serif;font-size:34px;line-height:.98;color:var(--olive);font-weight:500;margin-bottom:12px}.dayText span{font-size:14px;line-height:1.8;color:var(--muted)}
@media(max-width:1024px){.topFloat{top:8px;width:calc(100% - 16px);height:66px}.navLinks .navBtn:not(.navBtnMain){display:none}.brandMini{min-width:auto}.brandMini span span{display:none}.chapterNav{grid-template-columns:repeat(3,1fr);margin-top:-56px}.luxGrid,.luxGrid.reverse,.mapWrap{grid-template-columns:1fr}.luxGrid.reverse .luxImage{order:0}.fullSection{padding:86px 0}.luxImage{min-height:560px}.routeGrid,.itinerary{grid-template-columns:1fr 1fr}.sectionHead{grid-template-columns:1fr}.mapPanel{padding:32px}.mapVisual{min-height:520px}.immersive{background-attachment:scroll}.placeMosaic{grid-template-columns:1fr}.mosaicCard,.mosaicCard.large{grid-column:auto}}
@media(max-width:640px){.brandSeal{width:44px;height:44px;font-size:28px}.brandMini b{font-size:23px}.navBtnMain,.langSelect{padding:12px 13px;font-size:10px}.cineInner,.container{width:calc(100% - 32px)}.cineTitle{font-size:62px;letter-spacing:-2px}.cineLead{font-size:26px}.heroActions{display:grid;grid-template-columns:1fr}.btn{width:100%}.chapterNav{grid-template-columns:1fr;gap:8px;margin-top:18px}.chapterNav a{min-height:auto;padding:22px 24px;border-radius:28px}.chapterNav b{font-size:34px}.quoteBand{min-height:50svh}.quoteBand blockquote{font-size:44px;letter-spacing:-1px}.luxText h2,.displayTitle{font-size:56px;letter-spacing:-1.4px}.luxText p,.lead{font-size:25px}.luxImage{min-height:430px;border-radius:36px}.imageCaption{left:18px;right:18px;bottom:18px;padding:20px;border-radius:26px}.imageCaption b{font-size:34px}.panelItem{grid-template-columns:70px 1fr}.panelItem img{width:70px;height:70px}.immersive{padding:90px 0}.immersive h2{font-size:58px;letter-spacing:-1.6px}.immersive p{font-size:27px}.mapWrap{border-radius:38px}.routeGrid,.itinerary{grid-template-columns:1fr}.route{min-height:260px}.conciergeFinal h2{font-size:60px;letter-spacing:-1.5px}.conciergeFinal p{font-size:27px}.topFloat{padding:8px}.page{overflow-x:hidden}}


/* V5.1 Terrasini as the central chapter */
.terrasiniSignature{background:linear-gradient(180deg,var(--ivory),#fbf7ef)}
.terrasiniMini{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:26px 0 28px}
.terrasiniMini a{text-decoration:none;background:rgba(255,253,248,.82);border:1px solid rgba(199,166,107,.25);border-radius:24px;padding:18px;box-shadow:0 14px 36px rgba(17,39,32,.06);transition:transform .25s ease,box-shadow .25s ease}
.terrasiniMini a:hover{transform:translateY(-3px);box-shadow:0 20px 48px rgba(17,39,32,.12)}
.terrasiniMini b{display:block;font-family:Cormorant Garamond,serif;font-size:26px;line-height:1;color:var(--olive);font-weight:600;margin-bottom:8px}
.terrasiniMini span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:1.7px;color:var(--gold);font-weight:900}
.navLinks{gap:8px}.navBtn{padding-left:18px;padding-right:18px}
@media(max-width:1024px){.navLinks .navBtn[href="#sicily"]{display:none}.navLinks .navBtn[href="#terrasini"]{display:inline-flex}.terrasiniMini{grid-template-columns:1fr}}
@media(max-width:640px){.terrasiniMini{gap:10px}.terrasiniMini a{padding:16px}.terrasiniMini b{font-size:24px}}

/* V5.2 mobile safety and clean phone rendering */
@media(max-width:820px){
  .topFloat{height:auto;min-height:62px;border-radius:28px;align-items:center;gap:8px}
  .navLinks{margin-left:auto;gap:6px;max-width:58%;justify-content:flex-end;flex-wrap:nowrap}
  .navLinks .navBtn{display:none!important}
  .navLinks .navBtn[href="#terrasini"],.navLinks .navBtnMain{display:inline-flex!important}
  .langSelect{display:inline-flex!important;min-width:54px}
  .brandMini{gap:10px}.brandMini b{font-size:22px}.brandSeal{width:42px;height:42px;font-size:26px}
  .cineHero{min-height:100svh}.cineInner{padding-top:110px;padding-bottom:40px}.scrollLine{display:none}
  .chapterNav{position:relative;z-index:2;margin:18px auto 0;width:calc(100% - 28px);grid-template-columns:1fr}.chapterNav a{min-height:96px}
  .fullSection{min-height:auto;padding:74px 0}.quoteBand{padding:70px 18px}.luxGrid,.luxGrid.reverse{gap:28px}.mapWrap{grid-template-columns:1fr}.mapPanel{padding:26px}.mapPanel h3{font-size:46px}.mapVisual{min-height:420px}.placeList{max-height:none;overflow:visible}
  .panelList{gap:10px}.terrasiniMini{grid-template-columns:1fr}.topFloat+section{margin-top:0}
}
@media(max-width:430px){
  .topFloat{top:8px;width:calc(100% - 12px);padding:7px 8px;border-radius:24px}.brandMini span span{display:none}.brandMini{min-width:0}.navLinks{max-width:52%}.navBtnMain{font-size:9px;padding:11px 10px}.langSelect{font-size:9px;padding:10px 9px;min-width:48px}
  .cineTitle{font-size:54px!important;line-height:.9!important;letter-spacing:-1.5px}.cineLead{font-size:23px!important}.kicker{font-size:10px;letter-spacing:3px}.heroActions{grid-template-columns:1fr;width:100%}
  .btn{padding:14px 18px;font-size:10px}.quoteBand blockquote{font-size:38px}.luxText h2,.displayTitle{font-size:48px!important}.luxText p,.lead{font-size:22px!important}.luxImage{min-height:370px}.container,.cineInner{width:calc(100% - 26px)}
  .immersive h2{font-size:46px!important}.immersive p{font-size:23px!important}.mapWrap{border-radius:30px}.mapPanel{padding:22px}.pin{width:38px;height:38px}.placeItem{grid-template-columns:1fr}.placeItem a{width:max-content}.footerMinimal{font-size:9px;padding:24px 12px}
}

/* V5.26 MOBILE EXPERIENCE FIX - full mobile navigation + compact local map */
@media(max-width:820px){
  .topFloat{
    display:flex!important;
    flex-wrap:wrap!important;
    align-items:center!important;
    gap:8px!important;
    padding:8px!important;
    border-radius:24px!important;
    width:calc(100% - 12px)!important;
    max-height:none!important;
  }
  .brandMini{width:100%!important;justify-content:center!important;min-width:0!important;padding:4px 0 2px!important}
  .brandMini span span{display:none!important}
  .navLinks{
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
    display:flex!important;
    flex-wrap:nowrap!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    justify-content:flex-start!important;
    gap:7px!important;
    padding:3px 2px 4px!important;
    -webkit-overflow-scrolling:touch!important;
    scrollbar-width:none!important;
  }
  .navLinks::-webkit-scrollbar{display:none!important}
  .navLinks .navBtn,
  .navLinks .navBtn[href="#sicily"],
  .navLinks .navBtn[href="#terrasini"],
  .navLinks .navBtnMain{
    display:inline-flex!important;
    flex:0 0 auto!important;
    white-space:nowrap!important;
    font-size:9px!important;
    padding:10px 12px!important;
    min-height:38px!important;
  }
  .langSelect{
    display:inline-flex!important;
    flex:0 0 auto!important;
    min-height:38px!important;
    padding:10px 12px!important;
  }
  .cineInner{padding-top:146px!important}

  /* Giada Local Map compatta da telefono */
  #map.fullSection{padding-top:66px!important;padding-bottom:64px!important}
  .mapWrap{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:0!important;
    border-radius:30px!important;
    overflow:hidden!important;
  }
  .mapVisual{
    min-height:280px!important;
    height:280px!important;
    border-radius:0!important;
  }
  .mapPanel{
    padding:22px!important;
    max-height:none!important;
  }
  .mapPanel h3{font-size:38px!important;margin-bottom:8px!important}
  .mapPanel p{font-size:15px!important;line-height:1.55!important;margin-bottom:14px!important}
  .filterRow{
    display:flex!important;
    flex-wrap:nowrap!important;
    overflow-x:auto!important;
    gap:8px!important;
    padding-bottom:8px!important;
    -webkit-overflow-scrolling:touch!important;
    scrollbar-width:none!important;
  }
  .filterRow::-webkit-scrollbar{display:none!important}
  .filter{
    flex:0 0 auto!important;
    white-space:nowrap!important;
    padding:10px 13px!important;
    font-size:9px!important;
  }
  .placeList{
    max-height:330px!important;
    overflow:auto!important;
    padding-right:4px!important;
    -webkit-overflow-scrolling:touch!important;
  }
  .placeItem{
    grid-template-columns:1fr!important;
    gap:10px!important;
    padding:14px!important;
    border-radius:20px!important;
  }
  .placeItem b{font-size:20px!important}
  .placeItem small{font-size:10px!important}
  .placeItem a{width:100%!important;text-align:center!important;justify-content:center!important}
}
@media(max-width:430px){
  .topFloat{top:6px!important;width:calc(100% - 10px)!important;border-radius:22px!important}
  .brandSeal{width:38px!important;height:38px!important;font-size:24px!important}
  .brandMini b{font-size:21px!important}
  .navLinks .navBtn,.navLinks .navBtnMain,.langSelect{font-size:8.5px!important;padding:9px 10px!important;min-height:35px!important}
  .cineInner{padding-top:142px!important}
  .mapVisual{height:245px!important;min-height:245px!important}
  .placeList{max-height:300px!important}
}


/* V5.27 MOBILE PREMIUM EFFECTS RESTORE
   Mantiene il fix mobile V5.26, ma ripristina il feeling luxury con animazioni leggere.
   Niente parallax pesante su telefono, niente blocchi lenti, solo reveal, glass, micro-motion. */
html{scroll-padding-top:118px}
.topFloat{transition:background .35s ease,box-shadow .35s ease,transform .35s ease,border-color .35s ease}
.topFloat.navScrolled{background:rgba(8,31,26,.78)!important;box-shadow:0 24px 70px rgba(0,0,0,.26)!important;border-color:rgba(228,208,164,.28)!important}
.navBtn,.langSelect{transition:transform .22s ease,background .22s ease,color .22s ease,border-color .22s ease}
.navBtn:hover,.langSelect:hover{transform:translateY(-1px);border-color:rgba(228,208,164,.55);background:rgba(255,255,255,.14)}
.navBtn.active{background:#fffdf8!important;color:var(--olive)!important;border-color:#fffdf8!important}

.reveal{will-change:opacity,transform,filter;filter:blur(8px)}
.reveal.show{filter:blur(0)}
.reveal:nth-child(2){transition-delay:.08s}.reveal:nth-child(3){transition-delay:.14s}
.chapterNav.reveal.show a{animation:luxCardRise .8s cubic-bezier(.22,.9,.22,1) both}
.chapterNav.reveal.show a:nth-child(2){animation-delay:.06s}.chapterNav.reveal.show a:nth-child(3){animation-delay:.12s}.chapterNav.reveal.show a:nth-child(4){animation-delay:.18s}.chapterNav.reveal.show a:nth-child(5){animation-delay:.24s}.chapterNav.reveal.show a:nth-child(6){animation-delay:.30s}
@keyframes luxCardRise{from{opacity:0;transform:translateY(24px) scale(.985);filter:blur(8px)}to{opacity:1;transform:none;filter:blur(0)}}

.cineHero:before,.cinematic:before{will-change:transform;animation:slowZoom 22s ease-in-out infinite alternate}
.luxImage:after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 0%,rgba(255,255,255,.10) 40%,transparent 68%);transform:translateX(-130%);transition:transform 1.15s ease;pointer-events:none}.luxImage:hover:after{transform:translateX(130%)}
.panelItem,.terrasiniMini a,.route,.placeItem,.chapterNav a{transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease,background .28s ease}
.panelItem:hover,.terrasiniMini a:hover,.route:hover,.placeItem:hover,.chapterNav a:hover{transform:translateY(-4px);box-shadow:0 24px 65px rgba(17,39,32,.13);border-color:rgba(199,166,107,.38)}
.pin{animation:pinBreath 2.8s ease-in-out infinite;will-change:transform}.pin:nth-child(2n){animation-delay:.35s}.pin:nth-child(3n){animation-delay:.7s}
@keyframes pinBreath{0%,100%{box-shadow:0 18px 32px rgba(0,0,0,.30),0 0 0 0 rgba(228,208,164,.28)}50%{box-shadow:0 18px 32px rgba(0,0,0,.30),0 0 0 10px rgba(228,208,164,0)}}

@media(max-width:820px){
  html{scroll-padding-top:142px}
  .topFloat{animation:mobileNavEntrance .55s cubic-bezier(.2,.85,.2,1) both}
  @keyframes mobileNavEntrance{from{opacity:0;transform:translateX(-50%) translateY(-12px) scale(.985)}to{opacity:1;transform:translateX(-50%) translateY(0) scale(1)}}
  .cineHero:before,.cinematic:before{animation:mobileHeroDrift 18s ease-in-out infinite alternate!important;transform-origin:center}
  @keyframes mobileHeroDrift{from{transform:scale(1.02) translate3d(-1.5%,0,0)}to{transform:scale(1.075) translate3d(1.5%,-1%,0)}}
  .reveal{opacity:0;transform:translateY(26px) scale(.992);filter:blur(6px);transition:opacity .72s ease,transform .72s cubic-bezier(.2,.82,.2,1),filter .72s ease!important}
  .reveal.show{opacity:1;transform:none;filter:blur(0)}
  .chapterNav.reveal.show a{animation:mobileCardRise .58s cubic-bezier(.2,.85,.2,1) both}
  @keyframes mobileCardRise{from{opacity:0;transform:translateY(18px);filter:blur(6px)}to{opacity:1;transform:none;filter:blur(0)}}
  .luxImage img{transition:transform .9s ease!important}.luxImage.show img,.luxImage.reveal.show img{animation:mobileImageSettle .95s ease both}
  @keyframes mobileImageSettle{from{transform:scale(1.045)}to{transform:scale(1)}}
  .immersive{background-attachment:scroll!important}.immersive:before{backdrop-filter:none!important}
  .panelItem:active,.terrasiniMini a:active,.placeItem:active,.chapterNav a:active{transform:scale(.985)}
  .pin{animation:pinBreathMobile 3.4s ease-in-out infinite!important}
  @keyframes pinBreathMobile{0%,100%{box-shadow:0 12px 24px rgba(0,0,0,.25),0 0 0 0 rgba(228,208,164,.20)}50%{box-shadow:0 12px 24px rgba(0,0,0,.25),0 0 0 8px rgba(228,208,164,0)}}
}
@media(max-width:430px){
  html{scroll-padding-top:138px}.cineTitle{animation:mobileTitleFade .7s ease both}.cineLead{animation:mobileTitleFade .85s ease both}.heroActions{animation:mobileTitleFade 1s ease both}
  @keyframes mobileTitleFade{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
}
@media(prefers-reduced-motion:reduce){
  *,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.reveal{opacity:1!important;transform:none!important;filter:none!important}
}

/* Pulsante sito ufficiale Giada Luxury Apartments */
.navBtnOfficial{background:rgba(199,166,107,.20);border-color:rgba(228,208,164,.72);color:#fffdf8}
.navBtnOfficial:hover{background:rgba(199,166,107,.34);border-color:var(--gold2)}
