:root{--ink:#171614;--paper:#f5f2eb;--white:#fff;--gold:#c7a56b;--gold-dark:#9d7b43;--muted:#6f6a61;--line:rgba(23,22,20,.18);--serif:Georgia,"Times New Roman",serif;--sans:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}button,input,select{font:inherit}.skip-link{position:fixed;top:8px;left:8px;z-index:100;transform:translateY(-140%);padding:10px 14px;background:#fff}.skip-link:focus{transform:none}.site-header{position:sticky;top:0;z-index:20;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;min-height:92px;padding:12px clamp(22px,5vw,76px);background:rgba(245,242,235,.94);border-bottom:1px solid var(--line);backdrop-filter:blur(16px)}.brand img{display:block;width:132px;height:auto}.site-header nav{display:flex;gap:30px;font-size:.8rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.site-header nav a,.footer-links a{position:relative}.site-header nav a:after,.footer-links a:after{content:"";position:absolute;left:0;bottom:-4px;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .25s}.site-header nav a:hover:after,.site-header nav a:focus-visible:after,.footer-links a:hover:after{transform:scaleX(1);transform-origin:left}.header-actions{justify-self:end;display:flex;align-items:center;gap:12px}.lang-button{border:0;background:transparent;padding:10px;cursor:pointer;font-size:.82rem;font-weight:800}.button{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 24px;border:1px solid transparent;font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:transform .2s,background .2s,color .2s}.button:hover{transform:translateY(-2px)}.button-dark{background:var(--ink);color:#fff}.button-gold{background:var(--gold);color:var(--ink)}.button-gold:hover{background:#d5b77f}.button-outline{border-color:rgba(255,255,255,.35);color:#fff}.hero{display:grid;grid-template-columns:46% 54%;min-height:640px;background:var(--ink);color:#fff}.hero-copy{display:flex;flex-direction:column;justify-content:center;padding:76px clamp(28px,6vw,94px)}.eyebrow{margin:0 0 20px;color:var(--gold-dark);font-size:.76rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase}.hero .eyebrow,.contact .eyebrow{color:var(--gold)}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:.96}h1{margin:0;font-size:clamp(3.8rem,7vw,7.6rem);letter-spacing:-.055em}h2{margin:0 0 28px;font-size:clamp(3rem,5.7vw,6.4rem);letter-spacing:-.045em}.hero-lead{max-width:520px;margin:32px 0 42px;color:rgba(255,255,255,.72);font-size:1.15rem}.hero-facts{display:flex;flex-wrap:wrap;gap:12px 25px;font-size:.76rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.hero-facts span:before{content:"";display:inline-block;width:5px;height:5px;margin:0 9px 2px 0;border-radius:50%;background:var(--gold)}.hero-image{min-height:640px;background:linear-gradient(90deg,rgba(23,22,20,.42),transparent 35%),url("salerno-night.jpg") center/cover no-repeat}.booking-panel{position:relative;z-index:3;display:grid;grid-template-columns:minmax(230px,.8fr) 2fr;gap:36px;align-items:end;width:min(1180px,calc(100% - 40px));margin:-62px auto 0;padding:34px 38px;background:#fff;box-shadow:0 24px 70px rgba(19,17,13,.14)}.booking-intro .eyebrow{margin-bottom:8px}.booking-intro h2{margin:0;font-size:2rem}.booking-panel form{display:grid;grid-template-columns:1fr 1fr .7fr auto;gap:14px;align-items:end}.booking-panel label{display:grid;gap:7px;color:var(--muted);font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.booking-panel input,.booking-panel select{width:100%;height:50px;padding:0 13px;border:1px solid var(--line);background:#fff;color:var(--ink);font-size:.95rem}.booking-note{grid-column:2;margin:0;color:var(--muted);font-size:.77rem}.section{padding:clamp(90px,10vw,160px) clamp(24px,7vw,110px)}.section-heading{display:grid;grid-template-columns:1.2fr .8fr;column-gap:9vw;align-items:end;margin-bottom:62px}.section-heading .eyebrow{grid-column:1/-1}.section-heading h2{margin:0}.section-heading>p:last-child{max-width:420px;color:var(--muted);font-size:1.08rem}.stay-grid{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.stay-card{position:relative;min-height:410px;padding:46px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:rgba(255,255,255,.23);overflow:hidden}.stay-card.featured{background:#fff}.stay-card.apartment{background:var(--ink);color:#fff}.stay-number{position:absolute;right:28px;top:22px;color:rgba(23,22,20,.18);font-family:var(--serif);font-size:5.5rem;line-height:1}.apartment .stay-number{color:rgba(255,255,255,.14)}.stay-type{position:relative;margin:0 0 62px;color:var(--gold-dark);font-size:.72rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.stay-card h3{position:relative;margin:0 0 22px;font-size:clamp(2.5rem,4vw,4.4rem)}.stay-card>p:not(.stay-type){position:relative;max-width:530px;color:var(--muted)}.apartment>p:not(.stay-type){color:rgba(255,255,255,.65)}.stay-card ul{position:relative;display:flex;flex-wrap:wrap;gap:9px;margin:34px 0 0;padding:0;list-style:none}.stay-card li{padding:7px 10px;border:1px solid var(--line);font-size:.75rem}.apartment li{border-color:rgba(255,255,255,.22)}.experience{display:grid;grid-template-columns:1.03fr .97fr;min-height:720px;background:#fff}.experience-image{min-height:640px;background:url("glam-house-room.jpg") center/cover no-repeat}.experience-copy{display:flex;flex-direction:column;justify-content:center;padding:70px clamp(28px,7vw,110px)}.experience-copy>p:not(.eyebrow){max-width:580px;color:var(--muted);font-size:1.08rem}.detail-list{margin-top:35px;border-top:1px solid var(--line)}.detail-list div{display:grid;grid-template-columns:155px 1fr;gap:20px;padding:18px 0;border-bottom:1px solid var(--line)}.detail-list strong{font-size:.82rem;text-transform:uppercase}.detail-list span{color:var(--muted)}.location{display:grid;grid-template-columns:1.05fr .95fr;gap:10vw;align-items:end}.location h2{margin:0}.location-copy>p{max-width:590px;color:var(--muted);font-size:1.08rem}.walk-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:42px 0}.walk-grid div{display:grid;gap:4px;padding-top:18px;border-top:1px solid var(--line)}.walk-grid strong{font-family:var(--serif);font-size:2.6rem;font-weight:400}.walk-grid span{color:var(--muted);font-size:.82rem}.text-link{font-weight:800;border-bottom:1px solid;padding-bottom:5px}.contact{padding:clamp(90px,11vw,170px) 24px;background:var(--ink);color:#fff;text-align:center}.contact h2{margin-left:auto;margin-right:auto}.contact-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:12px;margin-top:38px}footer{display:grid;grid-template-columns:1fr auto auto;gap:35px;align-items:end;padding:60px clamp(24px,7vw,110px);background:#0e0d0c;color:rgba(255,255,255,.6);font-size:.8rem}footer img{filter:invert(1);opacity:.9;margin-bottom:12px}.footer-links{display:flex;gap:22px;color:#fff}footer>p{margin:0}.booking-panel input:focus-visible,.booking-panel select:focus-visible,.button:focus-visible,a:focus-visible,.lang-button:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
@media(max-width:980px){.site-header{grid-template-columns:1fr auto}.site-header nav{display:none}.hero{grid-template-columns:1fr;min-height:auto}.hero-copy{min-height:560px}.hero-image{min-height:390px}.booking-panel{grid-template-columns:1fr;margin-top:-34px}.booking-panel form{grid-template-columns:1fr 1fr}.booking-note{grid-column:1}.section-heading,.experience,.location{grid-template-columns:1fr}.section-heading{gap:22px}.experience-image{min-height:500px}.location{gap:38px}footer{grid-template-columns:1fr 1fr}footer>p{grid-column:1/-1}.header-book{display:none}}
@media(max-width:650px){.site-header{min-height:74px;padding:10px 18px}.brand img{width:112px}.hero-copy{min-height:530px;padding:62px 24px}.hero-image{min-height:300px}h1{font-size:3.55rem}.hero-lead{font-size:1rem}.booking-panel{width:calc(100% - 24px);padding:26px 20px}.booking-panel form{grid-template-columns:1fr}.booking-panel .button{width:100%}.section{padding:88px 20px}.section-heading{display:block}.section-heading h2{margin-bottom:25px}.stay-grid{grid-template-columns:1fr}.stay-card{min-height:390px;padding:38px 28px}.stay-number{font-size:4.5rem}.experience-image{min-height:360px}.experience-copy{padding:80px 24px}.detail-list div{grid-template-columns:1fr;gap:4px}.location{padding-top:90px}.walk-grid{gap:10px}.walk-grid strong{font-size:2rem}.contact h2{font-size:3.2rem}footer{grid-template-columns:1fr;align-items:start}.footer-links{flex-wrap:wrap}footer>p{grid-column:auto}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}
.tours{background:#e7e1d6}.tour-heading{display:grid;grid-template-columns:1.2fr .8fr;gap:9vw;align-items:end;margin-bottom:55px}.tour-heading h2{margin:0}.tour-heading>p{max-width:470px;color:var(--muted);font-size:1.08rem}.tour-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.tour-card{position:relative;display:flex;align-items:flex-end;min-height:600px;padding:38px;background-position:center;background-size:cover;overflow:hidden}.tour-card:before{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(10,9,8,.86),rgba(10,9,8,.05) 62%)}.bnb-tour{background-image:url("bnb-room.jpg")}.apartment-tour{background-image:url("apartment-living.jpg")}.tour-card-copy{position:relative;color:#fff}.tour-card-copy p{margin:0 0 4px;color:rgba(255,255,255,.7);font-size:.75rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.tour-card h3{margin:0 0 24px;font-size:clamp(2.6rem,4vw,4.8rem)}.tour-dialog{width:min(1180px,96vw);height:min(760px,92vh);padding:0;border:0;background:#0f0e0d;color:#fff;box-shadow:0 30px 90px rgba(0,0,0,.45)}.tour-dialog::backdrop{background:rgba(0,0,0,.78);backdrop-filter:blur(5px)}.tour-dialog-bar{display:flex;align-items:center;justify-content:space-between;height:66px;padding:0 18px 0 24px}.tour-dialog-bar h2{margin:0;font-family:var(--sans);font-size:.9rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.tour-close{width:44px;height:44px;border:1px solid rgba(255,255,255,.25);border-radius:50%;background:transparent;color:#fff;font-size:1.8rem;line-height:1;cursor:pointer}.tour-dialog iframe{display:block;width:100%;height:calc(100% - 66px);border:0;background:#000}.access-note{margin-top:24px;padding:18px 20px;border-left:3px solid var(--gold);background:rgba(255,255,255,.45);font-size:.92rem!important}.access-note strong{color:var(--ink)}
@media(max-width:980px){.tour-heading{grid-template-columns:1fr;gap:22px}.tour-grid{grid-template-columns:1fr}.tour-card{min-height:520px}}
@media(max-width:650px){.tour-card{min-height:430px;padding:26px}.tour-dialog{width:100vw;height:100vh;max-width:none;max-height:none;margin:0}}
.booking-note a,.contact-privacy a{text-decoration:underline;text-underline-offset:3px}.contact-privacy{max-width:650px;margin:22px auto 0;color:rgba(255,255,255,.62);font-size:.82rem}.tour-dialog iframe[hidden]{display:none}.tour-consent{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;height:calc(100% - 66px);max-width:720px;margin:auto;padding:48px}.tour-consent[hidden]{display:none}.tour-consent h3{margin:0 0 24px;font-size:clamp(2.4rem,5vw,4.6rem)}.tour-consent>p:not(.eyebrow){max-width:650px;color:rgba(255,255,255,.7);font-size:1.05rem}.tour-consent .text-link{color:#fff}.tour-consent-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
@media(max-width:650px){.tour-consent{padding:30px 22px}.tour-consent-actions{width:100%}.tour-consent-actions .button{width:100%}}
.legal-header{grid-template-columns:1fr auto}.legal-main{width:min(1000px,calc(100% - 40px));margin:0 auto;padding:90px 0 130px}.legal-title{max-width:830px;margin-bottom:54px}.legal-title h1{color:var(--ink);font-size:clamp(3.5rem,8vw,7rem)}.legal-title>p:last-child{max-width:700px;color:var(--muted);font-size:1.08rem}.legal-alert{margin:0 0 50px;padding:22px 24px;border-left:4px solid var(--gold);background:#fff;color:var(--muted)}.legal-alert strong{color:var(--ink)}.legal-section{padding:42px 0;border-top:1px solid var(--line)}.legal-section h2{margin:0 0 24px;font-family:var(--serif);font-size:clamp(2rem,4vw,3.2rem);letter-spacing:-.03em}.legal-section h3{margin:0 0 12px;font-family:var(--sans);font-size:.8rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.legal-section p{max-width:850px;color:var(--muted)}.legal-section a{text-decoration:underline;text-underline-offset:3px;color:var(--ink)}.legal-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.legal-grid>div{padding:26px;background:#fff}.legal-grid p{font-size:.93rem}.legal-footer{border-top:1px solid rgba(255,255,255,.08)}
@media(max-width:650px){.legal-header .button{min-height:44px;padding:0 14px;font-size:.68rem}.legal-main{width:calc(100% - 36px);padding:64px 0 90px}.legal-grid{grid-template-columns:1fr}.legal-title h1{font-size:3.5rem}}
.parking-block{margin-top:26px}.parking-options{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);border-left:1px solid var(--line)}.parking-option{padding:24px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:rgba(255,255,255,.3)}.parking-option.preferred{background:#fff}.parking-label{display:block;margin-bottom:20px;color:var(--gold-dark);font-size:.68rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.parking-option h3{margin:0 0 14px;font-family:var(--sans);font-size:1rem;font-weight:800;line-height:1.35}.parking-option p{margin:0 0 22px;color:var(--muted);font-size:.9rem}.parking-option .text-link{font-size:.82rem}.parking-block .access-note{margin-bottom:18px}
@media(max-width:650px){.parking-options{grid-template-columns:1fr}.parking-option{padding:22px 20px}}
.apartment-feature{grid-column:1/-1;display:grid;grid-template-columns:minmax(300px,.78fr) minmax(0,1.22fr);min-height:590px;padding:0}.apartment-copy{align-self:center;padding:64px 46px}.apartment-copy>p:not(.stay-type){position:relative;max-width:530px;color:rgba(255,255,255,.65)}.apartment-gallery-wrap{min-width:0;padding:36px 0 30px;border-left:1px solid rgba(255,255,255,.16);overflow:hidden}.gallery-heading{display:flex;justify-content:space-between;gap:20px;padding:0 36px 18px;color:rgba(255,255,255,.72);font-size:.7rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.gallery-heading span:last-child{color:var(--gold)}.stay-gallery{display:flex;gap:12px;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x mandatory;scrollbar-color:var(--gold) rgba(255,255,255,.12);scrollbar-width:thin;padding:0 36px 18px}.gallery-item{position:relative;flex:0 0 min(82%,720px);padding:0;border:0;background:#0e0d0c;cursor:zoom-in;scroll-snap-align:start;overflow:hidden}.gallery-item img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;transition:transform .35s}.gallery-item:hover img,.gallery-item:focus-visible img{transform:scale(1.015)}.gallery-item:focus-visible{outline:3px solid var(--gold);outline-offset:3px}.gallery-item span{position:absolute;right:12px;bottom:12px;padding:5px 9px;background:rgba(0,0,0,.68);color:#fff;font-size:.7rem;font-weight:800;letter-spacing:.08em}.gallery-tip{margin:0;padding:0 36px;color:rgba(255,255,255,.55);font-size:.77rem}.image-dialog{width:100vw;height:100vh;max-width:none;max-height:none;margin:0;padding:0;border:0;background:#090909;color:#fff}.image-dialog::backdrop{background:#090909}.image-dialog figure{display:flex;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;margin:0;padding:68px 80px 54px}.image-dialog figure img{display:block;max-width:100%;max-height:calc(100vh - 145px);object-fit:contain}.image-dialog figcaption{min-height:32px;margin-top:14px;color:rgba(255,255,255,.75);font-size:.86rem}.image-close,.image-nav{position:fixed;z-index:2;display:grid;place-items:center;border:1px solid rgba(255,255,255,.3);border-radius:50%;background:rgba(0,0,0,.45);color:#fff;cursor:pointer}.image-close{top:16px;right:16px;width:48px;height:48px;font-size:1.8rem}.image-nav{top:50%;width:52px;height:52px;margin-top:-26px;font-size:2.3rem}.image-prev{left:16px}.image-next{right:16px}.image-close:focus-visible,.image-nav:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
@media(max-width:980px){.apartment-feature{grid-template-columns:1fr}.apartment-copy{padding:56px 46px}.apartment-gallery-wrap{border-top:1px solid rgba(255,255,255,.16);border-left:0}}
@media(max-width:650px){.apartment-feature{min-height:0}.apartment-copy{order:2;padding:42px 28px 46px}.apartment-copy .stay-type{margin-bottom:42px}.apartment-gallery-wrap{order:1;padding:28px 0 24px}.gallery-heading{padding:0 20px 14px}.stay-gallery{gap:9px;padding:0 20px 14px}.gallery-item{flex-basis:88%}.gallery-tip{padding:0 20px}.image-dialog figure{padding:62px 12px 70px}.image-dialog figcaption{padding:0 46px;text-align:center}.image-nav{top:auto;bottom:14px;width:46px;height:46px;margin:0}.image-prev{left:calc(50% - 56px)}.image-next{right:calc(50% - 56px)}.image-close{top:12px;right:12px}}
.booking-help{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:28px;margin-top:4px;padding-top:22px;border-top:1px solid var(--line)}.booking-help div{display:grid;gap:2px}.booking-help strong{font-family:var(--serif);font-size:1.22rem;font-weight:400}.booking-help span{color:var(--muted);font-size:.86rem}.booking-help .text-link{flex:0 0 auto;font-size:.78rem}
@media(max-width:650px){.booking-help{align-items:flex-start;flex-direction:column;gap:16px}.booking-help .text-link{font-size:.76rem}}
.stay-details{position:relative;margin-top:28px;border-top:1px solid var(--line)}.stay-details summary{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 0 4px;cursor:pointer;color:var(--ink);font-size:.72rem;font-weight:800;letter-spacing:.12em;list-style:none;text-transform:uppercase}.stay-details summary::-webkit-details-marker{display:none}.stay-details summary:after{content:"+";display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;border:1px solid var(--line);border-radius:50%;font-size:1.25rem;font-weight:400;line-height:1;transition:transform .2s}.stay-details[open] summary:after{transform:rotate(45deg)}.stay-details p{margin:14px 0 0;color:var(--muted);font-size:.9rem}.stay-details summary:focus-visible{outline:3px solid var(--gold);outline-offset:4px}
.room-gallery{position:relative;display:grid;grid-template-columns:1.08fr .92fr;gap:8px;margin:24px 0}.room-gallery .gallery-item{width:100%;min-width:0;aspect-ratio:4/3;border-radius:2px}.room-gallery .gallery-item img{width:100%;height:100%;aspect-ratio:auto;object-fit:cover}.room-gallery .gallery-item:first-child img{object-position:42% center}.room-gallery .gallery-item:last-child img{object-position:center}.room-gallery .gallery-item span{right:8px;bottom:8px}
.room-gallery-three{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:650px){.room-gallery,.room-gallery-three{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:88%;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;margin-right:-28px;padding-right:28px}.room-gallery .gallery-item{scroll-snap-align:start}}
.guest-policy{display:grid;grid-template-columns:.75fr 1.25fr;gap:7vw;margin-top:52px;padding:38px 42px;border:1px solid var(--line);background:#fff}.guest-policy-heading .eyebrow{margin-bottom:10px}.guest-policy-heading h3{margin:0;font-size:clamp(2rem,3vw,3.4rem);line-height:1.02}.guest-policy-grid{display:grid;grid-template-columns:1fr 1fr;align-content:center;border-top:1px solid var(--line);border-left:1px solid var(--line)}.guest-policy-grid>div{display:grid;gap:8px;padding:22px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.guest-policy-grid span{color:var(--gold-dark);font-size:.68rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.guest-policy-grid strong{font-size:.9rem;font-weight:600;line-height:1.5}.guest-policy-grid .pet-policy{grid-column:1/-1}
@media(max-width:980px){.guest-policy{grid-template-columns:1fr;gap:28px}}
@media(max-width:650px){.guest-policy{margin-top:34px;padding:28px 20px}.guest-policy-grid{grid-template-columns:1fr}.guest-policy-grid .pet-policy{grid-column:auto}}
.walk-grid{grid-template-columns:repeat(4,1fr)}
.blog{background:#fff}.blog-heading{display:grid;grid-template-columns:1.15fr .85fr;gap:9vw;align-items:end;margin-bottom:54px}.blog-heading h2{margin:0}.blog-heading>p{max-width:470px;margin:0;color:var(--muted);font-size:1.08rem}.blog-grid{display:grid;grid-template-columns:.78fr 1.22fr;border-top:1px solid var(--line);border-left:1px solid var(--line)}.blog-card{padding:42px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.blog-card h3{margin:0 0 24px;font-size:clamp(2.1rem,3.5vw,3.8rem);line-height:1}.blog-card>p:not(.blog-meta,.travel-note){color:var(--muted)}.blog-meta{margin:0 0 52px;color:var(--gold-dark);font-size:.72rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.weather-card{display:flex;flex-direction:column;align-items:flex-start;background:var(--paper)}.weather-card .text-link{margin-top:auto}.coast-card{background:var(--ink);color:#fff}.coast-card>p:not(.blog-meta,.travel-note){color:rgba(255,255,255,.68)}.coast-card .blog-meta{color:var(--gold)}.port-list{display:grid;grid-template-columns:1fr 1fr;margin:30px 0;border-top:1px solid rgba(255,255,255,.2);border-left:1px solid rgba(255,255,255,.2)}.port-list>div{display:grid;gap:10px;padding:22px;border-right:1px solid rgba(255,255,255,.2);border-bottom:1px solid rgba(255,255,255,.2)}.port-list strong{font-family:var(--serif);font-size:1.2rem;font-weight:400}.port-list span{color:rgba(255,255,255,.64);font-size:.86rem}.port-list a,.operator-links a{color:#fff;text-decoration:underline;text-underline-offset:4px;font-size:.76rem;font-weight:800;text-transform:uppercase}.travel-note{color:var(--gold);font-size:.82rem;font-weight:700}.operator-links{display:flex;flex-wrap:wrap;gap:20px;margin-top:25px}.operator-links a{color:var(--gold)}
@media(max-width:1150px) and (min-width:981px){.site-header nav{gap:18px;font-size:.72rem}}
@media(max-width:850px){.blog-heading,.blog-grid{grid-template-columns:1fr}.blog-heading{gap:22px}.weather-card .text-link{margin-top:24px}}
@media(max-width:650px){.walk-grid{grid-template-columns:repeat(2,1fr)}.blog-card{padding:34px 24px}.port-list{grid-template-columns:1fr}.blog-meta{margin-bottom:34px}}
.news-heading{display:grid;grid-template-columns:1fr 1fr;gap:9vw;align-items:end;margin:88px 0 34px;padding-top:54px;border-top:1px solid var(--line)}.news-heading h3{margin:0;font-size:clamp(2rem,3.6vw,3.8rem);line-height:1}.news-heading>p{max-width:470px;margin:0;color:var(--muted);font-size:1.02rem}.event-feature{display:grid;grid-template-columns:1.05fr .95fr;min-height:430px;background:var(--paper);border:1px solid var(--line)}.event-feature-image{min-height:430px;background:linear-gradient(90deg,rgba(23,22,20,.08),rgba(23,22,20,.42)),url("salerno-night.jpg") center/cover}.event-feature-copy{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:clamp(34px,5vw,72px)}.event-feature-copy .blog-meta{margin-bottom:26px}.event-feature-copy h3{max-width:520px;margin:0 0 24px;font-size:clamp(2.4rem,4.7vw,5.4rem);line-height:.94}.event-feature-copy>p:not(.blog-meta){max-width:560px;margin:0 0 34px;color:var(--muted);font-size:1rem}.event-feature-copy .button{margin-top:auto}
.article-page{background:var(--paper)}.article-header{position:relative;background:rgba(255,255,255,.96)}.article-main{padding-top:96px}.article-hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);min-height:620px}.article-hero-copy{display:flex;flex-direction:column;justify-content:flex-end;padding:clamp(48px,7vw,110px)}.article-hero-copy h1{max-width:820px;margin:0;font-size:clamp(3.4rem,7vw,7.8rem);line-height:.86}.article-hero-copy .blog-meta{margin:0 0 32px}.article-hero-image{min-height:520px;background:linear-gradient(180deg,rgba(23,22,20,.08),rgba(23,22,20,.46)),url("salerno-night.jpg") center/cover}.article-body{display:grid;grid-template-columns:minmax(180px,.35fr) minmax(0,.65fr);gap:9vw;max-width:1180px;margin:0 auto;padding:clamp(70px,9vw,130px) 5vw}.article-lead{font-family:var(--serif);font-size:clamp(1.45rem,2.4vw,2.15rem);line-height:1.28}.article-content{max-width:720px}.article-content h2{margin:56px 0 22px;font-size:clamp(2rem,3vw,3.2rem);line-height:1}.article-content h2:first-child{margin-top:0}.article-content p,.article-content li{color:var(--muted);font-size:1.02rem;line-height:1.75}.article-content ul{margin:24px 0;padding-left:1.2rem}.article-content .button{margin-top:26px}.article-back{display:inline-flex;margin-top:36px;color:var(--ink);font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;text-decoration:none}
@media(max-width:850px){.news-heading,.event-feature,.article-hero,.article-body{grid-template-columns:1fr}.news-heading{gap:18px;margin-top:64px}.event-feature-image{min-height:330px}.article-main{padding-top:82px}.article-hero-copy{order:2}.article-hero-image{min-height:440px}.article-body{gap:38px}.article-lead{max-width:650px}}
@media(max-width:650px){.event-feature-image{min-height:250px}.event-feature-copy{padding:34px 24px}.event-feature-copy h3{font-size:2.8rem}.article-hero-image{min-height:330px}.article-hero-copy{padding:44px 24px 58px}.article-hero-copy h1{font-size:3.55rem}.article-body{padding:58px 24px}.article-header .header-book{display:none}}
.booking-panel{grid-template-columns:minmax(230px,.72fr) minmax(0,2fr);align-items:stretch}.booking-intro{display:flex;flex-direction:column;justify-content:center}.booking-intro>p:last-child{margin:16px 0 0;color:var(--muted);font-size:.9rem}.booking-choices{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);border-left:1px solid var(--line)}.booking-choice{display:flex;flex-direction:column;align-items:flex-start;padding:24px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--paper)}.booking-choice-primary{background:var(--ink);color:#fff}.booking-choice-label{margin-bottom:28px;color:var(--gold-dark);font-size:.68rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.booking-choice-primary .booking-choice-label{color:var(--gold)}.booking-choice h3{max-width:360px;margin:0 0 14px;font-size:1.8rem;line-height:1.05}.booking-choice p{max-width:430px;margin:0 0 24px;color:var(--muted);font-size:.88rem}.booking-choice-primary p{color:rgba(255,255,255,.7)}.booking-choice .button{margin-top:auto}.booking-note{grid-column:2}.button-room,.button-apartment{position:relative;margin-top:26px}.button-room{border-color:var(--ink);background:transparent;color:var(--ink)}.button-room:hover{background:var(--ink);color:#fff}.button-apartment{border-color:var(--gold);background:var(--gold);color:var(--ink)}
@media(max-width:980px){.booking-panel{grid-template-columns:1fr}.booking-note{grid-column:1}.booking-intro{display:block}.booking-intro>p:last-child{max-width:520px}.booking-choices{grid-column:1}}
@media(max-width:650px){.booking-choices{grid-template-columns:1fr}.booking-choice{padding:24px 20px}.booking-choice .button,.button-room,.button-apartment{width:100%}.booking-choice-label{margin-bottom:20px}.booking-choice h3{font-size:1.65rem}}
.bnb-tour{background-image:url("comfort-01.jpeg");background-position:center 45%}
.hero-image,.article-hero-image{background-position:78% center}
.footer-signature{display:grid;gap:6px;text-align:right}
.footer-credit{color:rgba(255,255,255,.38);font-size:.7rem;letter-spacing:.06em}
@media(max-width:650px){.footer-signature{text-align:left}}
