:root{--green:#244739;--dark:#17382c;--cream:#f6f3eb;--ink:#23382f;--muted:#647269;--line:#dcded2;--gold:#b8a47c}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--cream);color:var(--ink);font:16px/1.65 Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{ -webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #bba364;outline-offset:5px}button{cursor:pointer}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:Georgia,'Times New Roman',serif;font-weight:400;line-height:1.1}h2{font-size:clamp(34px,4vw,57px);letter-spacing:-1.5px}h3{font-size:29px}p+p{margin-top:16px}header{height:92px;display:flex;align-items:center;gap:30px;padding:0 5%;background:var(--cream);position:relative;z-index:2}.brand{display:flex;gap:14px;align-items:center;font-size:14px;letter-spacing:2px;font-weight:600;line-height:1.4}.brand small{display:block;letter-spacing:2.1px;font-size:9px;font-weight:400;margin-top:6px}.brand-mark{font:26px Georgia,serif;border:1px solid #b4b9a4;border-radius:50%;width:50px;height:50px;display:grid;place-items:center;letter-spacing:-7px;padding-right:7px}nav{margin-left:auto;display:flex;align-items:center;gap:28px;font-size:13px}nav a:hover{color:#7d6845}.nav-cta{border-bottom:1px solid #9caa8f;padding-bottom:5px}.lang{background:transparent;border:1px solid var(--line);padding:8px 10px;font-size:12px;color:var(--green)}.skip{position:absolute;top:-100px;left:20px;z-index:5;background:white;padding:12px}.skip:focus{top:10px}.hero{height:min(720px,76vw);min-height:550px;position:relative;color:white;overflow:hidden}.hero>img{position:absolute;width:100%;height:100%;object-fit:cover;object-position:52% center}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(9,32,20,.73),rgba(9,32,20,.13) 80%)}.hero-content{position:relative;max-width:1300px;margin:auto;padding:60px 6%}.eyebrow{font-size:10px;letter-spacing:2.3px;line-height:1.6;font-weight:600}.hero .eyebrow{color:#e1e9d9}.hero h1{font-size:clamp(58px,6.3vw,88px);letter-spacing:-3px;margin:22px 0}.hero-copy{font-size:17px;color:#eff2e8;margin-bottom:28px}.button{display:inline-flex;align-items:center;justify-content:center;padding:15px 23px;border:1px solid transparent;font-size:13px;letter-spacing:.2px;transition:background .2s,color .2s;cursor:pointer}.cream{background:var(--cream);color:var(--green)}.cream:hover{background:#dfdfcc}.outline{border:1px solid #94a089;background:transparent;color:var(--green)}.outline:hover{background:#e6e8dc}.hero-bottom{position:absolute;bottom:25px;left:6%;font-size:9px;letter-spacing:2px;color:#e5eadb}.facts{display:grid;grid-template-columns:repeat(3,1fr);padding:32px 7%;background:#eceee2;gap:36px}.facts>div{display:flex;gap:20px;align-items:center}.facts>div+div{border-left:1px solid #c7cdbc;padding-left:35px}.facts strong{font:36px Georgia,serif;white-space:nowrap}.facts span{font-size:12px;line-height:1.5;max-width:150px}.section{max-width:1320px;margin:auto;padding:90px 6%}.intro{padding-top:95px;padding-bottom:85px}.intro>.eyebrow{margin-bottom:28px;color:#717b55}.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px}.intro-grid p{font-size:15px;color:#59655a}.section-heading{display:flex;justify-content:space-between;gap:70px;align-items:flex-end;margin-bottom:40px}.section-heading .eyebrow{color:#728060;margin-bottom:16px}.section-heading>p{font-size:14px;max-width:375px;color:#677064}.outdoors{padding-top:45px}.outdoor-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:28px}.outdoor-grid .wide{grid-column:1/-1}.photo{border:0;padding:0;background:none;width:100%;display:block;overflow:hidden}.photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .45s}.photo:hover img{transform:scale(1.025)}.outdoor-grid .photo{height:290px}.outdoor-grid .wide .photo{height:400px}.outdoor-grid .wide img{object-position:center 62%}figcaption{font-size:12px;margin-top:12px;color:#66715d}.note{font-size:12px;color:#66715d;margin-top:24px;line-height:1.6}.hall{background:#e9ecdf;max-width:none;padding-left:max(6%,calc((100% - 1160px)/2));padding-right:max(6%,calc((100% - 1160px)/2))}.hall-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:23px}.hall-grid .photo{aspect-ratio:3/4;background:#d5dccb}.hall-grid img{object-fit:contain}.hall-details{display:grid;grid-template-columns:1fr 1fr;gap:60px;margin-top:38px}.hall-details p{font-size:14px;color:#63705e}.hall-details p+p{margin-top:0}.rooms .section-heading{align-items:flex-start}.room-summary{display:grid;grid-template-columns:1.2fr 1fr;gap:40px;margin:30px 0 35px;padding:24px;border-top:1px solid #c8cebc;border-bottom:1px solid #c8cebc}.room-summary p{font-size:13px;margin:0}.room-summary p+p{color:#6b7565}.room-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px 24px}.room .photo{aspect-ratio:4/3}.room h3{font-size:23px;margin-top:15px}.room p{font-size:11px;color:#6a7564;margin-top:7px}.room.hidden-room{display:none}.room-meta{display:flex;justify-content:space-between;align-items:center}.room-meta span{font-size:10px;border:1px solid #d3d9c6;border-radius:20px;padding:3px 9px;margin-top:16px}.rooms-toggle{display:flex;margin:32px auto}.beds{font-size:13px;border-top:1px solid var(--line);padding-top:18px}.beds summary{cursor:pointer}.table-scroll{overflow:auto}table{width:100%;border-collapse:collapse;margin-top:20px;white-space:nowrap;font-size:12px}th,td{padding:11px;text-align:left;border-bottom:1px solid var(--line)}tfoot{font-weight:600}.formulas{max-width:none;background:var(--green);color:#edf0e3;padding-left:max(6%,calc((100% - 1160px)/2));padding-right:max(6%,calc((100% - 1160px)/2))}.formulas>.eyebrow{color:#ced7b6;margin-bottom:32px}.formula-grid{display:grid;grid-template-columns:1fr 1fr;gap:75px}.formula-grid>div+div{border-left:1px solid #60765d;padding-left:65px}.formula-number{font-size:11px;color:#bac9a8;display:block;margin-bottom:22px}.formula-grid p{color:#d0dbca;font-size:14px;margin-top:20px;max-width:450px}.rate-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border:1px solid #cbd1bf}.rate-grid article{padding:30px 25px}.rate-grid article+article{border-left:1px solid #cbd1bf}.rate-grid .eyebrow{color:#778261;letter-spacing:1.5px}.rate-grid h3{font-size:25px;margin-top:15px;margin-bottom:25px}.from{font-size:11px;color:#778261}.price{font:40px Georgia,serif;margin:4px 0 14px;line-height:1.2;letter-spacing:-1px}.price span{display:block;font:11px Arial,sans-serif;letter-spacing:0;margin-top:9px;color:#65725b}.rate-secondary{font-size:12px;margin:20px 0 25px}.rate-grid article a{font-size:12px;border-bottom:1px solid #a3af91;padding-bottom:5px}.rate-notes{display:grid;grid-template-columns:1fr 1fr 1.4fr;gap:35px;margin-top:25px}.rate-notes strong{font-size:12px;font-weight:600}.rate-notes p{font-size:12px;color:#6b7564;margin-top:6px}.territory{padding-top:15px}.territory>.eyebrow{color:#748261;margin-bottom:20px}.territory>p:not(.eyebrow):not(.note){max-width:700px;margin-top:22px;color:#62705d;font-size:15px}.destinations{display:flex;flex-wrap:wrap;gap:18px 35px;margin-top:30px;font:25px Georgia,serif}.destinations span:not(:last-child):after{content:' /';color:#b1b99f;margin-left:32px}.faq{padding-top:30px}.faq details{border-top:1px solid #cdd2c4;padding:20px 0}.faq details:last-child{border-bottom:1px solid #cdd2c4}.faq summary{cursor:pointer;font-size:16px}.faq details p{font-size:14px;max-width:850px;color:#65715f;padding-top:15px}.request{max-width:none;background:#244739;color:#f4f3e9;display:grid;grid-template-columns:1fr 1.4fr;gap:85px;padding-left:max(6%,calc((100% - 1160px)/2));padding-right:max(6%,calc((100% - 1160px)/2))}.request .eyebrow{color:#b5c5a8;margin-bottom:20px}.request-intro>p:not(.eyebrow){font-size:14px;max-width:320px;color:#d2dccb;margin-top:24px}.email-link{display:block;font-size:13px;margin-top:28px;word-break:break-word}.request-intro .form-explanation{font-size:12px!important;color:#b4c5ac!important;border-top:1px solid #637658;padding-top:22px;margin-top:30px!important}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:19px 22px}label{display:block;font-size:12px}label>span{display:block;margin-bottom:7px}input,select,textarea{width:100%;border:1px solid #7d9175;background:#2c5140;color:#fff;padding:11px 12px;border-radius:0;min-height:45px;font-size:14px;color-scheme:dark}input:focus,select:focus,textarea:focus{outline:2px solid #bcccab;outline-offset:2px}textarea{resize:vertical}textarea::placeholder{color:#becbb1;font-size:12px}.form-grid small{display:block;font-size:10px;color:#c1cfb8;margin-top:5px}.full{grid-column:1/-1}.privacy-note{font-size:11px;color:#bccdb4;margin:20px 0}#form-status{font-size:12px;margin-top:14px}#email-preview{margin-top:20px}#email-preview textarea{font-size:12px}.preview-actions{display:flex;gap:12px;margin-top:14px}.light{color:white;border-color:#a3b096}.light:hover{background:#365b45}footer{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:40px 6%;font-size:12px}footer p{color:#6d7865}footer a:not(.brand){font-size:12px}.footer-note{font-size:11px;text-align:right}dialog{padding:45px 18px 18px;border:0;max-width:92vw;background:var(--cream);color:var(--green)}dialog::backdrop{background:#10291fe8}dialog img{display:block;max-height:77vh;max-width:85vw;object-fit:contain;margin:auto}dialog p{text-align:center;font-size:13px;margin-top:12px}.close{position:absolute;right:10px;top:3px;font-size:32px;border:0;background:none;color:var(--green);padding:0 12px}body:has(dialog[open]){overflow:hidden}[hidden]{display:none!important}@media(min-width:1500px){.hero-content{padding-left:30px}.hero-bottom{left:calc((100% - 1240px)/2)}}@media(max-width:1000px){nav{gap:18px}.nav-cta{display:none}.facts{gap:15px;padding:25px 5%}.facts>div{gap:13px}.facts>div+div{padding-left:20px}.facts strong{font-size:30px}.intro-grid{gap:45px}.section-heading{gap:35px}.request{gap:45px}.price{font-size:34px}.rate-grid article{padding:25px 18px}}@media(max-width:700px){header{height:78px;padding:0 5%;gap:15px}.brand{font-size:11px;letter-spacing:1.5px}.brand small{font-size:8px;letter-spacing:1px}.brand-mark{width:40px;height:40px;font-size:22px}nav{display:none}.lang{margin-left:auto}.hero{height:640px;min-height:0}.hero-content{padding:58px 6%}.hero h1{font-size:clamp(42px,12vw,52px);letter-spacing:-1.5px;margin-top:25px}.hero .eyebrow{max-width:240px;font-size:9px}.hero-copy{font-size:15px}.hero-bottom{font-size:8px;right:6%;max-width:260px}.hero-shade{background:linear-gradient(90deg,#102b20bb,#102b2040)}.facts{grid-template-columns:1fr;gap:15px;padding:25px 6%}.facts>div{justify-content:space-between;gap:20px}.facts>div+div{border-left:0;border-top:1px solid #c7cdbc;padding:15px 0 0}.facts strong{font-size:30px}.facts span{max-width:200px;text-align:right}.section{padding:60px 6%}.intro-grid{grid-template-columns:1fr;gap:25px}.intro>.eyebrow{margin-bottom:20px}.section-heading{display:block;margin-bottom:27px}.section-heading>p{margin-top:22px;max-width:none}.outdoor-grid{gap:22px;grid-template-columns:1fr}.outdoor-grid .wide{grid-column:auto}.outdoor-grid .photo,.outdoor-grid .wide .photo{height:auto;aspect-ratio:4/3}.hall-grid{grid-template-columns:1fr 1fr;gap:20px 15px}.hall-grid>figure:last-child{grid-column:1/-1;width:65%;margin:5px auto 0}.hall-details{grid-template-columns:1fr;gap:18px;margin-top:25px}.room-summary{grid-template-columns:1fr;gap:12px;padding:20px 0}.room-grid{grid-template-columns:1fr 1fr;gap:24px 14px}.room h3{font-size:22px}.room-meta{display:block}.room-meta span{display:inline-block;margin-top:6px}.room p{font-size:10px}.formula-grid{grid-template-columns:1fr;gap:35px}.formula-grid>div+div{border-left:0;border-top:1px solid #60765d;padding:30px 0 0}.formula-number{margin-bottom:14px}.rate-grid{grid-template-columns:1fr}.rate-grid article{padding:28px}.rate-grid article+article{border-left:0;border-top:1px solid #cbd1bf}.rate-grid h3{margin-bottom:22px}.price{font-size:43px}.rate-notes{grid-template-columns:1fr;gap:20px}.destinations{font-size:23px;gap:15px 23px}.destinations span:not(:last-child):after{display:none}.request{grid-template-columns:1fr;gap:35px}.request-intro>p:not(.eyebrow){max-width:none}.request h2{font-size:48px}.form-grid{gap:18px 14px}.form-grid label:nth-child(2),.form-grid label.full{grid-column:1/-1}.form-grid label:first-child{grid-column:1/-1}.request input,.request select,.request textarea{font-size:16px}.preview-actions{flex-wrap:wrap}footer{display:block;padding:35px 6%}footer>div{margin-top:24px}.footer-note{text-align:left;margin-top:20px}dialog{max-width:96vw}dialog img{max-width:88vw}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.photo img,.button{transition:none}}


/* Facciata: preserve the building in the mobile composition. */
.hero>img{object-position:30% center}
@media(max-width:700px){.hero{height:auto;display:flex;flex-direction:column;background:var(--green)}.hero>img{position:relative;width:100%;height:auto;aspect-ratio:1600/903;object-fit:cover;object-position:center}.hero-shade{display:none}.hero-content{padding:30px 6% 38px}.hero-bottom{position:static;padding:0 6% 28px;max-width:none}.hero h1{margin-top:20px}}

/* Original Villa Vesuviana logo */
.brand-logo{display:block;width:90px;height:60px;object-fit:contain;mix-blend-mode:multiply;flex-shrink:0}
@media(max-width:700px){.brand-logo{width:76px;height:50px}}

/* Verified company details and accommodation identifiers */
footer{flex-wrap:wrap}.company-details{flex:0 0 100%;border-top:1px solid var(--line);padding-top:24px;font-size:12px;line-height:1.7;color:var(--muted)}.company-details p+p{margin-top:5px}.company-details a{text-decoration:underline;overflow-wrap:anywhere}.property-codes{display:flex;flex-wrap:wrap;gap:16px 48px;margin-top:18px}.property-codes p+p{margin-top:0}.cin-code{font-variant-numeric:tabular-nums;overflow-wrap:anywhere}@media(max-width:700px){.company-details{width:100%;flex-basis:auto}.property-codes{flex-direction:column;gap:12px}}

/* Privacy notice */
.privacy-link{font-size:12px;margin:14px 0 20px}.privacy-link a,.privacy-footer a{text-decoration:underline}.privacy-footer{flex:0 0 100%;font-size:12px}.privacy-page{max-width:1000px}.privacy-page h1{font-size:clamp(38px,6vw,64px);margin-top:20px}.privacy-page section{margin:42px 0}.privacy-page h2{font-size:28px;letter-spacing:-.5px;margin-bottom:16px}.privacy-page section p{font-size:15px}.privacy-page section a{text-decoration:underline;overflow-wrap:anywhere}

.bot-field{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.button:disabled{opacity:.6;cursor:wait}

.individual-stays{padding:10px 5%;background:#eceee2;text-align:right;font-size:12px;line-height:1.5}.individual-stays a{text-decoration:underline;text-underline-offset:3px}.individual-stays a:hover{color:#7d6845}@media(max-width:600px){.individual-stays{text-align:center;padding:10px 6%}}
