:root{--blue:#69cfc5;--deep-blue:#14756d;--mint:#a9e7d8;--yellow:#ffda3e;--coral:#f3bd70;--cream:#fffbed}
.hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%}
.hero-overlay{background:linear-gradient(90deg,rgba(10,34,49,.82),rgba(10,34,49,.5) 50%,rgba(10,34,49,.05)),linear-gradient(0deg,rgba(10,34,49,.3),transparent 65%)}
.hero-content{max-width:740px}.hero h1{font-size:clamp(3rem,6.8vw,6.4rem)}
.brand-mark{display:grid;place-content:center;flex:0 0 54px;width:54px;height:54px;border:2px solid var(--ink);border-radius:15px;background:var(--blue);color:var(--ink);font-size:16px;font-weight:900;line-height:1.1;text-align:center;transform:rotate(-5deg)}
.brand-mark>span{font-size:12px}.booking-bar{display:grid;background:rgba(255,255,255,.97);border-radius:25px;box-shadow:var(--shadow);grid-template-columns:minmax(0,1fr) auto;align-items:center;padding:15px 20px;gap:20px}.booking-bar strong,.booking-bar small{display:block}.booking-bar small{max-width:500px;margin-top:5px;font-size:.85rem}.booking-button{min-height:58px}.site-header{gap:14px}#main-nav{gap:14px}#main-nav a{font-size:.76rem}.brand strong{white-space:nowrap}.brand small{font-size:.62rem}
.fact-icon{font-size:2rem}.fact{grid-template-columns:45px minmax(0,1fr);gap:12px;padding:18px}.fact-copy strong{font-size:1rem}.fact-icon{width:45px;height:45px}.sticker-view{right:7%;top:25%}.sticker-pet{right:8%;bottom:31%}
.area-description{max-width:760px;font-size:1.2rem}.area-split{display:grid;grid-template-columns:1fr 1fr;gap:35px;align-items:center}.area-split figure{margin:0}.area-split img{width:100%;height:470px;object-fit:cover}.arrival-card{background:var(--mint);border:2px solid var(--ink);border-radius:30px;box-shadow:7px 7px 0 var(--ink);padding:36px}.arrival-card h3{font-size:2.8rem}.social-photos{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.social-photos img{height:320px;width:100%;object-fit:cover;border:2px solid var(--ink);border-radius:28px;box-shadow:7px 7px 0 var(--ink)}
.sister a{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:30px;border:2px solid var(--ink);border-radius:25px;background:var(--yellow);text-decoration:none;box-shadow:7px 7px 0 var(--ink)}.sister strong{font-size:1.7rem}.site-footer{gap:30px}.footer-links{flex-wrap:wrap}.site-footer small{line-height:1.8}.gallery-overlay[hidden]{display:none}.gallery-overlay:not([hidden]){display:grid}.gallery-close,.gallery-controls button{cursor:pointer}.gallery-slide img{object-fit:contain}.utility-page{padding-top:170px;min-height:75svh}.utility-page h1{font-size:clamp(2.6rem,5vw,4.6rem)}.utility-page h2{font-size:2.2rem}.guest-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px;margin:35px 0}.owner-contact{overflow-wrap:anywhere}
a:focus-visible,button:focus-visible,select:focus-visible{outline:3px solid var(--deep-blue);outline-offset:5px}.gallery-dialog:focus-visible{outline:3px solid var(--yellow)}
@media(max-width:1100px){#main-nav{gap:10px}.site-header .brand small{display:none}.site-header .brand-mark{width:44px;height:44px;flex-basis:44px}.brand strong{font-size:.86rem}#main-nav .button{padding-inline:12px}}
@media(max-width:960px){.area-split{gap:20px}.arrival-card{padding:25px}.sticker-view{top:20%}.hero-copy{max-width:80%}.guest-grid{grid-template-columns:1fr}}
@media(max-width:700px){.hero{min-height:900px;min-height:100svh;padding-top:150px;padding-bottom:200px}.hero h1{font-size:clamp(2.8rem,12vw,4.5rem)}.hero-copy{max-width:100%;font-size:1rem}.hero-content{max-width:100%}.hero>img{object-position:52% 50%}.hero-overlay{background:linear-gradient(0deg,rgba(10,34,49,.88),rgba(10,34,49,.62) 65%,rgba(10,34,49,.12))}.sticker-view{right:20px;top:110px;font-size:.7rem;padding:7px 10px}.sticker-pet{display:none}.booking-bar{display:grid;background:rgba(255,255,255,.97);border-radius:25px;box-shadow:var(--shadow);grid-template-columns:1fr;gap:12px;padding:16px;bottom:20px}.booking-bar strong{font-size:.9rem}.booking-bar small{font-size:.75rem}.booking-button{min-height:48px;width:100%}.quick-facts{padding-top:35px;grid-template-columns:1fr 1fr}.fact{padding:14px;min-height:135px;grid-template-columns:1fr;gap:5px}.fact-icon{width:35px;height:35px;font-size:1.5rem}.fact-copy strong{font-size:.85rem}.fact-copy small{font-size:.7rem}.area-split{grid-template-columns:1fr}.area-split img{height:300px}.social-photos{gap:8px}.social-photos img{height:180px;border-radius:18px;box-shadow:3px 3px 0 var(--ink)}.sister a{display:grid;gap:6px}.sister strong{font-size:1.35rem}.site-footer{padding-bottom:110px}.utility-page{padding-top:130px}.brand small{display:none}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
.guide-link{margin:12px 0 18px}.guide-teaser{font-size:.95rem;max-width:700px}.guide-page{padding-top:140px}.guide-hero{width:min(1180px,calc(100% - 48px));margin:auto;padding:38px 0 54px}.guide-back{display:inline-block;margin-bottom:45px;text-decoration:none;font-size:.9rem;font-weight:800}.guide-hero h1{max-width:1000px;font-size:clamp(3rem,6vw,5.8rem);margin-bottom:25px}.guide-lead{font-size:1.35rem;max-width:760px}.guide-layout{width:min(1180px,calc(100% - 48px));margin:0 auto 90px;display:grid;grid-template-columns:250px minmax(0,1fr);gap:64px;align-items:start}.guide-toc{position:sticky;top:120px;display:grid;gap:0;border:2px solid var(--ink);border-radius:24px;background:var(--mint);padding:20px;box-shadow:6px 6px 0 var(--ink)}.guide-toc a{padding:12px 0;border-bottom:1px solid #14756d44;font-weight:800;font-size:.88rem;text-decoration:none}.guide-toc a:last-child{border:0}.guide-article{min-width:0}.guide-intro{font-size:1.2rem;line-height:1.65;margin-bottom:50px}.guide-topic{padding:0 0 40px;margin-bottom:35px;border-bottom:1px solid #172b3833;scroll-margin-top:125px}.guide-topic h2,.guide-faq h2,.guide-sources h2,.guide-stay h2{font-size:clamp(1.9rem,3vw,2.7rem);line-height:1.08;letter-spacing:-.035em;margin:12px 0 22px}.guide-number{font-size:.85rem;font-weight:900;background:var(--yellow);border:2px solid var(--ink);border-radius:50%;display:inline-grid;place-items:center;width:42px;height:42px}.guide-topic p{line-height:1.75}.guide-faq{margin:0 0 55px}.guide-faq details{border:2px solid var(--ink);border-radius:18px;padding:18px 20px;margin:14px 0;background:white}.guide-faq summary{font-weight:800;cursor:pointer}.guide-faq details p{margin:16px 0 0}.guide-stay{scroll-margin-top:125px;border:2px solid var(--ink);border-radius:28px;background:var(--yellow);box-shadow:7px 7px 0 var(--ink);overflow:hidden;margin-bottom:65px}.guide-stay>img{width:100%;height:280px;object-fit:cover}.guide-stay>div{padding:30px}.guide-stay .button{margin:8px 8px 8px 0}.guide-sources h2{font-size:1.7rem}.guide-sources li{margin:12px 0;font-size:.9rem}.guide-sources ul{padding-left:20px}.guide-page .eyebrow{font-size:.75rem}
.guide-page .guide-hero{position:relative;display:block;min-height:0;background:transparent;color:var(--ink);overflow:visible}.guide-page .guide-intro{padding:0;text-align:left}.guide-page .guide-faq{display:block}
@media(max-width:960px){.guide-layout{grid-template-columns:200px minmax(0,1fr);gap:32px}.guide-toc{top:110px}.guide-hero{padding-top:20px}}
@media(max-width:700px){.guide-page{padding-top:100px}.guide-hero{width:calc(100% - 36px);padding-bottom:25px}.guide-hero h1{font-size:2.9rem}.guide-back{margin-bottom:25px}.guide-lead{font-size:1.1rem}.guide-layout{width:calc(100% - 36px);grid-template-columns:1fr;gap:40px;margin-bottom:45px}.guide-toc{position:static}.guide-intro{font-size:1.06rem}.guide-topic h2,.guide-faq h2,.guide-stay h2{font-size:2rem}.guide-stay>div{padding:22px}.guide-stay>img{height:210px}.guide-topic{padding-bottom:25px;margin-bottom:25px}.guide-faq details{padding:16px}.guide-stay .button{font-size:.88rem;width:100%;padding-inline:12px}}

.sister-promo,.related-guides{max-width:1160px;margin:45px auto;padding:32px;border:2px solid var(--ink);border-radius:24px;background:#edf9f5;color:var(--ink)}.sister-promo h2,.related-guides h2{font-size:clamp(1.7rem,3vw,2.6rem);line-height:1.12;margin:10px 0 18px}.sister-promo p{line-height:1.7;max-width:760px}.sister-guide{display:block;margin-top:22px;font-weight:700}.related-guides a{display:block;margin:18px 0;line-height:1.6}.practical-article{width:min(800px,calc(100% - 40px));margin:0 auto 65px}.practical-article .guide-topic h2{font-size:clamp(1.7rem,3vw,2.4rem)}@media(max-width:700px){.sister-promo,.related-guides{margin:30px 18px;padding:24px}.practical-article .sister-promo{margin-inline:0}.sister-promo .button{white-space:normal;text-align:center}}

/* Pre-launch review: original logo, palette, mobile flow and consistent icons. */
:root{--coral:var(--blue)}
.brand-logo{display:block;width:76px;height:76px;flex:0 0 76px;object-fit:contain;border-radius:50%;transform:none}
.site-header .brand{min-width:0;gap:10px}.site-header .brand-logo{width:68px;height:68px;flex-basis:68px}.footer-brand .brand-logo{width:100px;height:100px;flex-basis:100px}
.fact-icon{display:grid;place-items:center;align-self:start;flex-shrink:0;width:46px;height:46px;aspect-ratio:1;border-radius:50%;padding:8px;transform:none;font-size:0;line-height:0;box-sizing:border-box}.fact-icon svg{display:block;width:100%;height:100%;aspect-ratio:1;flex-shrink:0;overflow:visible}.fact-copy{padding-right:0;min-width:0}.fact-copy strong{overflow-wrap:normal}
.area-split{align-items:start;isolation:isolate}.area-split>.photo-card{position:relative;inset:auto;display:block;width:100%;height:auto;transform:none;margin:0}.area-split>.photo-card img{display:block;width:100%;height:470px;object-fit:cover}.arrival-card{position:relative;min-width:0;overflow-wrap:anywhere}.arrival-card h3{line-height:1.1}
.final-cta.section{padding:0;min-height:0;background:var(--mint);align-items:stretch}.cta-photo{min-height:0;min-width:0}.cta-photo img{display:block;min-height:100%;height:100%;width:100%;object-fit:cover}.cta-copy{padding:46px;align-self:center}
.transport-card{margin:36px 0 0;padding:28px;border:2px solid var(--ink);border-radius:24px;background:#fff;clear:both}.transport-card h3{font-size:clamp(1.5rem,2.5vw,2rem);line-height:1.15;margin:0 0 16px}.transport-card p{line-height:1.7}.transport-card ul{display:grid;gap:14px;margin:20px 0 0;padding-left:20px}.transport-card a{font-weight:700;text-underline-offset:3px}.guide-article .transport-card,.practical-article .transport-card{margin-bottom:44px}.gallery-caption small{white-space:normal}
@media(max-width:1100px){.site-header .brand-logo{width:60px;height:60px;flex-basis:60px}}
@media(max-width:700px){.site-header{gap:10px}.site-header .brand-logo{width:60px;height:60px;flex-basis:60px}.site-header .brand strong{font-size:.85rem}.fact{height:auto;min-height:170px;align-content:start;gap:12px}.fact-icon{width:40px;height:40px;padding:7px}.area-split{display:grid;grid-template-columns:minmax(0,1fr);gap:28px}.area-split>.photo-card img{height:auto;aspect-ratio:4/3;object-fit:cover}.arrival-card{padding:26px}.arrival-card h3{font-size:2.1rem}.final-cta.section{grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto;min-height:0;padding:0}.cta-photo img{height:auto;min-height:0;aspect-ratio:4/3;object-fit:cover}.cta-copy{padding:30px 24px 36px;align-self:auto}.cta-copy h2{font-size:clamp(2.5rem,10vw,3.9rem);line-height:1.05}.transport-card{padding:24px}.footer-brand{align-items:center}.footer-brand .brand-logo{width:80px;height:80px;flex-basis:80px}}
@media(max-width:380px){.site-header .brand-logo{width:49px;height:49px;flex-basis:49px}.site-header .brand strong{font-size:.77rem}.site-header{gap:7px}.fact{padding:12px}.fact-copy strong{font-size:.8rem}}

#arrivo,#punti-forti,#vacanza{scroll-margin-top:130px}.brand img.brand-logo,.footer-brand img.brand-logo{object-fit:contain;border-radius:50%}@media(max-width:700px){.final-cta .cta-photo{height:auto}}

/* Native colour emoji, centred in a fixed square without distortion. */
.fact-icon{display:flex;align-items:center;justify-content:center;padding:0;font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif;font-size:28px;line-height:1;letter-spacing:0;font-style:normal;font-weight:400;transform:none}
@media(max-width:700px){.fact-icon{font-size:25px;padding:0}}
