/*
 * Design "Urban Pulse": a bold city hotel, light throughout.
 *
 * Off-white paper, black ink, ONE electric yellow used only as a highlight behind black
 * type. Anton (condensed capitals) for display, Inter for text. Hard 2px black edges,
 * offset "print" shadows (6px 6px 0 black), square corners.
 *
 * Its own layouts (not Classic's with new colours):
 *   header   white with a heavy black rule; the hotel group's bar a yellow strip; Book a
 *            solid black block with yellow capitals
 *   hero     headlines in huge condensed capitals on yellow highlight bars, a ticker of
 *            the facts running under the photograph
 *   cards    hard-edged with offset shadows; names on yellow labels
 *   footer   white, a heavy rule, the group name in giant capitals, the sister hotels as
 *            bordered tiles
 *   pages    inner heroes: the photograph full width, the title in yellow bars at the
 *            lower left, an eyebrow as a black tag
 *
 * Every rule is scoped to html[data-design="urban-pulse"].
 *
 * Contrast (WCAG AA, checked): ink #111111 on #F5F5F0 17.6:1, on #F2FF4D 18.0:1;
 * body #2B2B2B 13.4:1; muted #555555 6.9:1; yellow #F2FF4D on #111111 18.0:1.
 */

/* ---------- tokens ---------- */
html[data-design="urban-pulse"]{
  --up-yellow:#F2FF4D;
  --up-black:#111111;
  --up-shadow:6px 6px 0 var(--up-black);

  --paper:#F5F5F0;
  --paper-2:#EAEAE3;
  --white:#FFFFFF;
  --ink:var(--up-black);
  --ink-soft:#1E1E1E;
  --text:#2B2B2B;
  --muted:#555555;
  --line:#111111;
  --sand:var(--up-black);
  --sand-deep:#000;
  --sand-text:var(--up-black);
  --sand-tint:var(--up-yellow);

  --f-display:"Anton", "Impact", "Arial Narrow", sans-serif;
  --f-body:"Inter", system-ui, -apple-system, "Segoe UI", sans-serif;

  --radius:0px;
  --radius-lg:0px;
  --radius-btn:0px;
  --shadow:var(--up-shadow);
  --shadow-soft:var(--up-shadow);
}
html[data-design="urban-pulse"] body,
html[data-design="urban-pulse"] body[class]{
  --accent:var(--up-black);
  --accent-strong:var(--up-black);
  --accent-text:var(--up-black);
  --on-accent:var(--up-yellow);
  --accent-tint:var(--up-yellow);
  background:var(--paper);
  color:var(--text);
}

/* ---------- type ---------- */
html[data-design="urban-pulse"] :is(h1,h2,h3){font-family:var(--f-display);font-weight:400;text-transform:uppercase;letter-spacing:.005em;line-height:.98;color:var(--ink)}
html[data-design="urban-pulse"] :is(.hero__inner,.p-hero__inner) :is(h1,h2,h3){color:var(--ink)}
/* The highlight: black capitals on yellow bars that follow the lines. */
html[data-design="urban-pulse"] :is(.hero h1,.p-pagehead h1){display:inline;background:var(--up-yellow);color:var(--ink);padding:.02em .14em;-webkit-box-decoration-break:clone;box-decoration-break:clone;text-shadow:none;line-height:1.12}
html[data-design="urban-pulse"] .eyebrow{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--f-body);font-size:.78rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--ink)}
html[data-design="urban-pulse"] .eyebrow::before{content:"";display:inline-block;width:10px;height:10px;background:var(--up-yellow);border:2px solid var(--ink)}
html[data-design="urban-pulse"] :focus-visible{outline:3px solid var(--ink);outline-offset:3px}
html[data-design="urban-pulse"] .up-link{display:inline-flex;align-items:center;min-height:44px;font-weight:800;font-size:.85rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink);text-decoration:none;background:linear-gradient(var(--up-yellow),var(--up-yellow)) 0 85%/100% .45em no-repeat}
html[data-design="urban-pulse"] .up-link:hover{background-size:100% 100%}
html[data-design="urban-pulse"] .up-more{margin-top:2rem}

/* ---------- shape and buttons ---------- */
html[data-design="urban-pulse"] body *{border-radius:0}
html[data-design="urban-pulse"] body :is(.hero__dot,.thing-pin__dot,.photo-pin,.photo-pin__img,.leaflet-marker-icon,.cal__day,.stepper button,.drawer-close,.rail-arrow,.edge-arrow,.aw-ring,.up-ticket__badge){border-radius:50%}
html[data-design="urban-pulse"] .btn{font-family:var(--f-body);font-weight:800;letter-spacing:.08em;text-transform:uppercase;border-width:2px}
html[data-design="urban-pulse"] :is(.btn--primary,.btn--accent,.btn--dark){background:var(--ink);border-color:var(--ink);color:var(--up-yellow)}
html[data-design="urban-pulse"] :is(.btn--primary,.btn--accent,.btn--dark):hover{background:var(--up-yellow);border-color:var(--ink);color:var(--ink);filter:none}
html[data-design="urban-pulse"] :is(.btn--outline,.btn--accent-outline,.btn--light){background:var(--white);color:var(--ink);border:2px solid var(--ink)}
html[data-design="urban-pulse"] :is(.btn--outline,.btn--accent-outline,.btn--light):hover{background:var(--up-yellow)}
html[data-design="urban-pulse"] body :is(.card__tag,.offer__badge,.offer-badge,.rtile__tag,.dine__badge,.compare__badge,.chip[aria-pressed="true"],.faq-filter button[aria-pressed="true"],.cal__done,.offer-cta,.rc-badge){background:var(--up-yellow);border:2px solid var(--ink);color:var(--ink)}
html[data-design="urban-pulse"] body :is(.offer-row,.rcard){--rc:var(--ink)!important}
html[data-design="urban-pulse"] body :is(.card,.rcard,.room,.offer,.facility,.dine,.booking__card,.router__card,.compare__card,.loc,.stat,.dx-facts,.ex-card,.faq details,.p-location__card){border:2px solid var(--ink);box-shadow:var(--up-shadow)}

