/* Never Forget — Entwurf Escort Hamburg hub styles (ported from Next blueprint; scoped via page class) */

/* Entwurf Escort Hamburg — hub CSS port + draft chrome */
.nf-entwurf-banner{
  position:sticky;top:0;z-index:90;
  display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px 18px;
  padding:10px 16px;
  background:linear-gradient(90deg,rgba(26,24,21,.97),rgba(40,34,28,.97));
  border-bottom:1px solid rgba(201,168,112,.35);
  font-family:"Josefin Sans",sans-serif;
  font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:rgba(244,240,232,.88);
}
.nf-entwurf-banner strong{color:var(--gold,#c9a870);font-weight:400}
.nf-entwurf-banner a{color:var(--gold2,#dfc08a);text-decoration:none;border-bottom:1px solid rgba(201,168,112,.35)}
.nf-entwurf-banner a:hover{color:#fff}

/* ── Live parity shield: beat Elementor global h2/a typography ── */
/* Unified cinematic .sec-h (Buchungsablauf / #expertise) — light bands → ink */
#nf-main.nf-entwurf-escort-hamburg .nf-city-honorare:not(.nf-city-honorare--cinematic) h2,
#nf-main.nf-entwurf-escort-hamburg .nf-city-itineraries h2,
#nf-main.nf-entwurf-escort-hamburg .nf-city-role-chooser h2,
#nf-main.nf-entwurf-escort-hamburg .nf-city-discretion h2,
#nf-main.nf-entwurf-escort-hamburg .nf-city-media-strip h2,
#nf-main.nf-entwurf-escort-hamburg .nf-city-guide-signature h2,
#nf-main.nf-entwurf-escort-hamburg .nf-city-guide-rich-section.is-alt .nf-city-guide-rich-body > h2{
  font-family:'Josefin Sans',sans-serif !important;
  font-size:clamp(22px,3.2vw,42px) !important;
  font-weight:200 !important;
  letter-spacing:.12em !important;
  line-height:1.28 !important;
  text-transform:uppercase !important;
  color:var(--ink3,#1e1b17) !important;
  margin:10px auto 16px !important;
  text-align:center !important;
}
/* Dark bands → cream / off-white (same metrics; contrast color only).
   Editorial trust is a light cream band — see .nf-city-trust--editorial overrides. */
#nf-main.nf-entwurf-escort-hamburg .nf-city-trust:not(.nf-city-trust--editorial) h2,
#nf-main.nf-entwurf-escort-hamburg .nf-city-final-cta h2,
#nf-main.nf-entwurf-escort-hamburg .nf-city-short-notice h2,
#nf-main.nf-entwurf-escort-hamburg .nf-city-privatjet-body h2,
#nf-main.nf-entwurf-escort-hamburg .nf-city-longform h2,
#nf-main.nf-entwurf-escort-hamburg .nf-city-guide-rich-section.is-base .nf-city-guide-rich-body > h2{
  font-family:'Josefin Sans',sans-serif !important;
  font-size:clamp(22px,3.2vw,42px) !important;
  font-weight:200 !important;
  letter-spacing:.12em !important;
  line-height:1.28 !important;
  text-transform:uppercase !important;
  color:rgba(255,250,242,.93) !important;
  margin:10px auto 16px !important;
  text-align:center !important;
}
/* Cinematic trust (non-editorial): same unified .sec-h metrics (cream on dark) */
#nf-main.nf-entwurf-escort-hamburg .nf-city-trust--cinematic:not(.nf-city-trust--editorial) h2{
  font-family:'Josefin Sans',sans-serif !important;
  font-size:clamp(22px,3.2vw,42px) !important;
  font-weight:200 !important;
  letter-spacing:.12em !important;
  line-height:1.28 !important;
  text-transform:uppercase !important;
  color:rgba(255,250,242,.93) !important;
  margin:0 !important;
  text-align:center !important;
}
#nf-main.nf-entwurf-escort-hamburg .nf-city-trust--cinematic .sec-eye{
  text-align:center !important;
  margin-left:auto !important;
  margin-right:auto !important;
  color:rgba(201,168,112,.92) !important;
}
/* Body paras only — do not bleach gold .sec-eye / optical titles */
#nf-main.nf-entwurf-escort-hamburg .nf-city-longform p:not(.sec-eye):not(.nf-city-optical-h2){
  color:rgba(255,255,255,.84) !important;
}
#nf-main.nf-entwurf-escort-hamburg .nf-city-trust .nf-city-trust-contact,
#nf-main.nf-entwurf-escort-hamburg .nf-city-trust .nf-city-trust-hours{
  color:rgba(255,255,255,.72) !important;
}
#nf-main.nf-entwurf-escort-hamburg .nf-city-trust .nf-city-trust-contact a{
  color:#d8bf90 !important;
}
#nf-main.nf-entwurf-escort-hamburg .nf-city-cta,
#nf-main.nf-entwurf-escort-hamburg .nf-city-cta-row .text-link,
#nf-main.nf-entwurf-escort-hamburg .nf-city-deep-ctas .text-link,
#nf-main.nf-entwurf-escort-hamburg .nf-city-role-cta{
  font-family:'Josefin Sans',sans-serif !important;
  font-size:11px !important;
  font-weight:500 !important;
  letter-spacing:.17em !important;
  text-transform:uppercase !important;
  text-decoration:none !important;
  color:#0d0b09 !important;
  border:1px solid rgba(201,168,112,.45) !important;
  padding:9px 16px !important;
  min-height:38px !important;
  border-radius:3px !important;
  background:linear-gradient(145deg,#d4b87a 0%,var(--gold,#c9a870) 48%,#a68440 100%) !important;
  box-shadow:0 4px 14px rgba(0,0,0,.32),inset 0 1px 0 rgba(255,255,255,.2) !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:8px !important;
  background-image:linear-gradient(145deg,#d4b87a 0%,var(--gold,#c9a870) 48%,#a68440 100%) !important;
}
#nf-main.nf-entwurf-escort-hamburg .nf-city-cta::after,
#nf-main.nf-entwurf-escort-hamburg .nf-city-cta-row .text-link::after,
#nf-main.nf-entwurf-escort-hamburg .nf-city-deep-ctas .text-link::after,
#nf-main.nf-entwurf-escort-hamburg .nf-city-role-cta::after{
  content:none !important;
}
#nf-main.nf-entwurf-escort-hamburg .nf-city-cta .arr,
#nf-main.nf-entwurf-escort-hamburg .nf-city-cta-row .text-link .arr,
#nf-main.nf-entwurf-escort-hamburg .nf-city-deep-ctas .text-link .arr,
#nf-main.nf-entwurf-escort-hamburg .nf-city-role-cta .arr{
  transition:transform .2s ease;
  color:inherit;
}
#nf-main.nf-entwurf-escort-hamburg .nf-city-cta:hover,
#nf-main.nf-entwurf-escort-hamburg .nf-city-cta-row .text-link:hover,
#nf-main.nf-entwurf-escort-hamburg .nf-city-deep-ctas .text-link:hover,
#nf-main.nf-entwurf-escort-hamburg .nf-city-role-cta:hover{
  color:#0d0b09 !important;
  transform:translateY(-1px);
  box-shadow:0 6px 18px rgba(201,168,112,.22),inset 0 1px 0 rgba(255,255,255,.24) !important;
}
#nf-main.nf-entwurf-escort-hamburg .nf-city-cta:hover .arr,
#nf-main.nf-entwurf-escort-hamburg .nf-city-cta-row .text-link:hover .arr,
#nf-main.nf-entwurf-escort-hamburg .nf-city-deep-ctas .text-link:hover .arr,
#nf-main.nf-entwurf-escort-hamburg .nf-city-role-cta:hover .arr{
  transform:translateX(3px);
}
#nf-main.nf-entwurf-escort-hamburg .nf-city-cta.dim,
#nf-main.nf-entwurf-escort-hamburg .nf-city-cta-row .text-link.dim,
#nf-main.nf-entwurf-escort-hamburg .nf-city-deep-ctas .text-link.dim{
  color:#8a6830 !important;
  border-color:rgba(201,168,112,.45) !important;
  background:transparent !important;
  background-image:none !important;
  box-shadow:none !important;
}
#nf-main.nf-entwurf-escort-hamburg .nf-city-final-cta .nf-city-cta.dim,
#nf-main.nf-entwurf-escort-hamburg .nf-city-short-notice .nf-city-cta.dim,
#nf-main.nf-entwurf-escort-hamburg .nf-city-sticky-cta .nf-city-cta.dim,
#nf-main.nf-entwurf-escort-hamburg .nf-city-honorare--cinematic .nf-city-cta.dim,
#nf-main.nf-entwurf-escort-hamburg .nf-city-final-cta .text-link.dim,
#nf-main.nf-entwurf-escort-hamburg .nf-city-short-notice .text-link.dim,
#nf-main.nf-entwurf-escort-hamburg .nf-city-longform .text-link.dim,
#nf-main.nf-entwurf-escort-hamburg .nf-city-business-guide .text-link.dim,
#nf-main.nf-entwurf-escort-hamburg .nf-city-honorare--cinematic .text-link.dim,
#nf-main.nf-entwurf-escort-hamburg .nf-city-guide-rich-section.is-base .text-link.dim{
  color:#f1e4cf !important;
  background:rgba(255,255,255,.03) !important;
  background-image:none !important;
}
#nf-main.nf-entwurf-escort-hamburg .nf-city-models-sec .model-card,
#nf-main.nf-entwurf-escort-hamburg .nf-city-short-notice-grid .model-card{
  animation:goldenPulse 3.8s ease-in-out infinite;
}
#nf-main.nf-entwurf-escort-hamburg .nf-city-guide-head .sec-eye,
#nf-main.nf-entwurf-escort-hamburg .sec-eye{
  font-family:'Josefin Sans',sans-serif !important;
  font-size:var(--nf-sec-eye-fs,11px) !important;
  font-weight:400 !important;
  letter-spacing:var(--nf-sec-eye-ls,.32em) !important;
  text-transform:uppercase !important;
  color:var(--nf-eyebrow-color,rgba(201,168,112,.9)) !important;
}

/*
 * ── Section heads: ALWAYS centered (eyebrow + H2/H3 section titles + short intros) ──
 * Higher specificity + !important so Elementor / live-parity / card-grid text-align:left
 * cannot pull section headers left. Card-inner titles stay left (excluded below).
 * Exception: intentional L/R splits (.closing--has-media Hannah copy) stay untouched.
 */
#nf-main.nf-entwurf-escort-hamburg .sec-eye,
#nf-main.nf-entwurf-escort-hamburg .cl-eye,
#nf-main.nf-entwurf-escort-hamburg h2.sec-h,
#nf-main.nf-entwurf-escort-hamburg h3.sec-h,
#nf-main.nf-entwurf-escort-hamburg .models-heading .sec-eye,
#nf-main.nf-entwurf-escort-hamburg .models-heading .models-main-title,
#nf-main.nf-entwurf-escort-hamburg .models-heading h2,
#nf-main.nf-entwurf-escort-hamburg .nf-city-guide-head,
#nf-main.nf-entwurf-escort-hamburg .nf-city-guide-head .sec-eye,
#nf-main.nf-entwurf-escort-hamburg .nf-city-guide-head h1,
#nf-main.nf-entwurf-escort-hamburg .nf-city-guide-intro,
#nf-main.nf-entwurf-escort-hamburg .nf-city-positioning-eye,
#nf-main.nf-entwurf-escort-hamburg .nf-city-positioning-lead,
#nf-main.nf-entwurf-escort-hamburg .nf-city-positioning-body,
#nf-main.nf-entwurf-escort-hamburg .nf-city-positioning-signature,
#nf-main.nf-entwurf-escort-hamburg .nf-city-discretion .sec-eye,
#nf-main.nf-entwurf-escort-hamburg .nf-city-discretion h2,
#nf-main.nf-entwurf-escort-hamburg .nf-city-discretion-lead,
#nf-main.nf-entwurf-escort-hamburg .nf-city-magazine .sec-eye,
#nf-main.nf-entwurf-escort-hamburg .nf-city-magazine-lead,
#nf-main.nf-entwurf-escort-hamburg .nf-city-media-strip .sec-eye,
#nf-main.nf-entwurf-escort-hamburg .nf-city-media-strip h2,
#nf-main.nf-entwurf-escort-hamburg .nf-city-short-notice .sec-eye,
#nf-main.nf-entwurf-escort-hamburg .nf-city-short-notice h2,
#nf-main.nf-entwurf-escort-hamburg .nf-city-guide-rich-body > .sec-eye,
#nf-main.nf-entwurf-escort-hamburg .nf-city-guide-rich-body > h2,
#nf-main.nf-entwurf-escort-hamburg .nf-city-guide-rich-intro,
#nf-main.nf-entwurf-escort-hamburg .nf-city-longform > .nf-city-longform-inner > .sec-eye,
#nf-main.nf-entwurf-escort-hamburg .nf-city-longform > .nf-city-longform-inner > h2,
#nf-main.nf-entwurf-escort-hamburg .nf-city-privatjet-body > .sec-eye,
#nf-main.nf-entwurf-escort-hamburg .nf-city-privatjet-body > h2,
#nf-main.nf-entwurf-escort-hamburg .nf-city-privatjet-lead,
#nf-main.nf-entwurf-escort-hamburg .nf-city-privatjet-offers-heading,
#nf-main.nf-entwurf-escort-hamburg .nf-city-itineraries .sec-eye,
#nf-main.nf-entwurf-escort-hamburg .nf-city-itineraries > .nf-city-itineraries-inner > h2,
#nf-main.nf-entwurf-escort-hamburg .nf-city-itineraries-lead,
#nf-main.nf-entwurf-escort-hamburg .nf-city-itineraries-inner--raster > .sec-h,
#nf-main.nf-entwurf-escort-hamburg .nf-city-role-chooser .sec-eye,
#nf-main.nf-entwurf-escort-hamburg .nf-city-role-chooser > h2,
#nf-main.nf-entwurf-escort-hamburg .nf-city-role-chooser-lead,
#nf-main.nf-entwurf-escort-hamburg .nf-city-guide-signature-inner > .sec-eye,
#nf-main.nf-entwurf-escort-hamburg .nf-city-guide-signature-inner > h2,
#nf-main.nf-entwurf-escort-hamburg .nf-city-guide-signature > .nf-city-guide-signature-inner > .sec-eye,
#nf-main.nf-entwurf-escort-hamburg .nf-city-guide-signature > .nf-city-guide-signature-inner > h2,
#nf-main.nf-entwurf-escort-hamburg .nf-city-eco-panel > .sec-eye,
#nf-main.nf-entwurf-escort-hamburg .nf-city-eco-panel > h2,
#nf-main.nf-entwurf-escort-hamburg .nf-city-eco-lead,
#nf-main.nf-entwurf-escort-hamburg .nf-city-booking-panel > .sec-eye,
#nf-main.nf-entwurf-escort-hamburg .nf-city-booking-panel > h2,
#nf-main.nf-entwurf-escort-hamburg .nf-city-neighbors-panel > .sec-eye,
#nf-main.nf-entwurf-escort-hamburg .nf-city-neighbors-panel > h2,
#nf-main.nf-entwurf-escort-hamburg .nf-city-trust-head,
#nf-main.nf-entwurf-escort-hamburg .nf-city-trust-head .sec-eye,
#nf-main.nf-entwurf-escort-hamburg .nf-city-trust-head h2,
#nf-main.nf-entwurf-escort-hamburg .nf-agency-compliments-head,
#nf-main.nf-entwurf-escort-hamburg .nf-agency-compliments-head .sec-eye,
#nf-main.nf-entwurf-escort-hamburg .nf-agency-compliments-head .sec-h,
#nf-main.nf-entwurf-escort-hamburg .nf-faq-section > .sec-eye,
#nf-main.nf-entwurf-escort-hamburg .nf-faq-section > .sec-h,
#nf-main.nf-entwurf-escort-hamburg .nf-faq-intro,
#nf-main.nf-entwurf-escort-hamburg .closing--final .cl-eye,
#nf-main.nf-entwurf-escort-hamburg .closing--final .cl-poem,
#nf-main.nf-entwurf-escort-hamburg .closing--final .cl-body,
#nf-main.nf-entwurf-escort-hamburg .nf-city-guide-related--cities .nf-city-guide-related-eye,
#nf-main.nf-entwurf-escort-hamburg .nf-city-guide-related--cities .nf-city-guide-related-heading{
  text-align:center !important;
  margin-left:auto !important;
  margin-right:auto !important;
}
/* Card / list / step content may stay left — do not inherit section centering */
#nf-main.nf-entwurf-escort-hamburg .nf-city-guide-signature-card,
#nf-main.nf-entwurf-escort-hamburg .nf-city-guide-signature-card .nf-city-guide-signature-kicker,
#nf-main.nf-entwurf-escort-hamburg .nf-city-guide-signature-card h3,
#nf-main.nf-entwurf-escort-hamburg .nf-city-guide-signature-card p,
#nf-main.nf-entwurf-escort-hamburg .nf-city-role-card,
#nf-main.nf-entwurf-escort-hamburg .nf-city-role-card h3,
#nf-main.nf-entwurf-escort-hamburg .nf-city-role-card p,
#nf-main.nf-entwurf-escort-hamburg .nf-city-magazine-card h3,
#nf-main.nf-entwurf-escort-hamburg .nf-city-neighbor-card h3,
#nf-main.nf-entwurf-escort-hamburg .nf-city-itinerary h3,
#nf-main.nf-entwurf-escort-hamburg .nf-city-itinerary h4,
#nf-main.nf-entwurf-escort-hamburg .nf-city-subpage-item h2,
#nf-main.nf-entwurf-escort-hamburg .nf-city-subpage-item h3,
#nf-main.nf-entwurf-escort-hamburg .nf-city-booking-panel h3,
#nf-main.nf-entwurf-escort-hamburg .closing--has-media .cl-in,
#nf-main.nf-entwurf-escort-hamburg .closing--has-media .cl-copy,
#nf-main.nf-entwurf-escort-hamburg .closing--has-media .cl-hours,
#nf-main.nf-entwurf-escort-hamburg .closing--has-media .cl-eye,
#nf-main.nf-entwurf-escort-hamburg .about-right .sec-eye,
#nf-main.nf-entwurf-escort-hamburg .about-right .sec-h{
  text-align:left !important;
  margin-left:0 !important;
  margin-right:0 !important;
}
/* Head-stack CTAs under centered intros (Hotels / Nightlife / …) */
#nf-main.nf-entwurf-escort-hamburg .nf-city-guide-rich-body > .nf-city-deep-ctas,
#nf-main.nf-entwurf-escort-hamburg .nf-city-longform-inner > .nf-city-deep-ctas{
  justify-content:center;
}
/* Dark cinematic longform (Business Escort). Live uses #nf-main — NOT
   .page-entwurf-* body classes; base .nf-city-longform is cream, while
   #nf-main text rules already assume light-on-dark → cream+white = unreadable. */
