:root{color-scheme:light;--ink:#183c44;--teal:#164f59;--muted:#445f65;--line:#d6dedb;--cream:#faf6ef;--soft:#edf3f1;--radius:14px}
*{box-sizing:border-box}html{scroll-padding-top:24px}body{margin:0;background:#fff;color:var(--ink);font:1.25rem/1.65 Arial,Helvetica,sans-serif}a{color:var(--teal);text-underline-offset:5px}a:hover{text-decoration-thickness:2px}a:focus-visible{outline:3px solid #9b461c;outline-offset:5px}p,li,a,address{overflow-wrap:break-word}img{display:block;max-width:100%;height:auto}figure,p,h1,h2,h3{margin:0}p+p{margin-top:1rem}h1,h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.035em;line-height:1.14;text-wrap:balance}h1{font-size:clamp(2.6rem,4.6vw,4rem);max-width:850px;margin:1rem 0 1.5rem}h1 em{font-style:normal;color:var(--teal)}h2{font-size:clamp(2.1rem,3.6vw,3rem);margin:.75rem 0 1.4rem}h3{font-size:1.4rem;line-height:1.4;margin:1.4rem 0 .6rem}.wrap{width:min(960px,calc(100% - 64px));margin-inline:auto}header{border-bottom:1px solid var(--line);background:#fff}.header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-block:22px}.brand{display:flex;flex-direction:column;text-decoration:none;line-height:1.2}.brand-name{font:2.8rem/1 Georgia,serif;letter-spacing:-.05em}.brand-dot{color:#985735}.brand-sub{font-size:1rem;margin-top:8px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:56px;padding:14px 24px;border:2px solid var(--teal);border-radius:8px;background:var(--teal);color:#fff;font-size:1.15rem;line-height:1.4;font-weight:700;text-align:center;text-decoration:none}.button:hover{background:#103d47;border-color:#103d47}.secondary{color:var(--teal);background:transparent}.secondary:hover{color:#fff}.header-call{white-space:nowrap;font-size:1rem}.hero{padding-block:56px 48px;display:flex;flex-direction:column;gap:32px}.hero-copy>p{max-width:740px}.hero-copy>.button{margin-top:24px}.eyebrow{font-size:.95rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--teal)}.lead{font-size:1.45rem;line-height:1.5;margin-bottom:16px}.button-note{font-size:1rem;color:var(--muted);margin-top:10px}.hero-photo{width:100%}.hero-photo img{width:100%;height:auto;border-radius:var(--radius)}figcaption{font-size:1.05rem;line-height:1.5;color:var(--muted);padding-top:12px}figcaption h3{margin-top:0}.facts{background:var(--soft);border-block:1px solid var(--line)}.fact-grid{padding-block:8px}.fact-grid p{margin:0;padding:14px 0;border-bottom:1px solid var(--line)}.fact-grid p:last-child{border:0}.fact-grid strong{display:inline-block;min-width:210px;font-size:1.1rem}.fact-grid span{font-size:1.05rem}.section{padding-block:64px}.section>p,.section-intro,.team-copy{max-width:760px}.home-grid,.team-section,.contact-section{display:flex;flex-direction:column;gap:28px}.plain-list{padding-left:24px;margin:20px 0 0}.plain-list li{margin:8px 0}.sea-section{background:var(--soft)}.sea-intro{display:block}.sea-intro>div{max-width:760px}.sea-link{display:inline-flex;align-items:center;min-height:48px;margin-top:12px;font-weight:700}.sea-photos{margin-top:28px}.sea-photos img{width:100%;height:auto;border-radius:var(--radius)}.daily-section,.kitchen-section{background:var(--cream);border-block:1px solid #e7dfd4}.daily-section{background:#fff}.photo-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;width:100%;margin-top:28px;align-items:start}.photo-gallery figure{min-width:0;width:100%;margin:0}.photo-gallery img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;background:transparent;border-radius:var(--radius)}.rooms-gallery{margin-top:0}.rooms-gallery img{aspect-ratio:4/3;object-fit:cover}
.rooms-gallery .portrait-photo img{object-position:50% 72%}
.staff-gallery img{object-position:50% 25%}.food-gallery img{aspect-ratio:3/4;object-fit:cover}.photo-gallery figcaption{padding:14px 2px 0}.photo-note{font-size:1rem;color:var(--muted);margin-top:24px}.real-photo:not(.photo-gallery .real-photo){margin-top:28px;width:100%}.hero-photo.real-photo{margin:0}.real-photo:not(.photo-gallery .real-photo) img{width:100%;height:auto;border-radius:var(--radius)}.kitchen-section h3{margin-top:28px}.menu-link,.kitchen-invite{margin-top:24px}.care-section{background:var(--soft)}.care-grid{margin-top:28px}.care-grid article{border-top:1px solid #bbc9c5;padding:20px 0}.care-grid article:last-child{padding-bottom:0}.care-grid p{max-width:740px}.service-number{font-size:.95rem;font-weight:700;color:var(--teal)}.care-grid h3{margin-top:4px}.team-section .photo-gallery{margin-top:0}.team-signoff{font:1.5rem/1.4 Georgia,serif;color:#874728;border-left:3px solid #b56b42;padding-left:16px;margin-top:24px}.contact-section{border-top:1px solid var(--line);gap:36px}.contact-copy{max-width:740px}.contact-copy>.button{margin-top:24px}.address-card{width:100%;background:var(--soft);padding:32px;border:1px solid var(--line);border-radius:var(--radius)}.address-card h3{margin-top:8px;font-size:1.6rem}.address-card address{font-style:normal;margin:16px 0;font-size:1.3rem}.address-card .secondary{margin-top:18px}.location-map{display:block;width:100%;height:360px;border:1px solid var(--line);border-radius:8px;margin-top:24px}footer{background:#103d47;color:#fff}.footer{padding-block:36px;display:flex;flex-direction:column;gap:20px;font-size:1rem}.footer-brand{font:1.8rem Georgia,serif}.footer p{margin:8px 0}.footer a{color:white;display:inline-block;padding-block:10px;min-height:48px}.mobile-call{display:none}.skip{position:fixed;top:-100px;left:16px;z-index:10;background:white;padding:16px}.skip:focus{top:12px}#contenuto:focus{outline:none}
/* Local legal and menu documents share the same readable typography. */
.document{max-width:820px}.document h1{overflow-wrap:anywhere}.document h2{font-size:2rem;margin-top:40px}.document h3,.document h4{font-size:1.35rem;margin-top:24px}.document li{margin-block:12px}.document-note{padding:20px;background:var(--cream);border-left:3px solid #874728;margin-bottom:24px}.document-links{padding-left:24px}.document-links a{display:inline-block;min-height:48px;padding-block:12px}.document-return{margin-top:40px}.document hr{border:0;border-top:1px solid var(--line);margin-block:28px}
@media(max-width:700px){body{font-size:1.18rem;padding-bottom:90px}.wrap{width:calc(100% - 40px)}.header{padding-block:18px}.header-call{display:none}.brand-name{font-size:2.4rem}.brand-sub{font-size:.95rem}.hero{padding-block:32px;gap:24px}h1{font-size:clamp(2.4rem,9vw,3.2rem)}h2 br{display:none}.lead{font-size:1.3rem}.hero-copy>.button,.contact-copy>.button{width:100%}.section{padding-block:40px}.photo-gallery{grid-template-columns:minmax(0,1fr);gap:28px;margin-top:24px}.photo-gallery img{aspect-ratio:auto;height:auto;object-fit:contain;background:transparent}.photo-gallery figcaption{padding-top:10px}.home-grid,.team-section{gap:24px}.rooms-gallery,.team-section .photo-gallery{margin-top:0}.fact-grid strong,.fact-grid span{display:block}.fact-grid strong{min-width:0}.address-card{padding:20px}.location-map{height:300px}.address-card .button{width:100%;padding-inline:12px}.mobile-call{display:block;position:fixed;bottom:0;left:0;right:0;background:white;border-top:1px solid var(--line);padding:10px 20px calc(10px + env(safe-area-inset-bottom));z-index:5}.mobile-call .button{width:100%;min-height:54px}html{scroll-padding-bottom:100px}.document-page{padding-bottom:0}.document-page .header{flex-wrap:wrap}.document-page .header .button{font-size:1rem}.footer{padding-block:28px}a{scroll-margin-block:24px 100px}}
@media(max-height:500px){.mobile-call{display:none}body{padding-bottom:0}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto}}@media(forced-colors:active){.button{border:2px solid ButtonText}}@media print{.header-call,.mobile-call,.skip,.location-map{display:none!important}body{font-size:12pt;padding:0;color:#000;background:white}.wrap{width:100%}.section,.hero{padding-block:20px}h1{font-size:28pt}h2{font-size:22pt}.photo-gallery{grid-template-columns:1fr 1fr}img{max-height:250px;object-fit:contain!important}figure{break-inside:avoid}.button,footer{background:white;color:black}.footer a{color:black}}

.home-grid>div:not(.photo-gallery){max-width:760px}

/* Resa luminosa e calda delle foto autentiche: file originali invariati.
   Il salotto in controluce necessita di una compensazione maggiore. */
main figure img{filter:brightness(1.10) contrast(.96) sepia(.08) saturate(1.04)}
.living-room-light img{filter:brightness(1.42) contrast(.86) sepia(.06) saturate(1.04)}
.coast-photo img{filter:brightness(1.04) contrast(.98) sepia(.06) saturate(1.03)}
@media(max-width:700px){.photo-gallery img{aspect-ratio:auto;object-fit:cover;background:transparent}}


.care-embrace + p{margin-top:24px}

/* Scatti esterni già soleggiati: luce e calore delicati, inquadrature quasi integrali. */
.location-gallery img{aspect-ratio:3/2;object-fit:cover;filter:brightness(1.04) contrast(.98) sepia(.06) saturate(1.03)}
@media(max-width:700px){.location-gallery img{aspect-ratio:auto;height:auto}}

/* Contatto WhatsApp: alternativa alla telefonata, in lettura verticale. */
.whatsapp-contact{margin-top:32px;padding-top:24px;border-top:1px solid var(--line)}.whatsapp-contact h3{margin:0 0 10px}.whatsapp-contact .button{margin-top:18px}.whatsapp-contact .button-note{margin-top:10px}@media(max-width:700px){.whatsapp-contact .button{width:100%}}

/* Contatti mobili: due icone riconoscibili con etichette sempre visibili. */
@media(max-width:700px) and (min-height:501px){
 body{padding-bottom:calc(120px + env(safe-area-inset-bottom))}
 .mobile-call{display:flex;justify-content:center;gap:56px;padding:10px 20px calc(10px + env(safe-area-inset-bottom));box-shadow:0 -3px 14px #103d4710}
 .mobile-contact{display:flex;flex-direction:column;align-items:center;gap:4px;min-width:88px;color:var(--teal);text-decoration:none;font-size:1rem;font-weight:700;line-height:1.4;border-radius:8px}
 .contact-circle{display:flex;align-items:center;justify-content:center;width:58px;height:58px;border-radius:50%;background:var(--teal);color:#fff}
 .contact-circle svg{display:block;width:29px;height:29px}
 .mobile-whatsapp .contact-circle{background:#147844}
 .mobile-contact:hover .contact-circle{background:#103d47}
 .mobile-whatsapp:hover .contact-circle{background:#0d5d33}
 html{scroll-padding-bottom:calc(124px + env(safe-area-inset-bottom))}
 a{scroll-margin-bottom:124px}
}