/* ---------- light everywhere ---------- */
html[data-design="urban-pulse"] :is(.section--ink,.cta,.footstrip,.aw-band,.g-cta,.p-facts,.faq-band){background:var(--paper);color:var(--text)}
html[data-design="urban-pulse"] :is(.section--ink,.cta,.aw-band,.g-cta) :is(h1,h2,h3){color:var(--ink)}
html[data-design="urban-pulse"] :is(.section--ink,.cta,.aw-band,.g-cta) :is(p,li){color:var(--text)}
html[data-design="urban-pulse"] :is(.section--ink,.cta,.aw-band) .eyebrow{color:var(--ink)}
html[data-design="urban-pulse"] .section--tint{background:var(--paper-2)}
html[data-design="urban-pulse"] .hero__overlay{background:linear-gradient(180deg,rgba(17,17,17,.25),rgba(17,17,17,0) 40%,rgba(17,17,17,.2))}

/* =====================================================================
   HEADER: white with a heavy black rule; the group bar a yellow strip; Book a
   black block with yellow capitals.
   ===================================================================== */
html[data-design="urban-pulse"] body #siteHeader,
html[data-design="urban-pulse"] body #siteHeader.is-transparent{background:var(--white)!important;backdrop-filter:none!important;border-bottom:3px solid var(--ink)!important;box-shadow:none}
html[data-design="urban-pulse"] body #siteHeader::before{display:none!important}
html[data-design="urban-pulse"] body #siteHeader :is(.p-mainnav,.p-topbar){background:transparent!important;backdrop-filter:none!important}
html[data-design="urban-pulse"] body #siteHeader .p-topbar{background:var(--up-yellow)!important;border-bottom:2px solid var(--ink)}
html[data-design="urban-pulse"] body #siteHeader :is(.nav-links>li>a,.nav-links>li>button,.nav-toggle,.brand,.p-mainmenu>li>a,.p-burger,.p-mainnav__brand,.p-sub-toggle,.p-topbar a,.p-topbar button,.logo-text){color:var(--ink)!important;text-shadow:none}
html[data-design="urban-pulse"] body #siteHeader .lang-menu__btn{background:var(--white)!important;border:2px solid var(--ink)!important;color:var(--ink)!important}
html[data-design="urban-pulse"] body #siteHeader :is(.p-mainnav__logo,.brand__logo){filter:invert(1)!important}
html[data-design="urban-pulse"] body #siteHeader .logo-text{font-family:var(--f-display);font-weight:400;text-transform:uppercase;letter-spacing:.01em;font-size:1.55rem}
html[data-design="urban-pulse"] body #siteHeader .p-topbar :is(a,button,.logo-text){font-family:var(--f-body);font-size:.75rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
html[data-design="urban-pulse"] body #siteHeader :is(.p-mainmenu>li>a,.nav-links>li>a,.nav-links>li>button){font-size:.78rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}
html[data-design="urban-pulse"] body #siteHeader .nav-links{gap:.2rem 1.1rem}
@media (max-width:1439px){
  html[data-design="urban-pulse"] body #siteHeader :is(.p-mainmenu>li>a,.nav-links>li>a,.nav-links>li>button){letter-spacing:.02em;font-size:.75rem}
  html[data-design="urban-pulse"] body #siteHeader .nav-links{gap:.2rem .6rem}
  html[data-design="urban-pulse"] body #siteHeader .logo-text{font-size:1.3rem}
}
html[data-design="urban-pulse"] body #siteHeader :is(.p-mainmenu>li>a,.nav-links>li>a)::after{height:4px;background:var(--up-yellow);bottom:.15rem}
html[data-design="urban-pulse"] body #siteHeader :is(.p-mainmenu>li>a,.nav-links>li>a)[aria-current="page"]{background:var(--up-yellow)}
@media (min-width:721px){
  html[data-design="urban-pulse"] body #siteHeader :is(.p-mainnav__cta,.nav-cta > .btn--primary){align-self:stretch;min-height:0;height:auto;padding:0 1.6rem;display:inline-flex;align-items:center;font-size:.85rem;border:0}
  html[data-design="urban-pulse"] body #siteHeader :is(.p-mainnav__inner,.nav){align-items:stretch}
  html[data-design="urban-pulse"] body #siteHeader :is(.brand,.p-mainnav__brand,.nav-inline,.p-mainnav__nav){align-self:center}
  html[data-design="urban-pulse"] body #siteHeader .nav-cta{gap:.6rem}
  html[data-design="urban-pulse"] body #siteHeader :is(.brand,.p-mainnav__brand){display:inline-flex;align-items:center;min-height:44px}
  html[data-design="urban-pulse"] body #siteHeader .nav{gap:1rem}
}
/* The wide capitals need room: below 1181px the group menu lives in the drawer only. */
@media (max-width:1180px){
  html[data-design="urban-pulse"] body #siteHeader .nav-inline{display:none}
  html[data-design="urban-pulse"] body #siteHeader :is(.p-mainnav__right,.nav-cta){align-self:stretch;align-items:center}
  html[data-design="urban-pulse"] body #siteHeader .p-mainnav__right > .p-mainnav__cta{align-self:stretch}
}
html[data-design="urban-pulse"] :is(.nav-drawer,.p-mainmenu[data-open]){background:var(--white)}
@media (max-width:1120px){
  html[data-design="urban-pulse"] body .p-mainmenu>li:not(.p-menu-extra,.p-menu-cta,.p-menu-contact)>a{font-family:var(--f-display);font-size:1.6rem;font-weight:400;text-transform:uppercase;letter-spacing:.01em}
}
html[data-design="urban-pulse"] body .nav-drawer__list>li:not(.nav-drawer__head)>a:not(.nav-drawer__resort){font-family:var(--f-display);font-size:1.6rem;text-transform:uppercase}