.page-entwurf-escort-hamburg .nf-city-longform,
.page-template-page-entwurf-escort-hamburg .nf-city-longform,
#nf-main.nf-entwurf-escort-hamburg .nf-city-longform,
#nf-main.nf-entwurf-escort-hamburg #business.nf-city-business-guide{
  padding:clamp(48px,7vw,88px) var(--nf-band-pad-x,24px);
  background:var(--ink2,#141210);color:rgba(255,255,255,.78);
}
.page-entwurf-escort-hamburg .nf-city-longform-inner,
.page-template-page-entwurf-escort-hamburg .nf-city-longform-inner{max-width:820px;margin:0 auto}
.page-entwurf-escort-hamburg .nf-city-longform h2,
.page-template-page-entwurf-escort-hamburg .nf-city-longform h2{
  font-family:"Josefin Sans",sans-serif;font-weight:200;letter-spacing:.16em;text-transform:uppercase;
  font-size:clamp(18px,2.2vw,26px);color:var(--w90,#efebe3);margin:0 0 18px;
}
.page-entwurf-escort-hamburg .nf-city-longform p:not(.sec-eye):not(.nf-city-optical-h2),
.page-template-page-entwurf-escort-hamburg .nf-city-longform p:not(.sec-eye):not(.nf-city-optical-h2){
  margin:0 0 14px;line-height:1.7;font-size:15px;color:rgba(255,255,255,.84);
}
.page-entwurf-escort-hamburg .nf-city-deep-link,
.page-template-page-entwurf-escort-hamburg .nf-city-deep-link{margin-top:18px}
.page-entwurf-escort-hamburg .nf-city-deep-link a:not(.text-link),
.page-template-page-entwurf-escort-hamburg .nf-city-deep-link a:not(.text-link){color:#d8bf90}
.page-entwurf-escort-hamburg .nf-city-deep-ctas,
.page-template-page-entwurf-escort-hamburg .nf-city-deep-ctas{
  margin-top:22px;
  /* Real CTA→grid gap: padding-top on following .nf-city-guide-topic-grid (--nf-entwurf-cta-to-grid) */
  margin-bottom:0;
  justify-content:flex-start;
}
.nf-entwurf-stub{
  display:inline-block;margin-left:8px;padding:2px 7px;border:1px solid rgba(201,168,112,.35);
  font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:rgba(201,168,112,.85);vertical-align:middle;
}

.nf-entity-nap{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:4px 14px;
  margin:12px 0 0;
  padding:12px 14px;
  border-radius:10px;
  background:rgba(138,104,48,.06);
  border:1px solid rgba(138,104,48,.12);
  font-family:'Lato',sans-serif;
  font-size:13px;
  line-height:1.55;
}
.nf-entity-nap dt{
  margin:0;
  font-family:'Josefin Sans',sans-serif;
  font-size:10px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:rgba(138,104,48,.72);
}
.nf-entity-nap dd{margin:0;color:rgba(26,24,21,.78)}
.nf-entity-nap a{color:#8a6830;text-decoration:none;border-bottom:1px solid rgba(138,104,48,.25)}
.nf-entity-nap a:hover{color:#6f5220}
.nf-city-guide-rich-section.is-base .nf-entity-nap{
  background:rgba(255,255,255,.06);
  border-color:rgba(255,255,255,.14);
}
.nf-city-guide-rich-section.is-base .nf-entity-nap dt{color:rgba(216,191,144,.75)}
.nf-city-guide-rich-section.is-base .nf-entity-nap dd{color:rgba(255,255,255,.78)}
.nf-city-guide-rich-section.is-base .nf-entity-nap a{color:#d8bf90;border-bottom-color:rgba(216,191,144,.35)}
.nf-city-guide-item-area{
  margin:0 0 6px;
  font-family:'Josefin Sans',sans-serif;
  font-size:10px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:rgba(138,104,48,.68);
}
.nf-city-guide-rich-section.is-base .nf-city-guide-item-area{color:rgba(216,191,144,.65)}

/* ── Venue media on hotel/restaurant entity cards ── */
.nf-city-guide-long-item.has-media{
  padding:0;
  overflow:hidden;
  display:flex;
  flex-direction:column;
}
.nf-city-guide-item-media{
  position:relative;
  aspect-ratio:16/10;
  overflow:hidden;
  background:rgba(20,18,16,.35);
}
.nf-city-guide-item-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transition:transform .7s cubic-bezier(.22,.61,.36,1);
}
.nf-city-guide-long-item.has-media:hover .nf-city-guide-item-media img{
  transform:scale(1.035);
}
.nf-city-guide-long-item.has-media .nf-city-guide-item-body{
  padding:16px 16px 14px;
}
.nf-city-guide-rich-section.is-base .nf-city-guide-item-media{
  background:rgba(0,0,0,.35);
}
.nf-city-subpage-item.has-media{
  display:grid;
  grid-template-columns:minmax(0,280px) minmax(0,1fr);
  gap:22px;
  align-items:start;
}
.nf-city-subpage-item-media{
  position:relative;
  aspect-ratio:16/10;
  overflow:hidden;
  border-radius:12px;
  background:rgba(138,104,16,.08);
}
.nf-city-subpage-item-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
@media(max-width:760px){
  .nf-city-subpage-item.has-media{
    grid-template-columns:1fr;
    gap:14px;
  }
  .nf-city-guide-long-item.has-media .nf-city-guide-item-body{
    padding:14px 12px 12px;
  }
}

.nf-city-eco-nav{
  max-width:980px;
  margin:28px auto 0;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.nf-city-eco-nav-item{
  display:flex;
  flex-direction:column;
  gap:6px;
  padding:14px 16px;
  border:1px solid rgba(138,104,16,.16);
  background:rgba(255,255,255,.72);
  border-radius:12px;
  text-decoration:none;
  transition:border-color .2s ease, background .2s ease;
}
.nf-city-eco-nav-item:hover{
  border-color:rgba(138,104,16,.35);
  background:rgba(255,255,255,.92);
}
.nf-city-eco-nav-label{
  font-family:'Josefin Sans',sans-serif;
  font-size:11px;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:#7a5d22;
}
.nf-city-eco-nav-text{
  font-family:'Lato',sans-serif;
  font-size:13px;
  line-height:1.55;
  color:rgba(26,24,21,.68);
}
.nf-city-deep-link{
  margin:0 0 18px;
  font-family:'Josefin Sans',sans-serif;
  font-size:12px;
  letter-spacing:.08em;
}
.nf-city-deep-link a:not(.text-link){
  color:#d8bf90;
  text-decoration:none;
}
.nf-city-guide-rich-section.is-alt .nf-city-deep-link a:not(.text-link){
  color:#8a6830;
}
.nf-city-deep-link a:not(.text-link):hover{text-decoration:underline}
.nf-city-deep-ctas{
  margin:18px 0 0;
  justify-content:flex-start;
}
.nf-city-guide-rich-section.is-base .nf-city-deep-ctas .text-link.dim,
.nf-city-longform .nf-city-deep-ctas .text-link.dim,
.nf-city-business-guide .nf-city-deep-ctas .text-link.dim{
  color:#f1e4cf;
  background:rgba(255,255,255,.03);
  box-shadow:none;
}

.nf-city-booking,
.nf-city-honorare,
.nf-city-trust,
.nf-city-itineraries,
.nf-city-final-cta{
  padding:var(--nf-band-pad-y, 88px) var(--nf-band-pad-x, 52px);
}
/* Cinematic booking — homepage about-centerpiece language */
.nf-city-booking.nf-city-booking--cinematic{
  background:var(--cream,#f4f0e8);
  /* Tiny cream bridge into #ablaeufe — not a second band */
  padding:clamp(28px,4vw,48px) var(--nf-band-pad-x, 52px) clamp(16px,2vw,20px);
}
.nf-city-booking-panel.about-centerpiece{
  max-width:var(--max,1180px);
  margin:0 auto;
  text-align:center;
  padding:clamp(48px,6vw,64px) clamp(28px,5vw,56px) clamp(42px,5vw,54px);
  border:1px solid rgba(201,168,112,.26);
  background:
    radial-gradient(ellipse at 50% 44%, rgba(201,168,112,.28) 0%, rgba(201,168,112,.13) 24%, rgba(201,168,112,0) 62%),
    linear-gradient(160deg, #0f0d0b 0%, #1a140e 42%, #0f0d0b 100%);
  box-shadow:0 22px 56px rgba(5,4,3,.42), inset 0 1px 0 rgba(255,255,255,.08);
  border-radius:14px;
}
.nf-city-booking--cinematic .sec-eye{
  font-size:11px !important;
  letter-spacing:.32em !important;
  margin-bottom:clamp(10px,1.1vw,22px) !important;
  color:rgba(201,168,112,.92) !important;
}
#nf-main.nf-entwurf-escort-hamburg .nf-city-booking--cinematic .sec-h,
#nf-main.nf-entwurf-escort-hamburg .nf-city-booking--cinematic h2.sec-h,
.nf-city-booking--cinematic .sec-h,
.nf-city-booking--cinematic h2.sec-h{
  font-family:'Josefin Sans',sans-serif !important;
  font-size:clamp(22px,3.2vw,42px) !important;
  font-weight:200 !important;
  letter-spacing:.12em !important;
  line-height:1.28 !important;
  text-transform:uppercase !important;
  color:rgba(255,250,242,.93) !important;
  margin:0 0 clamp(14px,1.6vw,22px) !important;
  max-width:18em;
  margin-left:auto !important;
  margin-right:auto !important;
}
.nf-city-booking-leads{
  max-width:760px;
  margin:0 auto;
}
.nf-city-booking-leads p{
  margin:0 0 16px;
  font-family:'Lato',sans-serif;
  font-size:16.5px;
  font-weight:300;
  line-height:1.92;
  color:rgba(245,236,224,.8);
}
.nf-city-booking-leads p:last-child{margin-bottom:0}
.nf-city-booking--cinematic .nf-city-booking-steps{
  list-style:none;
  margin:clamp(28px,3.5vw,40px) auto 0;
  padding:0;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px 28px;
  max-width:920px;
  text-align:left;
}
.nf-city-booking--cinematic .nf-city-booking-step{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:14px 16px;
  align-items:start;
  padding:0;
  border:0;
  background:transparent;
  border-radius:0;
  position:relative;
}
.nf-city-booking--cinematic .nf-city-booking-step-num{
  font-family:'Josefin Sans',sans-serif;
  font-size:clamp(22px,2.4vw,32px);
  font-weight:200;
  letter-spacing:.08em;
  line-height:1;
  color:rgba(215,182,118,.95);
  padding-top:2px;
  min-width:1.2em;
}
.nf-city-booking--cinematic .nf-city-booking-step-body h3{
  margin:0 0 8px;
  font-family:'Josefin Sans',sans-serif;
  font-size:12px;
  font-weight:400;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:rgba(232,214,180,.95);
}
.nf-city-booking--cinematic .nf-city-booking-step-body p{
  margin:0;
  font-family:'Lato',sans-serif;
  font-size:14.5px;
  font-weight:300;
  line-height:1.75;
  color:rgba(245,236,224,.72);
}
.nf-city-booking--cinematic .about-centerpiece-ctas,
.nf-city-booking--cinematic .nf-city-booking-ctas,
.nf-city-expertise--cinematic .about-centerpiece-ctas,
.nf-city-expertise--cinematic .nf-city-booking-ctas{
  margin-top:clamp(28px,3.5vw,36px);
  display:flex;
  gap:18px;
  justify-content:center;
  flex-wrap:wrap;
}
.nf-city-booking--cinematic .about-centerpiece-ctas .text-link,
.nf-city-booking--cinematic .nf-city-booking-ctas .text-link,
.nf-city-expertise--cinematic .about-centerpiece-ctas .text-link,
.nf-city-expertise--cinematic .nf-city-booking-ctas .text-link{
  min-height:42px !important;
  padding:10px 18px !important;
  border-radius:4px !important;
  border:1px solid rgba(201,168,112,.5) !important;
  box-shadow:0 6px 18px rgba(0,0,0,.35), inset 0 1px 0 rgba(255,255,255,.16) !important;
  font-family:'Josefin Sans',sans-serif !important;
  font-size:11px !important;
  font-weight:500 !important;
  letter-spacing:.17em !important;
  text-transform:uppercase !important;
  text-decoration:none !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:8px !important;
  background:linear-gradient(145deg,#d4b87a 0%,var(--gold,#c9a870) 48%,#a68440 100%) !important;
  color:#0d0b09 !important;
  transition:transform .2s ease, box-shadow .2s ease;
}
.nf-city-booking--cinematic .about-centerpiece-ctas .text-link::after,
.nf-city-booking--cinematic .nf-city-booking-ctas .text-link::after,
.nf-city-expertise--cinematic .about-centerpiece-ctas .text-link::after,
.nf-city-expertise--cinematic .nf-city-booking-ctas .text-link::after{content:none !important}
.nf-city-booking--cinematic .about-centerpiece-ctas .text-link.dim,
.nf-city-booking--cinematic .nf-city-booking-ctas .text-link.dim,
.nf-city-expertise--cinematic .about-centerpiece-ctas .text-link.dim,
.nf-city-expertise--cinematic .nf-city-booking-ctas .text-link.dim{
  color:rgba(248,239,226,.96) !important;
  background:linear-gradient(145deg, rgba(255,255,255,.08) 0%, rgba(255,255,255,.02) 100%) !important;
  border-color:rgba(201,168,112,.36) !important;
  box-shadow:0 6px 18px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.08) !important;
}
.nf-city-booking--cinematic .about-centerpiece-ctas .text-link:hover,
.nf-city-booking--cinematic .nf-city-booking-ctas .text-link:hover,
.nf-city-expertise--cinematic .about-centerpiece-ctas .text-link:hover,
.nf-city-expertise--cinematic .nf-city-booking-ctas .text-link:hover{
  transform:translateY(-1px);
}
.nf-city-booking--cinematic .about-centerpiece-ctas .text-link .arr,
.nf-city-booking--cinematic .nf-city-booking-ctas .text-link .arr,
.nf-city-expertise--cinematic .about-centerpiece-ctas .text-link .arr,
.nf-city-expertise--cinematic .nf-city-booking-ctas .text-link .arr{
  transition:transform .2s ease;
}
.nf-city-booking--cinematic .about-centerpiece-ctas .text-link:hover .arr,
.nf-city-booking--cinematic .nf-city-booking-ctas .text-link:hover .arr,
.nf-city-expertise--cinematic .about-centerpiece-ctas .text-link:hover .arr,
.nf-city-expertise--cinematic .nf-city-booking-ctas .text-link:hover .arr{
  transform:translateX(3px);
}
.nf-city-honorare{background:var(--cream,#f4f0e8)}
/* Honorare (#honorare) — luxury editorial band; skyline stays visible */
.nf-city-honorare.nf-city-honorare--cinematic{
  background-color:#1e1a16;
  margin-top:-1px;
  position:relative;
}
#nf-main.nf-entwurf-escort-hamburg #honorare.cities-sec--has-bg{
  --nf-cities-ov:46;
  background-position:center,center,center 42%;
  overflow:hidden;
}
#nf-main.nf-entwurf-escort-hamburg #honorare.nf-city-honorare--cinematic{
  padding-block:clamp(56px,7vw,78px);
  padding-inline:clamp(20px,5vw,52px);
}
#nf-main.nf-entwurf-escort-hamburg #honorare.nf-city-honorare--cinematic::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  /* Minimal veil for text only — no text box, skyline remains the hero */
  background:linear-gradient(180deg, rgba(12,10,8,.18) 0%, rgba(18,14,11,.26) 48%, rgba(10,8,7,.32) 100%);
}
#nf-main.nf-entwurf-escort-hamburg #honorare.nf-city-honorare--cinematic .cities-in{
  position:relative;
  z-index:1;
}
#nf-main.nf-entwurf-escort-hamburg #honorare .nf-city-honorare-inner{
  max-width:640px;
  width:100%;
  margin-left:auto;
  margin-right:auto;
  text-align:center;
  display:flex;
  flex-direction:column;
  align-items:center;
}
#nf-main.nf-entwurf-escort-hamburg #honorare .cities-label{
  margin:0 0 10px !important;
  font-family:'Josefin Sans',sans-serif !important;
  font-size:11px !important;
  font-weight:400 !important;
  letter-spacing:.34em !important;
  text-transform:uppercase !important;
  color:rgba(201,168,112,.88) !important;
}
#nf-main.nf-entwurf-escort-hamburg #honorare .cities-title{
  font-family:'Josefin Sans',sans-serif !important;
  font-size:clamp(24px,3.2vw,38px) !important;
  font-weight:200 !important;
  letter-spacing:.1em !important;
  text-transform:uppercase !important;
  color:var(--cream,#f4f0e8) !important;
  margin:0 0 28px !important;
  line-height:1.22 !important;
  max-width:15em;
  text-align:center !important;
}
#nf-main.nf-entwurf-escort-hamburg #honorare .nf-city-honorare-copy{
  display:flex;
  flex-direction:column;
  gap:14px;
  max-width:620px;
  width:100%;
  margin:0 auto;
}
#nf-main.nf-entwurf-escort-hamburg #honorare .cities-note{
  margin:0;
  max-width:none;
  font-family:'Lato',sans-serif !important;
  font-size:16px;
  font-style:normal;
  font-weight:300;
  line-height:1.65;
  letter-spacing:.01em;
  color:rgba(255,250,242,.9);
}
#nf-main.nf-entwurf-escort-hamburg #honorare .nf-city-cta-row{
  margin-top:28px;
  justify-content:center;
}
#nf-main.nf-entwurf-escort-hamburg #honorare .nf-city-honorare-cta{
  color:#f1e4cf !important;
  border-color:rgba(201,168,112,.55) !important;
  background:transparent !important;
  background-image:none !important;
  padding:11px 22px;
  letter-spacing:.16em;
  box-shadow:none !important;
}
#nf-main.nf-entwurf-escort-hamburg #honorare .nf-city-honorare-cta:hover{
  color:#ffffff !important;
  background:rgba(201,168,112,.1) !important;
  background-image:none !important;
  border-color:rgba(201,168,112,.72) !important;
  box-shadow:none !important;
  transform:none;
}
@media(max-width:720px){
  #nf-main.nf-entwurf-escort-hamburg #honorare.nf-city-honorare--cinematic{
    padding-block:clamp(48px,10vw,64px);
    padding-inline:clamp(18px,5vw,28px);
    background-position:center,center,center 38%;
  }
  #nf-main.nf-entwurf-escort-hamburg #honorare .cities-title{
    margin-bottom:24px !important;
    font-size:clamp(22px,6vw,28px) !important;
    max-width:12.5em;
    line-height:1.28 !important;
  }
  #nf-main.nf-entwurf-escort-hamburg #honorare .cities-note{
    font-size:15px;
    line-height:1.65;
  }
  #nf-main.nf-entwurf-escort-hamburg #honorare .nf-city-cta-row{margin-top:24px}
  #nf-main.nf-entwurf-escort-hamburg #honorare .nf-city-honorare-cta{
    min-height:44px;
  }
}
.nf-city-trust{
  background:linear-gradient(180deg,#15120f 0%,#1c1814 100%);
  color:rgba(255,255,255,.78);
}
/* Cinematic trust — premium dark feature band */
.nf-city-trust.nf-city-trust--cinematic{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  background:linear-gradient(165deg,#0c0a08 0%,#16120e 42%,#0e0c0a 100%);
  color:rgba(255,255,255,.78);
  padding:clamp(88px,11vw,128px) var(--nf-band-pad-x, 52px);
}
.nf-city-trust--cinematic .nf-city-trust-glow{
  position:absolute;
  inset:0;
  pointer-events:none;
  z-index:0;
  background:
    radial-gradient(ellipse 70% 55% at 50% -8%, rgba(201,168,112,.18) 0%, transparent 58%),
    radial-gradient(ellipse 45% 40% at 50% 108%, rgba(201,168,112,.08) 0%, transparent 55%),
    radial-gradient(ellipse 30% 50% at 0% 50%, rgba(201,168,112,.05) 0%, transparent 60%),
    radial-gradient(ellipse 30% 50% at 100% 50%, rgba(201,168,112,.05) 0%, transparent 60%);
}
.nf-city-trust--cinematic .nf-city-trust-glow::before,
.nf-city-trust--cinematic .nf-city-trust-glow::after{
  content:"";
  position:absolute;
  left:50%;
  width:min(720px,86vw);
  height:1px;
  transform:translateX(-50%);
  background:linear-gradient(90deg,transparent,rgba(201,168,112,.35),transparent);
  opacity:.7;
}
.nf-city-trust--cinematic .nf-city-trust-glow::before{top:0}
.nf-city-trust--cinematic .nf-city-trust-glow::after{bottom:0}
.nf-city-itineraries{background:#faf7f1;border-top:1px solid rgba(138,104,16,.1)}
.nf-city-final-cta{
  background:#15120f;
  text-align:center;
  padding:clamp(80px, 10vw, 96px) var(--nf-band-pad-x, 52px) calc(var(--nf-band-pad-y, 88px) + env(safe-area-inset-bottom));
}
.nf-city-honorare-inner,
.nf-city-trust-inner,
.nf-city-itineraries-inner,
.nf-city-final-cta-inner{
  max-width:980px;
  margin:0 auto;
}
.nf-city-trust--cinematic .nf-city-trust-inner{
  position:relative;
  z-index:1;
  max-width:1080px;
}
.nf-city-final-cta-inner{
  display:flex;
  flex-direction:column;
  align-items:center;
}
.nf-city-honorare h2,
.nf-city-itineraries h2{
  margin:10px auto 16px;
  font-family:'Josefin Sans',sans-serif;
  font-size:clamp(22px,2.6vw,34px);
  font-weight:300;
  color:var(--ink3,#1e1b17);
  line-height:1.25;
  text-align:center;
}
.nf-city-trust h2,
.nf-city-final-cta h2{
  margin:10px auto 16px;
  font-family:'Josefin Sans',sans-serif;
  font-size:clamp(22px,2.6vw,34px);
  font-weight:300;
  color:rgba(255,250,242,.93);
  text-align:center;
}
.nf-city-trust--cinematic .nf-city-trust-head{
  text-align:center;
  max-width:36em;
  margin:0 auto clamp(40px,5.5vw,64px);
}
.nf-city-trust--cinematic .nf-city-trust-head .sec-eye{
  display:block;
  margin-bottom:clamp(12px,1.4vw,18px);
  font-size:11px;
  font-weight:400;
  letter-spacing:.36em;
  text-transform:uppercase;
  color:rgba(201,168,112,.92);
}
.nf-city-trust--cinematic .nf-city-trust-ornament{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  margin-top:clamp(18px,2.2vw,26px);
}
.nf-city-trust--cinematic .nf-city-trust-ornament::before,
.nf-city-trust--cinematic .nf-city-trust-ornament::after{
  content:"";
  width:min(72px,18vw);
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(201,168,112,.55));
}
.nf-city-trust--cinematic .nf-city-trust-ornament::after{
  background:linear-gradient(90deg,rgba(201,168,112,.55),transparent);
}
.nf-city-trust--cinematic .nf-city-trust-ornament i{
  display:block;
  width:5px;height:5px;
  border:1px solid rgba(201,168,112,.75);
  transform:rotate(45deg);
  box-shadow:0 0 12px rgba(201,168,112,.25);
}
.nf-city-itineraries-lead,
.nf-city-honorare-inner p,
.nf-city-final-cta p{
  font-family:'Lato',sans-serif;
  font-size:15px;
  line-height:1.75;
  color:rgba(26,24,21,.72);
  max-width:46rem;
}
.nf-city-final-cta p{
  margin:0 auto 22px;
  color:rgba(255,255,255,.68);
}
.nf-city-honorare-inner p,
.nf-city-trust-grid p{
  margin:0;
  font-family:'Lato',sans-serif;
  font-size:14px;
  line-height:1.7;
  color:rgba(26,24,21,.7);
}
.nf-city-trust-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  margin-top:22px;
}
.nf-city-trust-grid article{
  padding:18px 18px 16px;
  border:1px solid rgba(201,168,112,.18);
  border-radius:12px;
  background:rgba(255,255,255,.03);
}
.nf-city-trust-grid h3{
  margin:0 0 8px;
  font-family:'Josefin Sans',sans-serif;
  font-size:12px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:#d8bf90;
}
.nf-city-trust-grid p{color:rgba(255,255,255,.68)}

/* Cinematic trust pillars — no SaaS cards */
.nf-city-trust--cinematic .nf-city-trust-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:0;
  margin-top:0;
  border-top:1px solid rgba(201,168,112,.16);
  border-bottom:1px solid rgba(201,168,112,.16);
  background:linear-gradient(180deg, rgba(255,255,255,.025) 0%, rgba(255,255,255,.01) 100%);
}
.nf-city-trust--cinematic .nf-city-trust-item{
  position:relative;
  display:flex;
  flex-direction:column;
  gap:18px;
  padding:clamp(28px,3.2vw,40px) clamp(18px,2vw,28px) clamp(30px,3.4vw,44px);
  border:0;
  border-radius:0;
  background:transparent;
  transition:background .35s ease;
}
.nf-city-trust--cinematic .nf-city-trust-item:not(:last-child)::after{
  content:"";
  position:absolute;
  top:18%;
  right:0;
  bottom:18%;
  width:1px;
  background:linear-gradient(180deg,transparent,rgba(201,168,112,.32),transparent);
}
.nf-city-trust--cinematic .nf-city-trust-item:hover{
  background:linear-gradient(180deg, rgba(201,168,112,.07) 0%, rgba(201,168,112,.02) 100%);
}
.nf-city-trust--cinematic .nf-city-trust-idx{
  display:block;
  font-family:'Josefin Sans',sans-serif;
  font-size:clamp(28px,3vw,40px);
  font-weight:100;
  letter-spacing:.08em;
  line-height:1;
  color:rgba(201,168,112,.55);
  transition:color .35s ease, text-shadow .35s ease;
}
.nf-city-trust--cinematic .nf-city-trust-item:hover .nf-city-trust-idx{
  color:rgba(216,191,144,.92);
  text-shadow:0 0 28px rgba(201,168,112,.22);
}
.nf-city-trust--cinematic .nf-city-trust-item-body h3{
  margin:0 0 10px;
  font-family:'Josefin Sans',sans-serif;
  font-size:11px;
  font-weight:400;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:#e2c994;
}
.nf-city-trust--cinematic .nf-city-trust-item-body p{
  margin:0;
  font-family:'Lato',sans-serif;
  font-size:14px;
  font-weight:300;
  line-height:1.78;
  color:rgba(245,236,224,.72);
}

/* Warum Never Forget — open editorial benefits (no SaaS white cards) */
#nf-main.nf-entwurf-escort-hamburg #warum.nf-city-guide-rich-section.is-alt{
  background:linear-gradient(180deg,#f7f3ec 0%,#f1ebe2 100%);
}
#nf-main.nf-entwurf-escort-hamburg #warum .nf-city-guide-rich-inner{
  max-width:1040px;
  padding-block:clamp(72px,9vw,112px);
}
/* Match Buchungsablauf .sec-eye eyebrow exactly (NOT cinematic .sec-h) */
#nf-main.nf-entwurf-escort-hamburg #warum .nf-city-guide-rich-body > .sec-eye,
#nf-main.nf-entwurf-escort-hamburg #warum .sec-eye{
  font-family:'Josefin Sans',sans-serif !important;
  font-size:11px !important;
  font-weight:400 !important;
  letter-spacing:.32em !important;
  line-height:normal !important;
  margin-bottom:clamp(10px,1.1vw,22px) !important;
  text-transform:uppercase !important;
  color:rgba(201,168,112,.92) !important;
}
#nf-main.nf-entwurf-escort-hamburg #warum .nf-city-guide-rich-intro{
  max-width:38em;
  margin-left:auto;
  margin-right:auto;
  text-align:center;
  color:rgba(30,27,23,.72);
}
#nf-main.nf-entwurf-escort-hamburg #warum .nf-city-guide-topic-grid{
  margin-top:clamp(40px,5vw,64px);
  padding-top:0;
  gap:0;
  border-top:none;
}
#nf-main.nf-entwurf-escort-hamburg #warum .nf-city-guide-long-item{
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  padding:clamp(22px,2.8vw,32px) clamp(18px,2.4vw,28px) clamp(28px,3.4vw,40px);
  position:relative;
}
#nf-main.nf-entwurf-escort-hamburg #warum .nf-city-guide-long-item:nth-child(odd){
  border-right:1px solid rgba(138,104,16,.12);
}
#nf-main.nf-entwurf-escort-hamburg #warum .nf-city-guide-long-item:nth-child(-n+2){
  border-bottom:1px solid rgba(138,104,16,.12);
}
#nf-main.nf-entwurf-escort-hamburg #warum .nf-city-guide-long-item > h3{
  margin:0 0 12px !important;
  font-family:'Josefin Sans',sans-serif !important;
  font-size:13px !important;
  font-weight:500 !important;
  letter-spacing:.18em !important;
  text-transform:uppercase !important;
  color:#8a6830 !important;
}
#nf-main.nf-entwurf-escort-hamburg #warum .nf-city-guide-long-item > p:not(.nf-city-guide-item-area):not(.nf-city-deep-link){
  margin:0 !important;
  font-family:'Lato',sans-serif !important;
  font-size:15px !important;
  font-weight:300 !important;
  line-height:1.8 !important;
  color:rgba(30,27,23,.72) !important;
}
@media (max-width:760px){
  #nf-main.nf-entwurf-escort-hamburg #warum .nf-city-guide-long-item:nth-child(odd){
    border-right:0;
  }
  #nf-main.nf-entwurf-escort-hamburg #warum .nf-city-guide-long-item:not(:last-child){
    border-bottom:1px solid rgba(138,104,16,.12);
  }
  #nf-main.nf-entwurf-escort-hamburg #warum .nf-city-guide-long-item:nth-child(-n+2){
    border-bottom:1px solid rgba(138,104,16,.12);
  }
}

/* Editorial trust — light cream band (match #warum); quiet brand promise */
#nf-main.nf-entwurf-escort-hamburg .nf-city-trust--editorial{
  background:linear-gradient(180deg,#f7f3ec 0%,#f1ebe2 100%);
  color:rgba(30,27,23,.78);
  padding:clamp(120px,14vw,180px) var(--nf-band-pad-x, 52px);
}
#nf-main.nf-entwurf-escort-hamburg .nf-city-trust--editorial .nf-city-trust-glow{
  background:
    radial-gradient(ellipse 70% 55% at 50% -8%, rgba(201,168,112,.12) 0%, transparent 58%),
    radial-gradient(ellipse 45% 40% at 50% 108%, rgba(201,168,112,.06) 0%, transparent 55%);
}
#nf-main.nf-entwurf-escort-hamburg .nf-city-trust--editorial .nf-city-trust-glow::before,
#nf-main.nf-entwurf-escort-hamburg .nf-city-trust--editorial .nf-city-trust-glow::after{
  background:linear-gradient(90deg,transparent,rgba(138,104,16,.22),transparent);
  opacity:.85;
}
#nf-main.nf-entwurf-escort-hamburg .nf-city-trust--editorial .nf-city-trust-inner{
  max-width:720px;
  display:flex;
  flex-direction:column;
  align-items:center;
}
#nf-main.nf-entwurf-escort-hamburg .nf-city-trust--editorial .nf-city-trust-head{
  max-width:none;
  margin:0 auto clamp(28px,3.5vw,40px);
}
#nf-main.nf-entwurf-escort-hamburg .nf-city-trust--editorial .nf-city-trust-head .sec-eye{
  color:rgba(201,168,112,.92) !important;
}
#nf-main.nf-entwurf-escort-hamburg .nf-city-trust--editorial .nf-city-trust-head h2,
#nf-main.nf-entwurf-escort-hamburg .nf-city-trust--editorial.nf-city-trust--cinematic h2{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:0;
  margin:0 !important;
  max-width:22em;
  font-family:'Josefin Sans',sans-serif !important;
  font-size:clamp(22px,3.2vw,42px) !important;
  font-weight:200 !important;
  letter-spacing:.12em !important;
  line-height:1.28 !important;
  text-transform:uppercase !important;
  color:var(--ink3,#1e1b17) !important;
}
/* Dual-line Vertrauen: line1 charcoal on cream; line2 eyebrow gold */
#nf-main.nf-entwurf-escort-hamburg .nf-city-trust--editorial .nf-city-trust-head h2 .line1,
#nf-main.nf-entwurf-escort-hamburg .nf-city-trust--editorial .nf-city-trust-head h2 .line2{
  display:block;
  margin:0;
  font-family:'Josefin Sans',sans-serif !important;
  font-style:normal !important;
  font-size:clamp(22px,3.2vw,42px) !important;
  font-weight:200 !important;
  letter-spacing:.12em !important;
  line-height:1.28 !important;
  text-align:center;
  text-transform:uppercase;
}
#nf-main.nf-entwurf-escort-hamburg .nf-city-trust--editorial .nf-city-trust-head h2 .line1{
  color:var(--ink3,#1e1b17) !important;
}
#nf-main.nf-entwurf-escort-hamburg .nf-city-trust--editorial .nf-city-trust-head h2 .line2{
  color:rgba(201,168,112,.92) !important;
}
#nf-main.nf-entwurf-escort-hamburg .nf-city-trust--editorial .nf-city-trust-ornament{
  margin-top:clamp(22px,2.8vw,32px);
}
#nf-main.nf-entwurf-escort-hamburg .nf-city-trust--editorial .nf-city-trust-ornament::before,
#nf-main.nf-entwurf-escort-hamburg .nf-city-trust--editorial .nf-city-trust-ornament::after{
  background:linear-gradient(90deg,transparent,rgba(201,168,112,.45));
}
#nf-main.nf-entwurf-escort-hamburg .nf-city-trust--editorial .nf-city-trust-ornament::after{
  background:linear-gradient(90deg,rgba(201,168,112,.45),transparent);
}
#nf-main.nf-entwurf-escort-hamburg .nf-city-trust--editorial .nf-city-trust-ornament i{
  border-color:rgba(201,168,112,.7);
  box-shadow:none;
}
#nf-main.nf-entwurf-escort-hamburg .nf-city-trust--editorial .nf-city-trust-lead{
  margin:clamp(8px,1.2vw,16px) auto 0;
  max-width:34em;
  text-align:center;
  font-family:'Lato',sans-serif;
  font-size:clamp(15px,1.35vw,17px);
  font-weight:300;
  line-height:1.85;
  color:rgba(30,27,23,.72);
}
#nf-main.nf-entwurf-escort-hamburg .nf-city-trust--editorial .nf-city-trust-strip{
  list-style:none;
  margin:clamp(48px,6vw,72px) 0 0;
  padding:0;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:center;
  gap:clamp(14px,2vw,22px) clamp(18px,2.8vw,32px);
}
#nf-main.nf-entwurf-escort-hamburg .nf-city-trust--editorial .nf-city-trust-strip li{
  display:inline-flex;
  align-items:center;
  gap:10px;
  margin:0;
  padding:0;
}
#nf-main.nf-entwurf-escort-hamburg .nf-city-trust--editorial .nf-city-trust-strip-dot{
  display:block;
  width:4px;
  height:4px;
  border-radius:50%;
  background:rgba(201,168,112,.85);
  box-shadow:none;
  flex-shrink:0;
}
#nf-main.nf-entwurf-escort-hamburg .nf-city-trust--editorial .nf-city-trust-strip-label{
  font-family:'Josefin Sans',sans-serif;
  font-size:10px;
  font-weight:400;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:rgba(30,27,23,.55);
  white-space:nowrap;
}
@media (max-width:640px){
  #nf-main.nf-entwurf-escort-hamburg .nf-city-trust--editorial .nf-city-trust-strip{
    flex-direction:column;
    gap:18px;
  }
  #nf-main.nf-entwurf-escort-hamburg .nf-city-trust--editorial .nf-city-trust-strip-label{
    white-space:normal;
    text-align:left;
  }
}

.nf-city-cta-row{
  margin-top:22px;
  display:flex;
  flex-wrap:wrap;
  gap:16px;
  align-items:center;
  justify-content:center;
  text-align:center;
}
.nf-city-cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  font-family:'Josefin Sans',sans-serif;
  font-size:11px;
  font-weight:500;
  letter-spacing:.17em;
  text-transform:uppercase;
  text-decoration:none;
  color:#0d0b09;
  border:1px solid rgba(201,168,112,.45);
  padding:9px 16px;
  min-height:38px;
  border-radius:3px;
  background:linear-gradient(145deg,#d4b87a 0%,var(--gold,#c9a870) 48%,#a68440 100%);
  box-shadow:0 4px 14px rgba(0,0,0,.32),inset 0 1px 0 rgba(255,255,255,.2);
  transition:transform .2s ease,box-shadow .2s ease,background .2s ease,border-color .2s ease,color .2s ease;
}
.nf-city-cta .arr{transition:transform .2s ease;color:inherit}
.nf-city-cta.dim{
  color:#8a6830;
  border-color:rgba(201,168,112,.45);
  background:transparent;
  box-shadow:none;
}
.nf-city-cta:hover{
  color:#0d0b09;
  transform:translateY(-1px);
  box-shadow:0 6px 18px rgba(201,168,112,.22),inset 0 1px 0 rgba(255,255,255,.24);
}
.nf-city-cta:hover .arr{transform:translateX(3px)}
.nf-city-cta.dim:hover{
  color:#6d521f;
  background:rgba(201,168,112,.08);
  transform:none;
  box-shadow:none;
}
/* Secondary CTAs on dark bands — match live .h-links .text-link.dim */
.nf-city-final-cta .nf-city-cta.dim,
.nf-city-short-notice .nf-city-cta.dim,
.nf-city-sticky-cta .nf-city-cta.dim{
  color:#f1e4cf;
  border-color:rgba(201,168,112,.45);
  background:rgba(255,255,255,.03);
}
.nf-city-final-cta .nf-city-cta.dim:hover,
.nf-city-short-notice .nf-city-cta.dim:hover,
.nf-city-sticky-cta .nf-city-cta.dim:hover{
  color:#ffffff;
  background:rgba(201,168,112,.12);
  box-shadow:0 8px 18px rgba(0,0,0,.28);
}

.nf-city-itineraries-grid{
  margin-top:24px;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}
