@font-face{font-family:'CaviarDreams';src:url('https://italiesuisse.com/fonts/CaviarDreams.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap;}
    @font-face{font-family:'CaviarDreams';src:url('https://italiesuisse.com/fonts/CaviarDreams_Bold.ttf') format('truetype');font-weight:700;font-style:normal;font-display:swap;}
    @font-face{font-family:'NewYork';src:url('https://italiesuisse.com/fonts/NewYork%20PERSONAL%20USE.otf') format('opentype');font-weight:400;font-style:normal;font-display:swap;}
    @font-face{font-family:'Caveat';src:url('https://italiesuisse.com/fonts/Caveat-Bold.ttf') format('truetype');font-weight:700;font-style:normal;font-display:swap;}
    :root { --bg:#FAF9F6; --bg-dark:#1a0f0f; --primary:#3D1515; --gold:#ea816b; --bordeaux:#800000; --text:#2A1A1A; --line:rgba(61,21,21,0.12); --font-serif:'NewYork',serif; --font-sans:'CaviarDreams',sans-serif;--font-accent:'Caveat',cursive; --ease:cubic-bezier(0.16,1,0.3,1); }
    *,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}
    html{scroll-behavior:smooth;}
    body{font-family:var(--font-sans); font-weight: 400;background:var(--bg);color:var(--text);overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.6;}
    img{display:block;max-width:100%;}a{text-decoration:none;color:inherit;}ul{list-style:none;}button{cursor:pointer;}
    .eyebrow{display:block;font-family:var(--font-sans);font-size:0.82rem;font-weight:700;letter-spacing:5px;text-transform:uppercase;color:var(--gold);margin-bottom:1.8rem;}
    .container{max-width:1380px;margin:0 auto;padding:0 5rem;}
    .section-rule{border:none;border-top:1px solid var(--line);margin:0 5rem;}
    .text-center{text-align:center;}
    .btn{display:inline-block;font-family:var(--font-sans);font-size:0.65rem;font-weight:300;letter-spacing:3px;text-transform:uppercase;padding:1rem 2.5rem;border:1px solid var(--gold);color:var(--gold);transition:background 0.4s var(--ease),color 0.4s var(--ease);}
    .btn:hover{background:var(--gold);color:#fff;}
    .btn-book{font-family:var(--font-sans);font-size:0.65rem;font-weight:300;letter-spacing:3px;text-transform:uppercase;padding:0.75rem 1.8rem;border:1px solid var(--gold);background:var(--gold);color:#fff;transition:opacity 0.4s var(--ease);}
    .btn-book:hover{opacity:0.82;}
    .link-arrow{display:inline-flex;align-items:center;gap:0.8rem;font-family:var(--font-sans);font-size:0.7rem;letter-spacing:3px;text-transform:uppercase;color:var(--primary);position:relative;padding-bottom:4px;margin-top:1rem;}
    .link-arrow::after{content:'';position:absolute;bottom:0;left:0;width:0;height:1px;background:var(--gold);transition:width 0.5s var(--ease);}
    .link-arrow:hover::after{width:100%;}
    .link-arrow:hover{color:var(--bordeaux);}
    .reveal{opacity:0;transform:translateY(50px);filter:blur(4px);transition:opacity 1.4s var(--ease),transform 1.4s var(--ease),filter 1.2s var(--ease);}
    .reveal.visible{opacity:1;transform:translateY(0);filter:blur(0);}
    .reveal-left{opacity:0;transform:translateX(-40px);filter:blur(4px);transition:opacity 1.4s var(--ease),transform 1.4s var(--ease),filter 1.2s var(--ease);}
    .reveal-left.visible{opacity:1;transform:translateX(0);filter:blur(0);}
    .reveal-right{opacity:0;transform:translateX(40px);filter:blur(4px);transition:opacity 1.4s var(--ease),transform 1.4s var(--ease),filter 1.2s var(--ease);}
    .reveal-right.visible{opacity:1;transform:translateX(0);filter:blur(0);}
    .delay-1{transition-delay:0.15s;}.delay-2{transition-delay:0.3s;}.delay-3{transition-delay:0.45s;}
    .navbar{position:fixed;top:0;left:0;width:100%;z-index:1000;padding:2rem 0;transition:padding 0.5s var(--ease),background 0.5s var(--ease),border-color 0.5s var(--ease);border-bottom:1px solid transparent;}
    .navbar.scrolled{padding:1.2rem 0;background:rgba(250,249,246,0.96);backdrop-filter:blur(12px);border-bottom-color:var(--line);}
    .navbar.scrolled .nav-links a,.navbar.scrolled .logo,.navbar.scrolled .lang-switcher{color:var(--primary);}
    .navbar.scrolled .nav-burger-btn{color:var(--primary);}
    .navbar.dark-nav .logo,.navbar.dark-nav .nav-links a,.navbar.dark-nav .lang-switcher,.navbar.dark-nav .nav-burger-btn{color:var(--primary);}
    .nav-container{max-width:1380px;margin:0 auto;padding:0 3rem;display:flex;align-items:center;justify-content:space-between;}
    .logo{font-family:var(--font-serif);font-size:1.35rem;font-weight:300;letter-spacing:4px;text-transform:uppercase;color:#fff;transition:color 0.4s;flex-shrink:0;}
    .nav-links{display:none;gap:3rem;}
    .nav-links a{font-family:var(--font-sans);font-size:0.7rem;font-weight:300;letter-spacing:3px;text-transform:uppercase;color:rgba(255,255,255,0.9);position:relative;padding-bottom:4px;transition:color 0.3s;white-space:nowrap;}
    .nav-links a::after{content:'';position:absolute;bottom:0;left:0;width:0;height:1px;background:var(--gold);transition:width 0.4s var(--ease);}
    .nav-links a:hover::after,.nav-links a.active::after{width:100%;}
    .nav-right{display:flex;align-items:center;gap:2rem;}
    .lang-switcher-wrap{position:relative;}
    .lang-switcher{font-family:var(--font-sans);font-size:0.7rem;font-weight:300;letter-spacing:2px;color:rgba(255,255,255,0.8);cursor:pointer;display:flex;align-items:center;gap:0.3rem;transition:color 0.3s;}
    .lang-dropdown{position:absolute;top:calc(100% + 0.8rem);right:0;background:var(--bg);min-width:120px;border:1px solid var(--line);opacity:0;visibility:hidden;transform:translateY(8px);transition:all 0.3s var(--ease);z-index:100;}
    .lang-switcher-wrap:hover .lang-dropdown{opacity:1;visibility:visible;transform:translateY(0);}
    .lang-dropdown a{display:flex;align-items:center;gap:0.5rem;padding:0.75rem 1rem;font-size:0.68rem;letter-spacing:2px;text-transform:uppercase;color:var(--primary);border-bottom:1px solid var(--line);transition:background 0.2s;}
    .lang-dropdown a:last-child{border-bottom:none;}
    .lang-dropdown a:hover{background:var(--gold);color:#fff;}
    .nav-burger-btn{display:block !important;background:transparent !important;background-color:transparent !important;border:none;box-shadow:none !important;color:#fff;font-size:1.6rem;z-index:1001;padding:0;-webkit-tap-highlight-color:transparent !important;}
    .hero{position:relative;height:100vh;min-height:600px;display:flex;align-items:center;justify-content:center;overflow:hidden;}
    .hero.hero-short{height:80vh;}
    .hero-bg{position:absolute;inset:-12%;background-size:cover;background-position:center;will-change:transform;}
    .hero-overlay{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(26,15,15,0.38) 0%,rgba(26,15,15,0.12) 40%,rgba(26,15,15,0.55) 100%);}
    .hero-content{position:relative;z-index:2;text-align:center;color:#fff;padding:0 2rem;animation:heroIn 1.8s var(--ease) both;}
    @keyframes heroIn{from{opacity:0;transform:translateY(30px);filter:blur(6px);}to{opacity:1;transform:translateY(0);filter:blur(0);}}
    .hero-eyebrow{display:block;font-family:var(--font-sans);font-size:0.78rem;font-weight:700;letter-spacing:6px;text-transform:uppercase;color:rgba(255,255,255,0.92);margin-bottom:2rem;}
    .hero h1{font-family:var(--font-serif);font-size:clamp(3rem,7vw,7.5rem);font-weight:300;font-style:italic;line-height:1;color:#fff;letter-spacing:-0.01em;}
    .scroll-line{position:absolute;bottom:3rem;left:50%;transform:translateX(-50%);width:1px;height:60px;background:rgba(255,255,255,0.25);overflow:hidden;}
    .scroll-line::after{content:'';position:absolute;top:-100%;left:0;width:100%;height:100%;background:rgba(255,255,255,0.9);animation:scrollDown 1.8s var(--ease) infinite 1s;}
    @keyframes scrollDown{0%{top:-100%;}100%{top:100%;}}
    .quote-block{position:relative;width:100vw;left:50%;margin-left:-50vw;background:url('https://italiesuisse.com/wp-content/uploads/2026/04/HotelSuisse_PanoramaTramonto-1-scaled.jpg') center/cover no-repeat;padding:16rem 0;transform:translateZ(0);image-rendering:-webkit-optimize-contrast;image-rendering:high-quality;}
    .quote-block::after{content:'';position:absolute;inset:0;background:rgba(0,0,0,0.18);}
    .quote-block blockquote{font-family:var(--font-serif);font-size:clamp(2rem,3.5vw,3.5rem);font-style:italic;font-weight:300;color:rgba(255,255,255,0.9);max-width:900px;margin:0 auto;line-height:1.3;padding:0 2rem;}
    .quote-block cite{display:block;font-family:var(--font-sans);font-size:0.68rem;letter-spacing:4px;text-transform:uppercase;color:var(--gold);font-style:normal;margin-top:2.5rem;}
    .footer{background:#fff;border-top:1px solid var(--line);}
    .footer-main{display:grid;grid-template-columns:1fr 1.3fr 1fr;align-items:center;padding:4rem 0 4rem 2rem;gap:3rem;}
    .footer-logo-col{display:flex;align-items:center;justify-content:center;}
    .footer-logo-col img{max-width:220px;}
    .footer-info-col{text-align:center;}
    .footer-info-col h4{font-family:var(--font-serif);font-size:1.4rem;letter-spacing:3px;text-transform:uppercase;color:var(--primary);margin-bottom:1rem;font-style:italic;font-weight:300;}
    .footer-info-col p{font-size:0.95rem;color:#777;line-height:1.8;}
    .footer-social{display:flex;justify-content:center;gap:0.75rem;margin-top:1.2rem;}
    .footer-social a{width:34px;height:34px;border:1px solid var(--bordeaux);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--bordeaux);font-size:1rem;transition:background 0.2s,color 0.2s;}
    .footer-social a:hover{background:var(--bordeaux);color:#fff;}
    .footer-image-col{overflow:hidden;align-self:stretch;margin:-4rem 0;}
    .footer-image-col img{width:100%;height:100%;object-fit:cover;}
    .footer-bottom{background:var(--gold);padding:1rem 2rem;text-align:center;}
    .footer-links{display:flex;justify-content:center;gap:2rem;flex-wrap:wrap;margin-bottom:0.5rem;}
    .footer-links a,.footer-bottom p{font-size:0.65rem;letter-spacing:1.5px;text-transform:uppercase;color:#fff;}
    .footer-links a:hover{color:#fff;}
    /* ── SIDE DRAWER ── */
    .drawer-overlay{position:fixed;inset:0;background:rgba(10,4,4,.55);backdrop-filter:blur(4px);z-index:99998;opacity:0;visibility:hidden;transition:opacity .5s var(--ease),visibility .5s var(--ease);}
    .drawer-overlay.active{opacity:1;visibility:visible;}
    .side-drawer{position:fixed;top:0;right:0;width:min(420px,88vw);height:100%;background:#fff;z-index:99999;display:flex;flex-direction:column;padding:2.5rem 3rem 3rem;transform:translateX(100%);transition:transform .75s var(--ease);overflow-y:auto;}
    .side-drawer.active{transform:translateX(0);}
    .drawer-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:3.5rem;}
    .drawer-logo{font-family:var(--font-serif);font-size:.85rem;letter-spacing:4px;text-transform:uppercase;font-style:italic;color:var(--primary);font-weight:300;}
    .drawer-close{background:transparent;border:none;color:var(--primary);font-size:1.8rem;cursor:pointer;transition:color .3s;padding:0;outline:none;-webkit-tap-highlight-color:transparent;}
    .drawer-close:hover{color:var(--gold);background:transparent;}
    .drawer-close:focus,.drawer-close:active{outline:none;background:transparent;box-shadow:none;}
    .drawer-links{list-style:none;display:flex;flex-direction:column;gap:.2rem;flex:1;}
    .drawer-links li a{font-family:var(--font-serif);font-size:clamp(2rem,5vw,2.8rem);font-style:italic;font-weight:300;color:var(--primary);display:block;padding:.45rem 0;opacity:0;transform:translateX(30px);transition:opacity .5s var(--ease),transform .5s var(--ease);}
    .drawer-links li a:hover{color:var(--gold);}
    .side-drawer.active .drawer-links li:nth-child(1) a{opacity:1;transform:translateX(0);transition-delay:.15s;}
    .side-drawer.active .drawer-links li:nth-child(2) a{opacity:1;transform:translateX(0);transition-delay:.22s;}
    .side-drawer.active .drawer-links li:nth-child(3) a{opacity:1;transform:translateX(0);transition-delay:.29s;}
    .side-drawer.active .drawer-links li:nth-child(4) a{opacity:1;transform:translateX(0);transition-delay:.36s;}
    .side-drawer.active .drawer-links li:nth-child(5) a{opacity:1;transform:translateX(0);transition-delay:.43s;}
    .side-drawer.active .drawer-links li:nth-child(6) a{opacity:1;transform:translateX(0);transition-delay:.50s;}
    .side-drawer.active .drawer-links li:nth-child(7) a{opacity:1;transform:translateX(0);transition-delay:.57s;}
.drawer-bottom{padding-top:2rem;margin-top:auto;border-top:1px solid var(--line);}
    .drawer-prenota{font-family:var(--font-sans);font-size:.7rem;letter-spacing:4px;text-transform:uppercase;color:#fff;background:var(--gold);border:1px solid var(--gold);padding:1.1rem 2rem;display:block;width:100%;text-align:center;box-shadow:0 4px 18px rgba(234,129,107,.35);transition:background .3s,box-shadow .3s,transform .2s;margin-bottom:1.5rem;}
    .drawer-prenota:hover{opacity:.8;}
    .drawer-footer-text{font-family:var(--font-sans);font-size:.58rem;letter-spacing:3px;text-transform:uppercase;color:rgba(61,21,21,0.4);display:block;margin-top:1rem;}
    .nav-links{display:none;}
    @media(max-width:1100px){.container{padding:0 3rem;}.section-rule{margin:0 3rem;}}
    @media(max-width:768px){.container{padding:0 1.5rem;}.section-rule{margin:0 1.5rem;}.nav-right .lang-switcher-wrap,.nav-right .btn-book{display:none;}.navbar:not(.scrolled) .logo{font-size:1rem;}.quote-block{padding:7rem 0;}.footer-main{grid-template-columns:1fr;padding:3rem 1.5rem;}.footer-image-col{margin:0 -1.5rem -3rem;height:200px;align-self:auto;}.footer-links{gap:1rem;}}
    
    @media (max-width: 768px) {
        .eyebrow { font-size: 0.62rem !important; letter-spacing: 4px !important; }
        .hero-eyebrow { font-size: 0.6rem !important; letter-spacing: 4px !important; }
        .footer-logo-col img { max-width: 130px !important; }
        .footer-info-col h4 { font-size: 1rem !important; }
        .footer-info-col p { font-size: 0.8rem !important; }
        .footer-bottom {
            padding: 1.25rem 1rem 1.5rem;
        }
        .footer-links {
            display: grid;
            grid-template-columns: repeat(2, minmax(0, 1fr));
            gap: 0.55rem 0.7rem;
            max-width: 520px;
            margin: 0 auto 0.85rem;
        }
        .footer-links a {
            display: block;
            border: 1px solid rgba(255, 255, 255, 0.38);
            border-radius: 999px;
            padding: 0.5rem 0.65rem;
            line-height: 1.35;
            text-align: center;
            letter-spacing: 1.2px;
        }
        .footer-links a:last-child {
            grid-column: 1 / -1;
            justify-self: center;
            width: min(100%, 280px);
        }
        .footer-bottom p {
            line-height: 1.7;
            max-width: 360px;
            margin: 0 auto;
        }
    }

    @media (max-width: 480px) {
        .footer-links {
            grid-template-columns: 1fr;
            max-width: 290px;
        }
        .footer-links a:last-child {
            width: 100%;
        }
    }

/* ── PAGE-SPECIFIC: CONTATTI ── */
        .contact-section {
            padding: 8rem 0;
        }
        .contact-layout {
            display: grid;
            grid-template-columns: 1fr 1.3fr;
            gap: 8rem;
            align-items: start;
        }
        .contact-info h2 {
            font-family: var(--font-serif);
            font-size: clamp(2.2rem, 3.5vw, 3.5rem);
            font-style: italic;
            font-weight: 300;
            color: var(--primary);
            margin-bottom: 3rem;
            line-height: 1.1;
        }
        .contact-info-block {
            margin-bottom: 2.5rem;
            padding-bottom: 2.5rem;
            border-bottom: 1px solid var(--line);
        }
        .contact-info-block:last-child { border-bottom: none; }
        .contact-info-block h3 {
            font-family: var(--font-sans);
            font-size: 0.65rem;
            font-weight: 300;
            letter-spacing: 4px;
            text-transform: uppercase;
            color: var(--gold);
            margin-bottom: 0.8rem;
        }
        .contact-info-block p {
            font-size: 0.95rem;
            color: #666;
            line-height: 1.9;
        }
        .contact-info-block a {
            color: #666;
            transition: color 0.3s;
        }
        .contact-info-block a:hover { color: var(--primary); }

        .contact-form-wrap h3 {
            font-family: var(--font-serif);
            font-size: clamp(1.8rem, 2.5vw, 2.5rem);
            font-style: italic;
            font-weight: 300;
            color: var(--primary);
            margin-bottom: 2.5rem;
        }
        .form-row { margin-bottom: 2rem; }

        /* Stile unificato per tutti i campi del form */
        .form-input,
        .contact-select {
            width: 100% !important;
            background: transparent !important;
            border: none !important;
            border-bottom: 1px solid rgba(61,21,21,0.2) !important;
            border-top: none !important;
            border-left: none !important;
            border-right: none !important;
            padding: 1rem 0 !important;
            font-family: var(--font-sans) !important;
            font-size: 0.88rem !important;
            font-weight: 400 !important;
            color: var(--text) !important;
            outline: none !important;
            -webkit-appearance: none !important;
            appearance: none !important;
            border-radius: 0 !important;
            box-shadow: none !important;
            transition: border-color 0.4s var(--ease);
            display: block;
        }
        .form-input::placeholder { color: #bbb; letter-spacing: 0.5px; }
        .form-input:focus,
        .contact-select:focus {
            border-bottom-color: var(--gold) !important;
            box-shadow: none !important;
            outline: none !important;
        }
        textarea.form-input {
            resize: none;
            min-height: 130px;
        }

        .contact-select-wrap { position: relative; }
        .contact-select-wrap::after {
            content: '';
            position: absolute;
            right: 0;
            top: 50%;
            transform: translateY(-50%);
            width: 8px;
            height: 8px;
            border-right: 1px solid rgba(61,21,21,0.4);
            border-bottom: 1px solid rgba(61,21,21,0.4);
            rotate: 45deg;
            pointer-events: none;
        }
        .contact-select:invalid { color: #bbb; }
        .contact-select:valid  { color: var(--text); }
        .contact-select option { color: var(--text); background: var(--bg); }

        .privacy-label {
            display: flex;
            gap: 12px;
            align-items: flex-start;
            font-size: 0.78rem;
            color: #999;
            margin-bottom: 2.5rem;
            cursor: pointer;
            line-height: 1.8;
            letter-spacing: 0.2px;
        }
        .privacy-label input {
            margin-top: 4px;
            accent-color: var(--gold);
            flex-shrink: 0;
            width: 14px;
            height: 14px;
        }

        .map-section { height: 480px; }
        .map-section iframe { width: 100%; height: 100%; display: block; border: none; }

        @media (max-width: 1100px) {
            .contact-layout { gap: 4rem; }
        }
        @media (max-width: 768px) {
            .contact-layout { grid-template-columns: 1fr; gap: 3rem; }
            .contact-section { padding: 5rem 0; }
            .map-section { height: 320px; }
            .contact-info h2 { font-size: clamp(1.8rem, 7vw, 2.5rem); }
        }
        @media (max-width: 480px) {
            .contact-info h2 { font-size: clamp(1.6rem, 8vw, 2rem); }
            .contact-form-wrap h3 { font-size: clamp(1.5rem, 7vw, 1.8rem); }
            .btn { width: 100%; text-align: center; padding: 1.2rem 1rem; }
            .map-section { height: 260px; }
        }