/* =====================================================================
   FOOTER: white, a heavy rule, the group name in giant capitals, the sister
   hotels as bordered tiles.
   ===================================================================== */
html[data-design="urban-pulse"] .site-footer{background:var(--white);color:var(--text);border-top:3px solid var(--ink);padding-block:clamp(56px,7vw,96px) 1.6rem}
html[data-design="urban-pulse"] .site-footer a{color:var(--ink)}
html[data-design="urban-pulse"] .site-footer a:hover{background:var(--up-yellow)}
html[data-design="urban-pulse"] .site-footer :is(p,.footer__note){color:var(--text)}
html[data-design="urban-pulse"] .site-footer .footer__logo{filter:invert(1)}
html[data-design="urban-pulse"] body .site-footer .footer__h{font-family:var(--f-body);font-size:.78rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--ink);display:inline-block;background:var(--up-yellow);padding:.15rem .4rem}
html[data-design="urban-pulse"] body .site-footer .footer__logo-text{display:block;font-family:var(--f-display);font-weight:400;text-transform:uppercase;font-size:clamp(2.6rem,7vw,6rem);line-height:.92;color:var(--ink);white-space:normal}
html[data-design="urban-pulse"] body .site-footer .footer__grid li a{display:inline-flex;align-items:center;min-height:36px;font-weight:600}
html[data-design="urban-pulse"] body .site-footer .footer__legal a{display:inline-flex;align-items:center;min-height:44px;color:var(--ink)}
html[data-design="urban-pulse"] body .site-footer :is(.footer__bottom,.footer__bottom a){color:var(--muted)}
html[data-design="urban-pulse"] body .site-footer :is(.footer__legal-row,.footer__bottom){border-color:var(--ink)}
@media (min-width:901px){
  html[data-design="urban-pulse"] body .site-footer .footer__grid > div:first-child{grid-column:1 / -1;padding-bottom:1.4rem;margin-bottom:.6rem;border-bottom:2px solid var(--ink)}
  html[data-design="urban-pulse"] body .site-footer .footer__grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}
}
html[data-design="urban-pulse"] body .site-footer .footsib{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;border-top:2px solid var(--ink);margin-top:2.4rem;padding-top:1.6rem}
html[data-design="urban-pulse"] body .site-footer .footsib__lbl{grid-column:1 / -1;font-size:.78rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--ink)}
html[data-design="urban-pulse"] body .site-footer .footsib__row{display:flex;flex-direction:column;gap:0;padding:0;border:2px solid var(--ink);box-shadow:4px 4px 0 var(--ink);background:var(--white);color:var(--ink)}
html[data-design="urban-pulse"] body .site-footer .footsib__row:hover{background:var(--up-yellow);transform:translate(-2px,-2px);box-shadow:6px 6px 0 var(--ink)}
html[data-design="urban-pulse"] body .site-footer .footsib__thumb{width:100%;height:auto;aspect-ratio:16/10;margin:0;border-bottom:2px solid var(--ink)}
html[data-design="urban-pulse"] body .site-footer .footsib__thumb img{width:100%;height:100%;object-fit:cover}
html[data-design="urban-pulse"] body .site-footer .footsib__name{padding:.6rem .7rem 0;font-family:var(--f-display);font-size:1.2rem;text-transform:uppercase;color:var(--ink)}
html[data-design="urban-pulse"] body .site-footer .footsib__desc{padding:0 .7rem .7rem;margin:0;text-align:left;font-size:.82rem;color:var(--text)}
html[data-design="urban-pulse"] body .site-footer .footsib__arw{display:none}
@media (min-width:721px){
  html[data-design="urban-pulse"] body .site-footer .footsib{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}
}
html[data-design="urban-pulse"] .footstrip{display:grid;grid-auto-flow:row;grid-auto-columns:auto;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;padding:clamp(2rem,4vw,3rem) var(--gutter);border-top:3px solid var(--ink);background:var(--paper)}
html[data-design="urban-pulse"] .footstrip a{position:relative;display:flex;flex-direction:column;aspect-ratio:auto;overflow:visible;border:2px solid var(--ink);box-shadow:4px 4px 0 var(--ink);background:var(--white)}
html[data-design="urban-pulse"] .footstrip a::after{display:none}
html[data-design="urban-pulse"] .footstrip img{aspect-ratio:16/10;height:auto;border-bottom:2px solid var(--ink)}
html[data-design="urban-pulse"] .footstrip a:hover img{transform:none}
html[data-design="urban-pulse"] .footstrip span{position:static;padding:.5rem .6rem;color:var(--ink);text-shadow:none;font-family:var(--f-display);font-size:1.1rem;font-weight:400;letter-spacing:.01em;text-transform:uppercase}
html[data-design="urban-pulse"] .footstrip + .site-footer{border-top:0}

/* =====================================================================
   INNER PAGE HERO: the photograph full width, the title in yellow bars at the
   lower left, the eyebrow as a black tag.
   ===================================================================== */