.nf-city-itinerary{
  padding:18px 18px 16px;
  border:1px solid rgba(138,104,16,.14);
  background:rgba(255,255,255,.78);
  border-radius:14px;
}
.nf-city-itinerary-duration{
  margin:0 0 8px;
  font-family:'Josefin Sans',sans-serif;
  font-size:10px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:#8a6830;
}
.nf-city-itinerary h3{
  margin:0 0 8px;
  font-family:'Josefin Sans',sans-serif;
  font-size:clamp(20px,2vw,26px);
  font-weight:500;
  color:var(--ink3,#1e1b17);
}
.nf-city-itinerary-tagline{
  margin:0 0 14px;
  font-family:'Lato',sans-serif;
  font-size:13px;
  line-height:1.6;
  color:rgba(26,24,21,.62);
}
.nf-city-itinerary ol{
  margin:0;
  padding:0;
  list-style:none;
  display:flex;
  flex-direction:column;
  gap:10px;
}
.nf-city-itinerary li{
  display:grid;
  grid-template-columns:64px 1fr;
  gap:4px 10px;
  font-family:'Lato',sans-serif;
  font-size:13px;
  line-height:1.55;
  color:rgba(26,24,21,.7);
}
.nf-city-itinerary-time{
  grid-row:span 2;
  font-family:'Josefin Sans',sans-serif;
  font-size:11px;
  letter-spacing:.06em;
  color:#8a6830;
  padding-top:2px;
}
.nf-city-itinerary strong{
  font-weight:600;
  color:var(--ink3,#1e1b17);
}

.nf-breadcrumbs{
  padding:18px 52px 0;
  background:var(--cream,#f4f0e8);
}
.nf-breadcrumbs-list{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:0;
  margin:0;
  padding:0;
  list-style:none;
  max-width:1100px;
  margin-inline:auto;
  font-family:'Josefin Sans',sans-serif;
  font-size:10px;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.nf-breadcrumbs-item{
  display:flex;
  align-items:center;
  color:rgba(26,24,21,.45);
}
.nf-breadcrumbs-item:not(:last-child)::after{
  content:"/";
  margin:0 10px;
  color:rgba(138,104,48,.35);
  font-weight:300;
}
.nf-breadcrumbs-item a{
  color:#8a6830;
  text-decoration:none;
  transition:color .2s ease;
}
.nf-breadcrumbs-item a:hover{color:#6d521f}
.nf-breadcrumbs-item span{color:rgba(26,24,21,.65)}
.nf-breadcrumbs--subpage{
  padding:28px 52px 0;
  background:var(--cream,#f4f0e8);
}
@media (max-width:768px){
  .nf-breadcrumbs,.nf-breadcrumbs--subpage{padding-inline:22px}
}

.nf-city-subpage-section{
  margin-top:32px;
}
.nf-city-subpage-section h2{
  margin:0 0 14px;
  font-family:'Josefin Sans',sans-serif;
  font-size:18px;
  font-weight:400;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:var(--ink3,#1e1b17);
}
.nf-city-subpage-section p{
  font-family:'Lato',sans-serif;
  font-size:15px;
  line-height:1.75;
  color:rgba(26,24,21,.72);
  margin:0 0 14px;
}
.nf-city-subpage-models,
.nf-city-subpage-internal{margin-top:28px;padding:0;background:transparent}
.nf-city-subpage-internal .nf-city-guide-related-links{justify-content:flex-start}

.nf-city-subpage{
  padding:72px 52px 96px;
  background:var(--cream,#f4f0e8);
}
.nf-city-subpage-inner{max-width:820px;margin:0 auto}
.nf-city-subpage-back{
  margin:0 0 18px;
  font-family:'Josefin Sans',sans-serif;
  font-size:11px;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.nf-city-subpage-back a{color:#8a6830;text-decoration:none}
.nf-city-subpage h1{
  margin:10px 0 18px;
  font-family:'Josefin Sans',sans-serif;
  font-size:clamp(26px,3vw,40px);
  font-weight:300;
  color:var(--ink3,#1e1b17);
  line-height:1.2;
}
.nf-city-subpage-intro,
.nf-city-subpage-lead{
  font-family:'Lato',sans-serif;
  font-size:15px;
  line-height:1.75;
  color:rgba(26,24,21,.72);
  margin:0 0 14px;
}
.nf-city-subpage-list{margin-top:28px;display:flex;flex-direction:column;gap:18px}
.nf-city-subpage-item{
  padding:18px 0;
  border-top:1px solid rgba(138,104,16,.14);
}
.nf-city-subpage-area{
  margin:0 0 6px;
  font-family:'Josefin Sans',sans-serif;
  font-size:10px;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:#8a6830;
}
.nf-city-subpage-item h2{
  margin:0 0 10px;
  font-family:'Josefin Sans',sans-serif;
  font-size:clamp(22px,2.2vw,28px);
  font-weight:500;
  color:var(--ink3,#1e1b17);
}
.nf-city-subpage-item h2 a{color:inherit;text-decoration:none}
.nf-city-subpage-item h2 a:hover{color:#8a6830}
.nf-city-subpage-item p{
  margin:0;
  font-family:'Lato',sans-serif;
  font-size:14px;
  line-height:1.75;
  color:rgba(26,24,21,.72);
}
.nf-city-subpage-faq{margin-top:36px}
.nf-city-subpage-faq h2{
  margin:0 0 14px;
  font-family:'Josefin Sans',sans-serif;
  font-size:22px;
  font-weight:300;
  color:var(--ink3,#1e1b17);
}
.nf-city-subpage-faq .nf-city-guide-faq-item{
  background:rgba(255,255,255,.72);
  border:1px solid rgba(138,104,16,.14);
  color:var(--ink3,#1e1b17);
  margin-bottom:8px;
}
.nf-city-subpage-faq .nf-city-guide-faq-item summary{color:var(--ink3,#1e1b17)}
.nf-city-subpage-faq .nf-city-guide-faq-answer{border-top-color:rgba(138,104,16,.12)}
.nf-city-subpage-faq .nf-city-guide-faq-answer p{color:rgba(26,24,21,.7)}
.nf-city-subpage-siblings{margin-top:28px;justify-content:flex-start}

@media(max-width:900px){
  .nf-city-eco-nav,
  .nf-city-booking--cinematic .nf-city-booking-steps,
  .nf-city-itineraries-grid{grid-template-columns:1fr}
  .nf-city-trust:not(.nf-city-trust--cinematic) .nf-city-trust-grid{grid-template-columns:1fr}
  .nf-city-trust--cinematic{
    padding:clamp(64px,12vw,88px) 22px;
  }
  .nf-city-trust--cinematic .nf-city-trust-head{
    margin-bottom:clamp(28px,5vw,40px);
  }
  .nf-city-trust--cinematic .nf-city-trust-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .nf-city-trust--cinematic .nf-city-trust-item{
    padding:24px 16px 26px;
    gap:14px;
  }
  .nf-city-trust--cinematic .nf-city-trust-item:not(:last-child)::after{display:none}
  .nf-city-trust--cinematic .nf-city-trust-item:nth-child(odd){
    border-right:1px solid rgba(201,168,112,.14);
  }
  .nf-city-trust--cinematic .nf-city-trust-item:nth-child(n+3){
    border-top:1px solid rgba(201,168,112,.14);
  }
  .nf-city-booking.nf-city-booking--cinematic{
    padding:28px 16px 16px;
  }
  .nf-city-booking-panel.about-centerpiece{
    padding:38px 22px 34px;
    border-radius:12px;
  }
  .nf-city-booking--cinematic .nf-city-booking-steps{
    gap:20px;
    margin-top:26px;
  }
  .nf-city-booking--cinematic .about-centerpiece-ctas,
  .nf-city-booking--cinematic .nf-city-booking-ctas,
  .nf-city-expertise--cinematic .about-centerpiece-ctas,
  .nf-city-expertise--cinematic .nf-city-booking-ctas{
    gap:12px;
  }
  .nf-city-booking--cinematic .about-centerpiece-ctas .text-link,
  .nf-city-booking--cinematic .nf-city-booking-ctas .text-link,
  .nf-city-expertise--cinematic .about-centerpiece-ctas .text-link,
  .nf-city-expertise--cinematic .nf-city-booking-ctas .text-link{
    min-height:40px !important;
    padding:9px 14px !important;
    font-size:10px !important;
    letter-spacing:.14em !important;
  }
  .nf-city-honorare,
  .nf-city-trust:not(.nf-city-trust--cinematic),
  .nf-city-itineraries,
  .nf-city-final-cta,
  .nf-city-subpage{padding:56px 22px}
  .nf-city-itinerary li{grid-template-columns:1fr}
  .nf-city-itinerary-time{grid-row:auto}
}

.nf-city-longform{
  padding:var(--nf-band-pad-y, 88px) var(--nf-band-pad-x, 52px) clamp(40px, 5vw, 56px);
  background:var(--cream,#f4f0e8);
}
.nf-city-longform-inner{
  max-width:820px;
  margin:0 auto;
}
.nf-city-longform h2{
  margin:10px 0 18px;
  font-family:'Josefin Sans',sans-serif;
  font-size:clamp(22px,2.6vw,34px);
  font-weight:300;
  color:var(--ink3,#1e1b17);
  line-height:1.25;
}
.nf-city-longform p{
  margin:0 0 16px;
  font-family:'Lato',sans-serif;
  font-size:15px;
  line-height:1.8;
  color:rgba(26,24,21,.72);
}
@media(max-width:900px){
  .nf-city-longform{padding:48px 22px 28px}
}

/* ===== Hamburg hub creative modules (NF design system) ===== */
/* POSITIONIERUNG — soft elevated editorial wash (luxury lift, not a boxed card) */
.nf-city-positioning{
  --nf-positioning-pad-x: clamp(28px, 5.5vw, 56px);
  max-width:min(720px,94vw);
  margin:clamp(48px,6vw,76px) auto 0;
  padding:clamp(36px,4.8vw,56px) var(--nf-positioning-pad-x) clamp(34px,4.4vw,52px);
  text-align:center;
  position:relative;
  border:none;
  border-radius:3px;
  background:
    linear-gradient(
      180deg,
      rgba(255,252,247,.98) 0%,
      rgba(250,246,238,.95) 52%,
      rgba(246,241,231,.93) 100%
    );
  box-shadow:
    0 1px 1px rgba(48,38,24,.035),
    0 10px 28px rgba(48,38,24,.055),
    0 26px 52px rgba(48,38,24,.04),
    inset 0 1px 0 rgba(255,255,255,.82),
    inset 0 0 0 1px rgba(201,168,112,.13);
}
/* Ornament under lead (…diskret) — content first, Strich below (not above block) */
.nf-city-positioning::before{content:none;display:none}
.nf-city-positioning::after{content:none;display:none}
.nf-city-positioning-eye{
  display:none !important;
  margin:0;
  font-size:0;
  line-height:0;
  height:0;
  overflow:hidden;
  visibility:hidden;
}
.nf-city-positioning-lead{
  margin:0 auto clamp(22px,2.8vw,30px);
  max-width:18em;
  font-family:'Josefin Sans',sans-serif;
  font-size:clamp(22px,2.85vw,30px);
  font-weight:300;
  letter-spacing:.02em;
  line-height:1.32;
  color:var(--ink3,#1e1b17);
}
.nf-city-positioning-lead::after{
  content:'';
  display:block;
  width:36px;
  height:1px;
  margin:clamp(22px,2.8vw,30px) auto 0;
  background:linear-gradient(90deg, transparent, rgba(201,168,112,.88), transparent);
}
.nf-city-positioning-body,
.nf-city-positioning > p:not(.nf-city-positioning-eye):not(.nf-city-positioning-lead):not(.nf-city-positioning-signature){
  margin:0 auto 1.05em;
  max-width:38em;
  font-family:'Lato',sans-serif;
  font-size:clamp(15px,1.35vw,17px);
  font-weight:300;
  line-height:1.85;
  letter-spacing:.01em;
  color:rgba(26,24,21,.7);
  font-style:normal;
}
.nf-city-positioning-body:last-of-type{
  margin-bottom:clamp(28px,3.6vw,40px);
}
.nf-city-positioning-signature{
  margin:0 auto;
  padding-top:clamp(4px,.6vw,8px);
  font-family:'Josefin Sans',sans-serif;
  font-size:clamp(13px,1.25vw,15px);
  font-weight:300;
  letter-spacing:.16em;
  line-height:1.5;
  color:rgba(168,132,56,.92);
}
@media(max-width:640px){
  .nf-city-positioning{
    --nf-positioning-pad-x:18px;
  }
  .nf-city-positioning-lead{
    max-width:20em;
    font-size:21px;
    letter-spacing:.015em;
  }
  .nf-city-positioning-body,
  .nf-city-positioning > p:not(.nf-city-positioning-eye):not(.nf-city-positioning-lead):not(.nf-city-positioning-signature){
    font-size:15px;
    line-height:1.8;
  }
  .nf-city-positioning-signature{letter-spacing:.12em}
}
.nf-city-role-chooser{
  max-width:1020px;
  margin:36px auto 0;
  text-align:center;
}
.nf-city-role-chooser .sec-eye{
  margin-bottom:0;
}
.nf-city-role-chooser h2{
  margin:12px auto 14px;
  font-family:'Josefin Sans',sans-serif;
  font-size:clamp(22px,3.2vw,42px);
  font-weight:200;
  letter-spacing:.12em;
  line-height:1.28;
  text-transform:uppercase;
  color:var(--ink3,#1e1b17);
}
.nf-city-role-chooser-lead{
  margin:0 auto 0;
  max-width:42rem;
  font-family:'Lato',sans-serif;
  font-size:15px;
  line-height:1.7;
  color:rgba(26,24,21,.68);
}
/* Equal-width / equal-height role cards; CTA pinned to shared baseline */
.nf-city-role-grid{
  margin-top:32px; /* slightly more air above cards */
}
.nf-city-role-grid.nf-city-guide-signature-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  align-items:stretch;
}
.nf-city-role-card{
  display:flex;
  flex-direction:column;
  height:100%;
  box-sizing:border-box;
  padding:22px 22px 20px;
  text-align:left;
}
.nf-city-role-card .nf-city-guide-signature-kicker{
  flex-shrink:0;
  margin:0 0 10px;
}
/* Fixed 2-line title slot — body starts on one baseline; Hotelbar wraps ≤2 lines */
.nf-city-role-card h3,
.nf-city-role-card .nf-city-role-title{
  flex-shrink:0;
  margin:0 0 10px;
  min-height:calc(1.25em * 2);
  line-height:1.25;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  line-clamp:2;
  overflow:hidden;
  text-wrap:balance;
}
.nf-city-role-card > p:not(.nf-city-guide-signature-kicker){
  flex:1 1 auto;
  margin:0;
  text-align:left;
}
.nf-city-role-card h3 + p,
.nf-city-role-card .nf-city-role-title + p{
  margin-top:0;
}
.nf-city-role-cta{
  margin-top:auto;
  padding-top:14px;
  align-self:center;
  flex-shrink:0;
  /* gold CTA bar — see #nf-main shield above */
}
.nf-city-seasonal{
  max-width:980px;
  margin:28px auto 0;
  padding:16px 18px;
  border:1px solid rgba(138,104,16,.14);
  border-radius:12px;
  background:rgba(255,255,255,.72);
}
.nf-city-seasonal-label{
  margin:0 0 12px;
  font-family:'Josefin Sans',sans-serif;
  font-size:10px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:#8a6830;
}
.nf-city-seasonal-items{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.nf-city-seasonal-item h3{
  margin:0 0 6px;
  font-family:'Josefin Sans',sans-serif;
  font-size:13px;
  font-weight:400;
  letter-spacing:.06em;
  color:var(--ink3,#1e1b17);
}
.nf-city-seasonal-item p{
  margin:0;
  font-family:'Lato',sans-serif;
  font-size:13px;
  line-height:1.65;
  color:rgba(26,24,21,.68);
}
.nf-city-eco-axis{
  max-width:920px;
  margin:32px auto 0;
  padding:18px 12px 8px;
  border-top:1px solid rgba(138,104,16,.1);
}
.nf-city-eco-axis svg{display:block;width:100%;height:auto}
.nf-city-eco-axis figcaption{
  margin-top:10px;
  text-align:center;
  font-family:'Lato',sans-serif;
  font-size:12px;
  line-height:1.6;
  color:rgba(26,24,21,.55);
}
.nf-city-short-notice{
  background:linear-gradient(180deg,#15120f 0%,#1a1714 100%);
  padding:56px 52px 64px;
}
.nf-city-short-notice-inner{
  max-width:1100px;
  margin:0 auto;
  text-align:center;
}
.nf-city-short-notice h2{
  margin:10px 0 12px;
  font-family:'Josefin Sans',sans-serif;
  font-size:clamp(22px,2.6vw,34px);
  font-weight:300;
  color:rgba(255,250,242,.93);
}
.nf-city-short-notice-label{
  margin:0 0 8px;
  font-family:'Josefin Sans',sans-serif;
  font-size:11px;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:#d8bf90;
}
.nf-city-short-notice-note{
  margin:0 auto 24px;
  max-width:40rem;
  font-family:'Lato',sans-serif;
  font-size:13px;
  line-height:1.65;
  color:rgba(255,255,255,.55);
}
.nf-city-short-notice-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  max-width:1320px;
  margin-left:auto;
  margin-right:auto;
  gap:24px;
  margin-bottom:18px;
  overflow:visible;
}
/* Live Hamburg sedcard chrome (16:10) — same as .nf-city-models-sec / Elementor wide */
.nf-city-short-notice-grid .model-card,
.nf-city-short-notice-grid .nf-city-model-card-wrap .model-card{
  aspect-ratio:16/10;
  border-radius:12px;
  min-height:0;
  animation:goldenPulse 3.8s ease-in-out infinite;
}
.nf-city-short-notice-grid .model-card .mc-img{
  object-position:center center;
}
.nf-city-short-notice-grid .model-card:hover .mc-img{
  transform:none;
}
.nf-city-short-notice-grid .mc-wt{
  padding:12px 14px 34px;
  background:linear-gradient(to bottom,rgba(11,10,9,.44) 0%,rgba(11,10,9,.1) 55%,transparent 100%);
}
.nf-city-short-notice-grid .mc-wt .wt-a,
.nf-city-short-notice-grid .mc-wt .wt-b{
  font-size:clamp(12px,1.45vw,17px);
  letter-spacing:.1em;
}
.nf-city-short-notice-grid .mc-info{
  padding:16px 18px 18px;
}
.nf-city-short-notice-grid .mc-name{
  font-size:clamp(16px,1.8vw,24px);
  letter-spacing:.2em;
  margin-bottom:4px;
}
.nf-city-short-notice-grid .mc-tag{
  font-size:14px;
}
.nf-city-short-notice-grid .mc-city{
  font-size:11px;
}
.nf-city-short-notice-grid .mc-meta{
  font-size:11px;
}
.nf-city-short-notice-more{
  margin:0 0 16px;
  font-family:'Lato',sans-serif;
  font-size:13px;
  color:rgba(255,255,255,.5);
}
/* Ranking signals — keep card chrome (16:10 / 12px / Josefin / full-width ANFRAGEN) intact */
.nf-city-short-notice .nf-city-freshness{
  color:rgba(255,255,255,.55);
  margin:6px 0 10px;
}
.nf-city-short-notice .nf-city-card-booking:not(.nf-city-card-booking--compact){
  margin:14px 0 12px;
  padding:12px 14px;
  border:1px solid rgba(216,191,144,.22);
  border-radius:3px;
  background:rgba(0,0,0,.22);
  color:rgba(255,255,255,.78);
}
.nf-city-short-notice .nf-city-card-booking:not(.nf-city-card-booking--compact) .nf-city-card-inquiry-needs,
.nf-city-short-notice .nf-city-card-booking:not(.nf-city-card-booking--compact) .nf-city-card-next-step{
  color:rgba(255,255,255,.72);
}
.nf-city-short-notice .nf-city-card-booking:not(.nf-city-card-booking--compact) .nf-city-card-next-kicker,
.nf-city-short-notice .nf-city-card-durations.nf-js-list > li{
  color:#d8bf90;
  border-color:rgba(216,191,144,.28);
  background:rgba(216,191,144,.08);
}
.nf-city-short-notice-grid .nf-city-card-booking--compact,
.nf-city-models-sec .nf-city-card-booking--compact{
  padding:6px 0 2px;
  margin:2px 0 0;
  background:transparent;
  border:0;
}
.nf-city-short-notice-grid .nf-city-model-book,
.nf-city-models-sec .nf-city-model-book{
  width:100%;
  display:flex;
  justify-content:center;
  box-sizing:border-box;
}
.nf-city-advisor-note{
  background:var(--cream2,#ede8de);
  padding:40px 52px;
  border-top:1px solid rgba(138,104,16,.1);
  border-bottom:1px solid rgba(138,104,16,.1);
}
.nf-city-advisor-note-inner{
  max-width:720px;
  margin:0 auto;
  text-align:center;
}
.nf-city-advisor-photo{
  width:min(220px,58vw);height:auto;aspect-ratio:3/4;
  margin:0 auto 22px;
  border-radius:8px;overflow:hidden;
  border:1px solid rgba(138,104,16,.18);
  box-shadow:0 10px 28px rgba(26,24,21,.1);
}
.nf-city-advisor-photo img{width:100%;height:100%;object-fit:cover;object-position:center 12%}
.nf-city-advisor-bio{
  margin:0 0 14px;
  font-family:'Lato',sans-serif;
  font-size:14px;
  line-height:1.75;
  color:rgba(26,24,21,.62);
  text-align:left;
}
.nf-city-advisor-expertise{
  display:flex;flex-wrap:wrap;gap:8px;justify-content:center;
  margin:0 0 22px;padding:0;list-style:none;
}
.nf-city-advisor-expertise li{
  font-family:'Josefin Sans',sans-serif;
  font-size:9px;letter-spacing:.14em;text-transform:uppercase;
  padding:6px 10px;border:1px solid rgba(138,104,16,.22);
  border-radius:999px;color:#7a5d22;background:rgba(255,255,255,.6);
}
.nf-city-magazine{
  background:var(--cream,#f4f0e8);
  padding:var(--nf-band-pad-y, 88px) var(--nf-band-pad-x, 52px);
  border-top:none;
}
.nf-city-magazine-inner{max-width:1240px;margin:0 auto;text-align:center}
.nf-city-magazine-lead{
  margin:0 auto 28px;max-width:46rem;
  font-family:'Lato',sans-serif;font-size:15px;line-height:1.75;
  color:rgba(26,24,21,.72);
}
.nf-city-magazine-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:clamp(16px,2vw,22px);
  align-items:stretch;
  margin-bottom:24px;
  text-align:left;
}
.nf-city-magazine-card{
  display:flex;
  flex-direction:column;
  height:100%;
  box-sizing:border-box;
  gap:12px;
  padding:clamp(22px,2.2vw,28px) clamp(18px,1.8vw,24px);
  border:1px solid rgba(138,104,16,.14);
  background:rgba(255,255,255,.78);
  border-radius:12px;
  box-shadow:none;
}
.nf-city-magazine-kicker{
  margin:0;
  font-family:'Josefin Sans',sans-serif;font-size:10px;
  letter-spacing:.16em;text-transform:uppercase;color:#8a6830;
}
.nf-city-magazine-card h3{
  margin:0;
  font-family:'Josefin Sans',sans-serif;
  font-size:clamp(16px,1.35vw,18px);font-weight:500;line-height:1.3;
}
.nf-city-magazine-card h3 a{color:var(--ink3,#1e1b17);text-decoration:none}
.nf-city-magazine-card h3 a:hover{color:#7a5d22}
.nf-city-magazine-card > p:not(.nf-city-magazine-kicker){
  margin:0;
  flex:1 1 auto;
  font-family:'Lato',sans-serif;font-size:13px;line-height:1.7;
  color:rgba(26,24,21,.68);
}
.nf-city-magazine-read{
  margin-top:auto;
  align-self:flex-start;
  font-family:'Josefin Sans',sans-serif;font-size:10px;
  letter-spacing:.16em;text-transform:uppercase;color:#8a6830;
  text-decoration:none;border-bottom:1px solid rgba(138,104,16,.28);
}
.nf-city-magazine-read:hover{color:#7a5d22}
/* Entwurf Magazin cards — equal height + pinned CTA baseline */
#nf-main.nf-entwurf-escort-hamburg .nf-city-magazine-grid{
  align-items:stretch;
}
#nf-main.nf-entwurf-escort-hamburg .nf-city-magazine-card{
  display:flex;
  flex-direction:column;
  height:100%;
  gap:12px;
}
#nf-main.nf-entwurf-escort-hamburg .nf-city-magazine-kicker,
#nf-main.nf-entwurf-escort-hamburg .nf-city-magazine-card h3,
#nf-main.nf-entwurf-escort-hamburg .nf-city-magazine-card > p:not(.nf-city-magazine-kicker){
  margin:0;
}
#nf-main.nf-entwurf-escort-hamburg .nf-city-magazine-card > p:not(.nf-city-magazine-kicker){
  flex:1 1 auto;
}
#nf-main.nf-entwurf-escort-hamburg .nf-city-magazine-read{
  margin-top:auto;
  align-self:flex-start;
}
.nf-mag-hub,.nf-mag-article{
  background:var(--cream,#f4f0e8);
  padding:48px 52px 72px;
}
.nf-mag-hub-inner,.nf-mag-article-inner{max-width:860px;margin:0 auto}
.nf-mag-hub h1,.nf-mag-article h1{
  font-family:'Josefin Sans',sans-serif;
  font-size:clamp(32px,4vw,48px);font-weight:500;
  color:var(--ink3,#1e1b17);margin:10px 0 16px;
}
.nf-mag-hub-lead,.nf-mag-article-lead{
  font-family:'Lato',sans-serif;font-size:16px;line-height:1.8;
  color:rgba(26,24,21,.72);margin:0 0 16px;
}
.nf-mag-hub-grid{display:grid;grid-template-columns:1fr;gap:20px;margin:32px 0}
.nf-mag-hub-card{
  padding:22px 22px 18px;
  border:1px solid rgba(138,104,16,.14);
  background:rgba(255,255,255,.82);border-radius:12px;
}
.nf-mag-hub-kicker{
  margin:0 0 8px;font-family:'Josefin Sans',sans-serif;
  font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:#8a6830;
}
.nf-mag-hub-card h2{
  margin:0 0 10px;font-family:'Josefin Sans',sans-serif;
  font-size:24px;font-weight:500;line-height:1.25;
}
.nf-mag-hub-card h2 a{color:var(--ink3,#1e1b17);text-decoration:none}
.nf-mag-hub-excerpt{
  margin:0 0 10px;font-family:'Lato',sans-serif;
  font-size:14px;line-height:1.75;color:rgba(26,24,21,.68);
}
.nf-mag-hub-meta{
  margin:0 0 12px;font-family:'Josefin Sans',sans-serif;
  font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:rgba(26,24,21,.45);
}
.nf-mag-hub-read{
  font-family:'Josefin Sans',sans-serif;font-size:10px;
  letter-spacing:.16em;text-transform:uppercase;color:#8a6830;text-decoration:none;
}
.nf-mag-article-back{margin:0 0 20px}
.nf-mag-article-back a{
  font-family:'Josefin Sans',sans-serif;font-size:11px;
  letter-spacing:.14em;text-transform:uppercase;color:#8a6830;
}
.nf-mag-article-meta{
  margin:0 0 20px;font-family:'Josefin Sans',sans-serif;
  font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:rgba(26,24,21,.45);
}
.nf-mag-article-section{margin:28px 0}
.nf-mag-article-section h2{
  font-family:'Josefin Sans',sans-serif;font-size:18px;
  font-weight:400;letter-spacing:.06em;margin:0 0 12px;color:#7a5d22;
}
.nf-mag-article-section p{
  font-family:'Lato',sans-serif;font-size:15px;line-height:1.8;
  color:rgba(26,24,21,.72);margin:0 0 12px;
}
@media(max-width:1100px){
  .nf-city-magazine-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
}
@media(max-width:760px){
  .nf-mag-hub,.nf-mag-article{padding:48px 22px}
  #nf-main.nf-entwurf-escort-hamburg .nf-city-magazine{padding-inline:22px}
  .nf-city-magazine-grid{grid-template-columns:1fr;gap:16px}
  .nf-city-advisor-bio{text-align:center}
}
.nf-city-advisor-kicker{
  margin:0 0 6px;
  font-family:'Josefin Sans',sans-serif;
  font-size:clamp(22px,2.4vw,28px);
  font-weight:500;
  color:var(--ink3,#1e1b17);
}
.nf-city-advisor-role{
  margin:0 0 14px;
  font-family:'Josefin Sans',sans-serif;
  font-size:10px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:#8a6830;
}
.nf-city-advisor-text{
  margin:0 0 20px;
  font-family:'Lato',sans-serif;
  font-size:15px;
  line-height:1.8;
  color:rgba(26,24,21,.72);
}
.nf-city-discretion{
  background:var(--cream,#f4f0e8);
  padding:var(--nf-band-pad-y, 88px) var(--nf-band-pad-x, 52px);
  border-top:1px solid rgba(138,104,16,.12);
}
.nf-city-discretion-inner{max-width:980px;margin:0 auto}
.nf-city-discretion h2{
  margin:10px 0 14px;
  font-family:'Josefin Sans',sans-serif;
  font-size:clamp(22px,2.6vw,34px);
  font-weight:300;
  color:var(--ink3,#1e1b17);
}
.nf-city-discretion-lead{
  margin:0 0 22px;
  max-width:46rem;
  font-family:'Lato',sans-serif;
  font-size:15px;
  line-height:1.75;
  color:rgba(26,24,21,.72);
}
.nf-city-discretion-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  column-gap:clamp(18px,2.4vw,28px);
  row-gap:clamp(26px,3.2vw,36px);
  align-items:stretch;
}
.nf-city-discretion-grid article{
  box-sizing:border-box;
  height:100%;
  min-height:100%;
  display:flex;
  flex-direction:column;
  padding:clamp(22px,2.4vw,28px) clamp(20px,2.1vw,26px);
  border:1px solid rgba(138,104,16,.12);
  background:rgba(255,255,255,.55);
  border-radius:0;
  text-align:left;
}
.nf-city-discretion-grid h3{
  margin:0 0 8px;
  font-family:'Josefin Sans',sans-serif;
  font-size:12px;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:#7a5d22;
  text-align:left;
}
.nf-city-discretion-grid p{
  margin:0;
  font-family:'Lato',sans-serif;
  font-size:14px;
  line-height:1.7;
  color:rgba(26,24,21,.7);
  text-align:left;
}
.nf-city-neighbors{
  background:var(--cream,#f4f0e8);
  padding:clamp(28px,4vw,48px) var(--nf-band-pad-x, 52px) clamp(48px,6vw,72px);
}
.nf-city-neighbors-inner,
.nf-city-neighbors-panel.about-centerpiece{
  max-width:var(--max,1180px);
  margin:0 auto;
  text-align:center;
}
.nf-city-neighbors-panel.about-centerpiece{
  padding:clamp(48px,6vw,64px) clamp(28px,5vw,56px) clamp(42px,5vw,54px);
  border:1px solid rgba(201,168,112,.26);
  background:
    radial-gradient(ellipse at 50% 44%, rgba(201,168,112,.28) 0%, rgba(201,168,112,.13) 24%, rgba(201,168,112,0) 62%),
    linear-gradient(160deg, #0f0d0b 0%, #1a140e 42%, #0f0d0b 100%);
  box-shadow:0 22px 56px rgba(5,4,3,.42), inset 0 1px 0 rgba(255,255,255,.08);
  border-radius:14px;
}
.nf-city-neighbors--cinematic .sec-eye{
  font-size:11px !important;
  letter-spacing:.32em !important;
  margin-bottom:clamp(10px,1.1vw,22px) !important;
  color:rgba(201,168,112,.92) !important;
}
#nf-main.nf-entwurf-escort-hamburg .nf-city-neighbors--cinematic .sec-h,
#nf-main.nf-entwurf-escort-hamburg .nf-city-neighbors--cinematic h2.sec-h,
.nf-city-neighbors--cinematic .sec-h,
.nf-city-neighbors--cinematic h2.sec-h{
  font-family:'Josefin Sans',sans-serif !important;
  font-size:clamp(22px,2.8vw,34px) !important;
  font-weight:200 !important;
  letter-spacing:.11em !important;
  line-height:1.28 !important;
  text-transform:uppercase !important;
  color:rgba(255,250,242,.93) !important;
  margin:0 0 clamp(14px,1.6vw,22px) !important;
  max-width:20em;
  margin-left:auto !important;
  margin-right:auto !important;
}
.nf-city-neighbors--cinematic .nf-city-neighbors-lead{
  margin:0 auto;
  max-width:42rem;
  font-family:'Lato',sans-serif;
  font-size:16.5px;
  font-weight:300;
  line-height:1.92;
  color:rgba(245,236,224,.8);
}
.nf-city-neighbors-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:0;
  margin:clamp(28px,3.5vw,40px) auto 0;
  max-width:980px;
  text-align:left;
}
.nf-city-neighbor-item{
  padding:4px 22px 2px;
  border:0;
  background:transparent;
  position:relative;
}
.nf-city-neighbor-item + .nf-city-neighbor-item{
  border-left:1px solid rgba(201,168,112,.18);
}
.nf-city-neighbor-item h3{
  margin:0 0 12px;
  font-family:'Josefin Sans',sans-serif;
  font-size:13px;
  font-weight:400;
  letter-spacing:.18em;
  text-transform:uppercase;
  line-height:1.35;
}
.nf-city-neighbor-item h3 a{
  color:rgba(232,214,180,.96);
  text-decoration:none;
  display:inline-flex;
  align-items:center;
  gap:8px;
  transition:color .2s ease;
}
.nf-city-neighbor-item h3 a .arr{
  color:rgba(201,168,112,.85);
  transition:transform .2s ease;
}
.nf-city-neighbor-item h3 a:hover{
  color:#f3e6cf;
}
.nf-city-neighbor-item h3 a:hover .arr{
  transform:translateX(3px);
}
.nf-city-neighbor-travel,
.nf-city-neighbor-min{
  margin:0;
  font-family:'Lato',sans-serif;
  font-size:13.5px;
  font-weight:300;
  line-height:1.65;
  color:rgba(245,236,224,.62);
}
.nf-city-neighbor-travel{margin-bottom:2px}
.nf-city-neighbor-travel,
.nf-city-neighbor-min{display:none}
.nf-city-neighbor-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  width:100%;
  font-family:'Josefin Sans',sans-serif;
  font-size:13px;
  font-weight:400;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:rgba(232,214,180,.96);
  text-decoration:none;
  transition:color .2s ease;
}
.nf-city-neighbor-link .arr{
  color:rgba(201,168,112,.85);
  transition:transform .2s ease;
}
.nf-city-neighbor-link:hover{color:#f3e6cf}
.nf-city-neighbor-link:hover .arr{transform:translateX(3px)}
.nf-city-neighbors-note{
  margin:clamp(22px,3vw,30px) auto 0;
  max-width:36em;
  font-family:'Lato',sans-serif;
  font-size:13.5px;
  font-weight:300;
  line-height:1.65;
  color:rgba(245,236,224,.55);
  text-align:center;
}
.nf-city-neighbors--service .nf-city-neighbors-cta{
  margin:clamp(22px,3vw,30px) auto 0;
  text-align:center;
}
.nf-city-neighbors--service .nf-city-neighbors-cta + .nf-city-neighbors-note{
  margin-top:clamp(16px,2vw,22px);
}
.nf-city-neighbors-grid{
  text-align:center;
}
.nf-city-neighbor-item{
  text-align:center;
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:2.2em;
}
.nf-city-neighbor-item h3{display:none}

/* Legacy cream-card fallback (unused on cinematic draft) */
.nf-city-neighbor-card{
  padding:16px 16px 14px;
  border:1px solid rgba(138,104,16,.14);
  background:rgba(255,255,255,.78);
  border-radius:12px;
}
.nf-city-neighbor-card h3{
  margin:0 0 8px;
  font-family:'Josefin Sans',sans-serif;
  font-size:20px;
  font-weight:500;
}
.nf-city-neighbor-card h3 a{
  color:var(--ink3,#1e1b17);
  text-decoration:none;
}
.nf-city-neighbor-card h3 a:hover{color:#8a6830}
.nf-city-itineraries-subhead{
  margin:28px 0 16px;
  font-family:'Josefin Sans',sans-serif;
  font-size:12px;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:#8a6830;
}
.nf-city-evening-script{
  border-color:rgba(201,168,112,.28);
  background:linear-gradient(155deg,rgba(255,255,255,.92),rgba(250,247,241,.85));
}
.nf-city-itinerary-link{
  color:#8a6830;
  text-decoration:none;
  white-space:nowrap;
}
.nf-city-itinerary-link:hover{text-decoration:underline}
.nf-city-micro-cta-sub{
  margin:12px 0 0;
  font-family:'Lato',sans-serif;
  font-size:13px;
  line-height:1.6;
  color:rgba(26,24,21,.58);
}
/* Higher specificity than `.nf-city-final-cta p` (margin-top:0) so stacked CTAs breathe */
.nf-city-final-cta .nf-city-final-micro{
  margin:18px auto 0;
}
@media(max-width:1100px){
  .nf-city-short-notice-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
  .nf-city-neighbors-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .nf-city-neighbors-grid .nf-city-neighbor-item:nth-child(2n+1){border-left:0}
  .nf-city-neighbors-grid .nf-city-neighbor-item:nth-child(n+3){
    border-top:1px solid rgba(201,168,112,.18);
    padding-top:18px;
    margin-top:8px;
  }
}
@media(max-width:900px){
  .nf-city-seasonal-items,
  .nf-city-neighbors-grid,
  .nf-city-short-notice-grid{grid-template-columns:1fr;gap:14px}
  .nf-city-discretion-grid{
    grid-template-columns:1fr;
    column-gap:0;
    row-gap:18px;
  }
  .nf-city-short-notice-grid .model-card,
  .nf-city-model-card-wrap .model-card{aspect-ratio:16/10}
  .nf-city-short-notice,
  .nf-city-advisor-note,
  .nf-city-discretion{padding:48px 22px}
  .nf-city-neighbors{
    padding:28px 16px 40px;
  }
  .nf-city-neighbors-panel.about-centerpiece{
    padding:38px 22px 34px;
    border-radius:12px;
  }
  .nf-city-neighbors-grid .nf-city-neighbor-item{
    border-left:0 !important;
    padding:16px 0;
  }
  .nf-city-neighbors-grid .nf-city-neighbor-item + .nf-city-neighbor-item{
    border-top:1px solid rgba(201,168,112,.18);
    margin-top:0;
    padding-top:16px;
  }
  .nf-city-role-grid.nf-city-guide-signature-grid{grid-template-columns:1fr}
}

/* ===== Hamburg cinematic hub — motion & polish ===== */

/* Scroll reveal (IntersectionObserver via Reveal.tsx) */
.nf-reveal{
  opacity:0;
  transform:translateY(28px);
  transition:
    opacity .9s cubic-bezier(.16,1,.3,1),
    transform .9s cubic-bezier(.16,1,.3,1);
}
.nf-reveal.nf-reveal--visible{
  opacity:1;
  transform:none;
}
.nf-reveal--stagger > *{
  opacity:0;
  transform:translateY(18px);
  transition:
    opacity .75s cubic-bezier(.16,1,.3,1),
    transform .75s cubic-bezier(.16,1,.3,1);
}
.nf-reveal--visible.nf-reveal--stagger > *,
.nf-reveal--stagger.nf-reveal--visible > *{
  opacity:1;
  transform:none;
}
.nf-reveal--stagger > *:nth-child(1){transition-delay:.04s}
.nf-reveal--stagger > *:nth-child(2){transition-delay:.1s}
.nf-reveal--stagger > *:nth-child(3){transition-delay:.16s}
.nf-reveal--stagger > *:nth-child(4){transition-delay:.22s}
.nf-reveal--stagger > *:nth-child(5){transition-delay:.28s}
.nf-reveal--stagger > *:nth-child(6){transition-delay:.34s}

/* Cinematic hero */
.nf-city-cinematic-hero{
  min-height:max(680px, calc(100dvh - var(--nf-nav-layout-offset, var(--nf-nav-offset, 88px))));
}
.nf-city-cinematic-bg{
  background-position:center 22%;
  will-change:transform;
  animation:kb 26s ease-in-out infinite alternate;
}
.nf-city-cinematic-veil{
  background:
    linear-gradient(to top, rgba(11,10,9,1) 0%, rgba(11,10,9,.78) 28%, rgba(11,10,9,.22) 58%, transparent 100%),
    radial-gradient(ellipse 80% 50% at 50% 100%, rgba(201,168,112,.08), transparent 62%) !important;
}
.nf-city-cinematic-scroll{
  position:absolute;
  bottom:28px;
  left:50%;
  transform:translateX(-50%);
  z-index:6;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:10px;
  opacity:0;
  animation:fi .7s 1.6s forwards;
}
.nf-city-cinematic-scroll span:last-child{
  font-family:'Josefin Sans',sans-serif;
  font-size:8px;
  font-weight:200;
  letter-spacing:.28em;
  text-transform:uppercase;
  color:rgba(255,255,255,.35);
}
.nf-city-cinematic-scroll-line{
  display:block;
  width:1px;
  height:36px;
  background:linear-gradient(to bottom, rgba(201,168,112,.7), transparent);
  animation:nf-scroll-pulse 2.4s ease-in-out infinite;
}
@keyframes nf-scroll-pulse{
  0%,100%{opacity:.45;transform:scaleY(.85)}
  50%{opacity:1;transform:scaleY(1)}
}

/* Filmic image treatment */
.nf-city-cinematic-media{
  position:relative;
}
.nf-city-cinematic-media::after{
  content:'';
  position:absolute;
  inset:0;
  pointer-events:none;
  border-radius:inherit;
  background:linear-gradient(
    180deg,
    rgba(11,10,9,.08) 0%,
    transparent 38%,
    transparent 62%,
    rgba(11,10,9,.12) 100%
  );
}
.nf-city-cinematic-media img{
  filter:contrast(1.05) saturate(.9) brightness(.98);
  transition:transform 1.2s cubic-bezier(.16,1,.3,1), filter .6s ease;
}
.nf-city-guide-rich-section:hover .nf-city-cinematic-media img{
  transform:scale(1.015);
}

/* Ecosystem band spacing */
.nf-city-eco-band{
  padding-top:48px;
  padding-bottom:64px;
}
.nf-city-eco-band .nf-city-eco-nav{margin-top:0}

/* Compact seasonal */
.nf-city-seasonal--compact{
  margin-top:28px;
  padding:18px 20px;
  border-radius:14px;
  border:1px solid rgba(138,104,16,.14);
  background:rgba(255,255,255,.55);
}
.nf-city-seasonal--compact .nf-city-seasonal-items{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.nf-city-seasonal--compact .nf-city-seasonal-item h3{
  font-size:13px;
  margin-bottom:4px;
}
.nf-city-seasonal--compact .nf-city-seasonal-item p{
  font-size:13px;
  line-height:1.6;
}

/* ===== Ecosystem cinematic — homepage about-centerpiece language ===== */
.nf-city-eco-band.nf-city-eco-band--cinematic{
  background:var(--cream,#f4f0e8);
  /* Tight cream bridge after Dauer-Raster (~28–36px); panel carries the dark band */
  padding:clamp(24px,3vw,32px) var(--nf-band-pad-x, 52px) clamp(40px,5vw,64px);
}
.nf-city-eco-panel.about-centerpiece{
  max-width:var(--max,1180px);
  margin:0 auto;
  text-align:center;
  padding:clamp(48px,6vw,64px) clamp(28px,5vw,56px) clamp(42px,5vw,54px);
  border:1px solid rgba(201,168,112,.26);
  background:
    radial-gradient(ellipse at 50% 40%, rgba(201,168,112,.28) 0%, rgba(201,168,112,.12) 26%, rgba(201,168,112,0) 62%),
    linear-gradient(160deg, #0f0d0b 0%, #1a140e 42%, #0f0d0b 100%);
  box-shadow:0 22px 56px rgba(5,4,3,.42), inset 0 1px 0 rgba(255,255,255,.08);
  border-radius:14px;
}
.nf-city-eco-band--cinematic .sec-eye{
  font-size:11px !important;
  letter-spacing:.32em !important;
  margin-bottom:clamp(10px,1.1vw,22px) !important;
  color:rgba(201,168,112,.92) !important;
}
#nf-main.nf-entwurf-escort-hamburg .nf-city-eco-band--cinematic .sec-h,
#nf-main.nf-entwurf-escort-hamburg .nf-city-eco-band--cinematic h2.sec-h,
.nf-city-eco-band--cinematic .sec-h,
.nf-city-eco-band--cinematic h2.sec-h{
  font-family:'Josefin Sans',sans-serif !important;
  font-size:clamp(22px,3.2vw,42px) !important;
  font-weight:200 !important;
  letter-spacing:.12em !important;
  line-height:1.28 !important;
  text-transform:uppercase !important;
  color:rgba(255,250,242,.93) !important;
  margin:0 0 clamp(14px,1.6vw,22px) !important;
  max-width:18em;
  margin-left:auto !important;
  margin-right:auto !important;
}
.nf-city-eco-lead{
  margin:0 auto clamp(32px,4vw,48px);
  max-width:38rem;
  font-family:'Lato',sans-serif;
  font-size:15.5px;
  font-weight:300;
  line-height:1.85;
  color:rgba(245,236,224,.72);
}
.nf-city-eco-band--cinematic .nf-city-eco-nav{
  max-width:920px;
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px 14px;
  text-align:left;
}
.nf-city-eco-band--cinematic .nf-city-eco-nav-item{
  position:relative;
  display:flex;
  flex-direction:column;
  gap:10px;
  padding:20px 48px 20px 20px;
  border:1px solid rgba(201,168,112,.18);
  background:rgba(255,250,242,.04);
  border-radius:10px;
  text-decoration:none;
  transition:
    border-color .35s cubic-bezier(.16,1,.3,1),
    background .35s cubic-bezier(.16,1,.3,1),
    transform .35s cubic-bezier(.16,1,.3,1);
}
.nf-city-eco-band--cinematic .nf-city-eco-nav-item:hover,
.nf-city-eco-band--cinematic .nf-city-eco-nav-item:focus-visible{
  border-color:rgba(201,168,112,.42);
  background:rgba(201,168,112,.08);
  transform:translateY(-1px);
  outline:none;
}
.nf-city-eco-band--cinematic .nf-city-eco-nav-label{
  display:inline-flex;
  align-items:center;
  font-family:'Josefin Sans',sans-serif;
  font-size:14px;
  font-weight:400;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:rgba(232,214,180,.95);
}
.nf-city-eco-band--cinematic .nf-city-eco-nav-text{
  font-family:'Lato',sans-serif;
  font-size:16.5px;
  font-weight:300;
  line-height:1.6;
  color:rgba(245,236,224,.72);
}
.nf-city-eco-band--cinematic .nf-city-eco-nav-arr{
  position:absolute;
  top:20px;
  right:18px;
  font-family:'Josefin Sans',sans-serif;
  font-size:15px;
  color:rgba(201,168,112,.7);
  transition:transform .35s cubic-bezier(.16,1,.3,1), color .25s ease;
}
.nf-city-eco-band--cinematic .nf-city-eco-nav-item:hover .nf-city-eco-nav-arr,
.nf-city-eco-band--cinematic .nf-city-eco-nav-item:focus-visible .nf-city-eco-nav-arr{
  color:rgba(232,214,180,.95);
  transform:translateX(3px);
}

/* Seasonal inside cinematic eco panel */
.nf-city-seasonal.nf-city-seasonal--cinematic,
.nf-city-eco-band--cinematic .nf-city-seasonal--compact{
  margin:clamp(28px,3.5vw,40px) auto 0;
  max-width:920px;
  padding:22px 24px 20px;
  border-radius:10px;
  border:1px solid rgba(201,168,112,.16);
  background:rgba(0,0,0,.22);
  text-align:left;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
}
.nf-city-eco-band--cinematic .nf-city-seasonal-label{
  margin:0 0 16px;
  text-align:center;
  font-family:'Josefin Sans',sans-serif;
  font-size:10px;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:rgba(201,168,112,.88);
}
.nf-city-eco-band--cinematic .nf-city-seasonal-items{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px 28px;
}
.nf-city-eco-band--cinematic .nf-city-seasonal-item{
  position:relative;
  padding-top:2px;
}
.nf-city-eco-band--cinematic .nf-city-seasonal-item:not(:last-child)::after{
  content:"";
  position:absolute;
  top:4px;right:-14px;bottom:4px;
  width:1px;
  background:linear-gradient(180deg, transparent, rgba(201,168,112,.28), transparent);
}
.nf-city-eco-band--cinematic .nf-city-seasonal-item h3{
  margin:0 0 8px;
  font-family:'Josefin Sans',sans-serif;
  font-size:13px;
  font-weight:400;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:rgba(232,214,180,.95);
}
.nf-city-eco-band--cinematic .nf-city-seasonal-item p{
  margin:0;
  font-family:'Lato',sans-serif;
  font-size:13.5px;
  font-weight:300;
  line-height:1.7;
  color:rgba(245,236,224,.64);
}

@media(max-width:900px){
  .nf-city-eco-band--cinematic{
    padding:clamp(24px,5vw,36px) 22px clamp(40px,7vw,56px);
  }
  .nf-city-eco-panel.about-centerpiece{
    padding:clamp(36px,7vw,48px) 22px clamp(32px,6vw,42px);
  }
  .nf-city-eco-band--cinematic .nf-city-eco-nav{
    grid-template-columns:1fr;
  }
  .nf-city-eco-band--cinematic .nf-city-seasonal-items{grid-template-columns:1fr}
  .nf-city-eco-band--cinematic .nf-city-seasonal-item:not(:last-child)::after{display:none}
  .nf-city-eco-band--cinematic .nf-city-seasonal-item:not(:last-child){
    padding-bottom:16px;
    border-bottom:1px solid rgba(201,168,112,.14);
  }
}

/* Evening scripts — horizontal scroll on mobile */
@media(max-width:760px){
  .nf-city-evening-scroll{
    display:flex;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    gap:12px;
    padding-bottom:10px;
    -webkit-overflow-scrolling:touch;
    grid-template-columns:unset;
  }
  .nf-city-evening-scroll .nf-city-evening-script{
    flex:0 0 min(84vw,320px);
    scroll-snap-align:start;
  }
  .nf-city-seasonal--compact .nf-city-seasonal-items{grid-template-columns:1fr}
}

/* Itinerary card titles — h4 under h3 subheads */
.nf-city-itinerary h4{
  margin:0 0 8px;
  font-family:'Josefin Sans',sans-serif;
  font-size:clamp(18px,2vw,22px);
  font-weight:500;
  color:var(--ink3,#1e1b17);
  line-height:1.25;
}

/* Gold underline hover for in-content links */
.nf-city-guide-content a:not(.nf-city-cta):not(.nf-city-eco-nav-item):not(.model-card):not(.text-link),
.nf-city-longform a:not(.nf-city-cta):not(.text-link),
.nf-city-business-guide a:not(.nf-city-cta):not(.text-link),
.nf-city-guide-rich-body a:not(.text-link):not(.nf-city-cta),
.nf-city-itinerary-link,
.nf-city-deep-link a:not(.text-link),
.nf-city-neighbor-card h3 a{
  text-decoration:none;
  background-image:linear-gradient(transparent calc(100% - 1px), rgba(201,168,112,.55) calc(100% - 1px));
  background-repeat:no-repeat;
  background-size:0% 100%;
  background-position:0 100%;
  transition:background-size .35s cubic-bezier(.16,1,.3,1), color .2s ease;
}
.nf-city-guide-content a:not(.nf-city-cta):not(.nf-city-eco-nav-item):not(.model-card):not(.text-link):hover,
.nf-city-longform a:not(.nf-city-cta):not(.text-link):hover,
.nf-city-business-guide a:not(.nf-city-cta):not(.text-link):hover,
.nf-city-guide-rich-body a:not(.text-link):not(.nf-city-cta):hover,
.nf-city-itinerary-link:hover,
.nf-city-deep-link a:not(.text-link):hover,
.nf-city-neighbor-card h3 a:hover{
  background-size:100% 100%;
  text-decoration:none;
}
.nf-city-guide-rich-section.is-base .nf-city-guide-rich-body a{
  background-image:linear-gradient(transparent calc(100% - 1px), rgba(216,191,144,.65) calc(100% - 1px));
}

/* Reduced motion — cinematic hub */
@media(prefers-reduced-motion:reduce){
  .nf-reveal,
  .nf-reveal--stagger > *{
    opacity:1 !important;
    transform:none !important;
    transition:none !important;
  }
  .nf-city-cinematic-bg{
    animation:none !important;
    transform:none !important;
  }
  .nf-city-cinematic-scroll{
    display:none;
  }
  .nf-city-cinematic-media img{
    transition:none;
    transform:none !important;
  }
  .nf-city-guide-rich-section:hover .nf-city-cinematic-media img{
    transform:none;
  }
  .nf-city-cinematic-scroll-line{
    animation:none;
  }
}

/* Sticky conversion CTA — Escort Hamburg */
.nf-city-sticky-cta{
  position:fixed;
  left:0;right:0;bottom:0;
  z-index:60;
  transform:translateY(110%);
  transition:transform .35s cubic-bezier(.16,1,.3,1);
  pointer-events:none;
  background:rgba(20,17,14,.92);
  border-top:1px solid rgba(201,168,112,.28);
  backdrop-filter:blur(10px);
}
.nf-city-sticky-cta.is-visible{
  transform:translateY(0);
  pointer-events:auto;
}
.nf-city-sticky-cta-inner{
  max-width:1100px;
  margin:0 auto;
  padding:10px 18px calc(10px + env(safe-area-inset-bottom));
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.nf-city-sticky-lead{
  display:flex;
  flex-direction:column;
  gap:2px;
  min-width:0;
}
.nf-city-sticky-lead-label{
  font-family:'Josefin Sans',sans-serif;
  font-size:9px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:rgba(255,255,255,.45);
}
.nf-city-sticky-phone{
  font-family:'Josefin Sans',sans-serif;
  font-size:12px;
  letter-spacing:.08em;
  color:rgba(255,255,255,.82);
  text-decoration:none;
}
.nf-city-sticky-phone:hover{color:#d8bf90}
.nf-city-sticky-phone-short{display:none}
.nf-city-sticky-actions{display:flex;gap:8px;flex-wrap:nowrap;justify-content:flex-end;flex-shrink:0}
.nf-city-sticky-link{
  white-space:nowrap;
  min-height:36px;
  padding:8px 14px;
  font-size:10px;
  letter-spacing:.14em;
}

/* So buchen Sie — kompakte Leiste */
.nf-city-booking-quick{
  margin:0 auto 28px;
  max-width:1100px;
  padding:28px 52px 8px;
  border:none;
  border-radius:0;
  background:transparent;
}
.nf-city-booking-quick-inner{
  max-width:100%;
  padding:20px 18px;
  border:1px solid rgba(138,104,16,.18);
  border-radius:12px;
  background:linear-gradient(155deg,rgba(255,255,255,.82),rgba(250,247,241,.92));
}
.nf-city-booking-quick-steps{
  margin:14px 0 0;
  padding:0;
  list-style:none;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}
.nf-city-booking-quick-steps li{
  padding:12px 12px 10px;
  border:1px solid rgba(138,104,16,.12);
  border-radius:10px;
  background:rgba(255,255,255,.65);
}
.nf-city-booking-quick-steps strong{
  display:block;
  margin:0 0 6px;
  font-family:'Josefin Sans',sans-serif;
  font-size:10px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:#7a5d22;
}
.nf-city-booking-quick-steps span{
  display:block;
  font-family:'Lato',sans-serif;
  font-size:13px;
  line-height:1.55;
  color:rgba(26,24,21,.68);
}
.nf-city-booking-quick-actions{
  display:flex;
  flex-wrap:wrap;
  gap:16px;
  margin-top:18px;
  align-items:center;
  justify-content:center;
  text-align:center;
}

/* Model-Karte → direkte Anfrage (content kept; chrome = live 16:10) */
.nf-city-model-card-wrap{
  position:relative;
  display:flex;
  flex-direction:column;
  gap:8px;
  overflow:visible;
  /* Glow (box-shadow) must paint outside the sedcard */
  isolation:auto;
}
.nf-city-model-card-wrap .model-card{
  flex:1;
  z-index:0;
  aspect-ratio:16/10;
  border-radius:12px;
  min-height:0;
  animation:goldenPulse 3.8s ease-in-out infinite;
}
.nf-city-model-card-wrap .model-card .mc-img{
  object-position:center center;
}
.nf-city-model-card-wrap .model-card:hover .mc-img{
  transform:none;
}
.nf-city-model-card-wrap .mc-wt{
  padding:12px 14px 34px;
  background:linear-gradient(to bottom,rgba(11,10,9,.44) 0%,rgba(11,10,9,.1) 55%,transparent 100%);
}
.nf-city-model-card-wrap .mc-wt .wt-a,
.nf-city-model-card-wrap .mc-wt .wt-b{
  font-size:clamp(12px,1.45vw,17px);
  letter-spacing:.1em;
}
.nf-city-model-card-wrap .mc-info{
  padding:16px 18px 18px;
}
.nf-city-model-card-wrap .mc-name{
  font-size:clamp(16px,1.8vw,24px);
  letter-spacing:.2em;
  margin-bottom:4px;
}
.nf-city-model-card-wrap .mc-tag{font-size:14px}
.nf-city-model-card-wrap .mc-city{font-size:11px}
.nf-city-model-card-wrap .mc-meta{font-size:11px}
/* Model-card Anfragen — full-width gold bar (same NF CTA as .nf-city-cta / models-more) */
.nf-city-model-book{
  width:100%;
  margin-top:0;
  min-height:38px;
  padding:9px 16px;
  font-size:11px;
  font-weight:500;
  letter-spacing:.17em;
  text-transform:uppercase;
  box-sizing:border-box;
  position:relative;
  z-index:1;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  text-decoration:none;
  /* Never cream pills — inherit classic NF gold from .nf-city-cta */
  color:#0d0b09;
  background:linear-gradient(145deg,#d4b87a 0%,var(--gold,#c9a870) 48%,#a68440 100%);
  border:1px solid rgba(201,168,112,.45);
  border-radius:3px;
  box-shadow:0 4px 14px rgba(0,0,0,.32),inset 0 1px 0 rgba(255,255,255,.2);
  transition:transform .2s ease,box-shadow .2s ease;
}
.nf-city-model-book:hover{
  color:#0d0b09;
  background:linear-gradient(145deg,#d4b87a 0%,var(--gold,#c9a870) 48%,#a68440 100%);
  border-color:rgba(201,168,112,.45);
  transform:translateY(-1px);
  box-shadow:0 6px 18px rgba(201,168,112,.22),inset 0 1px 0 rgba(255,255,255,.24);
}
.nf-city-model-status{
  margin:6px 0 0;
  font-family:'Josefin Sans',sans-serif;
  font-size:10px;
  font-weight:400;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:rgba(255,255,255,.72);
}

/* Buchungsseite — Kontakt-Karten */
.nf-booking-contact-row{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin:28px auto 32px;
  max-width:920px;
}
.nf-booking-contact-card{
  display:flex;
  flex-direction:column;
  gap:6px;
  padding:16px 14px;
  border:1px solid rgba(201,168,112,.24);
  border-radius:12px;
  background:rgba(255,255,255,.04);
  text-decoration:none;
  transition:border-color .2s,background .2s,transform .2s;
}
.nf-booking-contact-card:hover{
  border-color:rgba(201,168,112,.48);
  background:rgba(201,168,112,.08);
  transform:translateY(-1px);
}
.nf-booking-contact-kicker{
  font-family:'Josefin Sans',sans-serif;
  font-size:10px;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:rgba(201,168,112,.82);
}
.nf-booking-contact-value{
  font-family:'Josefin Sans',sans-serif;
  font-size:clamp(13px,1.4vw,16px);
  letter-spacing:.06em;
  color:rgba(255,255,255,.92);
}
.nf-booking-contact-hint{
  font-family:'Lato',sans-serif;
  font-size:12px;
  line-height:1.5;
  color:rgba(255,255,255,.55);
}
.nf-booking-page-steps{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin:0 auto 28px;
  max-width:920px;
  text-align:left;
}
.nf-booking-page-steps article{
  padding:14px 14px 12px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:10px;
  background:rgba(255,255,255,.03);
}
.nf-booking-page-steps h2{
  margin:0 0 8px;
  font-family:'Josefin Sans',sans-serif;
  font-size:11px;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:rgba(201,168,112,.88);
  font-weight:400;
}
.nf-booking-page-steps p{
  margin:0;
  font-family:'Lato',sans-serif;
  font-size:13px;
  line-height:1.65;
  color:rgba(255,255,255,.72);
}
.nf-booking-page-form{margin-top:8px}
.nf-booking-page-links{
  margin-top:28px;
  font-family:'Lato',sans-serif;
  font-size:14px;
  line-height:1.7;
  color:rgba(255,255,255,.62);
}
.nf-booking-page-links a{color:rgba(201,168,112,.92);text-decoration:none}
.nf-booking-page-links a:hover{text-decoration:underline}

/* Privatjet — Limitless Sky (Hamburg) */
.nf-city-privatjet{
  padding:72px 52px 80px;
  background:linear-gradient(180deg,#12100e 0%,#191612 55%,#141210 100%);
  border-top:1px solid rgba(216,191,144,.12);
  border-bottom:1px solid rgba(216,191,144,.08);
}
.nf-city-privatjet-inner{
  max-width:1100px;
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:22px;
}
.nf-city-privatjet-media{
  border-radius:16px;
  overflow:hidden;
  border:1px solid rgba(216,191,144,.16);
  box-shadow:0 18px 40px rgba(0,0,0,.35);
}
.nf-city-privatjet-media img{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:16/7;
  object-fit:cover;
  object-position:center 40%;
}
.nf-city-privatjet-body .sec-eye{
  color:rgba(216,191,144,.72);
}
.nf-city-privatjet-body h2{
  margin:0 0 12px;
  font-family:'Josefin Sans',sans-serif;
  font-weight:200;
  font-size:clamp(22px,3.2vw,42px);
  letter-spacing:.12em;
  line-height:1.28;
  text-transform:uppercase;
  color:var(--w90,#efebe3);
}
.nf-city-privatjet-lead{
  margin:0 auto 28px;
  max-width:40rem;
  font-family:'Lato',sans-serif;
  font-size:16px;
  line-height:1.85;
  color:rgba(255,255,255,.72);
}
.nf-city-privatjet-offers-heading{
  margin:0 0 14px;
  font-family:'Josefin Sans',sans-serif;
  font-size:12px;
  font-weight:400;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:#d8bf90;
  text-align:center;
}
.nf-city-privatjet .nf-city-cta-row,
.nf-city-privatjet-home{
  text-align:center;
}
.nf-city-privatjet-list{
  list-style:none;
  margin:0 0 28px;
  padding:0;
  border-top:1px solid rgba(216,191,144,.14);
}
.nf-city-privatjet-list > li{
  display:flex;
  flex-wrap:wrap;
  align-items:baseline;
  justify-content:space-between;
  gap:12px 24px;
  padding:18px 0;
  border-bottom:1px solid rgba(216,191,144,.12);
}
.nf-city-privatjet-meta{
  margin:0 0 6px;
  font-family:'Josefin Sans',sans-serif;
  font-size:10px;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:rgba(216,191,144,.7);
}
.nf-city-privatjet-route{
  margin:0 0 6px;
  font-family:'Josefin Sans',sans-serif;
  font-size:clamp(20px,2.2vw,26px);
  font-weight:500;
  color:var(--w90,#efebe3);
  line-height:1.25;
}
.nf-city-privatjet-detail{
  margin:0;
  font-family:'Lato',sans-serif;
  font-size:13px;
  line-height:1.6;
  color:rgba(255,255,255,.58);
}
.nf-city-privatjet-offer-link{
  flex-shrink:0;
  font-family:'Josefin Sans',sans-serif;
  font-size:12px;
  letter-spacing:.14em;
  text-transform:uppercase;
  text-decoration:none;
  color:#d8bf90;
}
.nf-city-privatjet-offer-link:hover{
  color:#efebe3;
}
.nf-city-privatjet .nf-city-cta-row{
  margin:0;
}
.nf-city-privatjet-home{
  margin:14px 0 0;
  font-family:'Lato',sans-serif;
  font-size:13px;
}
.nf-city-privatjet-home a{
  color:rgba(255,255,255,.45);
  text-decoration:none;
}
.nf-city-privatjet-home a:hover{
  color:rgba(216,191,144,.85);
  text-decoration:underline;
}
@media(max-width:900px){
  .nf-city-privatjet{padding:48px 22px 56px}
  .nf-city-privatjet-media img{aspect-ratio:16/9}
  .nf-city-privatjet-list > li{
    flex-direction:column;
    align-items:flex-start;
    gap:10px;
  }
}

/* Media strip — sedcard glow + homepage card radius */
.nf-city-media-strip{
  padding:56px 52px 64px;
  background:var(--cream,#f4f0e8);
  border-top:1px solid rgba(138,104,16,.1);
  overflow:visible;
}
.nf-city-media-strip-inner{max-width:1100px;margin:0 auto;overflow:visible}
.nf-city-media-strip h2{
  margin:8px 0 22px;
  font-family:'Josefin Sans',sans-serif;
  font-weight:300;
  font-size:clamp(22px,2.4vw,32px);
  color:var(--ink3,#1e1b17);
}
.nf-city-media-strip-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px;
  overflow:visible;
  padding:10px 4px 14px;
}
.nf-city-media-strip-card{
  position:relative;
  display:block;
  overflow:hidden;
  border-radius:12px;
  aspect-ratio:4/3;
  color:#fff;
  text-decoration:none;
  background:var(--ink3,#141210);
  /* Live NF sedcard glow */
  animation:goldenPulse 3.8s ease-in-out infinite;
  transition:transform .5s cubic-bezier(.16,1,.3,1),box-shadow .5s cubic-bezier(.16,1,.3,1);
}
.nf-city-media-strip-card:nth-child(2){animation-delay:.45s}
.nf-city-media-strip-card:nth-child(3){animation-delay:.9s}
.nf-city-media-strip-card:nth-child(4){animation-delay:1.35s}
.nf-city-media-strip-card img{
  width:100%;height:100%;
  object-fit:cover;
  display:block;
  transition:transform .7s cubic-bezier(.16,1,.3,1);
}
.nf-city-media-strip-card::after{
  content:"";
  position:absolute;inset:0;
  background:linear-gradient(to top,rgba(11,10,9,.78),transparent 55%);
  pointer-events:none;
  border-radius:inherit;
}
.nf-city-media-strip-card span{
  position:absolute;left:12px;right:12px;bottom:12px;z-index:1;
  font-family:'Josefin Sans',sans-serif;
  font-size:11px;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.nf-city-media-strip-card:hover{
  animation-play-state:paused;
  transform:translateY(-4px) scale(1.012);
  box-shadow:0 0 0 1px rgba(201,168,112,.4),0 8px 40px rgba(201,168,112,.32),0 0 80px rgba(201,168,112,.18),0 18px 40px rgba(0,0,0,.28);
}
.nf-city-media-strip-card:hover img{transform:scale(1.06)}
#nf-main.nf-entwurf-escort-hamburg .nf-city-media-strip-card{
  border-radius:12px;
  animation:goldenPulse 3.8s ease-in-out infinite;
}

.nf-city-models-preview-grid--six{
  grid-template-columns:repeat(3,minmax(0,1fr));
}

/* Expertise process — cinematic about-centerpiece (wie Booking / Nachbarstädte) */
.nf-city-expertise.nf-city-expertise--cinematic{
  background:var(--cream,#f4f0e8);
  padding:clamp(28px,4vw,48px) var(--nf-band-pad-x, 52px) clamp(48px,6vw,72px);
  border-top:0;
}
.nf-city-expertise-panel.about-centerpiece{
  max-width:var(--max,1180px);
  margin:0 auto;
  text-align:center;
  padding:clamp(48px,6vw,64px) clamp(28px,5vw,56px) clamp(42px,5vw,54px);
  border:1px solid rgba(201,168,112,.26);
  background:
    radial-gradient(ellipse at 50% 44%, rgba(201,168,112,.28) 0%, rgba(201,168,112,.13) 24%, rgba(201,168,112,0) 62%),
    linear-gradient(160deg, #0f0d0b 0%, #1a140e 42%, #0f0d0b 100%);
  box-shadow:0 22px 56px rgba(5,4,3,.42), inset 0 1px 0 rgba(255,255,255,.08);
  border-radius:14px;
}
.nf-city-expertise--cinematic .sec-eye{
  font-size:11px !important;
  letter-spacing:.32em !important;
  margin-bottom:clamp(10px,1.1vw,22px) !important;
  color:rgba(201,168,112,.92) !important;
}
#nf-main.nf-entwurf-escort-hamburg .nf-city-expertise--cinematic .sec-h,
#nf-main.nf-entwurf-escort-hamburg .nf-city-expertise--cinematic h2.sec-h,
.nf-city-expertise--cinematic .sec-h,
.nf-city-expertise--cinematic h2.sec-h{
  font-family:'Josefin Sans',sans-serif !important;
  font-size:clamp(22px,3.2vw,42px) !important;
  font-weight:200 !important;
  letter-spacing:.12em !important;
  line-height:1.28 !important;
  text-transform:uppercase !important;
  color:rgba(255,250,242,.93) !important;
  margin:0 0 clamp(14px,1.6vw,22px) !important;
  max-width:22em;
  margin-left:auto !important;
  margin-right:auto !important;
}
.nf-city-expertise-leads{
  max-width:760px;
  margin:0 auto;
}
.nf-city-expertise--cinematic .nf-city-expertise-lead{
  margin:0 auto;
  max-width:42rem;
  font-family:'Lato',sans-serif;
  font-size:16.5px;
  font-weight:300;
  line-height:1.92;
  color:rgba(245,236,224,.8);
}
.nf-city-expertise--cinematic .nf-city-expertise-steps{
  list-style:none;
  margin:clamp(28px,3.5vw,40px) auto 0;
  padding:0;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:0;
  max-width:1040px;
  text-align:left;
}
.nf-city-expertise--cinematic .nf-city-expertise-step{
  display:flex;
  flex-direction:column;
  gap:10px;
  padding:4px 22px 2px;
  border:0;
  background:transparent;
  position:relative;
}
.nf-city-expertise--cinematic .nf-city-expertise-step + .nf-city-expertise-step{
  border-left:1px solid rgba(201,168,112,.18);
}
.nf-city-expertise--cinematic .nf-city-expertise-num{
  display:block;
  margin:0 0 2px;
  font-family:'Josefin Sans',sans-serif;
  font-size:clamp(22px,2.4vw,32px);
  font-weight:200;
  letter-spacing:.08em;
  line-height:1;
  color:rgba(215,182,118,.95);
}
.nf-city-expertise--cinematic .nf-city-expertise-step-body h3{
  margin:0 0 8px;
  font-family:'Josefin Sans',sans-serif;
  font-size:12px;
  font-weight:400;
  letter-spacing:.18em;
  text-transform:uppercase;
  line-height:1.4;
  color:rgba(232,214,180,.95);
}
.nf-city-expertise--cinematic .nf-city-expertise-step-body p{
  margin:0;
  font-family:'Lato',sans-serif;
  font-size:14px;
  font-weight:300;
  line-height:1.7;
  color:rgba(245,236,224,.72);
}

/* Legacy cream expertise (unused on cinematic draft) */
.nf-city-expertise:not(.nf-city-expertise--cinematic){
  padding:var(--nf-band-pad-y, 88px) var(--nf-band-pad-x, 52px);
  background:var(--cream2,#ede8de);
  border-top:1px solid rgba(138,104,16,.12);
}
.nf-city-expertise-inner{max-width:980px;margin:0 auto}
.nf-city-expertise:not(.nf-city-expertise--cinematic) h2{
  margin:8px 0 14px;
  font-family:'Josefin Sans',sans-serif;
  font-weight:300;
  font-size:clamp(22px,2.4vw,32px);
  color:var(--ink3,#1e1b17);
}
.nf-city-expertise:not(.nf-city-expertise--cinematic) .nf-city-expertise-lead{
  margin:0 0 28px;
  font-family:'Lato',sans-serif;
  font-size:15px;
  line-height:1.75;
  color:rgba(26,24,21,.72);
  max-width:42rem;
}
.nf-city-expertise:not(.nf-city-expertise--cinematic) .nf-city-expertise-steps{
  list-style:none;
  margin:0;padding:0;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
}
.nf-city-expertise:not(.nf-city-expertise--cinematic) .nf-city-expertise-steps li{
  padding:18px 16px;
  border:1px solid rgba(138,104,16,.16);
  background:rgba(255,255,255,.55);
}
.nf-city-expertise:not(.nf-city-expertise--cinematic) .nf-city-expertise-num{
  display:block;
  margin-bottom:8px;
  font-family:'Josefin Sans',sans-serif;
  font-size:11px;
  letter-spacing:.18em;
  color:var(--gold3,#8a6830);
}
.nf-city-expertise:not(.nf-city-expertise--cinematic) .nf-city-expertise-steps h3{
  margin:0 0 8px;
  font-family:'Josefin Sans',sans-serif;
  font-size:22px;
  font-weight:500;
  color:var(--ink3,#1e1b17);
}
.nf-city-expertise:not(.nf-city-expertise--cinematic) .nf-city-expertise-steps p{
  margin:0;
  font-family:'Lato',sans-serif;
  font-size:13px;
  line-height:1.65;
  color:rgba(26,24,21,.7);
}

.nf-city-trust-contact{
  margin-top:28px;
  padding-top:22px;
  border-top:1px solid rgba(201,168,112,.18);
  text-align:center;
  font-family:'Lato',sans-serif;
  font-size:14px;
  line-height:1.7;
  color:rgba(255,255,255,.72);
}
.nf-city-trust--cinematic .nf-city-trust-contact{
  margin-top:clamp(28px,3.5vw,40px);
  padding-top:0;
  border-top:0;
}
.nf-city-trust--cinematic .nf-city-trust-contact-line{
  margin:0;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:center;
  gap:10px 14px;
  font-family:'Josefin Sans',sans-serif;
  font-size:13px;
  font-weight:300;
  letter-spacing:.08em;
}
.nf-city-trust--cinematic .nf-city-trust-sep{
  color:rgba(201,168,112,.45);
  font-size:18px;
  line-height:1;
}
.nf-city-trust-contact a{color:#d8bf90;text-decoration:none}
.nf-city-trust--cinematic .nf-city-trust-contact a{
  color:#e2c994;
  transition:color .25s ease;
}
.nf-city-trust-contact a:hover{text-decoration:underline;color:#efebe3}
.nf-city-trust--cinematic .nf-city-trust-contact a:hover{
  color:#fff8ee;
  text-decoration:none;
  text-shadow:0 0 18px rgba(201,168,112,.25);
}
.nf-city-trust-hours{margin:8px 0 0;font-size:13px;color:rgba(255,255,255,.58)}
.nf-city-trust--cinematic .nf-city-trust-hours{
  margin-top:12px;
  font-family:'Lato',sans-serif;
  font-size:12.5px;
  font-weight:300;
  letter-spacing:.02em;
  color:rgba(245,236,224,.48);
  max-width:36em;
  margin-left:auto;
  margin-right:auto;
}
.nf-city-trust-legal{margin:10px 0 0;font-size:12px;letter-spacing:.04em;color:rgba(255,255,255,.45)}

@media(max-width:1100px){
  .nf-city-trust--cinematic .nf-city-trust-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .nf-city-trust--cinematic .nf-city-trust-item:nth-child(2n)::after{display:none}
  .nf-city-trust--cinematic .nf-city-trust-item:nth-child(n+3){
    border-top:1px solid rgba(201,168,112,.14);
  }
}

@media(max-width:900px){
  .nf-city-media-strip{padding:48px 22px}
  .nf-city-media-strip-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .nf-city-models-preview-grid--six{grid-template-columns:repeat(2,minmax(0,1fr))}
  .nf-city-expertise.nf-city-expertise--cinematic{
    padding:28px 16px 40px;
  }
  .nf-city-expertise-panel.about-centerpiece{
    padding:38px 22px 34px;
    border-radius:12px;
  }
  .nf-city-expertise--cinematic .nf-city-expertise-steps{
    grid-template-columns:1fr 1fr;
    gap:22px 0;
  }
  .nf-city-expertise--cinematic .nf-city-expertise-step{
    padding:4px 16px 2px;
  }
  .nf-city-expertise--cinematic .nf-city-expertise-step:nth-child(2n+1){
    border-left:0;
  }
  .nf-city-expertise--cinematic .nf-city-expertise-step:nth-child(n+3){
    border-top:1px solid rgba(201,168,112,.16);
    padding-top:18px;
  }
  .nf-city-expertise:not(.nf-city-expertise--cinematic){padding:56px 22px}
  .nf-city-expertise:not(.nf-city-expertise--cinematic) .nf-city-expertise-steps{grid-template-columns:1fr 1fr}
  .nf-city-booking-quick{padding:20px 22px 8px}
  .nf-city-booking-quick-steps,
  .nf-booking-contact-row,
  .nf-booking-page-steps{grid-template-columns:1fr}
  .nf-city-sticky-cta-inner{
    flex-direction:row;
    align-items:center;
    gap:10px;
  }
  .nf-city-sticky-lead{flex:1;min-width:0}
  .nf-city-sticky-phone-full{display:none}
  .nf-city-sticky-phone-short{display:inline}
  .nf-city-sticky-link{padding:10px 12px;font-size:10px}
}
@media(max-width:560px){
  .nf-city-expertise--cinematic .nf-city-expertise-steps{grid-template-columns:1fr;gap:0}
  .nf-city-expertise--cinematic .nf-city-expertise-step{
    border-left:0 !important;
    border-top:1px solid rgba(201,168,112,.16);
    padding:18px 4px 16px;
  }
  .nf-city-expertise--cinematic .nf-city-expertise-step:first-child{
    border-top:0;
    padding-top:4px;
  }
  .nf-city-expertise:not(.nf-city-expertise--cinematic) .nf-city-expertise-steps{grid-template-columns:1fr}
  .nf-city-media-strip-grid{grid-template-columns:1fr 1fr}
  .nf-city-trust--cinematic .nf-city-trust-grid{grid-template-columns:1fr}
  .nf-city-trust--cinematic .nf-city-trust-item{
    display:grid;
    grid-template-columns:auto minmax(0,1fr);
    gap:16px 18px;
    align-items:start;
    padding:22px 8px;
  }
  .nf-city-trust--cinematic .nf-city-trust-item:nth-child(odd){border-right:0}
  .nf-city-trust--cinematic .nf-city-trust-item:not(:first-child){
    border-top:1px solid rgba(201,168,112,.14);
  }
  .nf-city-trust--cinematic .nf-city-trust-idx{
    font-size:26px;
    padding-top:2px;
  }
  .nf-city-trust--cinematic .nf-city-trust-contact-line{
    flex-direction:column;
    gap:6px;
  }
  .nf-city-trust--cinematic .nf-city-trust-contact-line .nf-city-trust-sep{display:none}
}
.nf-city-trust-contact--legal-only .nf-city-trust-legal{
  margin:0;
}
@media(prefers-reduced-motion:reduce){
  .nf-city-sticky-cta{transition:none}
  .nf-city-media-strip-card,
  #nf-main.nf-entwurf-escort-hamburg .nf-city-media-strip-card{
    animation:none !important;
    box-shadow:0 2px 22px rgba(201,168,112,.07),0 0 0 1px rgba(201,168,112,.07);
    transition:none;
  }
  .nf-city-media-strip-card:hover,
  #nf-main.nf-entwurf-escort-hamburg .nf-city-media-strip-card:hover{
    transform:none;
    animation:none !important;
    box-shadow:0 2px 22px rgba(201,168,112,.07),0 0 0 1px rgba(201,168,112,.07);
  }
  .nf-city-media-strip-card img{transition:none;transform:none !important}
  .nf-city-trust--cinematic .nf-city-trust-item,
  .nf-city-trust--cinematic .nf-city-trust-idx{transition:none}
}

/* Space for sticky CTA */
.nf-city-final-cta{padding-bottom:calc(88px + env(safe-area-inset-bottom));}

/* ── Hannah consultation (#beraterin) — cinematic H2, reading body, larger portrait ── */
#nf-main.nf-entwurf-escort-hamburg #beraterin.closing--has-media{
  padding:clamp(64px,8vw,96px) var(--nf-band-pad-x,52px);
}
#nf-main.nf-entwurf-escort-hamburg #beraterin .cl-layout{
  max-width:1320px;
  display:grid;
  grid-template-columns:minmax(300px,1fr) minmax(300px,min(46vw,500px));
  gap:clamp(36px,5vw,64px);
  align-items:center;
}
#nf-main.nf-entwurf-escort-hamburg #beraterin .cl-in{
  max-width:min(740px,100%);
  margin:0;
  justify-self:start;
  text-align:left;
  padding-right:clamp(8px,1.5vw,24px);
}
#nf-main.nf-entwurf-escort-hamburg #beraterin .cl-eye{
  text-align:left;
  margin-bottom:clamp(16px,1.8vw,22px);
  letter-spacing:.28em;
  color:var(--nf-eyebrow-color,rgba(201,168,112,.9));
}
#nf-main.nf-entwurf-escort-hamburg #beraterin .cl-poem{
  font-family:'Josefin Sans',sans-serif;
  font-style:normal;
  font-size:inherit;
  margin:0 0 clamp(14px,1.6vw,20px);
  max-width:min(40rem,100%);
  margin-left:0;
  margin-right:0;
  text-align:left;
}
#nf-main.nf-entwurf-escort-hamburg #beraterin .cl-poem-lead,
#nf-main.nf-entwurf-escort-hamburg #beraterin h2.cl-poem-lead,
#nf-main.nf-entwurf-escort-hamburg #beraterin .cl-poem-lead.nf-city-optical-h2{
  display:block;
  margin:0 0 .28em !important;
  max-width:none !important;
  font-family:'Josefin Sans',sans-serif !important;
  font-size:clamp(22px,2.8vw,36px) !important;
  font-weight:200 !important;
  font-style:normal !important;
  letter-spacing:.12em !important;
  line-height:1.28 !important;
  text-transform:uppercase !important;
  text-align:left !important;
  color:rgba(255,250,242,.96) !important;
  text-shadow:0 1px 2px rgba(0,0,0,.28),0 4px 20px rgba(0,0,0,.24);
  text-wrap:balance;
}
/* Closing poem last line — brand gold (Mit Vertrauen) */
#nf-main.nf-entwurf-escort-hamburg #beraterin .cl-poem-lead .cl-poem-gold,
#nf-main.nf-entwurf-escort-hamburg #beraterin h2.cl-poem-lead .cl-poem-gold{
  display:block;
  color:var(--gold,rgba(201,168,112,.92)) !important;
  text-shadow:none;
}
#nf-main.nf-entwurf-escort-hamburg #beraterin .cl-orn{display:none !important}
#nf-main.nf-entwurf-escort-hamburg #beraterin .cl-poem .g{
  display:block;
  margin:.55em 0 0;
  font-family:'Josefin Sans',sans-serif !important;
  font-size:clamp(11px,.92vw,13px) !important;
  font-weight:400 !important;
  font-style:normal !important;
  letter-spacing:.24em !important;
  line-height:1.72 !important;
  text-transform:uppercase !important;
  color:rgba(255,255,255,.88) !important;
  text-align:left;
}
#nf-main.nf-entwurf-escort-hamburg #beraterin .cl-body{
  margin:0 0 clamp(18px,2vw,26px);
  max-width:740px;
  font-family:'Lato',sans-serif !important;
  font-size:clamp(14px,1.15vw,16px) !important;
  font-weight:300 !important;
  letter-spacing:.02em !important;
  line-height:1.75 !important;
  text-transform:none !important;
  color:rgba(245,236,224,.74) !important;
  text-align:left;
}
#nf-main.nf-entwurf-escort-hamburg #beraterin .cl-orn{
  justify-content:flex-start;
  margin-bottom:clamp(18px,2.2vw,26px);
}
#nf-main.nf-entwurf-escort-hamburg #beraterin .cl-contacts{
  justify-content:flex-start;
  align-items:center;
  flex-wrap:nowrap;
  gap:0;
  row-gap:10px;
  margin-bottom:clamp(26px,3vw,36px);
}
#nf-main.nf-entwurf-escort-hamburg #beraterin .cl-c{
  font-size:clamp(13px,.92vw,15px);
  letter-spacing:.035em;
  padding:0 14px;
  gap:8px;
}
#nf-main.nf-entwurf-escort-hamburg #beraterin .cl-c:first-of-type{padding-left:0}
#nf-main.nf-entwurf-escort-hamburg #beraterin .cl-c svg,
#nf-main.nf-entwurf-escort-hamburg #beraterin .cl-c .cl-c-ico{
  width:15px;
  height:15px;
  min-width:15px;
  min-height:15px;
}
#nf-main.nf-entwurf-escort-hamburg #beraterin .cl-links{
  justify-content:flex-start;
  gap:18px;
  margin-bottom:0;
}
#nf-main.nf-entwurf-escort-hamburg #beraterin .cl-links .text-link{
  color:#0d0b09 !important;
  border:1px solid rgba(201,168,112,.45) !important;
  background:linear-gradient(145deg,#d4b87a 0%,var(--gold,#c9a870) 48%,#a68440 100%) !important;
  box-shadow:0 4px 14px rgba(0,0,0,.32),inset 0 1px 0 rgba(255,255,255,.2) !important;
  min-width:min(240px,100%);
  min-height:40px;
  justify-content:center;
}
/* Secondary: premium outline — same size as primary */
#nf-main.nf-entwurf-escort-hamburg #beraterin .cl-links .text-link.dim{
  color:rgba(241,228,207,.95) !important;
  border:1px solid rgba(201,168,112,.5) !important;
  background:rgba(255,255,255,.03) !important;
  box-shadow:none !important;
  min-width:min(240px,100%);
  min-height:40px;
}
#nf-main.nf-entwurf-escort-hamburg #beraterin .cl-links .text-link.dim:hover{
  color:#fff !important;
  background:rgba(201,168,112,.12) !important;
  box-shadow:0 8px 18px rgba(0,0,0,.28) !important;
}
#nf-main.nf-entwurf-escort-hamburg #beraterin .cl-links .text-link::after{content:none !important}
#nf-main.nf-entwurf-escort-hamburg #beraterin .cl-visual{
  max-width:min(500px,46vw);
  justify-self:end;
  width:100%;
}
#nf-main.nf-entwurf-escort-hamburg #beraterin .cl-photo-frame,
#nf-main.nf-entwurf-escort-hamburg #beraterin .cl-photo{
  width:100%;
  aspect-ratio:3/4;
  object-fit:cover;
  object-position:center 22%;
}
@media(max-width:900px){
  #nf-main.nf-entwurf-escort-hamburg #beraterin .cl-layout{
    grid-template-columns:1fr;
    gap:clamp(28px,5vw,40px);
  }
  #nf-main.nf-entwurf-escort-hamburg #beraterin .cl-in,
  #nf-main.nf-entwurf-escort-hamburg #beraterin .cl-eye,
  #nf-main.nf-entwurf-escort-hamburg #beraterin .cl-poem,
  #nf-main.nf-entwurf-escort-hamburg #beraterin .cl-poem-lead,
  #nf-main.nf-entwurf-escort-hamburg #beraterin .cl-poem .g,
  #nf-main.nf-entwurf-escort-hamburg #beraterin .cl-body{
    text-align:center !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
  #nf-main.nf-entwurf-escort-hamburg #beraterin .cl-orn,
  #nf-main.nf-entwurf-escort-hamburg #beraterin .cl-contacts,
  #nf-main.nf-entwurf-escort-hamburg #beraterin .cl-links{
    justify-content:center;
  }
  #nf-main.nf-entwurf-escort-hamburg #beraterin .cl-contacts{
    flex-wrap:wrap;
  }
  #nf-main.nf-entwurf-escort-hamburg #beraterin .cl-c{
    border-left:none !important;
    padding:0 10px !important;
  }
  #nf-main.nf-entwurf-escort-hamburg #beraterin .cl-visual{
    max-width:min(420px,88vw);
    margin:0 auto;
    justify-self:center;
  }
  #nf-main.nf-entwurf-escort-hamburg #beraterin .cl-links{
    flex-direction:column;
    align-items:center;
  }
}

/* ── Final closing band (Entwurf) — light cream (match #warum / Vertrauen) ── */
#nf-main.nf-entwurf-escort-hamburg .closing--final{
  background:linear-gradient(180deg,#f7f3ec 0%,#f1ebe2 100%);
  background-image:linear-gradient(180deg,#f7f3ec 0%,#f1ebe2 100%);
  color:rgba(30,27,23,.78);
  padding:clamp(64px,8vw,96px) var(--nf-band-pad-x,52px) calc(clamp(64px,8vw,96px) + env(safe-area-inset-bottom));
}
/* Soft gold wash for cream (replaces cinematic dark radial) */
#nf-main.nf-entwurf-escort-hamburg .closing--final::before{
  top:0;
  left:0;
  transform:none;
  width:100%;
  height:100%;
  background:
    radial-gradient(ellipse 70% 55% at 50% -8%, rgba(201,168,112,.12) 0%, transparent 58%),
    radial-gradient(ellipse 45% 40% at 50% 108%, rgba(201,168,112,.06) 0%, transparent 55%);
}
#nf-main.nf-entwurf-escort-hamburg .closing--final .cl-layout{
  max-width:720px;
  margin:0 auto;
  display:block;
}
#nf-main.nf-entwurf-escort-hamburg .closing--final .cl-in{
  max-width:100%;
  margin:0 auto;
  text-align:center;
  padding-right:0;
}
#nf-main.nf-entwurf-escort-hamburg .closing--final .cl-eye{
  font-size:clamp(10px,.82vw,12px);
  letter-spacing:.28em;
  margin-bottom:clamp(18px,2vw,26px);
  color:var(--nf-eyebrow-color,rgba(201,168,112,.92));
}
#nf-main.nf-entwurf-escort-hamburg .closing--final .cl-poem{
  font-style:normal;
  font-size:clamp(20px,2.65vw,34px);
  line-height:1.32;
  letter-spacing:.12em;
  margin-bottom:clamp(14px,1.6vw,22px);
  max-width:min(34rem,100%);
  margin-left:auto;
  margin-right:auto;
  text-wrap:balance;
}
#nf-main.nf-entwurf-escort-hamburg .closing--final .cl-poem-lead{
  display:block;
  font-family:'Josefin Sans',sans-serif;
  font-weight:200;
  font-style:normal;
  letter-spacing:.12em;
  line-height:1.32;
  text-transform:uppercase;
  color:var(--ink3,#1e1b17);
  text-shadow:none;
  margin-bottom:.28em;
}
#nf-main.nf-entwurf-escort-hamburg .closing--final .cl-poem-lead .cl-poem-gold,
#nf-main.nf-entwurf-escort-hamburg #kontakt.closing--final .cl-poem-lead .cl-poem-gold,
#nf-main.nf-entwurf-escort-hamburg #final-cta .cl-poem-lead .cl-poem-gold{
  display:inline;
  color:var(--gold,rgba(201,168,112,.92)) !important;
  text-shadow:none;
}
#nf-main.nf-entwurf-escort-hamburg .closing--final .cl-orn,
#nf-main.nf-entwurf-escort-hamburg #kontakt .cl-orn,
#nf-main.nf-entwurf-escort-hamburg #final-cta .cl-orn{display:none !important}
#nf-main.nf-entwurf-escort-hamburg .closing--final .cl-poem .g{
  display:block;
  margin-top:.55em;
  font-family:'Josefin Sans',sans-serif;
  font-size:clamp(11px,.92vw,13px);
  line-height:1.72;
  font-weight:400;
  font-style:normal !important;
  letter-spacing:.24em;
  text-transform:uppercase;
  color:rgba(30,27,23,.55);
}
#nf-main.nf-entwurf-escort-hamburg .closing--final .cl-body{
  font-family:'Lato',sans-serif;
  font-size:clamp(14px,1.15vw,16px);
  font-weight:300;
  letter-spacing:.02em;
  line-height:1.75;
  text-transform:none;
  color:rgba(30,27,23,.72);
  max-width:36em;
  margin:0 auto clamp(16px,2vw,24px); /* slight tidy toward contact row */
}
#nf-main.nf-entwurf-escort-hamburg .closing--final .cl-orn{
  margin-bottom:clamp(22px,2.5vw,30px);
}
#nf-main.nf-entwurf-escort-hamburg .closing--final .cl-contacts,
#nf-main.nf-entwurf-escort-hamburg #kontakt.closing--final .cl-contacts{
  margin-bottom:clamp(28px,3vw,40px);
  flex-wrap:nowrap;
  align-items:center;
  gap:0;
  row-gap:10px;
  justify-content:center;
}
#nf-main.nf-entwurf-escort-hamburg .closing--final .cl-c,
#nf-main.nf-entwurf-escort-hamburg #kontakt.closing--final .cl-c{
  white-space:nowrap;
  font-size:clamp(13px,.92vw,15px);
  letter-spacing:.035em;
  padding:0 14px;
  gap:8px;
  color:rgba(30,27,23,.78) !important;
}
#nf-main.nf-entwurf-escort-hamburg .closing--final .cl-c:hover,
#nf-main.nf-entwurf-escort-hamburg #kontakt.closing--final .cl-c:hover{
  color:var(--gold3,#8a6830) !important;
}
#nf-main.nf-entwurf-escort-hamburg .closing--final .cl-c:first-of-type,
#nf-main.nf-entwurf-escort-hamburg #kontakt.closing--final .cl-c:first-of-type{padding-left:0}
#nf-main.nf-entwurf-escort-hamburg .closing--final .cl-links{
  gap:18px;
  margin-bottom:clamp(18px,2vw,28px);
}
#nf-main.nf-entwurf-escort-hamburg .closing--final .cl-links .text-link{
  font-family:'Josefin Sans',sans-serif !important;
  font-size:12px !important;
  font-weight:500 !important;
  letter-spacing:.17em !important;
  text-transform:uppercase !important;
  text-decoration:none !important;
  color:#0d0b09 !important;
  border:1px solid rgba(201,168,112,.45) !important;
  padding:10px 18px !important;
  min-height:40px !important;
  min-width:min(240px,100%);
  border-radius:3px !important;
  background:linear-gradient(145deg,#d4b87a 0%,var(--gold,#c9a870) 48%,#a68440 100%) !important;
  box-shadow:0 4px 14px rgba(57,36,12,.12),inset 0 1px 0 rgba(255,255,255,.2) !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:8px !important;
}
#nf-main.nf-entwurf-escort-hamburg .closing--final .cl-links .text-link::after{content:none !important}
#nf-main.nf-entwurf-escort-hamburg .closing--final .cl-links .text-link:hover{
  color:#0d0b09 !important;
  transform:translateY(-1px);
  box-shadow:0 6px 18px rgba(201,168,112,.22),inset 0 1px 0 rgba(255,255,255,.24) !important;
}
#nf-main.nf-entwurf-escort-hamburg .closing--final .cl-links .text-link .arr{transition:transform .2s ease}
#nf-main.nf-entwurf-escort-hamburg .closing--final .cl-links .text-link:hover .arr{transform:translateX(3px)}
/* Secondary: gold outline on cream — match .nf-city-cta.dim light pattern */
#nf-main.nf-entwurf-escort-hamburg .closing--final .cl-links .text-link.dim,
#nf-main.nf-entwurf-escort-hamburg #kontakt.closing--final .cl-links .text-link.dim{
  color:#8a6830 !important;
  border:1px solid rgba(201,168,112,.45) !important;
  background:transparent !important;
  background-image:none !important;
  box-shadow:none !important;
  min-width:min(240px,100%);
  min-height:40px !important;
}
#nf-main.nf-entwurf-escort-hamburg .closing--final .cl-links .text-link.dim:hover,
#nf-main.nf-entwurf-escort-hamburg #kontakt.closing--final .cl-links .text-link.dim:hover{
  color:#6d521f !important;
  background:rgba(201,168,112,.08) !important;
  box-shadow:none !important;
}
#nf-main.nf-entwurf-escort-hamburg .closing--final .cl-hours{
  font-family:'Josefin Sans',sans-serif;
  font-size:clamp(11px,.9vw,12px);
  font-weight:400;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:rgba(30,27,23,.55);
  margin:0 auto;
  max-width:36em;
  line-height:1.7;
}
@media(max-width:720px){
  #nf-main.nf-entwurf-escort-hamburg .closing--final .cl-contacts,
  #nf-main.nf-entwurf-escort-hamburg #kontakt.closing--final .cl-contacts{
    flex-wrap:wrap;
  }
  #nf-main.nf-entwurf-escort-hamburg .closing--final .cl-c,
  #nf-main.nf-entwurf-escort-hamburg #kontakt.closing--final .cl-c{
    border-left:none !important;
    padding:0 10px !important;
  }
  #nf-main.nf-entwurf-escort-hamburg .closing--final .cl-links{
    flex-direction:column;
    align-items:center;
    gap:14px;
  }
  #nf-main.nf-entwurf-escort-hamburg .closing--final .cl-links .text-link{
    min-width:min(240px,88vw);
  }
}

/* ===== Abend-Skripte — cinematic sticky panels (BOC-inspired) ===== */
#nf-main.nf-entwurf-escort-hamburg .nf-city-itineraries{
  background:#0c0b0a;
  border-top:1px solid rgba(201,168,112,.18);
  padding:0;
  overflow:visible;
}
#nf-main.nf-entwurf-escort-hamburg .nf-city-itineraries-inner{
  max-width:920px;
  margin:0 auto;
  padding:24px 24px 36px;
  text-align:center;
}
/* Intro band — editorial-luxury type stack above cinematic panels */
#nf-main.nf-entwurf-escort-hamburg .nf-city-itineraries-intro{
  max-width:760px;
  padding:clamp(56px,7.5vw,96px) clamp(22px,4vw,32px) clamp(40px,5vw,56px);
  display:flex;
  flex-direction:column;
  align-items:center;
}
/* Match Buchungsablauf / Warum Never Forget gold .sec-eye exactly */
#nf-main.nf-entwurf-escort-hamburg .nf-city-itineraries-intro .sec-eye,
#nf-main.nf-entwurf-escort-hamburg .nf-city-itineraries-inner--raster > .sec-eye,
#nf-main.nf-entwurf-escort-hamburg .nf-city-itineraries .sec-eye{
  font-family:'Josefin Sans',sans-serif !important;
  font-size:11px !important;
  font-weight:400 !important;
  letter-spacing:.32em !important;
  line-height:normal !important;
  margin:0 0 clamp(10px,1.1vw,22px) !important;
  text-transform:uppercase !important;
  color:rgba(201,168,112,.92) !important;
}
/* Intro eyebrow only — rise-in; raster eyebrow stays static gold */
#nf-main.nf-entwurf-escort-hamburg .nf-city-itineraries-intro .sec-eye{
  opacity:0;
  animation:nf-itin-intro-rise .9s cubic-bezier(.16,1,.3,1) .08s both;
}
#nf-main.nf-entwurf-escort-hamburg .nf-city-itineraries-ornament{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  width:100%;
  margin:clamp(4px,.6vw,8px) 0 clamp(20px,2.4vw,28px);
  opacity:0;
  animation:nf-itin-intro-rise .9s cubic-bezier(.16,1,.3,1) .28s both;
}
#nf-main.nf-entwurf-escort-hamburg .nf-city-itineraries-ornament::before,
#nf-main.nf-entwurf-escort-hamburg .nf-city-itineraries-ornament::after{
  content:"";
  width:min(64px,16vw);
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(201,168,112,.5));
}
#nf-main.nf-entwurf-escort-hamburg .nf-city-itineraries-ornament::after{
  background:linear-gradient(90deg,rgba(201,168,112,.5),transparent);
}
#nf-main.nf-entwurf-escort-hamburg .nf-city-itineraries-ornament i{
  display:block;
  width:5px;
  height:5px;
  border:1px solid rgba(201,168,112,.7);
  transform:rotate(45deg);
}
#nf-main.nf-entwurf-escort-hamburg .nf-city-itineraries-inner--raster{
  background:
    linear-gradient(180deg, #f3eee4 0%, #faf7f1 18%, #faf7f1 100%);
  max-width:none;
  padding:clamp(80px,10vw,120px) clamp(22px,4vw,32px) clamp(48px,6vw,72px);
  text-align:center;
}
#nf-main.nf-entwurf-escort-hamburg .nf-city-itineraries-inner--raster .nf-city-itineraries-grid{
  max-width:1100px;
  margin:0 auto;
  text-align:left;
  gap:20px;
}
#nf-main.nf-entwurf-escort-hamburg .nf-city-itineraries h2,
#nf-main.nf-entwurf-escort-hamburg .nf-city-itineraries-lead{
  color:rgba(255,250,242,.92) !important;
}
/* Optical title — cinematic .sec-h metrics (NOT semantic h2); cream on dark band */
#nf-main.nf-entwurf-escort-hamburg .nf-city-itineraries-intro .nf-city-optical-h2,
#nf-main.nf-entwurf-escort-hamburg .nf-city-itineraries .nf-city-optical-h2,
#nf-main.nf-entwurf-escort-hamburg .nf-city-itineraries-intro h2{
  font-family:'Josefin Sans',sans-serif !important;
  font-size:clamp(22px,3.2vw,42px) !important;
  font-weight:200 !important;
  letter-spacing:.12em !important;
  line-height:1.28 !important;
  text-transform:uppercase !important;
  text-align:center !important;
  max-width:22em;
  margin:0 auto clamp(10px,1.2vw,16px) !important;
  color:rgba(255,250,242,.93) !important;
  opacity:0;
  animation:nf-itin-intro-rise 1s cubic-bezier(.16,1,.3,1) .18s both;
}
#nf-main.nf-entwurf-escort-hamburg .nf-city-itineraries h2{
  font-family:'Josefin Sans',sans-serif !important;
  font-size:clamp(22px,3.2vw,42px) !important;
  font-weight:200 !important;
  letter-spacing:.12em !important;
  line-height:1.28 !important;
  text-transform:uppercase !important;
  max-width:18em;
  margin-left:auto !important;
  margin-right:auto !important;
}
#nf-main.nf-entwurf-escort-hamburg .nf-city-itineraries-leads{
  max-width:34em;
  margin:0 auto;
  opacity:0;
  animation:nf-itin-intro-rise 1s cubic-bezier(.16,1,.3,1) .42s both;
}
#nf-main.nf-entwurf-escort-hamburg .nf-city-itineraries-lead{
  max-width:38em;
  margin:0 auto 14px;
  color:rgba(245,236,224,.62) !important;
  font-size:15px;
  font-weight:300;
  line-height:1.85;
  letter-spacing:.01em;
}
#nf-main.nf-entwurf-escort-hamburg .nf-city-itineraries-lead.is-lede{
  font-size:clamp(15.5px,1.35vw,17px);
  line-height:1.9;
  color:rgba(245,236,224,.78) !important;
  margin-bottom:12px;
}
#nf-main.nf-entwurf-escort-hamburg .nf-city-itineraries-leads .nf-city-itineraries-lead:last-child{
  margin-bottom:0;
}
#nf-main.nf-entwurf-escort-hamburg .nf-city-itineraries-intro-cta{
  display:flex;
  justify-content:center;
  margin-top:clamp(28px,3.6vw,40px);
  opacity:0;
  animation:nf-itin-intro-rise 1s cubic-bezier(.16,1,.3,1) .58s both;
}
#nf-main.nf-entwurf-escort-hamburg .nf-city-itineraries-intro-cta .nf-city-itineraries-cta{
  min-height:42px !important;
  padding:10px 20px !important;
  border-radius:4px !important;
  border:1px solid rgba(201,168,112,.5) !important;
  box-shadow:0 6px 18px rgba(0,0,0,.35), inset 0 1px 0 rgba(255,255,255,.16) !important;
  font-family:'Josefin Sans',sans-serif !important;
  font-size:11px !important;
  font-weight:500 !important;
  letter-spacing:.17em !important;
  text-transform:uppercase !important;
  text-decoration:none !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:8px !important;
  background:linear-gradient(145deg,#d4b87a 0%,var(--gold,#c9a870) 48%,#a68440 100%) !important;
  color:#0d0b09 !important;
  transition:transform .2s ease, box-shadow .2s ease;
}
#nf-main.nf-entwurf-escort-hamburg .nf-city-itineraries-intro-cta .nf-city-itineraries-cta::after{
  content:none !important;
}
#nf-main.nf-entwurf-escort-hamburg .nf-city-itineraries-intro-cta .nf-city-itineraries-cta .arr{
  transition:transform .2s ease;
}
#nf-main.nf-entwurf-escort-hamburg .nf-city-itineraries-intro-cta .nf-city-itineraries-cta:hover{
  transform:translateY(-1px);
}
#nf-main.nf-entwurf-escort-hamburg .nf-city-itineraries-intro-cta .nf-city-itineraries-cta:hover .arr{
  transform:translateX(3px);
}
#nf-main.nf-entwurf-escort-hamburg #date-inspiration{
  scroll-margin-top:88px;
}
#nf-main.nf-entwurf-escort-hamburg .nf-evening-cinematic-cue{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:14px;
  margin-top:clamp(28px,3.6vw,40px);
  opacity:0;
  animation:nf-itin-intro-rise 1s cubic-bezier(.16,1,.3,1) .58s both;
}
#nf-main.nf-entwurf-escort-hamburg .nf-evening-cinematic-hint{
  margin:0;
  text-align:center;
  font-family:'Josefin Sans',sans-serif !important;
  font-size:10px !important;
  font-weight:400 !important;
  letter-spacing:.38em !important;
  text-transform:uppercase;
  color:rgba(201,168,112,.78) !important;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:center;
  gap:0 .55em;
}
#nf-main.nf-entwurf-escort-hamburg .nf-evening-cinematic-hint-sep{
  letter-spacing:0;
  opacity:.55;
  margin:0 -.1em;
}
#nf-main.nf-entwurf-escort-hamburg .nf-evening-cinematic-cue-line{
  display:block;
  width:1px;
  height:36px;
  background:linear-gradient(180deg,rgba(201,168,112,.65),rgba(201,168,112,0));
  transform-origin:top center;
  animation:nf-itin-cue-breathe 2.4s ease-in-out .9s infinite;
}
@keyframes nf-itin-intro-rise{
  from{opacity:0;transform:translateY(14px)}
  to{opacity:1;transform:translateY(0)}
}
@keyframes nf-itin-cue-breathe{
  0%,100%{opacity:.45;transform:scaleY(.72)}
  50%{opacity:1;transform:scaleY(1)}
}
/* Dauer-Raster section title — reuse Stadtführer `.sec-h` (not gold eyebrow subhead) */
#nf-main.nf-entwurf-escort-hamburg .nf-city-itineraries-inner--raster > .sec-h{
  margin:0 auto clamp(28px,3.5vw,40px) !important;
  max-width:22em;
  text-align:center;
  /* Match cinematic Stadtführer h2 metrics; ink on cream (not white-on-cream) */
  font-family:'Josefin Sans',sans-serif !important;
  font-size:clamp(22px,3.2vw,42px) !important;
  font-weight:200 !important;
  letter-spacing:.12em !important;
  line-height:1.28 !important;
  text-transform:uppercase !important;
  color:var(--dk,#1a1815) !important;
}

