/* Restaurant and hotel recommendations share an information-first layout. */
.hp{overflow:visible;background:var(--cj-deep-navy);color:var(--cj-cyber-porcelain)}
.hp *{box-sizing:border-box}
.hp [hidden]{display:none!important}
.hp button{cursor:pointer}
.hp a:focus-visible,.hp button:focus-visible{outline:3px solid var(--cj-neon-orange);outline-offset:3px}
.hp-breadcrumb{display:flex;align-items:center;gap:10px;padding-block:23px;color:rgba(240,252,255,.65);font-size:12px}
.hp-breadcrumb a{text-decoration:none}.hp-breadcrumb a:hover{color:var(--cj-neon-blue)}.hp-breadcrumb strong{overflow:hidden;color:var(--cj-cyber-porcelain);font-weight:600;text-overflow:ellipsis;white-space:nowrap}
.hp-hero{display:flex;flex-direction:column}.hp-identity{margin:0 0 25px}.hp-kicker{margin:0 0 9px;color:var(--cj-neon-blue);font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.hp-identity h1{margin:0 0 13px;font-size:clamp(38px,4.4vw,56px);letter-spacing:-.05em;line-height:1.08}.hp-intro{max-width:760px;margin:0;color:var(--cj-porcelain-muted);font-size:17px;line-height:1.55}
.hp-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:22px;border-block:1px solid var(--cj-line)}.hp-facts>div{min-width:0;padding:13px 15px 13px 0}.hp-facts>div+div{padding-left:15px;border-left:1px solid var(--cj-line)}.hp-facts small{display:block;margin-bottom:5px;color:rgba(240,252,255,.73);font-size:10px;font-weight:800;letter-spacing:.07em;text-transform:uppercase}.hp-facts strong{display:block;font-size:13px;line-height:1.4}
.hp-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.hp-button{display:inline-flex;min-height:44px;align-items:center;justify-content:center;padding:9px 16px;border:1px solid transparent;border-radius:8px;font-size:13px;font-weight:800;text-align:center;text-decoration:none}.hp-button--primary{border-color:var(--cj-neon-orange);background:var(--cj-neon-orange);color:var(--cj-deep-navy)}.hp-button--primary:hover{background:var(--cj-neon-orange-hover)}.hp-button--outline{border-color:var(--cj-neon-blue);color:var(--cj-neon-blue)}.hp-button--outline:hover{background:rgba(23,221,255,.12)}
.hp-hero-gallery{position:relative}.hp-collage{display:grid;height:430px;grid-template-columns:2fr 1fr 1fr;grid-template-rows:1fr 1fr;gap:8px;overflow:hidden;border-radius:11px;background:var(--cj-deep-navy-soft)}.hp-photo{display:block;width:100%;height:100%;padding:0;border:0;background:var(--cj-deep-navy-soft);overflow:hidden}.hp-photo--main{grid-row:1/3}.hp-photo img{display:block;width:100%;height:100%;object-fit:cover}.hp-mobile-photos{display:none}.hp-gallery-bar{position:absolute;right:16px;bottom:16px}.hp-gallery-bar button{padding:9px 13px;border:1px solid var(--cj-neon-blue);border-radius:6px;background:#061729;color:var(--cj-cyber-porcelain);font-size:12px;font-weight:800;box-shadow:0 3px 16px #020b19aa}.hp-gallery-bar button:hover{border-color:var(--cj-neon-orange)}.hp-photo-count{display:none}
.hp-collage--1{grid-template-columns:1fr;grid-template-rows:1fr}.hp-collage--1 .hp-photo--main{grid-row:1}
.hp-collage--2{grid-template-columns:3fr 2fr;grid-template-rows:1fr}.hp-collage--2 .hp-photo--main{grid-row:1}
.hp-collage--3{grid-template-columns:2fr 1fr;grid-template-rows:repeat(2,1fr)}
.hp-collage--4{grid-template-columns:2fr 1fr;grid-template-rows:repeat(3,1fr)}.hp-collage--4 .hp-photo--main{grid-row:1/4}
.hp-section-nav{position:sticky;z-index:9;top:var(--cj-header-height);margin-top:27px;border-block:1px solid var(--cj-line);background:#061729;box-shadow:0 6px 16px #020b1970}.hp-section-nav>.site-container{display:flex;gap:30px;overflow:auto;scrollbar-width:none}.hp-section-nav>.site-container::-webkit-scrollbar{display:none}.hp-section-nav a{display:flex;min-height:55px;align-items:center;border-bottom:2px solid transparent;color:var(--cj-porcelain-muted);font-size:13px;font-weight:700;text-decoration:none;white-space:nowrap}.hp-section-nav a:hover,.hp-section-nav a.is-active{border-color:var(--cj-neon-orange);color:var(--cj-neon-orange)}
.hp-content{display:grid;grid-template-columns:minmax(0,1fr) 315px;gap:38px;padding-block:34px 72px;align-items:start}.hp-main{min-width:0}.hp-section{padding:20px 0 37px;border-bottom:1px solid var(--cj-line);scroll-margin-top:145px}.hp-section+.hp-section{padding-top:39px}.hp-section h2{margin:0 0 20px;font-size:29px;letter-spacing:-.03em;line-height:1.2}
.hp-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.hp-card{min-width:0;overflow:hidden;border:1px solid var(--cj-line);border-radius:10px;background:var(--cj-deep-navy-soft)}.hp-card figure{height:160px;margin:0;overflow:hidden}.hp-card img{display:block;width:100%;height:100%;object-fit:cover}.hp-card>div{padding:14px}.hp-card h3{margin:0 0 7px;font-size:15px;line-height:1.3}.hp-card strong{display:block;color:var(--cj-neon-orange);font-size:13px}.hp-card p{margin:8px 0 0;color:var(--cj-porcelain-muted);font-size:12px;line-height:1.55}
.hp--hotel .hp-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.hp--hotel .hp-card figure{height:190px}
.hp-prose{color:var(--cj-porcelain-muted);font-size:15px;line-height:1.75}.hp-prose p{margin:0 0 12px}.hp-experience{padding-top:26px;margin-top:22px;border-top:1px solid var(--cj-line)}.hp-experience h3{margin:0 0 12px;font-size:21px}.hp-menu-pages{display:grid;grid-auto-columns:min(85%,440px);grid-auto-flow:column;gap:15px;overflow-x:auto;scroll-snap-type:x mandatory}.hp-menu-pages figure{margin:0;scroll-snap-align:start}.hp-menu-pages img{display:block;width:100%;height:auto}
.hp-aside{display:grid;gap:16px}.hp-panel{padding:22px;border:1px solid var(--cj-line);border-radius:11px;background:var(--cj-deep-navy-soft);scroll-margin-top:145px}.hp-panel h2{margin:0 0 13px;font-size:22px;line-height:1.2}.hp-panel h3{margin:0 0 9px;font-size:16px}.hp-panel p,.hp-panel li{color:var(--cj-porcelain-muted);font-size:13px;line-height:1.65}.hp-panel p{margin:0 0 11px}.hp-panel .hp-kicker{color:var(--cj-neon-orange);font-size:10px}.hp-benefit{border-color:rgba(253,152,0,.7);background:linear-gradient(145deg,rgba(253,152,0,.12),transparent 55%),var(--cj-deep-navy-soft)}.hp-benefit .hp-button{width:100%;margin-top:8px}.hp-code{display:grid;width:100%;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px 12px;padding:12px 14px;border:1px solid var(--cj-neon-orange);border-radius:7px;background:#061729;color:var(--cj-cyber-porcelain);text-align:left}.hp-code small{grid-column:1/-1;color:var(--cj-porcelain-muted);font-size:10px;font-weight:700;letter-spacing:.08em}.hp-code strong{min-width:0;color:var(--cj-cyber-porcelain);font-size:18px;line-height:1.2;overflow-wrap:anywhere}.hp-code span{color:var(--cj-neon-blue);font-size:12px;font-weight:800}
.hp-details-list{margin:0}.hp-details-list>div{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--cj-line)}.hp-details-list dt,.hp-details-list dd{font-size:11px;line-height:1.5}.hp-details-list dt{color:var(--cj-porcelain-muted)}.hp-details-list dd{max-width:60%;margin:0;font-weight:600;text-align:right}.hp-good-list{padding-left:18px;margin:17px 0 0}.hp-good-list li+li{margin-top:8px}.hp-good-list li::marker{color:var(--cj-neon-orange)}.hp-location-name{font-weight:700;color:var(--cj-cyber-porcelain)!important}.hp-metro{padding-top:13px;border-top:1px solid var(--cj-line)}.hp-panel .hp-button{width:100%;margin-top:7px}.hp-direct-call{display:block;margin-top:15px;color:var(--cj-neon-blue);font-size:12px;font-weight:800;line-height:1.5;text-align:center}
.hp-dialog{width:min(1100px,calc(100vw - 32px));height:min(88vh,920px);max-width:none;max-height:none;padding:0;border:0;border-radius:11px;background:var(--cj-deep-navy);color:var(--cj-cyber-porcelain);box-shadow:0 18px 70px #020b19aa}.hp-dialog::backdrop{background:#020912dd}.hp-dialog-head{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;border-bottom:1px solid var(--cj-line)}.hp-dialog-head strong,.hp-dialog-head span{display:block}.hp-dialog-head span{color:var(--cj-porcelain-muted);font-size:11px}.hp-dialog-head button{border:0;background:none;color:var(--cj-neon-blue);font-size:28px}.hp-dialog-grid{display:grid;max-height:calc(100% - 69px);grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:14px;overflow:auto}.hp-dialog-grid button{aspect-ratio:1;padding:0;border:0;overflow:hidden;background:var(--cj-deep-navy-soft)}.hp-dialog-grid img{display:block;width:100%;height:100%;object-fit:cover}.hp-dialog-stage{height:calc(100% - 69px);padding:13px}.hp-dialog-stage>button{padding:3px 0 10px;border:0;background:none;color:var(--cj-neon-blue);font-weight:700}.hp-dialog-stage>div{display:flex;height:calc(100% - 65px);align-items:center;justify-content:space-between;gap:10px;background:#020912}.hp-dialog-stage img{width:auto;max-width:calc(100% - 100px);height:100%;object-fit:contain}.hp-dialog-stage>div button{flex:none;width:38px;height:38px;border:0;border-radius:50%;background:#ffffff20;color:white;font-size:28px}.hp-dialog-stage p{margin:8px 0 0;color:var(--cj-porcelain-muted);font-size:12px;text-align:center}
@media(max-width:900px){.hp-content{grid-template-columns:minmax(0,1fr) 280px;gap:22px}.hp-collage{height:340px}.hp-cards,.hp--hotel .hp-cards{grid-template-columns:1fr}.hp-card{display:grid;grid-template-columns:140px 1fr}.hp-card figure,.hp--hotel .hp-card figure{height:100%;min-height:130px}}
@media(max-width:767px){
  .hp-breadcrumb{padding-block:13px;font-size:11px}.hp-breadcrumb a,.hp-breadcrumb span{display:none}
  .hp-hero{display:flex;flex-direction:column}.hp-hero-gallery{order:0;margin-inline:calc(50% - 50vw)}.hp-identity{order:1;margin:16px 0 23px}.hp-identity h1{font-size:clamp(29px,8vw,36px)}.hp-intro{font-size:14px;line-height:1.55}.hp-kicker{font-size:10px}
  .hp-facts{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:17px}.hp-facts>div{padding:10px 10px 10px 0}.hp-facts>div+div{padding-left:0;border-left:0}.hp-facts>div:nth-child(even){padding-left:12px;border-left:1px solid var(--cj-line)}.hp-facts>div:nth-child(n+3){border-top:1px solid var(--cj-line)}.hp-facts small{font-size:9px}.hp-facts strong{font-size:11px}
  .hp-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:15px}.hp-button{min-height:42px;padding:7px 9px;font-size:11px}
  .hp-collage{display:none}.hp-mobile-photos{display:flex;overflow-x:auto;gap:0;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain}.hp-mobile-photos::-webkit-scrollbar{display:none}.hp-mobile-photos .hp-photo{width:100vw;max-width:none;aspect-ratio:16/9;flex:none;scroll-snap-align:start}
  .hp-hero-gallery::after{content:"";position:absolute;inset:auto 0 0;height:65px;background:linear-gradient(transparent,rgba(3,14,27,.64));pointer-events:none}.hp-gallery-bar{inset:0;z-index:1;pointer-events:none}.hp-photo-count{position:absolute;top:11px;right:12px;display:block;padding:4px 8px;border-radius:5px;background:rgba(3,14,27,.82);font-size:11px}.hp-gallery-bar button{position:absolute;bottom:12px;left:50%;transform:translateX(-50%);pointer-events:auto;white-space:nowrap;padding:7px 12px;border-color:rgba(240,252,255,.82);background:rgba(3,14,27,.82);font-size:11px}
  .hp-section-nav{margin-top:0}.hp-section-nav>.site-container{gap:23px}.hp-section-nav a{min-height:48px;font-size:12px}
  .hp-content{display:flex;flex-direction:column;gap:0;padding-top:9px;padding-bottom:45px}.hp-main{display:contents}#hp-featured{order:1}#hp-overview{order:2}.hp-aside{order:3;width:100%;margin-top:22px}#hp-menu{order:4}.hp-section{width:100%;padding:24px 0 30px}.hp-section+.hp-section{padding-top:28px}.hp-section h2{font-size:25px}.hp-cards{gap:9px}.hp-card{grid-template-columns:115px 1fr;min-height:116px}.hp-card figure{height:100%;min-height:115px}.hp-card>div{padding:11px}.hp-card h3{font-size:13px}.hp-card p{font-size:11px}.hp-prose{font-size:14px;line-height:1.65}.hp-experience h3{font-size:18px}.hp-panel{padding:19px}
  .hp-dialog{width:100vw;height:100dvh;border-radius:0}.hp-dialog-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;padding:10px}.hp-dialog-stage>div button{display:none}.hp-dialog-stage img{max-width:100%}
}
@media(max-width:350px){.hp-card{grid-template-columns:98px 1fr}.hp-card h3{font-size:12px}}
@media(prefers-reduced-motion:reduce){.hp-mobile-photos{scroll-behavior:auto}}

/* Mobile visit controls follow the Napoli preview; desktop destinations remain unchanged. */
.hp-directions-mobile,.hp-mobile-label,.hp-offer-action,.hp-offer-nav,.hp-copy-address{display:none}
@media(min-width:961px){body.admin-bar .hp-section-nav{top:calc(var(--cj-header-height) + 32px)}body.admin-bar .hp-section,body.admin-bar .hp-panel{scroll-margin-top:177px}}
@media(max-width:960px){
  .hp-section-nav{top:0}
  body.admin-bar .hp-section-nav{top:32px}
}
@media(max-width:782px){body.admin-bar .hp-section-nav{top:46px}}
@media(max-width:767px){
  .hp-section-nav{z-index:50}
  .hp-section-nav>.site-container{gap:18px}
  .hp-section,.hp-panel{scroll-margin-top:62px}
  body.admin-bar .hp-section,body.admin-bar .hp-panel{scroll-margin-top:108px}
  .hp-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
  .hp-actions .hp-button{width:100%;min-width:0;min-height:48px;border-radius:9px;font-size:12px;line-height:1.25}
  .hp-actions .hp-directions-desktop,.hp-desktop-label{display:none}
  .hp-actions .hp-directions-mobile,.hp-mobile-label{display:inline-flex}
  .hp-actions .hp-directions-mobile,.hp-actions .hp-button--outline{border-color:var(--cj-neon-blue);background:var(--cj-deep-navy-soft);color:var(--cj-neon-blue)}
  .hp-actions .hp-directions-mobile:hover,.hp-actions .hp-button--outline:hover{background:rgba(23,221,255,.12)}
  .hp-actions--single .hp-directions-mobile{grid-column:1/-1}
  .hp-actions .hp-offer-action{display:inline-flex;grid-column:1/-1;justify-content:space-between;min-height:54px;padding-inline:16px;border-radius:9px;font-size:13px}
  .hp-offer-arrow{display:inline-flex;width:28px;height:28px;align-items:center;justify-content:center;border-radius:50%;background:rgba(7,25,45,.14);font-size:17px;line-height:1}
  .hp-section-nav .hp-offer-nav{display:flex}
  .hp-panel .hp-copy-address{display:flex;width:100%;margin-top:15px}
  .hp-panel .hp-map-link{margin-top:9px;border-color:var(--cj-neon-blue);background:transparent;color:var(--cj-neon-blue)}
  .hp-panel .hp-map-link:hover{background:rgba(23,221,255,.12)}
}

/* Browse natural photo proportions; open a single image to view it without cropping. */
.hp-dialog[open]{display:flex;flex-direction:column;overflow:hidden}
.hp-dialog-head{flex:none;min-height:72px}
.hp-dialog-head button{width:44px;height:44px;flex:none;border:1px solid var(--cj-line);border-radius:8px;line-height:1}
.hp-dialog-grid{display:grid;flex:1;min-height:0;height:auto;max-height:none;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:max-content;align-content:start;align-items:start;gap:12px;padding:16px;overflow-y:auto}
.hp-dialog-grid button{display:block;width:100%;height:auto;aspect-ratio:auto;border-radius:8px}
.hp-dialog-grid img{display:block;width:100%;height:auto;object-fit:contain}
.hp-dialog-stage{display:grid;flex:1;min-height:0;height:auto;grid-template-rows:auto minmax(0,1fr) auto;gap:10px;padding:13px 16px}
.hp-dialog-stage>button{justify-self:start;padding:0;border:0}
.hp-dialog-stage>div{display:grid;min-height:0;height:auto;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:10px;background:#020912}
.hp-dialog-stage img{display:block;width:100%;max-width:100%;height:100%;min-height:0;object-fit:contain}
.hp-dialog-stage>div button{display:grid;place-items:center;justify-self:center;padding:0;line-height:1}
.hp-dialog-stage>div button svg{display:block;width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}
.hp-dialog-stage p{margin:0}
@media(max-width:767px){
  .hp-dialog-grid{grid-template-columns:minmax(0,1fr);gap:10px;padding:10px}
  .hp-dialog-stage>div{grid-template-columns:minmax(0,1fr);gap:0}
  .hp-dialog-stage>div button{display:none}
}
@media(min-width:600px) and (max-width:767px){.hp-dialog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Restaurant menus are optional, browsable sections with full-size originals. */
.hp-menu-note{margin:-6px 0 20px;color:var(--cj-porcelain-muted);font-size:13px;line-height:1.55}
.hp-menu-pages{display:grid;grid-auto-flow:row;grid-auto-columns:auto;grid-template-columns:minmax(0,1fr);gap:22px;overflow:visible;scroll-snap-type:none}
.hp-menu-card{min-width:0;overflow:hidden;border:1px solid var(--cj-line);border-radius:10px;background:var(--cj-deep-navy-soft)}
.hp-menu-preview{display:block;background:#f7f4ee}
.hp-menu-preview img{display:block;width:100%;height:auto}
.hp-menu-card-foot{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 16px}
.hp-menu-card-foot h3{min-width:0;margin:0;font-size:15px;line-height:1.35}
.hp-menu-card-foot a{flex:none;color:var(--cj-neon-blue);font-size:13px;font-weight:800;text-decoration:underline;text-underline-offset:3px}
@media(max-width:767px){
  #hp-menu{order:3}
  .hp-aside{order:4}
  .hp-section-nav a:not(.is-active):hover{border-color:transparent;color:var(--cj-porcelain-muted)}
  .hp-menu-card-foot{align-items:flex-start;flex-direction:column;gap:8px;padding:13px}
  .hp-menu-card-foot h3{font-size:14px}
  .hp-menu-note{font-size:12px}
}