html[data-design="urban-pulse"] body .p-pagehead{background:var(--paper);border-bottom:3px solid var(--ink)}
html[data-design="urban-pulse"] body .p-pagehead__img{opacity:1}
html[data-design="urban-pulse"] body .p-pagehead__inner{text-align:left}
html[data-design="urban-pulse"] body .p-pagehead h1{font-size:clamp(2.6rem,6.4vw,5.6rem)}
html[data-design="urban-pulse"] body .p-pagehead .eyebrow,
html[data-design="urban-pulse"] .up-pill-label{display:flex;width:fit-content}
html[data-design="urban-pulse"] body .p-pagehead .eyebrow{justify-content:flex-start;background:var(--ink);color:var(--up-yellow);padding:.35rem .6rem;margin-bottom:.9rem}
html[data-design="urban-pulse"] body .p-pagehead .eyebrow::before{display:none}
html[data-design="urban-pulse"] body .p-pagehead__inner > p:not(.eyebrow){display:table;margin:1.1rem 0 0;background:var(--white);color:var(--ink);padding:.6rem .8rem;border:2px solid var(--ink);max-width:46ch;font-weight:500}
@media (min-width:721px){
  html[data-design="urban-pulse"] body .p-pagehead:has(.p-pagehead__img){min-height:clamp(420px,58vh,620px);display:flex;align-items:flex-end}
  html[data-design="urban-pulse"] body .p-pagehead__inner{width:100%;padding-bottom:clamp(2.4rem,4vw,3.6rem)}
}
html[data-design="urban-pulse"] body .p-pagehead:not(:has(.p-pagehead__img)) h1{background:none;padding:0}

/* =====================================================================
   SHARED SECTION PIECES
   ===================================================================== */