/* Dauer-Raster cards — editorial luxury (interaction containers) */
#nf-main.nf-entwurf-escort-hamburg .nf-city-itineraries-inner--raster .nf-city-itinerary{
  position:relative;
  padding:clamp(26px,2.8vw,34px) clamp(22px,2.4vw,30px) clamp(22px,2.4vw,28px);
  border:1px solid rgba(201,168,112,.28);
  border-radius:2px;
  background:
    linear-gradient(180deg, rgba(255,252,247,.98) 0%, rgba(250,245,236,.94) 100%);
  box-shadow:none;
  transition:border-color .35s ease, background-color .35s ease, transform .35s cubic-bezier(.16,1,.3,1);
}
#nf-main.nf-entwurf-escort-hamburg .nf-city-itineraries-inner--raster .nf-city-itinerary::before{
  content:"";
  position:absolute;
  top:0;
  left:clamp(22px,2.4vw,30px);
  right:clamp(22px,2.4vw,30px);
  height:1px;
  background:linear-gradient(90deg, transparent, rgba(201,168,112,.55), transparent);
  opacity:.85;
  pointer-events:none;
}
#nf-main.nf-entwurf-escort-hamburg .nf-city-itineraries-inner--raster .nf-city-itinerary:hover{
  border-color:rgba(201,168,112,.48);
  background:
    linear-gradient(180deg, #fffdf9 0%, #f8f2e8 100%);
  transform:translateY(-2px);
}
#nf-main.nf-entwurf-escort-hamburg .nf-city-itineraries-inner--raster .nf-city-itinerary-duration{
  margin:0 0 12px;
  font-size:10px;
  letter-spacing:.28em;
  color:#9a7840;
}
#nf-main.nf-entwurf-escort-hamburg .nf-city-itineraries-inner--raster .nf-city-itinerary h4{
  margin:0 0 10px;
  font-family:'Josefin Sans',sans-serif !important;
  font-size:clamp(22px,2.2vw,28px) !important;
  font-weight:300 !important;
  letter-spacing:.02em;
  line-height:1.25;
  color:#1a1714 !important;
}
#nf-main.nf-entwurf-escort-hamburg .nf-city-itineraries-inner--raster .nf-city-itinerary-tagline{
  margin:0 0 20px;
  padding-bottom:18px;
  border-bottom:1px solid rgba(201,168,112,.18);
  font-size:14px;
  font-weight:300;
  line-height:1.7;
  color:rgba(26,24,21,.58);
}
#nf-main.nf-entwurf-escort-hamburg .nf-city-itineraries-inner--raster .nf-city-itinerary ol{
  gap:0;
}
#nf-main.nf-entwurf-escort-hamburg .nf-city-itineraries-inner--raster .nf-city-itinerary li{
  grid-template-columns:56px 1fr;
  gap:2px 14px;
  padding:14px 0;
  border-top:1px solid rgba(138,104,48,.1);
  font-size:13.5px;
  line-height:1.65;
  color:rgba(26,24,21,.68);
}
#nf-main.nf-entwurf-escort-hamburg .nf-city-itineraries-inner--raster .nf-city-itinerary li:first-child{
  border-top:0;
  padding-top:2px;
}
#nf-main.nf-entwurf-escort-hamburg .nf-city-itineraries-inner--raster .nf-city-itinerary-time{
  font-size:11px;
  letter-spacing:.1em;
  color:#9a7840;
  padding-top:3px;
}
#nf-main.nf-entwurf-escort-hamburg .nf-city-itineraries-inner--raster .nf-city-itinerary strong{
  font-family:'Josefin Sans',sans-serif;
  font-weight:400;
  letter-spacing:.015em;
  color:#1a1714;
}
@media(prefers-reduced-motion:reduce){
  #nf-main.nf-entwurf-escort-hamburg .nf-city-itineraries-inner--raster .nf-city-itinerary{
    transition:none;
  }
  #nf-main.nf-entwurf-escort-hamburg .nf-city-itineraries-inner--raster .nf-city-itinerary:hover{
    transform:none;
  }
}

