:root{--ink:#23392b;--forest:#203c2c;--green:#5c9553;--gold:#edce78;--cream:#f8f5ed;--sage:#edf0e5;--muted:#61695d;--line:rgba(35,57,43,.19);--serif:Georgia,'Times New Roman',serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:104px}body{margin:0;background:var(--cream);color:var(--ink);font-family:'Segoe UI',Arial,sans-serif;font-size:16px;line-height:1.6}img{display:block;max-width:100%;height:auto}a{color:inherit}button,input,select{font:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent;touch-action:manipulation}button,summary{cursor:pointer}:focus-visible{outline:3px solid #528a42;outline-offset:5px}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.06;letter-spacing:-.045em}h2{font-size:clamp(2.7rem,4.5vw,4.5rem)}h2 em,h3 em{font-weight:400;color:#658354}p{color:var(--muted)}.shell{width:min(1180px,calc(100% - 96px));margin-inline:auto}.section{position:relative;padding:106px 0;isolation:isolate;overflow:clip}.section>.shell{position:relative;z-index:1}.section-kicker,.eyebrow{font-size:.72rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:#527445;margin-bottom:24px}.body-lead{font-size:1.18rem;line-height:1.7}.text-link{display:inline-flex;gap:18px;align-items:center;text-decoration:none;border-bottom:1px solid currentColor;padding:3px 0 7px;font-size:.9rem;font-weight:600}.text-link span,.button span{transition:transform .25s}.text-link:hover span,.button:hover span{transform:translate(3px,-3px)}.button{display:inline-flex;justify-content:center;align-items:center;gap:22px;min-height:54px;padding:14px 25px;background:var(--gold);color:var(--ink);font-size:.88rem;font-weight:600;text-decoration:none;border:0;border-radius:4px;transition:background .2s,transform .2s}.button:hover{background:#f5db98;transform:translateY(-2px)}.button-small{min-height:44px;padding:10px 22px;border-radius:999px}.skip-link{position:fixed;left:16px;top:-100px;z-index:100;background:#fff;padding:12px}.skip-link:focus{top:12px}
/* Transparent at the video, ivory on scroll. */
.site-header{position:fixed;inset:0 0 auto;z-index:50;color:#fff;transition:background .3s,color .3s,box-shadow .3s;background:linear-gradient(rgba(15,30,20,.45),transparent)}nav{height:96px;display:flex;align-items:center;justify-content:space-between;gap:32px}.brand{display:block;width:156px;flex-shrink:0}.brand img{width:100%;height:72px;object-fit:contain}.nav-links{display:flex;gap:28px;margin-left:auto}.nav-links a{font-size:.82rem;text-decoration:none;position:relative;padding:10px 0}.nav-links a::after{content:'';position:absolute;left:0;right:100%;bottom:4px;height:1px;background:currentColor;transition:right .25s}.nav-links a:hover::after{right:0}.nav-actions{display:flex;gap:16px;align-items:center}.site-header.scrolled,.site-header.menu-open{background:rgba(248,245,237,.97);color:var(--ink);box-shadow:0 1px 0 var(--line);backdrop-filter:blur(14px)}.site-header.scrolled .brand img,.site-header.menu-open .brand img{filter:brightness(.62) saturate(.8)}.menu-toggle{display:none;background:transparent;color:inherit;border:0;width:44px;height:44px;padding:12px}.menu-toggle span{display:block;height:1px;width:22px;background:currentColor;margin:6px 0;transition:transform .2s}
.hero{position:relative;min-height:max(720px,100svh);display:flex;flex-direction:column;justify-content:center;color:#fff;background:#344b37 url('napoli-centro-web.jpg') center/cover;isolation:isolate}.hero::after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(12,29,21,.64),rgba(12,29,21,.08)),linear-gradient(0deg,rgba(12,29,21,.55),transparent 50%)}.hero-video{position:absolute;inset:0;z-index:-2;overflow:hidden;pointer-events:none}.hero-video iframe{position:absolute;top:50%;left:50%;width:max(100%,177.78vh);height:max(100%,56.25vw);transform:translate(-50%,-50%);border:0}.hero-content{padding-top:135px;padding-bottom:105px}.eyebrow{color:#eee6cf;margin-bottom:24px}.hero h1{font-size:clamp(4.5rem,7.5vw,7rem);line-height:.98;letter-spacing:-.055em;margin-bottom:24px}.hero h1 em{color:var(--gold);font-weight:400}.hero-lead{color:#fff9ee;font-size:1.16rem;line-height:1.5;margin-bottom:40px}.hero-booking{display:grid;grid-template-columns:1fr 1fr .72fr auto;gap:20px;align-items:end;max-width:1060px;scroll-margin-top:130px}.hero-booking label{display:grid;gap:7px;font-size:.72rem;letter-spacing:.09em;color:#fff9ef;min-width:0}.hero-booking input,.hero-booking select{height:50px;width:100%;min-width:0;padding:0 4px;background:transparent;border:0;border-bottom:1px solid rgba(255,255,255,.6);border-radius:0;color:#fff;font-size:1.03rem;color-scheme:dark;letter-spacing:0}.hero-booking select option{background:var(--forest);color:#fff}.hero-booking .button{min-height:54px;white-space:nowrap}.hero-booking :focus-visible{outline-color:var(--gold)}.booking-hint{font-size:.7rem;color:#e8e9df;margin-top:15px}.hero-bottom{position:absolute;left:0;right:0;bottom:30px;display:flex;justify-content:space-between;gap:20px;font-size:.74rem;letter-spacing:.02em;color:#e6e8dc}.hero-bottom a{text-decoration:none}.hero-bottom a span{margin-left:22px}
.intro-grid{display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:100px}.intro-copy>p:not(.section-kicker){max-width:530px;margin-top:25px}.intro-copy .text-link{margin-top:28px}.home-arch{border:1px solid #bcb485;border-radius:230px 230px 6px 6px;background:rgba(235,236,218,.7);min-height:460px;max-width:390px;justify-self:end;width:100%;display:flex;align-items:center;flex-direction:column;justify-content:center;padding:48px 30px 32px;position:relative}.home-arch::before{content:'';position:absolute;inset:11px;border:1px solid rgba(116,139,83,.22);border-radius:inherit;pointer-events:none}.arch-word{font:italic 1.5rem var(--serif);color:#71825d;margin-top:45px}.arch-number{font:8rem/.95 var(--serif);color:var(--green);margin:14px 0}.home-arch>p{text-align:center;font:1.4rem/1.25 var(--serif);color:var(--ink)}.arch-facts{display:flex;gap:25px;font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;border-top:1px solid var(--line);padding-top:18px;margin-top:25px}.feature-list{display:grid;grid-template-columns:repeat(4,1fr);gap:36px;border-top:1px solid var(--line);margin-top:65px;padding-top:28px}.feature{display:flex;flex-direction:column;gap:6px}.feature-number{color:#859177;font-size:.7rem}.feature strong{font-size:.97rem;font-weight:500}.feature>span:last-child{font-size:.79rem;color:var(--muted)}.image-note{font-size:.73rem;color:#717667}.home-intro>.image-note{margin-top:30px}
.extras{background:var(--sage)}.section-heading{display:grid;grid-template-columns:1.2fr .7fr;gap:80px;align-items:end;margin-bottom:45px}.section-heading>p{max-width:340px;font-size:.93rem;padding-bottom:5px}.extras-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}.extra-card{position:relative}.extra-illustration{background:#fffefa;border-radius:130px 130px 5px 5px;overflow:hidden;aspect-ratio:1/1.02;transition:transform .5s}.extra-illustration img{width:100%;height:100%;object-fit:contain;padding:20px;mix-blend-mode:multiply}.extra-card:hover .extra-illustration{transform:translateY(-5px)}.extra-card h3{font-family:inherit;font-size:.91rem;line-height:1.3;font-weight:500;letter-spacing:0;margin:18px 48px 7px 0;min-height:2.6em}.extra-price{float:right;font-family:var(--serif);font-size:1.28rem;white-space:nowrap;margin-top:14px}.extra-card>p{font-size:.78rem}.extras-bottom{display:flex;justify-content:space-between;gap:30px;align-items:center;margin-top:28px}.extras-bottom .text-link{flex-shrink:0;font-size:.8rem}.photo-extra{margin-top:58px;padding:40px 42px;background:var(--forest);color:var(--cream);display:grid;grid-template-columns:150px 1fr 150px;gap:44px;align-items:center;border-radius:8px}.photo-illustration{border-radius:90px 90px 4px 4px;overflow:hidden;background:#fffefa}.photo-illustration img{width:100%;padding:10px}.photo-copy .section-kicker{font-size:.62rem;color:var(--gold);margin-bottom:16px}.photo-copy h3{font-size:2.55rem}.photo-copy>p:not(.section-kicker){font-size:.85rem;color:#d0d7c9;margin-top:18px}.photo-copy .text-link{font-size:.76rem;color:var(--gold);margin-top:16px}.photo-price{display:flex;flex-direction:column;gap:8px}.photo-price strong{font:3.2rem var(--serif);color:var(--gold)}.photo-price span{font-size:.78rem}.photo-price small{font-size:.68rem;color:#bdcbbb;line-height:1.7}
.city-intro{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center}.city-arch{position:relative;padding:12px;border:1px solid #b6b485;border-radius:50% 50% 5px 5px / 36% 36% 5px 5px}.city-arch img{height:560px;width:100%;object-fit:cover;border-radius:inherit}.city-arch figcaption{position:absolute;bottom:32px;left:30px;right:30px;color:#fff;font-size:.69rem;text-shadow:0 1px 8px #000;background:#203c2cbf;padding:10px 16px;width:max-content;max-width:calc(100% - 60px)}.city-copy>p:not(.section-kicker){margin-top:25px}.city-copy>.text-link{margin-top:30px}.city-editorial{display:grid;grid-template-columns:1fr .85fr 1fr;gap:35px;align-items:center;margin-top:65px}.city-editorial figure img{width:100%;height:230px;object-fit:cover;border-radius:5px}.city-editorial figure:last-child{margin-top:65px}.city-editorial figcaption{font-size:.69rem;margin-top:12px;color:var(--muted)}.city-quote{text-align:center}.city-quote>span{font:4rem/.6 var(--serif);color:#b7b997}.city-quote p{font:1.55rem/1.35 var(--serif);color:var(--ink)}.city-quote em{color:#708557}.city-plans{margin-top:58px;border-top:1px solid var(--line)}.city-plans details{border-bottom:1px solid var(--line);padding:23px 0}.city-plans summary{display:grid;grid-template-columns:170px 1fr 24px;gap:20px;align-items:center;list-style:none}.city-plans summary::-webkit-details-marker,.calendar-details summary::-webkit-details-marker{display:none}.city-plans summary>span:first-child{font-size:.7rem;letter-spacing:.09em;text-transform:uppercase;color:#6b795d}.city-plans h3{font-size:1.65rem}.plus{font:1.5rem var(--serif);transition:transform .2s}.city-plans details[open] .plus{transform:rotate(45deg)}.plan-content{margin:14px 44px 0 190px;max-width:620px}.plan-content p{font-size:.88rem}.plan-content a{display:inline-block;font-size:.78rem;margin:14px 20px 0 0;text-underline-offset:4px}
.map-section{margin-top:76px;scroll-margin-top:120px}.map-heading{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:24px}.map-heading .section-kicker{margin-bottom:12px}.map-heading h3{font-size:2.35rem}.map-heading>p{font-size:.8rem}.map-filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}.map-filters button{padding:9px 18px;border-radius:999px;border:1px solid var(--line);background:transparent;color:var(--ink);font-size:.79rem;min-height:40px}.map-filters button[aria-pressed=true]{background:var(--forest);color:var(--cream);border-color:var(--forest)}#vico-map{height:430px;background:#e8e9de;border-radius:6px;z-index:1;border:1px solid var(--line)}.map-loading{padding:24px;font-size:.85rem}.map-loading a{display:block;margin-top:10px}.vico-marker{width:28px;height:28px;display:grid;place-items:center;border:2px solid #fff;border-radius:50% 50% 50% 4px;color:#fff;font-size:12px;font-weight:700;transform:rotate(-45deg);box-shadow:0 3px 8px #0003}.vico-marker span{transform:rotate(45deg)}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:var(--cream);color:var(--ink)}.leaflet-popup-content{font-family:'Segoe UI',Arial,sans-serif}.leaflet-popup-content strong{display:block;margin-bottom:4px}.leaflet-popup-content a{color:var(--forest)}
.arrival{background:var(--forest);color:var(--cream)}.arrival .section-kicker{color:var(--gold)}.arrival h2 em{color:var(--gold)}.arrival-grid{display:grid;grid-template-columns:1fr 1fr;gap:110px}.arrival-grid>div>p:last-child{color:#d0d6c8;margin-top:28px;font-size:.98rem}.address{border-bottom:1px solid #eff6dd40;padding-bottom:28px}.address>span{display:block;font-size:.72rem;letter-spacing:.08em;color:#becdb6;margin-bottom:12px}.address strong{font:2.1rem var(--serif)}.address>p{color:#d0d6c8;font-size:.86rem;margin-top:10px}.address .text-link{margin-top:18px;color:var(--gold);font-size:.8rem}.arrival-steps{padding:0;margin:27px 0 0;list-style:none;display:grid;gap:25px}.arrival-steps li{display:grid;grid-template-columns:30px 1fr;gap:17px}.arrival-steps li>span{font-size:.72rem;color:var(--gold);padding-top:2px}.arrival-steps strong{font-size:.9rem;font-weight:500}.arrival-steps p{font-size:.79rem;color:#c3d0ba;margin-top:4px;max-width:330px}
.closing{text-align:center;background:#f1efdf}.closing-copy h2{font-size:clamp(3rem,5.6vw,5.3rem)}.closing-copy .button{margin:32px 0 20px}.closing-copy>p:last-child{font-size:.76rem}.calendar-details{text-align:left;margin-top:60px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.calendar-details>summary{display:flex;justify-content:space-between;gap:25px;list-style:none;padding:24px 0;font-size:.85rem}.calendar-details>summary span{font-weight:600}.calendar-details>summary b{display:inline-block;font-size:1.2rem;margin-left:20px;font-weight:400}.calendar-details[open]>summary b{transform:rotate(45deg)}.calendar-wrap{background:#fff;padding:28px;border-radius:6px;margin-bottom:25px;color:#23392b;overflow:hidden}.calendarWidget{min-height:300px}.calendar-note{font-size:.78rem;margin-top:15px}.calendarContent{overflow-x:auto}
footer{background:#182c20;color:#f3efdf;padding:45px 0 28px}.footer-main{display:grid;grid-template-columns:1fr 1.1fr auto;gap:40px;align-items:center}.footer-main p{color:#e4e6d8;font-size:.85rem}.footer-main p span{color:#aabda4;font-size:.75rem}.footer-links{display:grid;gap:10px;font-size:.8rem}.footer-links a{text-decoration:none}.footer-bottom{border-top:1px solid #fff2;margin-top:32px;padding-top:22px;display:flex;align-items:start;justify-content:space-between;gap:24px;font-size:.68rem;color:#bdc9b7}.motion-toggle{border:1px solid #c9d6b74d;color:#d6e0c9;background:none;border-radius:999px;padding:7px 13px;font-size:.69rem}.credits{max-width:350px}.credits p{color:#bdc9b7;font-size:.68rem;margin-top:12px}.mobile-booking{display:none}
/* Quiet Neapolitan linework stays in the margins. */
.napoli-decor{position:absolute;pointer-events:none;user-select:none;z-index:0}.decor-mark{display:block;width:100%;height:100%;background:var(--decor-color,#5c9553);mask:var(--decor-image) center/contain no-repeat;-webkit-mask:var(--decor-image) center/contain no-repeat;animation:sway 13s ease-in-out infinite paused;transform-origin:50% 5%}.napoli-decor.in-view .decor-mark{animation-play-state:running}.basket-decor{--decor-image:url('minimal-panaro-web.png');width:240px;height:420px;left:-105px;top:30px;opacity:.12}.laundry-decor{--decor-image:url('minimal-laundry.png');width:170px;height:70px;top:25px;left:50%;transform:translateX(-50%);opacity:.45}.horn-decor{--decor-image:url('minimal-cornicello-web.png');--decor-color:#819664;right:-65px;top:10px;width:240px;height:320px;opacity:.12;transform:rotate(-20deg)}.obelisk-decor{--decor-image:url('minimal-obelisk-web.png');width:300px;height:470px;right:-75px;top:320px;opacity:.13}.obelisk-decor .decor-mark{animation:none}.arrival-basket{--decor-image:url('minimal-panaro-web.png');--decor-color:#edce78;left:-55px;bottom:-120px;width:290px;height:510px;opacity:.09}.closing::before{content:'';position:absolute;inset:24px auto auto 50%;width:390px;height:500px;border:1px solid #b1b28e33;border-radius:50% 50% 0 0;transform:translateX(-50%);z-index:0;pointer-events:none}.reveal.is-pending{opacity:0;transform:translateY(22px);transition:opacity .8s ease,transform .8s ease}.reveal.is-visible{opacity:1;transform:none}.motion-paused .decor-mark{animation-play-state:paused!important}.motion-paused .reveal{opacity:1!important;transform:none!important;transition:none!important}.motion-paused .hero-video{display:none}@keyframes sway{0%,100%{transform:rotate(-1.5deg)}50%{transform:rotate(1.5deg)}}
@media(min-width:1500px){.hero{min-height:850px}}
@media(max-width:1050px){.shell{width:calc(100% - 64px)}.nav-links{gap:18px}.intro-grid,.city-intro{gap:55px}.hero-booking{gap:14px}.hero-booking .button{font-size:.78rem;padding:14px 16px;gap:12px}.section-heading{gap:40px}.extras-grid{gap:18px}.photo-extra{gap:28px;padding:30px;grid-template-columns:125px 1fr 130px}.arrival-grid{gap:60px}.feature-list{gap:22px}.city-arch img{height:490px}.city-editorial{gap:24px}.city-quote p{font-size:1.3rem}}
@media(max-width:820px){html{scroll-padding-top:90px}.shell{width:calc(100% - 44px)}.section{padding:74px 0}nav{height:80px;gap:16px}.brand{width:125px}.brand img{height:60px}.menu-toggle{display:block}.nav-links{display:none;position:absolute;left:0;right:0;top:80px;background:var(--cream);padding:20px 24px 28px;box-shadow:0 14px 18px #203c2c14;gap:0}.menu-open .nav-links{display:flex;flex-direction:column}.nav-links a{padding:13px 6px;font-size:1rem}.menu-open .menu-toggle span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-open .menu-toggle span:last-child{transform:translateY(-3.5px) rotate(-45deg)}.hero{min-height:max(720px,100svh)}.hero-content{padding-top:125px;padding-bottom:105px}.hero h1{font-size:5rem}.hero-booking{grid-template-columns:1fr 1fr;gap:14px 22px;max-width:620px}.hero-lead{margin-bottom:28px}.hero-booking .button{font-size:.9rem}.hero-bottom{font-size:.65rem}.intro-grid{gap:35px;grid-template-columns:1fr .85fr}.home-arch{min-height:390px;padding-inline:20px}.arch-number{font-size:6rem}.home-arch>p{font-size:1.2rem}.intro-copy>p:not(.section-kicker){font-size:.95rem}.section-kicker{margin-bottom:18px}.feature-list{grid-template-columns:1fr 1fr;gap:25px;margin-top:40px}.section-heading{grid-template-columns:1fr;gap:22px}.section-heading>p{max-width:520px}.extras-grid{grid-template-columns:1fr 1fr;gap:30px 24px}.extra-illustration{aspect-ratio:1.15}.extras-bottom{align-items:start;flex-direction:column;gap:15px}.photo-extra{grid-template-columns:140px 1fr;gap:25px}.photo-price{grid-column:2;flex-direction:row;flex-wrap:wrap;align-items:baseline;gap:8px 15px}.photo-price small{width:100%}.photo-price strong{font-size:2.3rem}.city-intro{gap:32px}.city-arch img{height:430px}.city-copy h2{font-size:2.8rem}.city-copy>p:not(.section-kicker){font-size:.94rem}.city-editorial{grid-template-columns:1fr 1fr;margin-top:40px}.city-quote{grid-column:1/-1;grid-row:2;margin:25px 0 0}.city-quote p{font-size:1.6rem}.city-editorial figure:last-child{margin:35px 0 0}.city-plans summary{grid-template-columns:135px 1fr 20px;gap:15px}.plan-content{margin-left:150px}.map-heading{align-items:start;flex-direction:column;gap:18px}.arrival-grid{gap:45px}.footer-main{grid-template-columns:1fr 1fr;gap:22px}.footer-links{grid-column:1/-1;display:flex;gap:24px}.footer-bottom{flex-wrap:wrap}.basket-decor{left:-150px}.arrival-basket{left:-150px;bottom:-130px}.obelisk-decor{right:-130px}.horn-decor{right:-100px}.mobile-booking{display:block;position:fixed;bottom:0;left:0;right:0;background:#f8f5edf5;backdrop-filter:blur(10px);padding:11px 22px calc(11px + env(safe-area-inset-bottom));z-index:40;border-top:1px solid var(--line);transform:translateY(110%);visibility:hidden;transition:transform .3s,visibility .3s}.mobile-booking .button{width:100%;min-height:48px}.has-left-hero:not(.at-footer) .mobile-booking{visibility:visible;transform:none}footer{padding-bottom:100px}}
@media(max-width:560px){.shell{width:calc(100% - 40px)}.section{padding:64px 0}h2{font-size:2.7rem}.section-kicker{font-size:.64rem;letter-spacing:.14em}.hero{min-height:max(710px,100svh)}.hero-content{padding-top:115px;padding-bottom:108px}.hero h1{font-size:4.4rem;max-width:300px;margin-bottom:20px}.hero-lead{font-size:1.03rem}.eyebrow{font-size:.62rem;margin-bottom:19px}.hero-booking{gap:15px 18px}.hero-booking label{font-size:.69rem}.hero-booking input,.hero-booking select{font-size:.86rem;height:43px}.hero-booking .button{min-height:46px;padding:10px;font-size:.73rem;gap:7px}.booking-hint{font-size:.61rem;max-width:310px;margin-top:12px}.hero-bottom{bottom:27px;display:block;font-size:.65rem}.hero-bottom a{display:none}.button-small{min-height:38px;padding:9px 17px;font-size:.77rem}.nav-actions{gap:5px}.hero-video iframe{width:max(100%,177.78vh);height:100%}.intro-grid{grid-template-columns:1fr;gap:36px}.intro-copy .body-lead{font-size:1.06rem!important}.home-arch{max-width:270px;justify-self:center;min-height:370px}.feature-list{gap:26px 20px}.feature strong{font-size:.87rem}.feature>span:last-child{font-size:.74rem}.image-note{font-size:.66rem}.extras-grid{gap:25px 16px}.extra-illustration{aspect-ratio:1/1.1}.extra-illustration img{padding:10px}.extra-card h3{font-size:.84rem;margin-right:0;margin-top:12px;clear:both;min-height:2.6em}.extra-price{float:none;display:block;margin-top:14px;font-size:1.2rem}.extra-card>p{font-size:.73rem}.photo-extra{grid-template-columns:1fr;padding:28px;gap:24px;margin-top:35px}.photo-illustration{width:110px;justify-self:start}.photo-copy h3{font-size:2.5rem}.photo-price{grid-column:auto;border-top:1px solid #fff3;padding-top:18px}.city-intro{grid-template-columns:1fr;gap:36px}.city-copy{grid-row:1}.city-arch{max-width:390px;width:100%;justify-self:center}.city-arch img{height:420px}.city-arch figcaption{font-size:.63rem;left:24px;max-width:calc(100% - 48px)}.city-editorial{gap:16px}.city-editorial figure img{height:190px}.city-editorial figcaption{font-size:.61rem}.city-plans{margin-top:38px}.city-plans summary{grid-template-columns:1fr 20px;gap:9px}.city-plans summary>span:first-child{grid-column:1/-1;font-size:.63rem}.city-plans h3{font-size:1.5rem}.plan-content{margin:15px 24px 0 0}.plan-content p{font-size:.84rem}.map-section{margin-top:48px}.map-filters{gap:7px}.map-filters button{font-size:.72rem;padding:8px 14px;min-height:38px}#vico-map{height:360px}.arrival-grid{grid-template-columns:1fr;gap:40px}.arrival-grid>div>p:last-child{font-size:.9rem}.arrival-info{padding-left:25px;border-left:1px solid #fff3}.arrival-basket{left:auto;right:-140px;top:0;bottom:auto;opacity:.08}.closing-copy h2{font-size:3.3rem}.closing-copy>p:last-child{font-size:.69rem}.calendar-details>summary{flex-direction:column;gap:12px;font-size:.78rem}.calendar-wrap{padding:18px 8px}.calendar-note{font-size:.7rem}.footer-main{grid-template-columns:1fr}.footer-main .brand{width:150px}.footer-links{grid-column:auto;flex-wrap:wrap}.footer-bottom{gap:18px}.credits{width:100%;max-width:none}.basket-decor{left:auto;right:-130px;top:220px}.obelisk-decor{right:-130px;top:250px}.closing::before{width:80%;height:430px}.mobile-booking{padding-inline:20px}}
@media(max-width:360px){.hero-booking .button,.hero-booking label:nth-of-type(3){grid-column:1/-1}.hero h1{font-size:3.8rem}.hero-content{padding-top:105px;padding-bottom:85px}.nav-actions{gap:0}.brand{width:110px}.shell{width:calc(100% - 32px)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.reveal.is-pending{opacity:1;transform:none}.hero-video{display:none}.motion-toggle{display:none}}
/* Vico12's own film: full-bleed, silent, with a still-image fallback. */
.hero{background-image:url('vico12-home-poster.jpg')}
.hero-video video{display:block;width:100%;height:100%;object-fit:cover;object-position:center;opacity:0;transition:opacity .6s ease}
.hero-video video.is-playing{opacity:1}
/* The real house: a quiet photographic story, with full compositions in the album. */
.home-intro{padding-bottom:70px}.home-photo{width:100%;max-width:390px;justify-self:end}.home-photo-frame{display:block;position:relative;padding:10px;border:1px solid #bcb485;border-radius:220px 220px 5px 5px;overflow:hidden;text-decoration:none}.home-photo-frame img{width:100%;aspect-ratio:2/3;object-fit:cover;border-radius:inherit}.home-photo-frame>span{position:absolute;right:26px;bottom:27px;color:#fff;background:#203c2ce6;border-radius:999px;padding:8px 15px;font-size:.7rem}.home-photo figcaption{display:flex;justify-content:center;gap:25px;padding-top:17px;font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.house-gallery{padding-top:0}.gallery-heading{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:32px}.gallery-heading h2{font-size:clamp(2.5rem,4vw,3.7rem)}.gallery-heading .section-kicker{margin-bottom:16px}.gallery-heading>p{font-size:.86rem}.gallery-grid{display:grid;grid-template-columns:1.45fr .72fr .82fr;grid-template-rows:216px 216px;gap:14px}.gallery-photo{display:block;position:relative;overflow:hidden;border-radius:5px;background:#e2e2d2;text-decoration:none}.gallery-room{grid-row:1/span 2}.gallery-spa{grid-row:1/span 2}.gallery-photo img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}.gallery-photo::after{content:'';position:absolute;inset:50% 0 0;background:linear-gradient(transparent,#102319b3);pointer-events:none}.gallery-photo>span{position:absolute;bottom:19px;left:21px;right:21px;color:#fff;font-size:.76rem;z-index:1;display:flex;justify-content:space-between;gap:12px}.gallery-photo b{font-weight:400}.gallery-photo:hover img{transform:scale(1.035)}.gallery-bottom{display:flex;justify-content:space-between;gap:25px;align-items:center;margin-top:24px}.gallery-bottom .text-link{font-size:.83rem;flex-shrink:0}
.gallery-open{overflow:hidden}.photo-dialog{position:fixed;inset:0;margin:0;width:100%;height:100%;height:100dvh;max-width:none;max-height:none;padding:24px 32px 28px;border:0;background:#14271e;color:var(--cream);overflow:hidden}.photo-dialog::backdrop{background:#14271e}.photo-dialog:not([open]){display:none}.photo-dialog[open]{display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:18px}.photo-dialog-top{display:flex;align-items:center;justify-content:space-between;gap:20px}.photo-counter{font-size:.76rem;letter-spacing:.08em;color:var(--gold)}.photo-close{display:flex;align-items:center;gap:18px;color:var(--cream);background:transparent;border:1px solid #fff5;border-radius:999px;font-size:.79rem;padding:9px 17px;min-height:44px}.photo-close span{font-size:1.5rem;line-height:1}.photo-dialog-stage{display:grid;grid-template-columns:48px minmax(0,1fr) 48px;gap:24px;align-items:center;min-height:0}.photo-full{display:block;width:100%;height:100%;min-height:0;object-fit:contain;justify-self:center;transition:opacity .2s ease}.photo-full.is-loading{opacity:.3}.photo-arrow{height:48px;width:48px;border:1px solid #fff5;border-radius:50%;background:none;color:var(--cream);font-size:1.3rem}.photo-arrow:hover,.photo-close:hover{background:#ffffff15;border-color:var(--gold)}.photo-dialog-bottom{display:flex;align-items:center;justify-content:space-between;gap:24px}.photo-dialog-bottom p{font:1.3rem/1.4 var(--serif);color:var(--cream)}.photo-dialog-bottom>span{font-size:.68rem;color:#b3c3af}.photo-dialog :focus-visible{outline-color:var(--gold)}
/* Real photographs make the spa and the welcome ritual part of the story. */
.spa-story{padding:84px 0 38px;min-height:650px;display:flex;align-items:stretch;color:var(--cream);background:#14271e}.spa-backdrop{position:absolute;inset:0;z-index:-1}.spa-backdrop img{width:100%;height:100%;object-fit:cover;object-position:center 45%}.spa-backdrop::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(9,26,20,.95) 0%,rgba(9,26,20,.86) 30%,rgba(9,26,20,.24) 70%,rgba(9,26,20,.1)),linear-gradient(0deg,rgba(9,26,20,.88),transparent 38%)}.spa-content{display:flex;flex-direction:column;justify-content:space-between;gap:65px}.spa-copy{max-width:465px}.spa-copy .section-kicker{color:var(--gold);font-size:.65rem;line-height:1.8}.spa-copy h2{font-size:clamp(2.8rem,4.3vw,4.15rem)}.spa-copy h2 em{color:var(--gold)}.spa-copy>p:not(.section-kicker){color:#e5e8dd;margin-top:23px}.spa-copy .body-lead{font-size:1.08rem}.spa-copy>p:not(.section-kicker):not(.body-lead){font-size:.92rem;max-width:395px}.spa-copy .text-link{color:var(--gold);margin-top:28px;font-size:.8rem}.spa-footer{display:flex;align-items:center;justify-content:space-between;gap:35px;border-top:1px solid #fff4;padding-top:23px}.spa-essentials{display:flex;gap:30px;list-style:none;margin:0;padding:0;font-size:.75rem;color:#f1f2e9}.spa-essentials li{display:flex;align-items:center;gap:10px}.spa-essentials li::before{content:'';width:4px;height:4px;border-radius:50%;background:var(--gold)}.spa-photo-link{display:flex;gap:20px;align-items:center;font-size:.75rem;text-decoration:none;padding:10px 0;color:var(--gold)}.spa-story :focus-visible{outline-color:var(--gold)}
.welcome-story{background:#f5f1e6}.welcome-grid{display:grid;grid-template-columns:.95fr 1.2fr;gap:80px;align-items:center}.welcome-copy .body-lead{font-size:1.09rem;margin-top:28px}.welcome-copy>p:not(.section-kicker):not(.body-lead){font-size:.93rem;margin-top:22px;max-width:440px}.welcome-essentials{display:flex;flex-wrap:wrap;gap:12px 24px;list-style:none;padding:22px 0 0;margin:28px 0 0;border-top:1px solid var(--line);max-width:405px}.welcome-essentials li{font-size:.79rem;color:var(--forest);display:flex;align-items:center;gap:9px}.welcome-essentials li::before{content:'✓';font-size:.75rem;color:#658354}.welcome-copy>.text-link{margin-top:28px;font-size:.82rem}.welcome-photos{position:relative;min-height:540px;align-self:center}.welcome-photos figure{position:absolute}.welcome-photos a{display:block;position:relative;border-radius:5px;overflow:hidden;background:#e7e4d7}.welcome-photos img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}.welcome-photos a:hover img{transform:scale(1.035)}.welcome-photos a>span{position:absolute;right:15px;bottom:15px;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#203c2cdd;color:white;font-size:.8rem}.welcome-photos figcaption{font-size:.68rem;margin-top:10px;color:var(--muted)}.welcome-slippers{width:85%;right:0;top:0}.welcome-slippers a{aspect-ratio:1.42}.welcome-slippers img{object-position:center}.welcome-dental{width:59%;left:0;top:288px;padding:9px 9px 0;background:#f5f1e6;border-radius:7px 7px 0 0}.welcome-dental a{aspect-ratio:1.45}.welcome-dental figcaption{padding-bottom:9px}
.welcome-photos{min-height:580px}.welcome-slippers figcaption{position:absolute;top:13px;right:13px;margin:0;padding:7px 11px;border-radius:999px;background:#f8f5edf0;color:var(--forest)}
@media(min-width:1400px){.spa-story{min-height:690px}.spa-backdrop img{object-position:center 48%}}
@media(max-width:1050px){.welcome-grid{gap:40px;grid-template-columns:1fr 1fr}.welcome-photos{min-height:470px}.welcome-slippers{width:94%}.welcome-dental{width:75%;top:235px}.spa-story{min-height:620px}.spa-essentials{gap:20px}}
@media(max-width:820px){.spa-story{padding:65px 0 32px;min-height:630px}.spa-copy{max-width:410px}.spa-backdrop img{object-position:61% center}.spa-backdrop::after{background:linear-gradient(90deg,rgba(9,26,20,.96),rgba(9,26,20,.78) 45%,rgba(9,26,20,.18)),linear-gradient(0deg,rgba(9,26,20,.92),transparent 55%)}.spa-footer{align-items:start;flex-direction:column;gap:12px;padding-top:20px}.spa-essentials{flex-wrap:wrap;gap:10px 22px}.welcome-grid{grid-template-columns:1fr;gap:40px}.welcome-copy{max-width:590px}.welcome-copy>p:not(.section-kicker):not(.body-lead){max-width:540px}.welcome-essentials{max-width:none}.welcome-photos{width:min(600px,100%);min-height:520px;justify-self:center}.welcome-slippers{width:85%}.welcome-dental{width:57%;top:280px}}
@media(max-width:560px){.spa-story{padding:56px 0 27px;min-height:760px}.spa-content{gap:160px}.spa-copy h2{font-size:2.7rem}.spa-copy{max-width:350px}.spa-copy>p:not(.section-kicker):not(.body-lead){font-size:.85rem;max-width:300px}.spa-copy>p:not(.section-kicker){margin-top:21px}.spa-copy .section-kicker{max-width:300px;font-size:.59rem}.spa-copy .body-lead{font-size:1rem}.spa-backdrop img{object-position:62% center}.spa-backdrop::after{background:linear-gradient(180deg,rgba(9,26,20,.91),rgba(9,26,20,.77) 43%,rgba(9,26,20,.12) 67%,rgba(9,26,20,.88)),linear-gradient(90deg,rgba(9,26,20,.3),transparent)}.spa-essentials{font-size:.66rem;gap:10px 17px}.spa-photo-link{font-size:.72rem}.spa-footer{gap:10px}.welcome-grid{gap:36px}.welcome-copy .body-lead{font-size:1rem;margin-top:24px}.welcome-copy>p:not(.section-kicker):not(.body-lead){font-size:.86rem}.welcome-essentials{gap:11px 20px;margin-top:22px;padding-top:19px}.welcome-essentials li{font-size:.74rem}.welcome-photos{min-height:400px}.welcome-slippers{width:100%}.welcome-slippers a{aspect-ratio:1.35}.welcome-dental{width:74%;top:205px}.welcome-photos figcaption{font-size:.62rem}.welcome-dental figcaption{margin-top:9px}.welcome-dental{box-shadow:0 -1px 0 #f5f1e6}}
@media(max-width:820px) and (min-width:561px){.welcome-photos{min-height:550px}}
@media(max-width:560px){.welcome-photos{min-height:0;aspect-ratio:.83}.welcome-dental{top:49%}}
@media(max-width:360px){.spa-content{gap:130px}}
/* A neighbourhood guide: the gold home marker stays distinct from numbered places. */
.city-arch img{object-position:65% center}.city-dante img{object-position:45% 65%}.city-rooftops img{object-position:center}
.map-heading>p{font-size:.88rem}.map-home-bar{display:flex;align-items:center;gap:17px;background:var(--forest);color:var(--cream);padding:21px 25px;border-radius:7px;margin-bottom:22px}.map-home-symbol{display:grid;place-items:center;flex:0 0 43px;height:43px;border-radius:50%;background:var(--gold);color:var(--forest);font-size:1.7rem;line-height:1}.map-home-bar>div{display:grid;gap:3px}.map-home-bar strong{font-size:.98rem;font-weight:600}.map-home-bar>div>span{font-size:.77rem;color:#d4dfca}.map-home-bar>a{margin-left:auto;font-size:.78rem;color:var(--gold);white-space:nowrap;text-underline-offset:4px}.map-filters{gap:9px;margin-bottom:18px}.map-filters button{min-height:44px;font-size:.8rem;padding:10px 19px}.map-explorer{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(0,1fr);gap:18px;align-items:start}.map-canvas-wrap{position:relative;scroll-margin-top:112px;min-width:0}.map-toolbar{display:flex;gap:8px;margin-bottom:10px}.map-toolbar button{border:1px solid var(--line);background:#fffaf0;color:var(--forest);border-radius:5px;min-height:42px;padding:8px 14px;font-size:.75rem;font-weight:600}.map-toolbar button:first-child{background:var(--gold);border-color:var(--gold)}#vico-map{height:515px;border:1px solid #ccd0bb;border-radius:7px;background:#e8ecdf}.map-help{font-size:.7rem;line-height:1.55;margin-top:12px;max-width:600px}.map-places-panel{border:1px solid var(--line);border-radius:7px;overflow:hidden;background:#fffdf7}.map-list-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:15px 19px;border-bottom:1px solid var(--line);min-height:52px}.map-list-heading h4{font-size:.82rem;font-weight:600;margin:0}.map-list-heading>span{font-size:.68rem;color:var(--muted)}.map-list-scroll{max-height:515px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#9eaf8e #f4f1e6;position:relative}.map-list-scroll:focus-visible{outline-offset:-4px}#map-places{padding:0;margin:0;list-style:none}.place-card{padding:17px 17px 16px;border-bottom:1px solid var(--line);scroll-margin-top:8px;border-left:3px solid transparent}.place-card:last-child{border-bottom:0}.place-card.is-selected{background:#eef2e4;border-left-color:#6c884f}.place-select{display:flex;text-align:left;align-items:start;gap:12px;width:100%;border:0;padding:0;background:transparent;color:var(--ink)}.place-number{display:grid;place-items:center;width:25px;height:25px;flex:0 0 25px;border-radius:50%;font-size:.69rem;color:#fff;font-weight:600;margin-top:2px}.place-name{display:grid;gap:4px;flex:1;min-width:0}.place-name strong{font-size:.85rem;line-height:1.35;font-weight:600}.place-note{font-size:.71rem;line-height:1.5;color:var(--muted)}.place-arrow{font-size:.8rem;color:#6c884f}.place-travel{display:flex;flex-wrap:wrap;gap:5px 8px;margin-top:12px;font-size:.69rem;line-height:1.5}.place-walk{color:var(--forest);font-weight:600}.place-metro{color:#28637e;background:#e8f0f4;padding:2px 7px;border-radius:3px}.place-transit-note,.place-caution{font-size:.67rem;line-height:1.5;margin-top:7px}.place-caution{color:#865238}.place-links{display:flex;flex-wrap:wrap;gap:7px 15px;margin-top:10px;font-size:.67rem;line-height:1.6}.place-links>a{text-underline-offset:3px;font-weight:600}.place-links .place-official{color:var(--muted);font-weight:400}.map-estimate-note{font-size:.69rem;line-height:1.65;padding-top:18px;max-width:920px}.home-map-icon{z-index:2000}.home-map-pin{display:grid;place-items:center;width:46px;height:46px;background:var(--gold);border:3px solid #fffdf7;color:var(--forest);border-radius:50%;font-size:29px;line-height:1;box-shadow:0 0 0 7px #edce7844,0 4px 12px #203c2c55}.leaflet-tooltip.home-map-label{padding:9px 14px;background:var(--forest);border:1px solid #fff6;color:#fffdf7;border-radius:5px;box-shadow:0 3px 12px #203c2c33;text-align:center;font-family:'Segoe UI',Arial,sans-serif}.home-map-label strong{display:block;color:var(--gold);font-size:15px;letter-spacing:.02em}.home-map-label span{display:block;font-size:10px;margin-top:1px}.leaflet-tooltip-top.home-map-label:before{border-top-color:var(--forest)}.place-map-pin{display:grid;place-items:center;width:28px;height:28px;border:2px solid #fffdf7;border-radius:50%;box-shadow:0 2px 6px #203c2c44;color:#fff;font-size:11px;font-weight:600}.place-popup{font-family:'Segoe UI',Arial,sans-serif;font-size:12px;line-height:1.55}.place-popup>strong{display:block;font-size:15px;line-height:1.3;margin-top:5px}.place-popup>p{margin:6px 0!important;font-size:11px!important}.popup-category{font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:#64834f}.place-popup .place-travel{font-size:11px}.place-popup .place-links{font-size:11px}.map-unavailable{padding:30px;display:grid;gap:18px;max-width:460px}.map-unavailable p{font-size:.85rem}.map-unavailable button{min-height:44px;padding:10px 18px;border:1px solid var(--line);border-radius:4px;background:var(--gold);color:var(--forest)}.map-unavailable>a{font-size:.8rem}.map-section .leaflet-popup-content{margin:15px 18px}.map-section .leaflet-popup-content-wrapper{border-radius:7px}
@media(max-width:1050px){.map-explorer{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr)}}
@media(max-width:820px){.map-explorer{grid-template-columns:1fr;gap:22px}#vico-map{height:425px}.map-list-scroll{max-height:390px}.map-home-bar{flex-wrap:wrap;padding:20px}.map-home-bar>a{margin-left:60px}.map-places-panel{max-width:none}.map-canvas-wrap{scroll-margin-top:100px}}
@media(max-width:560px){.map-heading h3{font-size:2.2rem}.map-heading>p{font-size:.8rem}.map-home-bar{gap:12px;padding:17px 15px}.map-home-symbol{flex-basis:36px;height:36px;font-size:1.5rem}.map-home-bar>div{flex:1;min-width:0}.map-home-bar strong{font-size:.81rem;line-height:1.45}.map-home-bar>div>span{font-size:.69rem;line-height:1.55}.map-home-bar>a{margin-left:48px;font-size:.72rem}.map-filters{gap:7px}.map-filters button{font-size:.7rem;min-height:42px;padding:9px 13px}.map-toolbar button{font-size:.69rem;min-height:42px;padding:8px 12px}#vico-map{height:390px}.map-help{font-size:.65rem}.map-list-heading{padding:15px}.place-card{padding:16px 14px}.place-name strong{font-size:.84rem}.map-estimate-note{font-size:.65rem}.leaflet-tooltip.home-map-label{padding:7px 10px}.home-map-label strong{font-size:14px}}
.extras-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.extra-unit{display:block;margin-bottom:6px;color:var(--forest);font-size:.68rem;line-height:1.6;letter-spacing:.02em}
@media(max-width:1050px){.extras-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:820px){.extras-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:1050px){.nav-links{gap:16px}.gallery-grid{grid-template-rows:185px 185px}.gallery-photo>span{left:15px;right:15px;font-size:.7rem}}
@media(max-width:820px){.home-photo{max-width:340px}.gallery-heading{align-items:start;flex-direction:column;gap:18px}.gallery-grid{grid-template-columns:1.25fr .75fr;grid-template-rows:230px 220px;gap:12px}.gallery-room{grid-row:auto;grid-column:1}.gallery-spa{grid-row:1/span 2;grid-column:2}.gallery-breakfast{grid-row:2;grid-column:1}.gallery-light{display:none}.photo-dialog{padding:18px 20px 24px}.photo-dialog-stage{gap:12px}.photo-dialog-bottom>span{display:none}}
@media(max-width:560px){.home-intro{padding-bottom:56px}.home-photo{max-width:350px;justify-self:center}.home-photo-frame{border-radius:200px 200px 5px 5px}.house-gallery{padding-top:0}.gallery-grid{grid-template-columns:1fr 1fr;grid-template-rows:235px 190px 190px;gap:10px}.gallery-room{grid-column:1/-1;grid-row:1}.gallery-spa{grid-column:1;grid-row:2/span 2}.gallery-breakfast{grid-column:2;grid-row:2}.gallery-light{display:block;grid-column:2;grid-row:3}.gallery-photo>span{bottom:13px;left:12px;right:12px;font-size:.65rem}.gallery-bottom{align-items:start;flex-direction:column;gap:14px;margin-top:20px}.gallery-heading>p{font-size:.8rem}.photo-dialog{padding:16px 16px calc(20px + env(safe-area-inset-bottom));gap:12px}.photo-dialog-stage{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) 44px;gap:14px}.photo-full{grid-column:1;grid-row:1}.photo-arrow{width:44px;height:44px;grid-column:1;grid-row:2}.photo-prev{justify-self:start}.photo-next{justify-self:end}.photo-dialog-bottom p{font-size:1.15rem}.photo-dialog-bottom{min-height:48px}.photo-close{font-size:.74rem}.photo-counter{font-size:.7rem}}
/* Six more real photographs accompany the stay, from everyday rituals to arrival. */
.home-rituals{background:var(--cream)}.home-rituals h2{font-size:clamp(2.4rem,3.9vw,3.7rem)}.home-rituals .section-heading{grid-template-columns:1.4fr .7fr;gap:55px}.rituals-photos{display:grid;grid-template-columns:1.6fr .7fr .7fr;gap:20px;align-items:start}.story-photo{display:block;position:relative;overflow:hidden;border-radius:5px;background:#e1dfd2;text-decoration:none}.story-photo img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}.story-photo:hover img{transform:scale(1.035)}.story-photo>span{position:absolute;right:15px;bottom:15px;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#203c2ce6;color:#fff;font-size:.8rem}.rituals-photos .story-photo{height:390px}.rituals-photos figcaption,.arrival-photos figcaption,.closing-photo figcaption{margin-top:13px;font-size:.73rem;line-height:1.6;color:var(--muted)}.arrival-photos{display:grid;grid-template-columns:.7fr 1.5fr;gap:28px;margin-top:64px;align-items:start}.arrival-photos .story-photo{height:440px}.arrival-entrance .story-photo{border-radius:180px 180px 5px 5px}.arrival-photos figcaption{color:#d0d6c8}.arrival .story-photo:focus-visible{outline-color:var(--gold)}.closing-layout{display:grid;grid-template-columns:1.25fr .75fr;column-gap:70px;align-items:center}.closing-photo{width:min(350px,100%);justify-self:end}.closing-photo .story-photo{aspect-ratio:2/3;border-radius:210px 210px 5px 5px}.closing-photo figcaption{font-style:italic}.closing-layout .calendar-details{grid-column:1/-1}
@media(max-width:1050px){.home-rituals .section-heading{gap:35px}.rituals-photos{gap:16px}.rituals-photos .story-photo{height:320px}.arrival-photos .story-photo{height:365px}.closing-layout{column-gap:40px}.closing-copy h2{font-size:clamp(3rem,5.4vw,5.3rem)}}
@media(max-width:820px){.home-rituals .section-heading{grid-template-columns:1fr;gap:22px}.rituals-photos{grid-template-columns:1fr 1fr;gap:28px 18px}.ritual-kitchen{grid-column:1/-1}.ritual-kitchen .story-photo{height:auto;aspect-ratio:3/2}.ritual-coffee .story-photo,.ritual-niche .story-photo{height:auto;aspect-ratio:2/3}.arrival-photos{gap:20px;grid-template-columns:.7fr 1.3fr;margin-top:45px}.arrival-photos .story-photo{height:320px}.closing-layout{grid-template-columns:1fr;gap:38px}.closing-photo{width:min(280px,100%);justify-self:center}.closing-layout .calendar-details{margin-top:5px}}
@media(max-width:560px){.home-rituals h2{font-size:2.35rem}.home-rituals .section-heading{margin-bottom:30px}.home-rituals .section-heading>p{font-size:.86rem}.rituals-photos{gap:24px 12px}.rituals-photos figcaption,.arrival-photos figcaption{font-size:.68rem;margin-top:10px}.story-photo>span{width:30px;height:30px;right:11px;bottom:11px}.arrival-photos{grid-template-columns:1fr;gap:28px;margin-top:40px}.arrival-entrance{width:75%;justify-self:center}.arrival-entrance .story-photo{height:auto;aspect-ratio:2/3}.arrival-stairs .story-photo{height:auto;aspect-ratio:3/2}.closing-layout{gap:35px}.closing-photo{width:min(250px,100%)}.closing-layout .calendar-details{margin-top:10px}}
@media(prefers-reduced-motion:reduce){.story-photo img{transition:none}.story-photo:hover img{transform:none}}
/* Guest-supplied city photography follows the neighbourhood and arrival stories. */
.city-panorama{margin-top:58px}.city-panorama img{width:100%;height:350px;object-fit:cover;object-position:center 64%;border-radius:5px}.city-panorama figcaption{margin-top:12px;font-size:.73rem;color:var(--muted)}.arrival-grid .arrival-lead{color:#d0d6c8;margin-top:28px;font-size:.98rem}.arrival-metro{margin-top:30px}.arrival-metro img{width:100%;height:200px;object-fit:cover;object-position:center;border-radius:5px}.arrival-metro figcaption{margin-top:10px;font-size:.65rem;color:#becdb6}
@media(max-width:820px){.city-panorama{margin-top:40px}.city-panorama img{height:280px}.arrival-metro img{height:170px}}
@media(max-width:560px){.city-dante img{object-position:38% center}.city-panorama img{height:auto;aspect-ratio:3/2;object-position:center}.city-panorama figcaption{font-size:.68rem}.arrival-grid .arrival-lead{font-size:.9rem}.arrival-metro img{height:auto;aspect-ratio:2/1}}
/* Reuse the original wordmark so both lines match the logo's lettering exactly. */
.hero h1.hero-brand-title{position:relative;width:min(620px,100%);max-width:none;margin:0 0 26px;line-height:0;font-size:inherit;letter-spacing:normal}.hero-brand-title img{display:block;width:100%;height:auto;filter:url('#hero-title-colors') drop-shadow(0 3px 14px rgba(0,0,0,.25))}.hero-title-filter{position:absolute;width:0;height:0;overflow:hidden}.hero-title-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
@media(max-width:560px){.hero h1.hero-brand-title{width:100%;margin-bottom:24px}}