@media (min-width:721px){
  html[data-design="urban-pulse"] .section__head{text-align:left;margin-inline:0;max-width:60rem}
  html[data-design="urban-pulse"] .section__head .eyebrow{justify-content:flex-start}
  html[data-design="urban-pulse"] .section__head h2{font-size:clamp(2.6rem,5.4vw,4.6rem)}
  html[data-design="urban-pulse"] .section__head.center{text-align:center;margin-inline:auto}
}
html[data-design="urban-pulse"] .p-crumbs{font-size:.78rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
html[data-design="urban-pulse"] .p-crumbs a{color:var(--ink);background:linear-gradient(var(--up-yellow),var(--up-yellow)) 0 85%/100% .45em no-repeat;display:inline-flex;align-items:center;min-height:44px}

/* Key facts: a bordered box, yellow squares instead of icons. */
html[data-design="urban-pulse"] body .p-keyfacts{background:var(--white);border:2px solid var(--ink);box-shadow:var(--up-shadow)}
html[data-design="urban-pulse"] body .p-keyfacts li{border-bottom:2px solid var(--ink);font-weight:600;color:var(--ink);align-items:center}
html[data-design="urban-pulse"] body .p-keyfacts li:last-child{border-bottom:0}
html[data-design="urban-pulse"] body .p-keyfacts svg{box-sizing:content-box;padding:5px;background:var(--up-yellow);border:2px solid var(--ink);color:var(--ink)}

/* Facilities: bordered tiles, the icon in a yellow square. */
html[data-design="urban-pulse"] body .facility{background:var(--white)}
html[data-design="urban-pulse"] body .facility__ic{background:var(--up-yellow);border:2px solid var(--ink);color:var(--ink);border-radius:0}
html[data-design="urban-pulse"] body .facility h3{font-family:var(--f-display);font-size:1.5rem;font-weight:400;text-transform:uppercase}
html[data-design="urban-pulse"] body .facility:hover{transform:translate(-2px,-2px);box-shadow:8px 8px 0 var(--ink)}

/* Offers. */
html[data-design="urban-pulse"] body .offer-row{background:var(--white);border:2px solid var(--ink);box-shadow:var(--up-shadow)}
html[data-design="urban-pulse"] body .offer-media{border-right:2px solid var(--ink)}
html[data-design="urban-pulse"] body .offer-body h3{font-size:clamp(1.8rem,3vw,2.6rem)}

/* "With every booking". */
html[data-design="urban-pulse"] body .perks-ribbon{background:var(--up-yellow);border:2px solid var(--ink);box-shadow:var(--up-shadow)}
html[data-design="urban-pulse"] body .perks-ribbon__head{color:var(--ink);font-weight:800}
html[data-design="urban-pulse"] body .perk__ic{background:var(--white);border:2px solid var(--ink);color:var(--ink)}
html[data-design="urban-pulse"] body .perk b{font-family:var(--f-display);font-size:1.4rem;font-weight:400;text-transform:uppercase;color:var(--ink)}
html[data-design="urban-pulse"] body .perk span{color:var(--ink)}

/* Room tiles: bordered with offset shadows, the name on a yellow label. */
@media (min-width:721px){
  html[data-design="urban-pulse"] body .roombento{gap:1.4rem}
  html[data-design="urban-pulse"] body .rtile{border:2px solid var(--ink);box-shadow:var(--up-shadow)}
  html[data-design="urban-pulse"] body .rtile h3{display:inline;background:var(--up-yellow);color:var(--ink);padding:.05em .2em;-webkit-box-decoration-break:clone;box-decoration-break:clone}
  html[data-design="urban-pulse"] body .rtile__scrim{background:linear-gradient(to top,rgba(17,17,17,.55),rgba(17,17,17,0) 60%)}
}

/* The booking panel: a big yellow block. */
html[data-design="urban-pulse"] body .section--ink{background:var(--up-yellow);border-block:3px solid var(--ink)}
html[data-design="urban-pulse"] body .section--ink h2{font-size:clamp(2.6rem,6vw,5rem)}

/* Attractions. */
html[data-design="urban-pulse"] body .attr-row{border-top:2px solid var(--ink)}
html[data-design="urban-pulse"] body .attr-idx{font-family:var(--f-display);font-size:2rem;color:var(--ink);width:3rem}
html[data-design="urban-pulse"] body .attr-thumb{border:2px solid var(--ink)}
html[data-design="urban-pulse"] body .attr-thumb:not(:has(img)){display:none}
html[data-design="urban-pulse"] body .attr-main h3{font-size:1.6rem}
html[data-design="urban-pulse"] body .attr-dist{background:var(--up-yellow);color:var(--ink);font-weight:800;padding:.2rem .5rem;border:2px solid var(--ink)}

/* Questions: bordered rows. */
html[data-design="urban-pulse"] body :is(.faqx__item,.faq details){background:var(--white);margin-bottom:.8rem}
html[data-design="urban-pulse"] body :is(.faqx__item,.faq details) summary{font-weight:700;padding:1rem 1.2rem}
html[data-design="urban-pulse"] body :is(.faqx__item,.faq details) > :not(summary){padding:0 1.2rem 1.1rem}
html[data-design="urban-pulse"] body :is(.faqx__item,.faq details)[open]{background:var(--up-yellow)}

/* Gallery: bordered. */
html[data-design="urban-pulse"] body .gallery a{border:2px solid var(--ink);box-shadow:4px 4px 0 var(--ink)}
html[data-design="urban-pulse"] body .aw-band{min-height:0;border:2px solid var(--ink);box-shadow:var(--up-shadow)}
html[data-design="urban-pulse"] body .aw-band > img,
html[data-design="urban-pulse"] body .aw-band::after{display:none}
html[data-design="urban-pulse"] body .aw-band :is(h2,.aw-score span){color:var(--ink)}
html[data-design="urban-pulse"] body .aw-band .aw-ring{color:var(--ink);background:var(--up-yellow);border-color:var(--ink)}
html[data-design="urban-pulse"] body .aw-band__logo{filter:none}
html[data-design="urban-pulse"] body .aw-band__in > div > p{color:var(--text)}

/* =====================================================================
   HOMEPAGE AND HOTEL PAGE
   ===================================================================== */
/* Hero: the headline on yellow bars at the lower left. */
html[data-design="urban-pulse"] .up-pill-label{display:inline-flex;align-self:flex-start;background:var(--ink);color:var(--up-yellow)!important;padding:.35rem .6rem;font-size:.78rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;text-shadow:none;margin-bottom:.9rem}
html[data-design="urban-pulse"] .up-hero h1{font-size:clamp(2.2rem,min(7vw,7.4vh),6rem)}
html[data-design="urban-pulse"] .up-hero__links{display:none}
@media (min-width:721px){
  html[data-design="urban-pulse"] .up-hero{display:flex}
  html[data-design="urban-pulse"] body .up-hero .hero__inner{width:100%;justify-content:flex-end;padding-bottom:clamp(40px,5vw,64px);text-shadow:none}
  html[data-design="urban-pulse"] .up-hero h1{max-width:16ch}
  /* The slide dots sit at the lower right, out of the headline's column. */
  html[data-design="urban-pulse"] body .up-hero .hero__dots{position:absolute;right:var(--gutter);bottom:1.2rem;margin:0;z-index:2}
  html[data-design="urban-pulse"] .up-hero__links{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.4rem}
  html[data-design="urban-pulse"] .up-hero__links a{display:inline-flex;align-items:center;min-height:46px;padding:0 1rem;background:var(--white);border:2px solid var(--ink);box-shadow:4px 4px 0 var(--ink);color:var(--ink);font-weight:800;font-size:.82rem;letter-spacing:.08em;text-transform:uppercase}
  html[data-design="urban-pulse"] .up-hero__links a:hover{background:var(--up-yellow)}
}
/* The ticker. */
html[data-design="urban-pulse"] .up-ticker{overflow:hidden;background:var(--up-yellow);border-block:3px solid var(--ink);white-space:nowrap}
html[data-design="urban-pulse"] .up-ticker__track{display:inline-flex;gap:0;padding:.7rem 0;animation:up-tick 40s linear infinite}
html[data-design="urban-pulse"] .up-ticker__track span{display:inline-flex;align-items:center;font-family:var(--f-display);font-size:1.25rem;text-transform:uppercase;color:var(--ink)}
html[data-design="urban-pulse"] .up-ticker__track span::after{content:"";display:inline-block;width:12px;height:12px;margin:0 1.6rem;background:var(--ink);transform:rotate(45deg)}
@keyframes up-tick{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){html[data-design="urban-pulse"] .up-ticker__track{animation:none}}
/* Phones: the booking box comes first; the ticker is decoration (its facts are in the
   welcome below), so it steps aside. */
@media (max-width:720px){html[data-design="urban-pulse"] .up-ticker{display:none}}
/* Booking: a bordered card under the ticker (no overlap). */
html[data-design="urban-pulse"] .up-booking{margin-top:0;padding-top:.5rem}
html[data-design="urban-pulse"] .up-booking .booking__card{background:var(--white)}
/* FIRST SCREEN: ticker 50px + card 204px + 16px -> hero = 100svh - 270px (portrait
   tablets: the card wraps to 440px -> 100svh - 506px). */
@media (min-width:901px){
  html[data-design="urban-pulse"] body .up-hero{min-height:min(860px,calc(100svh - 292px))}
}
@media (min-width:721px) and (max-width:900px){
  html[data-design="urban-pulse"] body .up-hero{min-height:calc(100svh - 528px)}
}
@media (min-width:721px){
  html[data-design="urban-pulse"] body .up-hero .hero__inner{min-height:0;padding-top:120px}
  html[data-design="urban-pulse"] body[data-resort] .up-hero .hero__inner{padding-top:136px}
}
@media (min-width:721px) and (max-height:820px){
  html[data-design="urban-pulse"] body .up-hero h1{font-size:clamp(2rem,5.6vh,5rem)}
  html[data-design="urban-pulse"] body .up-hero__links{margin-top:.8rem}
}

/* Welcome: a giant left-set statement, the facts as black tags. */
html[data-design="urban-pulse"] .up-welcome h2{font-size:clamp(2.6rem,6vw,5.4rem);max-width:18ch;margin:.6rem 0 1.4rem}
html[data-design="urban-pulse"] .up-welcome__body{max-width:62ch}
html[data-design="urban-pulse"] .up-welcome__body p{font-size:clamp(1.05rem,1.4vw,1.2rem);line-height:1.7;color:var(--text)}
html[data-design="urban-pulse"] .up-pills{list-style:none;display:flex;flex-wrap:wrap;gap:.6rem;margin:1.6rem 0 0;padding:0}
html[data-design="urban-pulse"] .up-pills li{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem .8rem;background:var(--ink);color:var(--up-yellow);font-weight:800;font-size:.82rem;letter-spacing:.06em;text-transform:uppercase}
html[data-design="urban-pulse"] .up-pills svg{color:var(--up-yellow)}
html[data-design="urban-pulse"] .up-pills--sm li{background:var(--white);color:var(--ink);border:2px solid var(--ink);font-size:.78rem}

/* Hotels: hard-edged cards, the first wide (phones: the swipe row). */
html[data-design="urban-pulse"] .up-shore{position:relative;background:var(--white);border:2px solid var(--ink);box-shadow:var(--up-shadow);display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s}
html[data-design="urban-pulse"] .up-shore:hover{transform:translate(-3px,-3px);box-shadow:9px 9px 0 var(--ink)}
html[data-design="urban-pulse"] .up-shore__media{display:block;aspect-ratio:4/3;overflow:hidden;border-bottom:2px solid var(--ink)}
html[data-design="urban-pulse"] .up-shore__media img{width:100%;height:100%;object-fit:cover}
html[data-design="urban-pulse"] .up-shore__body{padding:1rem 1.1rem 1.2rem;display:flex;flex-direction:column;flex:1}
html[data-design="urban-pulse"] .up-shore__place{margin:0;font-size:.75rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
html[data-design="urban-pulse"] .up-shore h3{margin:.3rem 0 .5rem;font-size:clamp(1.8rem,2.6vw,2.4rem)}
html[data-design="urban-pulse"] .up-shore h3 a{color:var(--ink);text-decoration:none}
html[data-design="urban-pulse"] .up-shore__desc{margin:0 0 .9rem;color:var(--text)}
html[data-design="urban-pulse"] .up-shore__actions{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem 1rem;margin-top:auto}
@media (min-width:721px){
  html[data-design="urban-pulse"] .up-bento{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.6rem;margin-top:2.6rem}
  html[data-design="urban-pulse"] .up-bento > .up-shore:first-child{grid-column:1 / -1;flex-direction:row}
  html[data-design="urban-pulse"] .up-bento > .up-shore:first-child .up-shore__media{flex:1.4;aspect-ratio:auto;min-height:340px;border-bottom:0;border-right:2px solid var(--ink)}
  html[data-design="urban-pulse"] .up-bento > .up-shore:first-child .up-shore__body{flex:1;justify-content:center;padding:2rem}
  html[data-design="urban-pulse"] .up-bento > .up-shore:first-child h3{font-size:clamp(2.6rem,4.4vw,4rem)}
  html[data-design="urban-pulse"] .up-bento > .up-shore:first-child .up-shore__actions{margin-top:.6rem}
}
@media (min-width:721px) and (max-width:1024px){
  html[data-design="urban-pulse"] .up-bento{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* Finder: big bordered toggles, the match in a bordered card. */
html[data-design="urban-pulse"] .up-finder{background:var(--paper-2);border-block:3px solid var(--ink)}
html[data-design="urban-pulse"] .up-finder .router__result{background:none;border:0}
@media (min-width:721px){
  html[data-design="urban-pulse"] body .up-bigpills{gap:.8rem;margin:1.8rem 0 2.2rem}
  html[data-design="urban-pulse"] body .up-bigpills .chip{min-height:52px;padding:0 1.3rem;background:var(--white);border:2px solid var(--ink);box-shadow:4px 4px 0 var(--ink);font-weight:800;font-size:.85rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink);transform:none}
  html[data-design="urban-pulse"] body .up-bigpills .chip[aria-pressed="true"]{background:var(--up-yellow);transform:translate(2px,2px);box-shadow:2px 2px 0 var(--ink)}
  html[data-design="urban-pulse"] .up-finder__answer .match.is-current{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:0 2.4rem;align-items:center;background:var(--white);border:2px solid var(--ink);box-shadow:var(--up-shadow);padding:1rem}
  html[data-design="urban-pulse"] .up-finder__answer .match__thumb{grid-row:1 / span 2;width:100%;height:auto;aspect-ratio:4/3;border:2px solid var(--ink)}
  html[data-design="urban-pulse"] .up-finder__answer .match__body h3{font-size:clamp(2rem,3.4vw,3rem)}
  html[data-design="urban-pulse"] .up-finder__answer .match__cta{flex-direction:row;align-items:center;gap:1.2rem;margin-top:1rem}
}
@media (max-width:720px){
  html[data-design="urban-pulse"] body #routerResult.up-finder__answer{margin-inline:calc(-1 * var(--gutter));padding-inline:var(--gutter);scroll-padding-inline:var(--gutter)}
}

/* Offers: bordered cards, the discount on a tilted yellow sticker. */
html[data-design="urban-pulse"] .up-ticket{position:relative;background:var(--white);border:2px solid var(--ink);box-shadow:var(--up-shadow);display:flex;flex-direction:column}
html[data-design="urban-pulse"] .up-ticket__media{position:relative;aspect-ratio:16/10;min-height:0;border-bottom:2px solid var(--ink)}
html[data-design="urban-pulse"] body .up-ticket__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
html[data-design="urban-pulse"] body .up-ticket__badge{position:absolute;right:-.6rem;top:-.8rem;left:auto;bottom:auto;display:grid;place-items:center;width:92px;height:92px;padding:.4rem;background:var(--up-yellow)!important;border:2px solid var(--ink)!important;color:var(--ink)!important;font-family:var(--f-display);font-size:1.15rem!important;font-weight:400;line-height:1;text-align:center;text-transform:uppercase;transform:rotate(-8deg);box-shadow:3px 3px 0 var(--ink)}
html[data-design="urban-pulse"] .up-ticket__body{padding:1.1rem 1.1rem .6rem}
html[data-design="urban-pulse"] .up-ticket__where{margin:0;font-size:.75rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--ink)}
html[data-design="urban-pulse"] body .up-ticket__where .beach{font-size:inherit;letter-spacing:inherit;color:var(--muted)}
html[data-design="urban-pulse"] .up-ticket .offer__name{margin:.4rem 0 .6rem;font-family:var(--f-display);font-size:1.7rem;font-weight:400;text-transform:uppercase;line-height:1;color:var(--ink)}
html[data-design="urban-pulse"] .up-ticket__stub{margin-top:auto;padding:.9rem 1.1rem 1.1rem;border-top:2px dashed var(--ink)}
@media (min-width:721px){
  html[data-design="urban-pulse"] .up-tickets{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.8rem;margin-top:2.6rem}
}

/* Map in a black frame. */
html[data-design="urban-pulse"] .up-map :is(#map,#mapStage,.mapcard){border:2px solid var(--ink)}

/* Scores: huge numbers in a ruled grid. */
html[data-design="urban-pulse"] .up-rings{list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:0;margin:2.2rem 0 0;padding:0;border:2px solid var(--ink);background:var(--white);box-shadow:var(--up-shadow)}
html[data-design="urban-pulse"] .up-rings li{display:flex;flex-direction:column;padding:1.4rem 1.2rem;border-right:2px solid var(--ink)}
html[data-design="urban-pulse"] .up-rings li:last-child{border-right:0}
html[data-design="urban-pulse"] .up-rings b{font-family:var(--f-display);font-size:clamp(3rem,5vw,4.4rem);font-weight:400;line-height:1;color:var(--ink)}
html[data-design="urban-pulse"] .up-rings span{margin-top:.4rem;font-weight:800;text-transform:uppercase;font-size:.85rem;letter-spacing:.06em;color:var(--ink)}
html[data-design="urban-pulse"] .up-rings small{color:var(--muted)}
html[data-design="urban-pulse"] .up-rings__award{margin-top:1.4rem;color:var(--text)}
@media (max-width:720px){
  html[data-design="urban-pulse"] .up-rings li{border-right:0;border-bottom:2px solid var(--ink)}
  html[data-design="urban-pulse"] .up-rings li:last-child{border-bottom:0}
}

/* Questions on the home pages: two columns. */
@media (min-width:901px){
  html[data-design="urban-pulse"] .up-faq .faq__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:1.4rem;max-width:none;align-items:start}
}

/* Close: a yellow block with the photograph beside it. */
html[data-design="urban-pulse"] body .up-close{background:var(--paper);padding-block:clamp(56px,8vw,110px)}
html[data-design="urban-pulse"] .up-close__card{position:relative;display:grid;border:3px solid var(--ink);box-shadow:10px 10px 0 var(--ink);background:var(--up-yellow);overflow:hidden}
html[data-design="urban-pulse"] .up-close__img{width:100%;height:100%;min-height:240px;object-fit:cover;border-bottom:3px solid var(--ink)}
html[data-design="urban-pulse"] .up-close__text{padding:clamp(1.6rem,4vw,3rem)}
html[data-design="urban-pulse"] .up-close__text h2{font-size:clamp(2.6rem,5.6vw,5rem);margin:0 0 .8rem}
html[data-design="urban-pulse"] .up-close__text p{margin:0 0 1.4rem;color:var(--ink);font-weight:500}
html[data-design="urban-pulse"] .up-close__note{margin-top:.8rem;font-size:.88rem;color:var(--ink)}
@media (min-width:721px){
  html[data-design="urban-pulse"] .up-close__card{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr)}
  html[data-design="urban-pulse"] .up-close__img{border-bottom:0;border-right:3px solid var(--ink)}
  html[data-design="urban-pulse"] .up-close__text{align-self:center}
}

/* Hotel page: facts as bordered blocks with huge figures. */
html[data-design="urban-pulse"] .up-factpills{list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:0;margin:clamp(2rem,4vw,3rem) 0 0;padding:0;border:2px solid var(--ink);background:var(--white);box-shadow:var(--up-shadow)}
html[data-design="urban-pulse"] .up-factpills li{display:flex;flex-direction:column;padding:1.1rem 1.2rem;border-right:2px solid var(--ink)}
html[data-design="urban-pulse"] .up-factpills li:last-child{border-right:0}
html[data-design="urban-pulse"] .up-factpills b{font-family:var(--f-display);font-size:clamp(2.4rem,4vw,3.4rem);font-weight:400;line-height:1;color:var(--ink)}
html[data-design="urban-pulse"] .up-factpills span{margin-top:.3rem;font-weight:800;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink)}
@media (max-width:720px){
  html[data-design="urban-pulse"] .up-factpills li{border-right:0;border-bottom:2px solid var(--ink)}
  html[data-design="urban-pulse"] .up-factpills li:last-child{border-bottom:0}
}