.nf-evening-cinematic{
  position:relative;
  background:#0c0b0a;
}
.nf-evening-cinematic-wrap{
  position:relative;
  min-height:100vh;
  min-height:100dvh;
}
.nf-evening-cinematic-panel{
  position:relative;
  min-height:100vh;
  min-height:100dvh;
  width:100%;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:72px 22px 88px;
  box-sizing:border-box;
  scroll-snap-align:start;
  scroll-snap-stop:normal;
}
.nf-evening-cinematic-media{
  position:absolute;
  inset:0;
  margin:0;
  z-index:0;
}
.nf-evening-cinematic-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  filter:contrast(1.06) saturate(.92) brightness(.72);
  transform:scale(1.06);
  transition:transform 1.6s cubic-bezier(.16,1,.3,1), filter .6s ease;
}
.nf-evening-cinematic-wrap.is-inview .nf-evening-cinematic-media img{
  transform:scale(1);
}
.nf-evening-cinematic-scrim{
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:
    linear-gradient(180deg, rgba(8,7,6,.62) 0%, rgba(8,7,6,.48) 22%, rgba(8,7,6,.58) 48%, rgba(8,7,6,.82) 100%),
    radial-gradient(ellipse 85% 70% at 50% 42%, rgba(8,7,6,.55), transparent 68%),
    radial-gradient(ellipse 70% 55% at 50% 100%, rgba(201,168,112,.06), transparent 62%);
}
.nf-evening-cinematic-panel-inner{
  position:relative;
  z-index:2;
  width:min(640px,100%);
  text-align:center;
  color:rgba(255,250,242,.94);
  opacity:.55;
  transform:translateY(28px);
  transition:opacity .7s cubic-bezier(.16,1,.3,1), transform .7s cubic-bezier(.16,1,.3,1);
}
.nf-evening-cinematic-wrap.is-inview .nf-evening-cinematic-panel-inner{
  opacity:1;
  transform:none;
}
/* Big number + whisper kicker overlaid — avoids stacked “DATE IDEE” fighting the title */
.nf-evening-cinematic-mark{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  margin:-.88em 0 .28em; /* 01 still higher; leave room below for DATE IDEE */
  pointer-events:none;
  user-select:none;
}
.nf-evening-cinematic-num{
  display:block;
  font-family:'Josefin Sans',sans-serif;
  font-style:italic;
  font-weight:300;
  font-size:clamp(7.5rem,22vw,14rem);
  line-height:.85;
  letter-spacing:-.04em;
  color:rgba(255,255,255,.14);
  text-shadow:0 2px 24px rgba(0,0,0,.35);
}
.nf-evening-cinematic-kicker{
  position:absolute;
  left:50%;
  top:88%; /* DATE IDEE clearly under the 01 */
  z-index:1;
  display:inline-flex;
  align-items:center;
  gap:12px;
  margin:0;
  transform:translate(-50%,-20%);
  font-family:'Josefin Sans',sans-serif;
  font-style:normal;
  font-weight:400;
  font-size:10px;
  line-height:1;
  letter-spacing:.32em;
  text-transform:uppercase;
  white-space:nowrap;
  color:rgba(226,201,148,.78);
  text-shadow:
    0 1px 2px rgba(0,0,0,.65),
    0 2px 16px rgba(0,0,0,.55);
}
.nf-evening-cinematic-kicker::before,
.nf-evening-cinematic-kicker::after{
  content:"";
  width:min(36px,8vw);
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(201,168,112,.55));
}
.nf-evening-cinematic-kicker::after{
  background:linear-gradient(90deg,rgba(201,168,112,.55),transparent);
}
.nf-evening-cinematic-wrap.is-inview .nf-evening-cinematic-num{
  animation:nf-evening-num-settle 1.1s cubic-bezier(.16,1,.3,1) both;
}
@keyframes nf-evening-num-settle{
  from{transform:scale(1.28) translateY(36px);opacity:.35}
  to{transform:none;opacity:1}
}
.nf-evening-cinematic-title{
  margin:4px auto 10px;
  font-family:'Josefin Sans',sans-serif;
  font-size:clamp(22px,3.2vw,34px);
  font-weight:100;
  line-height:1.18;
  letter-spacing:.06em;
  text-align:center;
  text-transform:uppercase;
  color:#fffaf2;
  text-shadow:
    0 1px 2px rgba(0,0,0,.55),
    0 4px 28px rgba(0,0,0,.65),
    0 0 40px rgba(0,0,0,.35);
}
#nf-main.nf-entwurf-escort-hamburg .nf-evening-cinematic-title{
  color:#fffaf2 !important;
  font-family:'Josefin Sans',sans-serif !important;
  font-size:clamp(22px,3.2vw,34px) !important;
  font-weight:100 !important;
  text-transform:uppercase !important;
  letter-spacing:.06em !important;
  text-align:center !important;
  margin:4px auto 10px !important;
  max-width:20em;
}
.nf-evening-cinematic-tagline{
  margin:0 auto 18px;
  max-width:42em;
  padding:0 12px;
  font-family:'Lato',sans-serif;
  font-size:clamp(15.5px,1.75vw,18px);
  font-weight:400;
  line-height:1.65;
  color:rgba(255,250,242,.96);
  text-shadow:
    0 1px 2px rgba(0,0,0,.7),
    0 3px 18px rgba(0,0,0,.72),
    0 0 32px rgba(0,0,0,.45);
}
#nf-main.nf-entwurf-escort-hamburg .nf-evening-cinematic-tagline{
  color:rgba(255,250,242,.96) !important;
  font-weight:400 !important;
  max-width:42em !important;
  margin:0 auto 18px !important;
  padding:0 12px;
}
.nf-evening-cinematic-timeline{
  list-style:none;
  margin:0 auto;
  padding:22px 20px 18px;
  max-width:520px;
  text-align:left;
  background:rgba(10,9,8,.42);
  border:1px solid rgba(201,168,112,.22);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}