/* Hotel page: rooms and restaurants as hard-edged cards. */
html[data-design="urban-pulse"] .up-card{display:flex;flex-direction:column;background:var(--white);border:2px solid var(--ink);box-shadow:var(--up-shadow);color:var(--text);text-decoration:none;transition:transform .2s,box-shadow .2s}
html[data-design="urban-pulse"] a.up-card:hover{transform:translate(-3px,-3px);box-shadow:9px 9px 0 var(--ink)}
html[data-design="urban-pulse"] .up-card__media{position:relative;display:block;aspect-ratio:4/3;overflow:hidden;border-bottom:2px solid var(--ink);background:var(--paper-2)}
html[data-design="urban-pulse"] .up-card__media img{width:100%;height:100%;object-fit:cover}
html[data-design="urban-pulse"] .up-card__pill{position:absolute;left:.8rem;top:.8rem;padding:.3rem .55rem;background:var(--up-yellow);border:2px solid var(--ink);color:var(--ink);font-weight:800;font-size:.78rem;letter-spacing:.06em;text-transform:uppercase}
html[data-design="urban-pulse"] .up-card__body{display:flex;flex-direction:column;padding:1rem 1.1rem 1.1rem}
html[data-design="urban-pulse"] .up-card h3{margin:0 0 .4rem;font-size:clamp(1.8rem,2.6vw,2.3rem)}
html[data-design="urban-pulse"] .up-card__desc{display:block;color:var(--text)}
html[data-design="urban-pulse"] .up-card__hours{display:block;margin-bottom:.4rem;font-size:.88rem;font-weight:600;color:var(--muted)}
html[data-design="urban-pulse"] .up-card__note{display:block;margin-top:.4rem;font-size:.85rem;color:var(--muted)}
html[data-design="urban-pulse"] .up-card.is-nomedia .up-card__media{display:none}
@media (min-width:721px){
  html[data-design="urban-pulse"] .up-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.8rem;margin-top:2.6rem}
  html[data-design="urban-pulse"] .up-cards--two{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}
}