.nf-evening-cinematic-timeline li{
  display:grid;
  grid-template-columns:64px 1fr;
  gap:12px 16px;
  padding:12px 0;
  border-top:1px solid rgba(255,255,255,.08);
}
.nf-evening-cinematic-timeline li:first-child{border-top:0;padding-top:0}
.nf-evening-cinematic-timeline li:last-child{padding-bottom:0}
.nf-evening-cinematic-time{
  font-family:'Josefin Sans',sans-serif;
  font-size:12px;
  font-weight:400;
  letter-spacing:.08em;
  color:rgba(201,168,112,.95);
  padding-top:3px;
}
.nf-evening-cinematic-step{
  display:flex;
  flex-direction:column;
  gap:4px;
}
.nf-evening-cinematic-step strong{
  font-family:'Josefin Sans',sans-serif;
  font-size:clamp(14px,1.35vw,16px);
  font-weight:100;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:#fffaf2;
  line-height:1.3;
}
#nf-main.nf-entwurf-escort-hamburg .nf-evening-cinematic-step strong{
  font-weight:100 !important;
  letter-spacing:.12em !important;
  text-transform:uppercase !important;
}
.nf-evening-cinematic-step > span{
  font-family:'Lato',sans-serif;
  font-size:13.5px;
  font-weight:300;
  line-height:1.55;
  color:rgba(245,236,224,.72);
}
.nf-evening-cinematic-timeline .nf-city-itinerary-link{
  display:none;
}
.nf-evening-cinematic-ticks{
  position:absolute;
  bottom:22px;
  left:50%;
  transform:translateX(-50%);
  z-index:2;
  display:flex;
  gap:7px;
}
.nf-evening-cinematic-tick{
  display:block;
  width:28px;
  height:2px;
  background:rgba(255,255,255,.22);
}
.nf-evening-cinematic-tick.is-active{
  width:40px;
  background:rgba(201,168,112,.85);
}

@media(max-width:720px){
  .nf-evening-cinematic-panel{
    padding:72px 16px 88px;
  }
  .nf-evening-cinematic-panel-inner{
    opacity:1;
    transform:none;
  }
  .nf-evening-cinematic-timeline{
    padding:18px 14px 14px;
  }
  .nf-evening-cinematic-timeline li{
    grid-template-columns:52px 1fr;
    gap:8px 12px;
  }
  .nf-evening-cinematic-num{
    font-size:clamp(5.5rem,28vw,9rem);
  }
  .nf-evening-cinematic-kicker{
    letter-spacing:.24em;
    gap:10px;
  }
  .nf-evening-cinematic-kicker::before,
  .nf-evening-cinematic-kicker::after{
    width:24px;
  }
}

/* Reduced motion: no ken-burns / number settle / intro rise */
@media(prefers-reduced-motion:reduce){
  .nf-evening-cinematic-media img{
    transform:none !important;
    transition:none;
  }
  .nf-evening-cinematic-panel-inner{
    opacity:1 !important;
    transform:none !important;
    transition:none;
  }
  .nf-evening-cinematic-wrap.is-inview .nf-evening-cinematic-num{
    animation:none;
  }
  #nf-main.nf-entwurf-escort-hamburg .nf-city-itineraries-intro .sec-eye,
  #nf-main.nf-entwurf-escort-hamburg .nf-city-itineraries .sec-eye,
  #nf-main.nf-entwurf-escort-hamburg .nf-city-itineraries-ornament,
  #nf-main.nf-entwurf-escort-hamburg .nf-city-itineraries-intro h2,
  #nf-main.nf-entwurf-escort-hamburg .nf-city-itineraries-intro .nf-city-optical-h2,
  #nf-main.nf-entwurf-escort-hamburg .nf-city-itineraries .nf-city-optical-h2,
  #nf-main.nf-entwurf-escort-hamburg .nf-city-itineraries-leads,
  #nf-main.nf-entwurf-escort-hamburg .nf-evening-cinematic-cue{
    opacity:1 !important;
    transform:none !important;
    animation:none !important;
  }
  #nf-main.nf-entwurf-escort-hamburg .nf-evening-cinematic-cue-line{
    animation:none !important;
    opacity:.7;
    transform:none;
  }
}

/* ===== Entwurf — section rhythm closer to homepage (~64–96px) ===== */
/* Does not alter .nf-evening-cinematic* sticky/scroll internals. */
/*
 * CTA→grid gap owned by --nf-entwurf-cta-to-grid + padding-top on the following grid
 * so shorthand `margin:` rules cannot collapse the gap.
 * Keep readable air, avoid cavernous black spacer bands on dark sections (e.g. Privatjet).
 */
#nf-main.nf-entwurf-escort-hamburg{
  --nf-entwurf-section-pad-y: clamp(64px, 8vw, 96px);   /* homepage rhythm; was 120–176 */
  --nf-entwurf-section-gap: clamp(48px, 6vw, 72px);      /* was 80–136 */
  --nf-entwurf-cta-to-grid: clamp(40px, 5vw, 56px);      /* was 80–120 */
  --nf-entwurf-lead-to-grid: clamp(48px, 6vw, 72px);    /* rich intro → entity cards (was ~12px) */
  --nf-entwurf-eco-lead-to-nav: clamp(32px, 4vw, 48px); /* lead→nav only */
}

/* Guide / business spoke CTAs → card grids (hotels, restaurants, nightlife, …) */
#nf-main.nf-entwurf-escort-hamburg .nf-city-deep-ctas{
  margin-bottom: 0 !important; /* gap moved onto following grid (padding-top) */
}
#nf-main.nf-entwurf-escort-hamburg .nf-city-guide-rich-body > .nf-city-deep-ctas + .nf-city-guide-topic-grid,
#nf-main.nf-entwurf-escort-hamburg .nf-city-longform-inner > .nf-city-deep-ctas + .nf-city-guide-topic-grid,
#nf-main.nf-entwurf-escort-hamburg .nf-city-deep-ctas + .nf-city-guide-topic-grid{
  margin-top: 0 !important;
  padding-top: var(--nf-entwurf-cta-to-grid) !important;
}
/* Rich intros (no CTA) → entity cards — same padding-top ownership pattern as CTA→grid */
#nf-main.nf-entwurf-escort-hamburg .nf-city-guide-rich-body > .nf-city-guide-rich-intro + .nf-city-guide-topic-grid,
#nf-main.nf-entwurf-escort-hamburg .nf-city-longform-inner > .nf-city-guide-rich-intro + .nf-city-guide-topic-grid{
  margin-top: 0 !important;
  padding-top: var(--nf-entwurf-lead-to-grid) !important;
}
#nf-main.nf-entwurf-escort-hamburg .nf-city-guide-rich-body > .nf-city-guide-rich-intro:has(+ .nf-city-guide-topic-grid),
#nf-main.nf-entwurf-escort-hamburg .nf-city-longform-inner > .nf-city-guide-rich-intro:has(+ .nf-city-guide-topic-grid){
  margin-bottom: 0 !important;
}
/* Ecosystem: lead → spoke nav cards (own token — not CTA→grid) */
#nf-main.nf-entwurf-escort-hamburg .nf-city-eco-band--cinematic .nf-city-eco-lead{
  margin-bottom: var(--nf-entwurf-eco-lead-to-nav) !important;
}
#nf-main.nf-entwurf-escort-hamburg .nf-city-eco-band--cinematic .nf-city-eco-nav,
#nf-main.nf-entwurf-escort-hamburg .nf-city-eco-band .nf-city-eco-nav{
  margin-top: 0 !important;
}
#nf-main.nf-entwurf-escort-hamburg .nf-city-guide-topic-grid{
  gap: clamp(18px, 2.4vw, 26px);
}

/* Section-to-section: no margin between full-bleed bands (avoids bg color flash).
 * Consecutive inners keep the same pad-y — do not stack an extra gap (was creating
 * ~168–300px black bands above rounded cinematic media). */
#nf-main.nf-entwurf-escort-hamburg .nf-city-guide-rich-section + .nf-city-guide-rich-section .nf-city-guide-rich-inner{
  padding-top: var(--nf-entwurf-section-pad-y);
}

/* Role chooser cream cards — full band padding, homepage-scale */
#nf-main.nf-entwurf-escort-hamburg .nf-city-role-chooser{
  max-width:none;
  width:100%;
  box-sizing:border-box;
  margin:0;
  padding:var(--nf-entwurf-section-pad-y) var(--nf-band-pad-x, 52px) clamp(64px, 8vw, 96px);
  background:var(--cream, #f4f0e8);
  border-top:1px solid rgba(138,104,16,.1);
}
#nf-main.nf-entwurf-escort-hamburg .nf-city-role-chooser > .sec-eye,
#nf-main.nf-entwurf-escort-hamburg .nf-city-role-chooser > h2,
#nf-main.nf-entwurf-escort-hamburg .nf-city-role-chooser > .nf-city-role-chooser-lead,
#nf-main.nf-entwurf-escort-hamburg .nf-city-role-chooser > .nf-city-role-grid{
  max-width:1020px;
  margin-left:auto;
  margin-right:auto;
}
/* Abend role-chooser: harmonize head stack + equal card columns / CTA baseline */
#nf-main.nf-entwurf-escort-hamburg .nf-city-role-chooser > .sec-eye{
  margin-bottom:0 !important;
}
#nf-main.nf-entwurf-escort-hamburg .nf-city-role-chooser > h2{
  margin-top:12px !important;
  margin-bottom:14px !important;
}
#nf-main.nf-entwurf-escort-hamburg .nf-city-role-chooser > .nf-city-role-chooser-lead{
  margin-top:0 !important;
  margin-bottom:0 !important;
}
#nf-main.nf-entwurf-escort-hamburg .nf-city-role-chooser > .nf-city-role-grid{
  margin-top:32px !important;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  align-items:stretch;
}
#nf-main.nf-entwurf-escort-hamburg .nf-city-role-card{
  display:flex;
  flex-direction:column;
  height:100%;
  box-sizing:border-box;
  padding:22px 22px 20px;
  text-align:left !important;
}
#nf-main.nf-entwurf-escort-hamburg .nf-city-role-card .nf-city-guide-signature-kicker{
  flex-shrink:0;
  margin:0 0 10px !important;
}
#nf-main.nf-entwurf-escort-hamburg .nf-city-role-card h3,
#nf-main.nf-entwurf-escort-hamburg .nf-city-role-card .nf-city-role-title{
  flex-shrink:0;
  margin:0 0 10px !important;
  min-height:calc(1.25em * 2);
  line-height:1.25 !important;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  line-clamp:2;
  overflow:hidden;
  text-wrap:balance;
}
#nf-main.nf-entwurf-escort-hamburg .nf-city-role-card > p:not(.nf-city-guide-signature-kicker){
  flex:1 1 auto;
  margin:0 !important;
  text-align:left !important;
}
#nf-main.nf-entwurf-escort-hamburg .nf-city-role-cta{
  margin-top:auto !important;
  padding-top:14px;
  align-self:center;
  flex-shrink:0;
}
/* Persönliche Worte H2 — ~15% smaller + slightly tighter tracking (finish prior pass) */
#nf-main.nf-entwurf-escort-hamburg .nf-agency-compliments-sec:not(.nf-agency-compliments-sec--sedcard) .nf-agency-compliments-head .sec-h{
  font-size:clamp(19px,2.5vw,37px) !important;
  letter-spacing:0.13em !important;
}