/* Hotel page: facilities as bordered rows with yellow icon squares. */
html[data-design="urban-pulse"] .up-iconrows{list-style:none;margin:2.2rem 0 0;padding:0;display:grid;gap:0;border:2px solid var(--ink);background:var(--white);box-shadow:var(--up-shadow)}
html[data-design="urban-pulse"] .up-iconrows li{display:flex;gap:1rem;align-items:flex-start;padding:1.1rem 1.2rem;border-bottom:2px solid var(--ink)}
html[data-design="urban-pulse"] .up-iconrows__ic{flex:none;display:grid;place-items:center;width:48px;height:48px;background:var(--up-yellow);border:2px solid var(--ink);color:var(--ink)}
html[data-design="urban-pulse"] .up-iconrows h3{margin:.1rem 0 .2rem;font-size:1.5rem}
html[data-design="urban-pulse"] .up-iconrows p{margin:0;font-size:.95rem;color:var(--text)}
@media (min-width:721px){
  html[data-design="urban-pulse"] .up-iconrows{grid-template-columns:repeat(2,minmax(0,1fr))}
  html[data-design="urban-pulse"] .up-iconrows li:nth-child(odd){border-right:2px solid var(--ink)}
}

/* Hotel page: the gallery in hard-edged frames. */
html[data-design="urban-pulse"] .up-masonry a{display:block;overflow:hidden;border:2px solid var(--ink);background:var(--paper-2)}
html[data-design="urban-pulse"] .up-masonry img{width:100%;height:100%;object-fit:cover}
@media (max-width:720px){
  html[data-design="urban-pulse"] .up-masonry > a{height:250px}
}
@media (min-width:721px){
  html[data-design="urban-pulse"] .up-masonry{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.2rem;margin-top:2.6rem}
  html[data-design="urban-pulse"] .up-masonry a{aspect-ratio:4/3;box-shadow:4px 4px 0 var(--ink)}
  html[data-design="urban-pulse"] .up-masonry a:first-child{grid-column:span 2;grid-row:span 2;aspect-ratio:auto}
}