/* Major bands: homepage-scale vertical padding */
#nf-main.nf-entwurf-escort-hamburg .nf-city-models-sec,
#nf-main.nf-entwurf-escort-hamburg .nf-city-short-notice,
#nf-main.nf-entwurf-escort-hamburg .nf-city-media-strip,
#nf-main.nf-entwurf-escort-hamburg .nf-city-discretion,
#nf-main.nf-entwurf-escort-hamburg .nf-city-privatjet,
#nf-main.nf-entwurf-escort-hamburg .nf-agency-compliments-sec:not(.nf-agency-compliments-sec--sedcard),
#nf-main.nf-entwurf-escort-hamburg .nf-faq-section,
#nf-main.nf-entwurf-escort-hamburg .nf-city-booking:not(.nf-city-booking--cinematic),
#nf-main.nf-entwurf-escort-hamburg .nf-city-honorare:not(.nf-city-honorare--cinematic),
#nf-main.nf-entwurf-escort-hamburg .nf-city-trust:not(.nf-city-trust--cinematic),
#nf-main.nf-entwurf-escort-hamburg .nf-city-final-cta{
  padding-block: var(--nf-entwurf-section-pad-y);
}

/* Medien → Magazin: continuous cream band (no divider stroke / less stacked top air) */
#nf-main.nf-entwurf-escort-hamburg .nf-city-media-strip{
  padding-bottom: clamp(20px, 2.5vw, 32px);
  background: var(--cream, #f4f0e8);
}
#nf-main.nf-entwurf-escort-hamburg .nf-city-magazine{
  border-top: none;
  background: var(--cream, #f4f0e8);
  padding-block: clamp(20px, 2.5vw, 32px) var(--nf-entwurf-section-pad-y);
}
#nf-main.nf-entwurf-escort-hamburg .nf-city-magazine .sec-eye{
  margin-bottom: 10px;
}
#nf-main.nf-entwurf-escort-hamburg .nf-city-magazine-lead{
  margin-top: 0;
  margin-bottom: 22px;
}

/* Neighbors / expertise inset panels — keep generous air */
#nf-main.nf-entwurf-escort-hamburg .nf-city-neighbors,
#nf-main.nf-entwurf-escort-hamburg .nf-city-expertise.nf-city-expertise--cinematic{
  padding-block: clamp(48px, 6vw, 72px) clamp(56px, 7vw, 88px);
}
/* Booking → Abend-Skripte: kill stacked cream+inner pad (~185px → ~36–44px) */
#nf-main.nf-entwurf-escort-hamburg .nf-city-booking.nf-city-booking--cinematic{
  padding-block: clamp(40px, 5vw, 64px) clamp(16px, 2vw, 20px);
}

/* Full-bleed cinematic bands (honorare pad set in #honorare block above) */
#nf-main.nf-entwurf-escort-hamburg .nf-city-trust.nf-city-trust--cinematic{
  padding-block: clamp(72px, 9vw, 96px);
}

/* Guide content / eco band */
#nf-main.nf-entwurf-escort-hamburg .nf-city-guide-content{
  padding-block: var(--nf-entwurf-section-pad-y);
}
/* Positioning editorial → Escort Damen: cream band above black models
 * Sibling is often .nf-entwurf-live-models (wraps .nf-city-models-sec), not the section itself.
 * Modest pad — „etwas kleiner“ empty beige strip. */
#nf-main.nf-entwurf-escort-hamburg .nf-city-guide-content:has(+ .nf-entwurf-live-models),
#nf-main.nf-entwurf-escort-hamburg .nf-city-guide-content:has(+ .nf-city-models-sec){
  padding-bottom: clamp(28px, 3.5vw, 40px);
}
#nf-main.nf-entwurf-escort-hamburg .nf-city-guide-content:has(+ .nf-entwurf-live-models) .nf-city-guide-head,
#nf-main.nf-entwurf-escort-hamburg .nf-city-guide-content:has(+ .nf-city-models-sec) .nf-city-guide-head{
  margin-bottom: 0;
}
#nf-main.nf-entwurf-escort-hamburg .nf-city-eco-band:not(.nf-city-eco-band--cinematic){
  padding-top: clamp(56px, 7vw, 80px);
  padding-bottom: clamp(64px, 8vw, 96px);
}
#nf-main.nf-entwurf-escort-hamburg .nf-city-eco-band.nf-city-eco-band--cinematic{
  /* Combined with raster pad-bottom → ~48–64px cream to dark Ecosystem panel */
  padding-block: clamp(24px, 3vw, 32px) clamp(40px, 5vw, 64px);
}

/* Rich guide sections (Hotels / Restaurants / …) */
#nf-main.nf-entwurf-escort-hamburg .nf-city-guide-rich-inner{
  padding-block: var(--nf-entwurf-section-pad-y);
  /* Banner → gold .sec-eye: modest air (nf-index default was 18px) */
  gap: 28px;
}
/* Eyebrow + headline pattern (aligned with VERTRAUEN / .sec-eye sections) */
#nf-main.nf-entwurf-escort-hamburg .nf-city-guide-rich-body > .sec-eye{
  display:block;
  margin:0 auto clamp(12px,1.4vw,18px);
  font-family:'Josefin Sans',sans-serif;
  font-size:var(--nf-sec-eye-fs,11px);
  font-weight:400;
  letter-spacing:var(--nf-sec-eye-ls,.32em);
  text-transform:uppercase;
  color:var(--nf-eyebrow-color,rgba(201,168,112,.9));
}
#nf-main.nf-entwurf-escort-hamburg .nf-city-guide-rich-body > .sec-eye + h2{
  margin-top:0;
}
#nf-main.nf-entwurf-escort-hamburg .nf-city-longform,
#nf-main.nf-entwurf-escort-hamburg .nf-city-business-guide{
  padding-block: var(--nf-entwurf-section-pad-y);
}
/* Match date-ideen / Buchungsablauf gold .sec-eye exactly (beat longform p bleach) */
#nf-main.nf-entwurf-escort-hamburg .nf-city-longform.nf-city-business-guide .sec-eye,
#nf-main.nf-entwurf-escort-hamburg .nf-city-business-guide .nf-city-longform-inner > .sec-eye{
  font-family:'Josefin Sans',sans-serif !important;
  font-size:11px !important;
  font-weight:400 !important;
  letter-spacing:.32em !important;
  line-height:normal !important;
  margin:0 auto clamp(10px,1.1vw,22px) !important;
  text-transform:uppercase !important;
  text-align:center !important;
  color:rgba(201,168,112,.92) !important;
}
/* Business guide — dark band contrast lock (H2 / eye / body / Messe H3s) */
#nf-main.nf-entwurf-escort-hamburg #business.nf-city-business-guide{
  background:var(--ink2,#141210) !important;
  color:rgba(255,255,255,.78);
}
#nf-main.nf-entwurf-escort-hamburg #business.nf-city-business-guide .nf-city-optical-h2{
  color:rgba(255,250,242,.93) !important;
}
#nf-main.nf-entwurf-escort-hamburg #business.nf-city-business-guide .nf-city-longform-inner > p:not(.sec-eye):not(.nf-city-optical-h2):not(.nf-city-cta-row),
#nf-main.nf-entwurf-escort-hamburg #business.nf-city-business-guide .nf-city-business-sub p{
  color:rgba(255,255,255,.84) !important;
}
/* Business guide — editorial luxury: centered title stack, left Fließtext column, centered CTAs */
#nf-main.nf-entwurf-escort-hamburg .nf-city-business-guide .nf-city-longform-inner{
  max-width:820px;
  margin-inline:auto;
  text-align:center; /* eyebrow + H2 inherit center; body/CTAs override below */
}
#nf-main.nf-entwurf-escort-hamburg .nf-city-longform.nf-city-business-guide .sec-eye,
#nf-main.nf-entwurf-escort-hamburg .nf-city-business-guide .nf-city-longform-inner > .sec-eye,
#nf-main.nf-entwurf-escort-hamburg .nf-city-business-guide .nf-city-optical-h2{
  text-align:center !important;
}
#nf-main.nf-entwurf-escort-hamburg .nf-city-business-guide .nf-city-optical-h2{
  margin-bottom:44px !important; /* H2 → first para */
}
#nf-main.nf-entwurf-escort-hamburg .nf-city-business-guide .nf-city-longform-inner > p:not(.sec-eye):not(.nf-city-optical-h2):not(.nf-city-cta-row){
  max-width:740px;
  margin-inline:auto;
  margin-bottom:1.35em;
  text-align:left;
  line-height:1.85;
}
#nf-main.nf-entwurf-escort-hamburg .nf-city-business-guide .nf-city-longform-inner > p:not(.sec-eye):not(.nf-city-optical-h2):not(.nf-city-cta-row):last-of-type{
  margin-bottom:0; /* gap to CTAs via .nf-city-cta-row margin-top */
}
/* Folded Messe / Frühplanung — H3s inside Business, not a second Events grid */
#nf-main.nf-entwurf-escort-hamburg .nf-city-business-guide .nf-city-business-sub{
  max-width:740px;
  margin:1.75em auto 0;
  text-align:left;
}
#nf-main.nf-entwurf-escort-hamburg .nf-city-business-guide .nf-city-business-sub:first-of-type{
  margin-top:2em;
}
#nf-main.nf-entwurf-escort-hamburg .nf-city-business-guide .nf-city-business-sub h3{
  font-family:'Josefin Sans',sans-serif !important;
  font-size:clamp(15px,1.35vw,18px) !important;
  font-weight:300 !important;
  letter-spacing:.06em !important;
  line-height:1.3 !important;
  text-transform:none !important;
  color:rgba(201,168,112,.92) !important;
  margin:0 0 .55em !important;
  text-align:left !important;
}
#nf-main.nf-entwurf-escort-hamburg .nf-city-business-guide .nf-city-business-sub p{
  margin:0;
  font-family:'Lato',sans-serif !important;
  font-size:inherit;
  font-weight:300;
  line-height:1.85;
  text-align:left;
}
#nf-main.nf-entwurf-escort-hamburg .nf-city-business-guide .nf-city-cta-row,
#nf-main.nf-entwurf-escort-hamburg .nf-city-business-guide .nf-city-deep-ctas{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  text-align:center;
  margin-top:30px; /* last para → CTA group */
  margin-inline:auto;
  max-width:740px;
  gap:14px;
}

/* Abend-Skripte intro keeps its own editorial pad; raster sits lower after dark panels */
#nf-main.nf-entwurf-escort-hamburg .nf-city-itineraries-intro{
  padding: clamp(56px, 7.5vw, 96px) clamp(22px, 4vw, 32px) clamp(40px, 5vw, 56px);
}
#nf-main.nf-entwurf-escort-hamburg .nf-city-itineraries-inner--raster{
  padding: clamp(80px, 10vw, 120px) clamp(22px, 4vw, 32px) clamp(48px, 6vw, 72px);
}

@media(max-width:900px){
  #nf-main.nf-entwurf-escort-hamburg{
    --nf-entwurf-section-pad-y: clamp(56px, 12vw, 80px);
    --nf-entwurf-section-gap: 48px;
    --nf-entwurf-cta-to-grid: 40px;
    --nf-entwurf-lead-to-grid: 48px;
    --nf-entwurf-eco-lead-to-nav: 32px;
  }
  #nf-main.nf-entwurf-escort-hamburg .nf-city-role-chooser{
    padding: 64px 22px 72px;
  }
  #nf-main.nf-entwurf-escort-hamburg .nf-city-role-chooser > .nf-city-role-grid{
    grid-template-columns:1fr;
    gap:14px;
    margin-top:28px !important;
  }
  #nf-main.nf-entwurf-escort-hamburg .nf-city-role-card{
    height:auto;
    min-height:100%;
  }
  #nf-main.nf-entwurf-escort-hamburg .nf-city-booking.nf-city-booking--cinematic{
    padding-block: 28px 16px;
  }
  #nf-main.nf-entwurf-escort-hamburg .nf-city-itineraries-intro{
    padding: 48px 22px 36px;
  }
  #nf-main.nf-entwurf-escort-hamburg .nf-city-itineraries-inner--raster{
    padding: 72px 22px 56px;
  }
  #nf-main.nf-entwurf-escort-hamburg .nf-city-guide-rich-inner{
    padding-block: 64px;
  }
}

/*
 * ═══ Typography lock — Homepage parity (Josefin + Lato) ═══
 * Live home: H1/H2/eyebrows/buttons = Josefin Sans; Fließtext = Lato.
 * Beats nf-index.min.css Cormorant rules + Elementor kit typography on Entwurf.
 */
#nf-main.nf-entwurf-escort-hamburg,
#nf-main.nf-entwurf-escort-hamburg .cm,
body.page-template-page-entwurf-escort-hamburg #nf-main.nf-entwurf-escort-hamburg{
  font-family:'Lato',sans-serif;
}
#nf-main.nf-entwurf-escort-hamburg h1,
#nf-main.nf-entwurf-escort-hamburg h2,
#nf-main.nf-entwurf-escort-hamburg h3,
#nf-main.nf-entwurf-escort-hamburg h4,
#nf-main.nf-entwurf-escort-hamburg .sec-h,
#nf-main.nf-entwurf-escort-hamburg .sec-eye,
#nf-main.nf-entwurf-escort-hamburg .cities-title,
#nf-main.nf-entwurf-escort-hamburg .elementor-heading-title,
#nf-main.nf-entwurf-escort-hamburg .nf-city-guide-signature-card h3,
#nf-main.nf-entwurf-escort-hamburg .nf-city-role-card h3,
#nf-main.nf-entwurf-escort-hamburg .nf-city-itinerary h3,
#nf-main.nf-entwurf-escort-hamburg .nf-city-itinerary h4,
#nf-main.nf-entwurf-escort-hamburg .nf-city-subpage-item h2,
#nf-main.nf-entwurf-escort-hamburg .nf-city-magazine-card h3,
#nf-main.nf-entwurf-escort-hamburg .nf-city-neighbor-card h3,
#nf-main.nf-entwurf-escort-hamburg .nf-city-advisor-kicker,
#nf-main.nf-entwurf-escort-hamburg .nf-city-privatjet-route,
#nf-main.nf-entwurf-escort-hamburg .nf-city-expertise-steps h3,
#nf-main.nf-entwurf-escort-hamburg .nf-evening-cinematic-title,
#nf-main.nf-entwurf-escort-hamburg .nf-evening-cinematic-num,
#nf-main.nf-entwurf-escort-hamburg .nf-evening-cinematic-kicker,
#nf-main.nf-entwurf-escort-hamburg .nf-evening-cinematic-step strong{
  font-family:'Josefin Sans',sans-serif !important;
}
/* Fließtext = Lato (exclude label/eyebrow + model-card chrome paragraphs) */
#nf-main.nf-entwurf-escort-hamburg p:not(.sec-eye):not(.h-h1):not(.cities-note):not(.nf-agency-compliments-text):not(.nf-city-guide-item-area):not(.nf-evening-cinematic-hint):not(.mc-name):not(.mc-city):not(.mc-tag):not(.mc-meta):not(.nf-city-model-status):not(.nf-city-tier-label):not(.nf-city-short-notice-label):not(.nf-city-positioning-eye):not(.nf-city-positioning-lead):not(.nf-city-positioning-signature),
#nf-main.nf-entwurf-escort-hamburg .body-p,
#nf-main.nf-entwurf-escort-hamburg li,
#nf-main.nf-entwurf-escort-hamburg .nf-city-guide-signature-card p,
#nf-main.nf-entwurf-escort-hamburg .nf-faq-a,
#nf-main.nf-entwurf-escort-hamburg .nf-city-itineraries-lead,
#nf-main.nf-entwurf-escort-hamburg .nf-evening-cinematic-tagline,
#nf-main.nf-entwurf-escort-hamburg .nf-evening-cinematic-step > span{
  font-family:'Lato',sans-serif !important;
}
/* Labels that are often <p> — keep Josefin after the Lato body rule */
#nf-main.nf-entwurf-escort-hamburg p.sec-eye,
#nf-main.nf-entwurf-escort-hamburg .sec-eye,
#nf-main.nf-entwurf-escort-hamburg p.h-h1,
#nf-main.nf-entwurf-escort-hamburg .cities-note,
#nf-main.nf-entwurf-escort-hamburg .nf-evening-cinematic-hint,
#nf-main.nf-entwurf-escort-hamburg .nf-city-itineraries-inner--raster > .sec-h,
#nf-main.nf-entwurf-escort-hamburg .nf-city-itineraries-inner--raster .nf-city-itinerary-duration,
#nf-main.nf-entwurf-escort-hamburg .nf-city-positioning-eye,
#nf-main.nf-entwurf-escort-hamburg .nf-city-positioning-lead,
#nf-main.nf-entwurf-escort-hamburg .nf-city-positioning-signature{
  font-family:'Josefin Sans',sans-serif !important;
}
/* Model-card chrome = Josefin (live Elementor sedcards) — beat Lato body lock */
#nf-main.nf-entwurf-escort-hamburg .model-card .mc-name,
#nf-main.nf-entwurf-escort-hamburg .model-card .mc-city,
#nf-main.nf-entwurf-escort-hamburg .model-card .mc-tag,
#nf-main.nf-entwurf-escort-hamburg .model-card .mc-meta,
#nf-main.nf-entwurf-escort-hamburg .model-card .nf-city-model-status,
#nf-main.nf-entwurf-escort-hamburg .model-card .mc-wt .wt-a,
#nf-main.nf-entwurf-escort-hamburg .model-card .mc-wt .wt-b,
#nf-main.nf-entwurf-escort-hamburg .nf-city-model-book,
#nf-main.nf-entwurf-escort-hamburg .nf-city-tier-label,
#nf-main.nf-entwurf-escort-hamburg .nf-city-short-notice-label{
  font-family:'Josefin Sans',sans-serif !important;
}
/* Dual-line tier titles (Escort Hamburg 6h/8h + „Unsere Escort Damen… / ab 2 Stunden“)
 * line1 white ultra-thin · line2 gold — compact unit, then ~45px air to cards.
 * Josefin only — match via weight/tracking (no Cormorant). */
#nf-main.nf-entwurf-escort-hamburg .nf-city-models-sec:has(.nf-city-tier-label .line1){
  /* Pull header down: less unused black above the title block */
  padding-top:clamp(36px,4.5vw,52px);
}
#nf-main.nf-entwurf-escort-hamburg .nf-city-models-sec:has(.nf-city-tier-label .line1) .nf-city-tier-label{
  /* Avoid stacking with .nf-city-models-head margin — one controlled gap to cards */
  margin-bottom:0;
}
#nf-main.nf-entwurf-escort-hamburg .nf-city-models-sec:has(.nf-city-tier-label .line1) .nf-city-models-head{
  margin-bottom:48px; /* ~40–50px after compact title → cards */
}
#nf-main.nf-entwurf-escort-hamburg .nf-city-tier-label .nf-lang-content:has(.line1),
#nf-main.nf-entwurf-escort-hamburg .nf-city-tier-label .nf-lang-content:has(.nf-travel-line1){
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:.6rem; /* was .4rem after tighten — slight breathing room, still one unit (not 1.5rem) */
  text-align:center;
}
#nf-main.nf-entwurf-escort-hamburg .nf-city-tier-label .line1,
#nf-main.nf-entwurf-escort-hamburg .nf-city-tier-label .line2,
#nf-main.nf-entwurf-escort-hamburg .nf-city-tier-label .nf-travel-line1,
#nf-main.nf-entwurf-escort-hamburg .nf-city-tier-label .nf-travel-line2{
  display:block;
  margin:0;
  font-family:'Josefin Sans',sans-serif !important;
  font-style:normal !important;
  text-align:center;
}
/* line1 — cinematic Buchungsablauf .sec-h (cream on dark models band) */
#nf-main.nf-entwurf-escort-hamburg .nf-city-tier-label .line1,
#nf-main.nf-entwurf-escort-hamburg .nf-city-tier-label .nf-travel-line1{
  font-size:clamp(22px,3.2vw,42px);
  font-weight:200 !important;
  letter-spacing:.12em;
  line-height:1.28;
  text-transform:uppercase;
  color:rgba(255,250,242,.93) !important;
}
/* line2 — gold secondary (keep dual-line pattern) */
#nf-main.nf-entwurf-escort-hamburg .nf-city-tier-label .line2,
#nf-main.nf-entwurf-escort-hamburg .nf-city-tier-label .nf-travel-line2{
  font-size:clamp(14px,1.7vw,22px);
  font-weight:100 !important;
  letter-spacing:.02em;
  line-height:.92;
  text-transform:uppercase;
  color:var(--gold,#c9a96e) !important;
}
/* Tier label (h2 or optical p) — kill browser heading / paragraph defaults */
#nf-main.nf-entwurf-escort-hamburg h2.nf-city-tier-label,
#nf-main.nf-entwurf-escort-hamburg p.nf-city-tier-label{
  margin:0 0 34px;
  padding:0;
  font-size:inherit;
  font-weight:inherit;
  line-height:inherit;
}
/* Optical-only section titles (NOT semantic h2) — alias of cinematic .sec-h */
#nf-main.nf-entwurf-escort-hamburg .nf-city-optical-h2{
  margin:10px auto 16px !important;
  padding:0 !important;
  max-width:900px;
  font-family:'Josefin Sans',sans-serif !important;
  font-size:clamp(22px,3.2vw,42px) !important;
  font-weight:200 !important;
  letter-spacing:.12em !important;
  line-height:1.28 !important;
  text-transform:uppercase !important;
  text-align:center !important;
  color:var(--ink3,#1e1b17) !important;
}
#nf-main.nf-entwurf-escort-hamburg .nf-city-longform .nf-city-optical-h2,
#nf-main.nf-entwurf-escort-hamburg .nf-city-guide-rich-section.is-base .nf-city-optical-h2{
  color:rgba(255,250,242,.93) !important;
}
/* Footer-adjacent closing lead — elegant 2-line desktop (cream + gold) */
#nf-main.nf-entwurf-escort-hamburg .closing--final .cl-poem-lead.nf-city-optical-h2{
  display:block;
  margin:0 0 .28em !important;
  max-width:none;
  font-size:clamp(20px,2.65vw,34px) !important;
  font-weight:200 !important;
  letter-spacing:.12em !important;
  line-height:1.32 !important;
  text-transform:uppercase !important;
  text-align:inherit !important;
  color:var(--ink3,#1e1b17) !important;
  text-shadow:none !important;
}
#nf-main.nf-entwurf-escort-hamburg .closing--final .cl-poem-lead.nf-city-optical-h2 .cl-poem-gold{
  display:inline;
  color:var(--gold,rgba(201,168,112,.92)) !important;
  text-shadow:none;
}
/* FAQ: more air above the bordered FAQ block (was margin-top:0) */
#nf-main.nf-entwurf-escort-hamburg .nf-faq-section{
  margin-top:clamp(80px,10vw,128px);
  margin-bottom:clamp(72px,9vw,120px);
  padding-block:clamp(40px,6vw,72px) clamp(36px,5.5vw,64px);
}
/* FAQ title — match cinematic Buchungsablauf .sec-h */
#nf-main.nf-entwurf-escort-hamburg .nf-faq-section > .sec-h{
  font-family:'Josefin Sans',sans-serif !important;
  font-size:clamp(22px,3.2vw,42px) !important;
  font-weight:200 !important;
  letter-spacing:.12em !important;
  line-height:1.28 !important;
  text-transform:uppercase !important;
  color:rgba(255,250,242,.93) !important;
}
/* Compact accordion rows (still full-row clickable) */
#nf-main.nf-entwurf-escort-hamburg .nf-faq-section .nf-faq-list{
  margin-top:28px;
  gap:7px;
}
#nf-main.nf-entwurf-escort-hamburg .nf-faq-section .nf-faq-q{
  padding:12px 16px;
  color:rgba(255,250,242,.86);
}
#nf-main.nf-entwurf-escort-hamburg .nf-faq-section .nf-faq-q-text{
  font-family:'Josefin Sans',sans-serif !important;
  font-weight:300 !important;
  letter-spacing:.045em;
  color:rgba(255,250,242,.88);
}
#nf-main.nf-entwurf-escort-hamburg .nf-faq-section .nf-faq-item.open .nf-faq-q-text{
  color:rgba(255,250,242,.96);
}
#nf-main.nf-entwurf-escort-hamburg .nf-faq-section .nf-faq-item.open .nf-faq-a-inner{
  padding:12px 16px 14px;
}
#nf-main.nf-entwurf-escort-hamburg .nf-faq-section .nf-faq-a-inner p,
#nf-main.nf-entwurf-escort-hamburg .nf-faq-section .faq-answer p{
  font-family:'Lato',sans-serif !important;
  color:rgba(255,255,255,.62);
  font-size:14.5px;
  line-height:1.7;
  margin:0;
}
#nf-main.nf-entwurf-escort-hamburg .nf-faq-section .nf-faq-a-inner a,
#nf-main.nf-entwurf-escort-hamburg .nf-faq-section .faq-answer a{
  color:var(--gold2,#d4b483);
  text-decoration:underline;
  text-underline-offset:2px;
}
/* Separate city-nav band from FAQ accordion */
#nf-main.nf-entwurf-escort-hamburg .nf-faq-section + .nf-city-guide-related--cities{
  margin-top:clamp(20px,3vw,36px);
  padding-top:clamp(40px,5vw,56px);
}
/* Last card → hairline: modest pad-bottom (was full --nf-entwurf-section-pad-y 64–96) */
#nf-main.nf-entwurf-escort-hamburg .nf-city-models-sec{
  padding-bottom:clamp(32px,4vw,44px);
}
#nf-main.nf-entwurf-escort-hamburg .nf-city-models-sec + .nf-city-models-sec{
  padding-top:clamp(36px,4.5vw,52px); /* match dual-line header pull-down; border-top from nf-index */
}
/* Compliments quotes → Josefin (homepage press-q family; no Cormorant/Georgia stack) */
#nf-main.nf-entwurf-escort-hamburg .nf-agency-compliments-sec .nf-agency-compliments-text,
#nf-main.nf-entwurf-escort-hamburg .nf-agency-compliments-sec:not(.nf-agency-compliments-sec--sedcard) .nf-agency-compliments-text{
  font-family:'Josefin Sans',sans-serif !important;
  font-style:normal !important;
  font-weight:300 !important;
  letter-spacing:.02em;
}
#nf-main.nf-entwurf-escort-hamburg .nf-agency-compliments-sec .nf-ac-nav,
#nf-main.nf-entwurf-escort-hamburg .nf-agency-compliments-sec .nf-ac-nav span,
#nf-main.nf-entwurf-escort-hamburg .nf-agency-compliments-sec:not(.nf-agency-compliments-sec--sedcard) .nf-ac-nav span{
  font-family:'Josefin Sans',sans-serif !important;
}
/* CTAs / buttons — Josefin like homepage */
#nf-main.nf-entwurf-escort-hamburg a.text-link,
#nf-main.nf-entwurf-escort-hamburg .nf-city-cta,
#nf-main.nf-entwurf-escort-hamburg .nf-city-role-cta,
#nf-main.nf-entwurf-escort-hamburg button,
#nf-main.nf-entwurf-escort-hamburg .btn,
#nf-main.nf-entwurf-escort-hamburg .elementor-button{
  font-family:'Josefin Sans',sans-serif !important;
}
/* Signature / role card titles — beat nf-index Cormorant */
#nf-main.nf-entwurf-escort-hamburg .nf-city-guide-signature-card h3{
  font-size:clamp(18px,1.8vw,24px) !important;
  font-weight:300 !important;
  letter-spacing:.04em !important;
  line-height:1.25 !important;
  font-style:normal !important;
  text-transform:none !important;
  color:var(--ink3,#1e1b17) !important;
}
body.page-template-page-entwurf-escort-hamburg .f-claim--mast,
.page-entwurf-escort-hamburg .f-claim--mast{
  font-family:'Josefin Sans',sans-serif !important;
  font-style:normal !important;
}