/* Hotel page: the map with the address in a bordered card over it. */
html[data-design="urban-pulse"] .up-where__frame{position:relative;margin-top:2.4rem}
html[data-design="urban-pulse"] .up-where__map{position:relative;z-index:0;height:320px;border:2px solid var(--ink)}
html[data-design="urban-pulse"] .up-where__map #resort-map{width:100%;height:100%;filter:grayscale(1) contrast(1.1)}
html[data-design="urban-pulse"] .up-where__card{background:var(--white);border:2px solid var(--ink);box-shadow:var(--up-shadow);padding:1.4rem;margin-top:1rem}
html[data-design="urban-pulse"] .up-where__card h3{font-size:2rem;margin:0 0 .5rem}
html[data-design="urban-pulse"] .up-where__card address{font-style:normal;color:var(--ink);line-height:1.6;font-weight:500}
html[data-design="urban-pulse"] .up-where__contact{list-style:none;margin:.8rem 0 0;padding:0}
html[data-design="urban-pulse"] .up-where__contact a{display:inline-flex;align-items:center;gap:.6rem;min-height:44px;color:var(--ink);font-weight:600}
html[data-design="urban-pulse"] .up-where__go{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1rem}
@media (min-width:901px){
  html[data-design="urban-pulse"] .up-where__map{height:clamp(460px,46vw,580px)}
  html[data-design="urban-pulse"] .up-where__card{position:absolute;z-index:1;top:1.4rem;left:1.4rem;width:min(380px,40%);margin:0}
}

@media (prefers-reduced-motion:reduce){
  html[data-design="urban-pulse"] *{transition:none!important}
}