/* ── Weitere Städte — compact quiet city-nav (above Hannah closing) ── */
#nf-main.nf-entwurf-escort-hamburg .nf-city-guide-related--cities{
  background:#12100e;
  margin:0;
  margin-top:-1px;
  padding:clamp(36px,4.5vw,52px) clamp(22px,5vw,52px) clamp(40px,5vw,60px);
  text-align:center;
  border-top:1px solid rgba(201,168,112,.1);
  border-bottom:1px solid rgba(201,168,112,.08);
}
#nf-main.nf-entwurf-escort-hamburg .nf-city-guide-related--cities .nf-city-guide-related-eye{
  display:block;
  margin:0 auto 12px;
  max-width:720px;
  font-family:'Josefin Sans',sans-serif !important;
  font-size:10px !important;
  font-weight:400 !important;
  letter-spacing:.34em !important;
  text-transform:uppercase !important;
  color:rgba(201,168,112,.78) !important;
  text-align:center;
}
#nf-main.nf-entwurf-escort-hamburg .nf-city-guide-related--cities .nf-city-guide-related-heading{
  display:block;
  margin:0 auto 22px;
  max-width:720px;
  font-family:'Josefin Sans',sans-serif !important;
  font-size:clamp(14px,1.45vw,18px) !important; /* clearly below page H2 (~22–42) */
  font-weight:300 !important;
  letter-spacing:.14em !important;
  line-height:1.35 !important;
  text-transform:none !important;
  color:rgba(255,250,242,.78) !important;
  text-align:center;
}
#nf-main.nf-entwurf-escort-hamburg .nf-city-guide-related--cities .nf-city-guide-related-links,
#nf-main.nf-entwurf-escort-hamburg .nf-city-guide-related--cities .cities-names{
  max-width:780px; /* desktop ≤2 rows for 9 links + → */
  margin:0 auto;
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  align-items:center;
  gap:12px 4px;
  row-gap:14px;
  line-height:1.2;
  text-align:center;
}
#nf-main.nf-entwurf-escort-hamburg .nf-city-guide-related--cities .nf-city-guide-related-links a,
#nf-main.nf-entwurf-escort-hamburg .nf-city-guide-related--cities .city-n{
  display:inline-block;
  padding:4px 6px;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  font-family:'Josefin Sans',sans-serif !important;
  font-size:clamp(11px,1.05vw,12px) !important;
  font-weight:300 !important;
  letter-spacing:.16em !important;
  text-transform:uppercase !important;
  color:rgba(255,255,255,.58) !important;
  text-decoration:none !important;
  transition:color .22s ease, opacity .22s ease;
  white-space:nowrap;
}
#nf-main.nf-entwurf-escort-hamburg .nf-city-guide-related--cities .city-n--all{
  color:rgba(201,168,112,.88) !important;
  font-weight:400 !important;
  letter-spacing:.2em !important;
}
#nf-main.nf-entwurf-escort-hamburg .nf-city-guide-related--cities .nf-city-guide-related-links a:hover,
#nf-main.nf-entwurf-escort-hamburg .nf-city-guide-related--cities .city-n:hover{
  color:var(--gold,#c9a870) !important;
  background:transparent !important;
  border-color:transparent !important;
}
#nf-main.nf-entwurf-escort-hamburg .nf-city-guide-related--cities .city-n--all:hover{
  color:rgba(232,205,154,.95) !important;
}
#nf-main.nf-entwurf-escort-hamburg .nf-city-guide-related--cities .city-sep{
  display:inline-block;
  flex:0 0 auto;
  padding:0 4px;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  color:rgba(201,168,112,.38);
  font-size:11px;
  line-height:1;
  letter-spacing:0;
  text-transform:none;
  vertical-align:middle;
  user-select:none;
  pointer-events:none;
}
/* Tablet: clean wrap, hide mid-line arrow clutter */
@media(max-width:900px){
  #nf-main.nf-entwurf-escort-hamburg .nf-city-guide-related--cities .nf-city-guide-related-links,
  #nf-main.nf-entwurf-escort-hamburg .nf-city-guide-related--cities .cities-names{
    max-width:520px;
    gap:12px 4px;
  }
  #nf-main.nf-entwurf-escort-hamburg .nf-city-guide-related--cities .city-sep{
    opacity:.7;
  }
}
/* Mobile: compact 2-col, no squeezed single line */
@media(max-width:640px){
  #nf-main.nf-entwurf-escort-hamburg .nf-city-guide-related--cities{
    padding:36px 20px 48px;
  }
  #nf-main.nf-entwurf-escort-hamburg .nf-city-guide-related--cities .nf-city-guide-related-heading{
    margin-bottom:18px;
    font-size:15px !important;
  }
  #nf-main.nf-entwurf-escort-hamburg .nf-city-guide-related--cities .nf-city-guide-related-links,
  #nf-main.nf-entwurf-escort-hamburg .nf-city-guide-related--cities .cities-names{
    max-width:340px;
    display:grid;
    grid-template-columns:1fr 1fr;
    column-gap:12px;
    row-gap:12px;
    justify-items:center;
    align-items:center;
  }
  #nf-main.nf-entwurf-escort-hamburg .nf-city-guide-related--cities .city-sep{
    display:none;
  }
  #nf-main.nf-entwurf-escort-hamburg .nf-city-guide-related--cities .city-n{
    font-size:11px !important;
    letter-spacing:.12em !important;
    white-space:normal;
    text-align:center;
    padding:2px 0;
  }
  #nf-main.nf-entwurf-escort-hamburg .nf-city-guide-related--cities .city-n--all{
    grid-column:1 / -1;
    margin-top:4px;
    letter-spacing:.16em !important;
  }
}

/* ── Venue card titles (Hotels / Restaurants / Nightlife / Guide grids) ── */
/* Display-style Josefin: centered, larger than body — location + Fließtext stay readable */
#nf-main.nf-entwurf-escort-hamburg .nf-city-guide-topic-grid .nf-city-guide-long-item > h3,
#nf-main.nf-entwurf-escort-hamburg .nf-city-guide-long-item .nf-city-guide-item-body > h3{
  font-family:'Josefin Sans',sans-serif !important;
  font-size:clamp(20px, 2.2vw, 28px) !important;
  font-weight:200 !important;
  letter-spacing:.04em !important;
  line-height:1.28 !important;
  text-align:center !important;
  text-transform:none !important;
  margin:0 0 10px !important;
}
#nf-main.nf-entwurf-escort-hamburg .nf-city-guide-topic-grid .nf-city-guide-long-item > .nf-city-guide-item-area,
#nf-main.nf-entwurf-escort-hamburg .nf-city-guide-long-item .nf-city-guide-item-area{
  font-family:'Josefin Sans',sans-serif !important;
  font-size:10px !important;
  font-weight:300 !important;
  letter-spacing:.18em !important;
  text-transform:uppercase !important;
  text-align:center !important;
  line-height:1.45 !important;
  margin:0 0 10px !important;
}
/* Body copy stays left for long descriptions */
#nf-main.nf-entwurf-escort-hamburg .nf-city-guide-topic-grid .nf-city-guide-long-item > p:not(.nf-city-guide-item-area):not(.nf-city-deep-link),
#nf-main.nf-entwurf-escort-hamburg .nf-city-guide-long-item .nf-city-guide-item-body > p:not(.nf-city-guide-item-area):not(.nf-city-deep-link){
  text-align:left !important;
}

/* ── Hero slide 1: „Kuratierte Auswahl an Escortdamen“ — long German lead, clean wrap ── */
/* Keep hero slide photos visible (Elementor-clear fallback must not wipe .hs). */
#nf-main.nf-entwurf-escort-hamburg .nf-hero-widget > .hs{
  background-size:cover !important;
}
#nf-main.nf-entwurf-escort-hamburg .nf-hero-widget > .hs.on{
  opacity:1 !important;
}

#nf-main.nf-entwurf-escort-hamburg .nf-hero-widget .h-slide-text{
  text-align:center;
}
/* Brand line — same white as „Kuratierte Auswahl…“, no shadow */
#nf-main.nf-entwurf-escort-hamburg .nf-hero-widget .h-label{
  color:var(--w, #fff);
  text-shadow:none;
}
#nf-main.nf-entwurf-escort-hamburg .nf-hero-widget .h-tagline--hh-curated{
  text-align:center;
  margin-left:auto;
  margin-right:auto;
}
#nf-main.nf-entwurf-escort-hamburg .nf-hero-widget .h-tagline--hh-curated .h-tagline-line--lead{
  font-family:'Josefin Sans',sans-serif;
  font-size:clamp(24px, 3.65vw, 48px);
  font-weight:200;
  letter-spacing:.042em;
  line-height:1.12;
  color:var(--w, #fff);
  max-width:min(94vw, 18em);
  margin-left:auto;
  margin-right:auto;
  text-wrap:balance;
}
#nf-main.nf-entwurf-escort-hamburg .nf-hero-widget .h-tagline--hh-curated .h-tagline-line.dim,
#nf-main.nf-entwurf-escort-hamburg .nf-hero-widget .h-tagline--hh-curated .h-tagline-line.gold{
  font-size:clamp(26px, 4.8vw, 64px);
  letter-spacing:.05em;
  line-height:1.02;
}
#nf-main.nf-entwurf-escort-hamburg .nf-hero-widget .h-body .h-h1{
  display:block;
  text-align:center !important;
  margin-left:auto !important;
  margin-right:auto !important;
  letter-spacing:.1em;
  line-height:1.55;
  max-width:36em;
}
#nf-main.nf-entwurf-escort-hamburg .nf-hero-widget .h-cities,
#nf-main.nf-entwurf-escort-hamburg .nf-hero-widget .h-links{
  text-align:center;
  justify-content:center;
}
@media(max-width:700px){
  #nf-main.nf-entwurf-escort-hamburg .nf-hero-widget .h-tagline--hh-curated .h-tagline-line--lead{
    font-size:clamp(20px, 5.6vw, 28px);
    letter-spacing:.032em;
    max-width:16.5em;
  }
  #nf-main.nf-entwurf-escort-hamburg .nf-hero-widget .h-tagline--hh-curated .h-tagline-line.dim,
  #nf-main.nf-entwurf-escort-hamburg .nf-hero-widget .h-tagline--hh-curated .h-tagline-line.gold{
    font-size:clamp(22px, 7.2vw, 40px);
  }
  #nf-main.nf-entwurf-escort-hamburg .nf-hero-widget .h-slide-area{
    height:clamp(280px, 58vw, 420px);
  }
}

/* ── Models-CTA „Alle Escorts ansehen“: zentriert unter dem Sedcard-Grid, klarer Abstand ── */
/* Nicht unter die letzte Karte quetschen (Glow/Pulse) — Abstand vom Grid + Luft vor Buchung */
#nf-main.nf-entwurf-escort-hamburg .nf-city-models-sec .models-more{
  display:block;
  width:100%;
  clear:both;
  position:relative;
  z-index:2;
  text-align:center;
  margin-top:clamp(40px, 5vw, 56px);
  margin-bottom:clamp(28px, 4vw, 40px);
  padding-bottom:0;
}
#nf-main.nf-entwurf-escort-hamburg .nf-city-models-sec .models-more .text-link{
  display:inline-flex;
  margin-left:auto;
  margin-right:auto;
}
#nf-main.nf-entwurf-escort-hamburg .nf-city-models-sec .models-grid{
  margin-bottom:0;
}
#nf-main.nf-entwurf-escort-hamburg .nf-city-models-sec .models-end-spacer{
  display:none;
  height:0;
}
@media(max-width:900px){
  #nf-main.nf-entwurf-escort-hamburg .nf-city-models-sec .models-more{
    margin-top:clamp(40px, 8vw, 52px);
    margin-bottom:clamp(24px, 5vw, 36px);
  }
}

/* —— Ranking utility: freshness, card booking, hub spokes —— */
.nf-city-freshness{
  margin:8px 0 0;
  font-family:'Lato',sans-serif;
  font-size:13px;
  letter-spacing:.04em;
  color:rgba(26,24,21,.62);
}
.nf-city-models-head .nf-city-freshness,
.nf-city-short-notice .nf-city-freshness{
  color:rgba(26,24,21,.62);
}
.nf-city-card-booking{
  margin:4px 0 2px;
  padding:10px 12px;
  border:1px solid rgba(138,104,48,.14);
  border-radius:10px;
  background:rgba(255,255,255,.55);
}
.nf-city-card-booking--compact{
  padding:6px 8px;
  background:transparent;
  border-color:rgba(138,104,48,.1);
}
.nf-city-card-durations.nf-js-list{
  list-style:none;
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin:0;
  padding:0;
}
.nf-city-card-durations.nf-js-list > li{
  display:inline-flex;
  align-items:baseline;
  gap:6px;
  margin:0;
  padding:5px 10px;
  border:1px solid rgba(138,104,48,.22);
  border-radius:999px;
  background:rgba(216,191,144,.12);
  font-family:'Josefin Sans',sans-serif;
  font-size:11px;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#7a5d22;
  list-style:none;
}
.nf-city-card-durations.nf-js-list > li::before{display:none}
.nf-city-card-dur-hint{
  font-family:'Lato',sans-serif;
  font-size:11px;
  letter-spacing:0;
  text-transform:none;
  color:rgba(26,24,21,.55);
}
.nf-city-card-inquiry-needs,
.nf-city-card-next-step{
  margin:10px 0 0;
  font-family:'Lato',sans-serif;
  font-size:13px;
  line-height:1.55;
  color:rgba(26,24,21,.72);
}
.nf-city-card-next-kicker{
  display:inline-block;
  margin-right:6px;
  font-family:'Josefin Sans',sans-serif;
  font-size:10px;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:#7a5d22;
}
.nf-city-short-notice-inner > .nf-city-card-booking:not(.nf-city-card-booking--compact),
.nf-city-models-sec > .nf-city-card-booking:not(.nf-city-card-booking--compact){
  margin:18px auto 8px;
  max-width:720px;
}


/* Inspiration cards — Nightlife stays light; Viertel/Events match Hotels venue cards */
#nf-main.nf-entwurf-escort-hamburg #nightlife.nf-city-guide-rich-section .nf-city-guide-rich-body,
#nf-main.nf-entwurf-escort-hamburg #viertel.nf-city-guide-rich-section .nf-city-guide-rich-body,
#nf-main.nf-entwurf-escort-hamburg #events.nf-city-guide-rich-section .nf-city-guide-rich-body{
  padding-top:clamp(8px,1vw,16px);
}
#nf-main.nf-entwurf-escort-hamburg #nightlife .nf-city-guide-rich-intro,
#nf-main.nf-entwurf-escort-hamburg #viertel .nf-city-guide-rich-intro,
#nf-main.nf-entwurf-escort-hamburg #events .nf-city-guide-rich-intro{
  max-width:38em;
  margin-left:auto;
  margin-right:auto;
}
#nf-main.nf-entwurf-escort-hamburg #nightlife .nf-city-guide-topic-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:clamp(18px,2.2vw,28px);
  align-items:stretch;
}
/* Viertel: 3×2 equal cards (desktop) */
#nf-main.nf-entwurf-escort-hamburg #viertel .nf-city-guide-topic-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
  grid-auto-rows:1fr;
  gap:clamp(18px,2.2vw,28px);
  align-items:stretch;
}
/* Business & Events: 3 equal cards in one desktop row */
#nf-main.nf-entwurf-escort-hamburg #events .nf-city-guide-topic-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:clamp(18px,2.2vw,28px);
  align-items:stretch;
}
/* Generous air before Business & Events */
#nf-main.nf-entwurf-escort-hamburg #viertel.nf-city-guide-rich-section .nf-city-guide-rich-inner{
  padding-bottom:clamp(72px,9vw,112px);
}
/* Nightlife only — light surface (unchanged) */
#nf-main.nf-entwurf-escort-hamburg #nightlife .nf-city-guide-long-item{
  min-height:0;
  height:auto;
  padding:clamp(14px,1.6vw,20px) clamp(14px,1.8vw,22px);
  border:1px solid rgba(138,104,16,.14);
  background:rgba(255,255,255,.55);
}
#nf-main.nf-entwurf-escort-hamburg #nightlife .nf-city-guide-topic-grid .nf-city-guide-long-item > h3{
  font-size:clamp(17px,1.85vw,22px) !important;
  margin:0 0 12px !important;
  font-weight:300 !important;
}
#nf-main.nf-entwurf-escort-hamburg #nightlife .nf-city-guide-topic-grid .nf-city-guide-long-item > p:not(.nf-city-deep-link){
  line-height:1.85 !important;
  text-align:left !important;
}
/* Viertel + Events — reuse Hotels venue-card tokens */
#nf-main.nf-entwurf-escort-hamburg #viertel .nf-city-venue-card,
#nf-main.nf-entwurf-escort-hamburg #events .nf-city-venue-card{
  display:flex;
  flex-direction:column;
  height:100%;
  min-height:0;
  padding:clamp(22px,2.4vw,30px) clamp(20px,2.2vw,28px) clamp(16px,1.8vw,22px);
  border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.035);
  box-shadow:none;
  border-radius:0;
  text-align:left;
}
#nf-main.nf-entwurf-escort-hamburg #viertel .nf-city-venue-card > .nf-city-guide-item-area,
#nf-main.nf-entwurf-escort-hamburg #events .nf-city-venue-card > .nf-city-guide-item-area{
  order:0;
  margin:0 0 8px !important;
  font-family:'Josefin Sans',sans-serif !important;
  font-size:10px !important;
  font-weight:300 !important;
  letter-spacing:.2em !important;
  text-transform:uppercase !important;
  text-align:left !important;
  color:rgba(216,191,144,.55) !important;
}
#nf-main.nf-entwurf-escort-hamburg #viertel .nf-city-venue-card > h3,
#nf-main.nf-entwurf-escort-hamburg #events .nf-city-venue-card > h3,
#nf-main.nf-entwurf-escort-hamburg #viertel.is-base .nf-city-venue-card > h3,
#nf-main.nf-entwurf-escort-hamburg #events.is-base .nf-city-venue-card > h3{
  order:1;
  margin:0 0 12px !important;
  font-family:'Josefin Sans',sans-serif !important;
  font-size:clamp(18px,1.9vw,24px) !important;
  font-weight:300 !important;
  letter-spacing:.04em !important;
  line-height:1.25 !important;
  text-align:left !important;
  text-transform:none !important;
  color:#d8bf90 !important;
}
#nf-main.nf-entwurf-escort-hamburg #viertel .nf-city-venue-card > .nf-city-venue-teaser,
#nf-main.nf-entwurf-escort-hamburg #events .nf-city-venue-card > .nf-city-venue-teaser,
#nf-main.nf-entwurf-escort-hamburg #viertel.is-base .nf-city-venue-card > .nf-city-venue-teaser,
#nf-main.nf-entwurf-escort-hamburg #events.is-base .nf-city-venue-card > .nf-city-venue-teaser{
  order:2;
  margin:0;
  flex:1 1 auto;
  font-family:'Lato',sans-serif !important;
  font-size:14.5px;
  font-weight:300;
  line-height:1.7;
  text-align:left !important;
  color:rgba(255,255,255,.62) !important;
}
#nf-main.nf-entwurf-escort-hamburg #viertel .nf-city-venue-card > .nf-city-venue-ext,
#nf-main.nf-entwurf-escort-hamburg #events .nf-city-venue-card > .nf-city-venue-ext{
  order:3;
  margin-top:auto;
  padding-top:18px;
}
#nf-main.nf-entwurf-escort-hamburg #viertel .nf-city-venue-card > .nf-city-venue-ext a,
#nf-main.nf-entwurf-escort-hamburg #events .nf-city-venue-card > .nf-city-venue-ext a{
  font-family:'Josefin Sans',sans-serif;
  font-size:11px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:rgba(216,191,144,.7);
  text-decoration:none;
  border-bottom:none;
}
#nf-main.nf-entwurf-escort-hamburg #viertel .nf-city-venue-card > .nf-city-venue-ext a:hover,
#nf-main.nf-entwurf-escort-hamburg #events .nf-city-venue-card > .nf-city-venue-ext a:hover{
  color:#d8bf90;
}
#nf-main.nf-entwurf-escort-hamburg #nightlife .nf-entity-nap,
#nf-main.nf-entwurf-escort-hamburg #viertel .nf-entity-nap,
#nf-main.nf-entwurf-escort-hamburg #events .nf-entity-nap{display:none !important}
@media(max-width:980px){
  #nf-main.nf-entwurf-escort-hamburg #nightlife .nf-city-guide-topic-grid{
    grid-template-columns:1fr;
  }
  /* Tablet: Viertel 2×3 */
  #nf-main.nf-entwurf-escort-hamburg #viertel .nf-city-guide-topic-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  /* Tablet: Events 2+1, center the lone third card */
  #nf-main.nf-entwurf-escort-hamburg #events .nf-city-guide-topic-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  #nf-main.nf-entwurf-escort-hamburg #events .nf-city-guide-topic-grid > .nf-city-guide-long-item:last-child:nth-child(odd){
    grid-column:1 / -1;
    width:calc((100% - clamp(18px,2.2vw,28px)) / 2);
    max-width:100%;
    justify-self:center;
  }
}
@media(max-width:640px){
  #nf-main.nf-entwurf-escort-hamburg #viertel .nf-city-guide-topic-grid,
  #nf-main.nf-entwurf-escort-hamburg #events .nf-city-guide-topic-grid{
    grid-template-columns:1fr;
  }
  #nf-main.nf-entwurf-escort-hamburg #events .nf-city-guide-topic-grid > .nf-city-guide-long-item:last-child:nth-child(odd){
    grid-column:auto;
    width:auto;
    justify-self:stretch;
  }
  #nf-main.nf-entwurf-escort-hamburg #viertel .nf-city-venue-card,
  #nf-main.nf-entwurf-escort-hamburg #events .nf-city-venue-card{
    padding:20px 18px 14px;
  }
}

/* ===== Anlässe (#anlaesse) — Signature Highlights card grid ===== */
#nf-main.nf-entwurf-escort-hamburg #anlaesse.nf-city-guide-signature{
  padding:clamp(88px,11vw,120px) clamp(22px,5vw,52px) clamp(92px,11vw,128px);
  background:
    radial-gradient(ellipse 72% 48% at 50% 18%,rgba(201,168,112,.14),transparent 62%),
    linear-gradient(180deg,var(--cream2,#ede8de) 0%,var(--cream,#f4f0e8) 48%,#faf7f1 100%);
}
#nf-main.nf-entwurf-escort-hamburg #anlaesse .nf-city-guide-signature-inner{
  max-width:1020px;
}
#nf-main.nf-entwurf-escort-hamburg #anlaesse > .nf-city-guide-signature-inner > .sec-eye{
  letter-spacing:.28em !important;
  margin-bottom:16px !important;
}
#nf-main.nf-entwurf-escort-hamburg #anlaesse > .nf-city-guide-signature-inner > h2{
  font-size:clamp(24px,3vw,38px) !important;
  font-weight:200 !important;
  letter-spacing:.1em !important;
  line-height:1.28 !important;
  max-width:18em;
  margin:10px auto 28px !important;
}
#nf-main.nf-entwurf-escort-hamburg #anlaesse .nf-anlaesse-intro{
  display:none; /* Signature Highlights: eye + H2 + cards only */
}
#nf-main.nf-entwurf-escort-hamburg #anlaesse .nf-anlaesse-grid.nf-city-guide-signature-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  text-align:left;
}
/* Legacy 3-card row — default 4 cards stay 2×2 */
#nf-main.nf-entwurf-escort-hamburg #anlaesse[data-cards="3"] .nf-anlaesse-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
}
#nf-main.nf-entwurf-escort-hamburg #anlaesse .nf-city-guide-signature-card{
  padding:22px 22px 20px;
  border-radius:16px;
  border:1px solid rgba(138,104,16,.16);
  background:linear-gradient(155deg,rgba(255,255,255,.9),rgba(250,247,241,.78));
  box-shadow:0 14px 38px rgba(57,36,12,.07);
}
#nf-main.nf-entwurf-escort-hamburg #anlaesse .nf-city-guide-signature-kicker{
  margin:0 0 10px !important;
}
#nf-main.nf-entwurf-escort-hamburg #anlaesse .nf-city-guide-signature-card h3{
  margin:0 0 10px !important;
}
/* Subtle #business title link — no CTA chrome (screenshot has none) */
#nf-main.nf-entwurf-escort-hamburg #anlaesse .nf-anlaesse-title-link{
  color:inherit;
  text-decoration:none;
  border-bottom:none;
  transition:color .25s ease;
}
#nf-main.nf-entwurf-escort-hamburg #anlaesse .nf-anlaesse-title-link:hover,
#nf-main.nf-entwurf-escort-hamburg #anlaesse .nf-anlaesse-title-link:focus-visible{
  color:var(--gold3,#8a6830);
  outline:none;
}
#nf-main.nf-entwurf-escort-hamburg #anlaesse .nf-city-guide-signature-card > p:not(.nf-city-guide-signature-kicker){
  margin:0 !important;
  font-family:'Lato',sans-serif !important;
  font-size:14px !important;
  font-weight:300 !important;
  line-height:1.75 !important;
  color:rgba(26,24,21,.72) !important;
}
@media (max-width:900px){
  #nf-main.nf-entwurf-escort-hamburg #anlaesse[data-cards="3"] .nf-anlaesse-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media (max-width:640px){
  #nf-main.nf-entwurf-escort-hamburg #anlaesse .nf-anlaesse-grid.nf-city-guide-signature-grid,
  #nf-main.nf-entwurf-escort-hamburg #anlaesse[data-cards="3"] .nf-anlaesse-grid{
    grid-template-columns:1fr;
  }
  #nf-main.nf-entwurf-escort-hamburg #anlaesse .nf-city-guide-signature-card{
    padding:18px 16px 16px;
  }
}

/* ── Venue guide cards (Hotels + Restaurants) — compact accordion ── */
#nf-main.nf-entwurf-escort-hamburg #restaurants .nf-city-guide-rich-intro,
#nf-main.nf-entwurf-escort-hamburg #hotels .nf-city-guide-rich-intro{
  max-width:40em;
  margin-left:auto;
  margin-right:auto;
}
#nf-main.nf-entwurf-escort-hamburg #restaurants .nf-city-venue-grid,
#nf-main.nf-entwurf-escort-hamburg #hotels .nf-city-venue-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:clamp(18px,2.2vw,28px);
  align-items:stretch;
}
#nf-main.nf-entwurf-escort-hamburg #restaurants .nf-city-venue-card,
#nf-main.nf-entwurf-escort-hamburg #hotels .nf-city-venue-card{
  display:flex;
  flex-direction:column;
  height:100%;
  min-height:0;
  padding:clamp(22px,2.4vw,30px) clamp(20px,2.2vw,28px) clamp(16px,1.8vw,22px);
  border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.035);
  box-shadow:none;
  border-radius:0;
}
#nf-main.nf-entwurf-escort-hamburg #restaurants .nf-city-venue-card > .nf-city-guide-item-area,
#nf-main.nf-entwurf-escort-hamburg #hotels .nf-city-venue-card > .nf-city-guide-item-area{
  order:0;
  margin:0 0 8px !important;
  font-family:'Josefin Sans',sans-serif !important;
  font-size:10px !important;
  font-weight:300 !important;
  letter-spacing:.2em !important;
  text-transform:uppercase !important;
  text-align:left !important;
  color:rgba(216,191,144,.55) !important;
}
#nf-main.nf-entwurf-escort-hamburg #restaurants .nf-city-venue-card > h3,
#nf-main.nf-entwurf-escort-hamburg #hotels .nf-city-venue-card > h3{
  order:1;
  margin:0 0 12px !important;
  font-family:'Josefin Sans',sans-serif !important;
  font-size:clamp(18px,1.9vw,24px) !important;
  font-weight:300 !important;
  letter-spacing:.04em !important;
  line-height:1.25 !important;
  text-align:left !important;
  text-transform:none !important;
  color:#d8bf90 !important;
}
#nf-main.nf-entwurf-escort-hamburg #restaurants .nf-city-venue-card > .nf-city-venue-teaser,
#nf-main.nf-entwurf-escort-hamburg #hotels .nf-city-venue-card > .nf-city-venue-teaser{
  order:2;
  margin:0;
  font-family:'Lato',sans-serif !important;
  font-size:14.5px;
  font-weight:300;
  line-height:1.7;
  text-align:left !important;
  color:rgba(255,255,255,.62) !important;
}
#nf-main.nf-entwurf-escort-hamburg #restaurants .nf-city-venue-details,
#nf-main.nf-entwurf-escort-hamburg #hotels .nf-city-venue-details{
  order:3;
  margin-top:auto;
  padding-top:18px;
  border:0;
  background:transparent;
}
#nf-main.nf-entwurf-escort-hamburg #restaurants .nf-city-venue-details > summary,
#nf-main.nf-entwurf-escort-hamburg #hotels .nf-city-venue-details > summary{
  list-style:none;
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:44px;
  padding:0;
  font-family:'Josefin Sans',sans-serif;
  font-size:11px;
  font-weight:300;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:rgba(255,255,255,.48);
  transition:color .25s ease;
  user-select:none;
}
#nf-main.nf-entwurf-escort-hamburg #restaurants .nf-city-venue-details > summary::-webkit-details-marker,
#nf-main.nf-entwurf-escort-hamburg #hotels .nf-city-venue-details > summary::-webkit-details-marker{
  display:none;
}
#nf-main.nf-entwurf-escort-hamburg #restaurants .nf-city-venue-details > summary:hover,
#nf-main.nf-entwurf-escort-hamburg #hotels .nf-city-venue-details > summary:hover,
#nf-main.nf-entwurf-escort-hamburg #restaurants .nf-city-venue-details[open] > summary,
#nf-main.nf-entwurf-escort-hamburg #hotels .nf-city-venue-details[open] > summary{
  color:rgba(216,191,144,.85);
}
#nf-main.nf-entwurf-escort-hamburg #restaurants .nf-city-venue-details-arrow,
#nf-main.nf-entwurf-escort-hamburg #hotels .nf-city-venue-details-arrow{
  display:inline-block;
  transition:transform .25s ease;
}
#nf-main.nf-entwurf-escort-hamburg #restaurants .nf-city-venue-details[open] .nf-city-venue-details-arrow,
#nf-main.nf-entwurf-escort-hamburg #hotels .nf-city-venue-details[open] .nf-city-venue-details-arrow{
  transform:rotate(90deg);
}
#nf-main.nf-entwurf-escort-hamburg #restaurants .nf-city-venue-details-body,
#nf-main.nf-entwurf-escort-hamburg #hotels .nf-city-venue-details-body{
  margin-top:14px;
  padding-top:14px;
  border-top:1px solid rgba(255,255,255,.08);
}
#nf-main.nf-entwurf-escort-hamburg #restaurants .nf-city-venue-card .nf-entity-nap,
#nf-main.nf-entwurf-escort-hamburg #hotels .nf-city-venue-card .nf-entity-nap{
  margin:0;
  padding:0;
  border:0;
  background:transparent;
  display:grid;
  grid-template-columns:auto 1fr;
  gap:6px 14px;
}
#nf-main.nf-entwurf-escort-hamburg #restaurants .nf-city-venue-card .nf-entity-nap dt,
#nf-main.nf-entwurf-escort-hamburg #hotels .nf-city-venue-card .nf-entity-nap dt{
  font-family:'Josefin Sans',sans-serif;
  font-size:10px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:rgba(216,191,144,.55);
}
#nf-main.nf-entwurf-escort-hamburg #restaurants .nf-city-venue-card .nf-entity-nap dd,
#nf-main.nf-entwurf-escort-hamburg #hotels .nf-city-venue-card .nf-entity-nap dd{
  margin:0;
  font-family:'Lato',sans-serif;
  font-size:13.5px;
  line-height:1.55;
  color:rgba(255,255,255,.7);
}
#nf-main.nf-entwurf-escort-hamburg #restaurants .nf-city-venue-ext,
#nf-main.nf-entwurf-escort-hamburg #hotels .nf-city-venue-ext{
  margin:14px 0 0;
}
#nf-main.nf-entwurf-escort-hamburg #restaurants .nf-city-venue-ext a,
#nf-main.nf-entwurf-escort-hamburg #hotels .nf-city-venue-ext a{
  font-family:'Josefin Sans',sans-serif;
  font-size:11px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:rgba(216,191,144,.7);
  text-decoration:none;
  border-bottom:none;
}
#nf-main.nf-entwurf-escort-hamburg #restaurants .nf-city-venue-ext a:hover,
#nf-main.nf-entwurf-escort-hamburg #hotels .nf-city-venue-ext a:hover{
  color:#d8bf90;
}
@media(max-width:900px){
  #nf-main.nf-entwurf-escort-hamburg #restaurants .nf-city-venue-grid,
  #nf-main.nf-entwurf-escort-hamburg #hotels .nf-city-venue-grid{
    grid-template-columns:1fr;
    gap:16px;
  }
  #nf-main.nf-entwurf-escort-hamburg #restaurants .nf-city-venue-card,
  #nf-main.nf-entwurf-escort-hamburg #hotels .nf-city-venue-card{
    padding:20px 18px 14px;
  }
}
