/* Urban Concept multi-page system. Every visual value resolves to the shared tokens. */
*{box-sizing:border-box}
html{background:var(--color-page-canvas)}
body{margin:var(--size-0);background:var(--glass-page-background);color:var(--color-ink);font-family:var(--font-sans);font-size:var(--font-step-0);line-height:var(--line-body)}
body.menu-open{overflow:hidden}
img,video{display:block;max-width:100%}
a{color:inherit}
.site-container{width:min(calc(100% - var(--space-l)),var(--content-wide));margin-inline:auto}
.site-header{position:sticky;top:var(--space-2xs);z-index:var(--layer-4);margin-inline:auto;width:min(calc(100% - var(--space-l)),var(--content-wide));border:var(--border-thin) solid var(--glass-border-strong);border-radius:var(--radius-pill);background:var(--color-nav-glass);color:var(--color-nav-ink);box-shadow:var(--glass-shadow-soft);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur))}
.nav-bar{min-height:calc(var(--control-min-size) + var(--space-s));padding:var(--space-xs) var(--space-m);display:flex;align-items:center;justify-content:space-between;gap:var(--space-s)}
.brand{display:inline-flex;align-items:center;flex:none}
.brand img{width:var(--logo-mark-width);height:auto}
.desktop-nav{display:flex;align-items:center;justify-content:center;gap:var(--space-s);font-size:var(--font-step--2);font-weight:var(--font-weight-5);letter-spacing:var(--tracking-label);text-transform:uppercase}
.desktop-nav a,.mobile-nav a{text-decoration:none}
.desktop-nav a[aria-current="page"]{color:var(--color-gold-soft)}
.nav-actions{display:flex;align-items:center;gap:var(--space-xs)}
.menu-toggle{display:none;min-width:var(--control-min-size);min-height:var(--control-min-size);padding:var(--space-2xs) var(--space-xs);border:var(--border-thin) solid var(--glass-border-strong);border-radius:var(--radius-pill);background:transparent;color:inherit;font:inherit;text-transform:uppercase}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:var(--control-min-size);padding:var(--space-xs) var(--space-m);border:var(--border-thin) solid transparent;border-radius:var(--radius-pill);font-size:var(--font-step--1);font-weight:var(--font-weight-6);letter-spacing:var(--tracking-label);text-align:center;text-decoration:none;text-transform:uppercase;transition:transform var(--duration-fast) var(--ease-standard),background var(--duration-fast) var(--ease-standard),box-shadow var(--duration-fast) var(--ease-standard)}
.button-primary{background:var(--color-gold);color:var(--color-light-ink);box-shadow:var(--shadow-s)}
.button-secondary{border-color:var(--color-gold-deep);background:var(--glass-light-surface-soft);color:var(--color-ink)}
.button-dark{border-color:var(--glass-border-strong);background:var(--color-nav-glass);color:var(--color-nav-ink)}
.button:hover{transform:translateY(calc(var(--border-thin) * -1));box-shadow:var(--shadow-m)}
.mobile-panel{position:fixed;inset:var(--size-0);z-index:var(--layer-5);display:grid;grid-template-rows:auto 1fr auto;padding:var(--space-m);background:var(--color-nav-glass);color:var(--color-nav-ink);opacity:0;visibility:hidden;transition:opacity var(--duration-normal) var(--ease-standard)}
.mobile-panel[data-open="true"]{opacity:1;visibility:visible}
.mobile-panel-head{display:flex;align-items:center;justify-content:space-between}
.mobile-nav{align-self:center;display:grid;gap:var(--space-xs);font-family:var(--font-serif);font-size:var(--font-step-3)}
.mobile-nav a{padding-block:var(--space-2xs);border-bottom:var(--border-thin) solid var(--glass-border)}
.page-hero{position:relative;min-height:var(--hero-min-height);margin-top:calc(var(--space-2xs) * -1);display:grid;align-items:end;overflow:hidden;color:var(--color-hero-ink)}
.page-hero-media{position:absolute;inset:var(--size-0)}
.page-hero-media img,.page-hero-media video{width:100%;height:100%;object-fit:cover}
.page-hero-media::after{content:"";position:absolute;inset:var(--size-0);background:var(--hero-overlay)}
.page-hero-content{position:relative;z-index:var(--layer-1);padding-block:var(--space-3xl) var(--space-2xl);max-width:var(--content-reading)}
.eyebrow{display:block;color:var(--color-gold-deep);font-size:var(--font-step--2);font-weight:var(--font-weight-6);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase}
.page-hero .eyebrow{color:var(--color-gold-soft)}
h1,h2,h3,h4,p{margin-top:var(--size-0)}
h1,h2,h3{font-family:var(--font-serif);font-weight:var(--font-weight-5);line-height:var(--line-heading)}
h1{max-width:var(--content-reading);margin-bottom:var(--space-s);font-size:var(--font-step-6)}
h2{margin-bottom:var(--space-s);font-size:var(--font-step-4)}
h3{margin-bottom:var(--space-xs);font-size:var(--font-step-2)}
.hero-lead{max-width:var(--content-reading);margin-bottom:var(--space-m);color:var(--color-hero-muted);font-size:var(--font-step-1)}
.hero-actions,.section-actions{display:flex;flex-wrap:wrap;gap:var(--space-xs)}
.section{padding-block:var(--space-2xl)}
.section-soft{background:var(--color-surface-muted)}
.section-dark{background:var(--color-nav-glass);color:var(--color-nav-ink)}
.section-head{max-width:var(--content-reading);margin-bottom:var(--space-l)}
.section-head>p{color:var(--color-muted);font-size:var(--font-step-1)}
.section-dark .section-head>p,.section-dark .body-copy{color:var(--color-hero-muted)}
.experience-grid,.card-grid,.service-grid,.review-grid,.pill-grid{display:grid;grid-template-columns:repeat(3,minmax(var(--size-0),1fr));gap:var(--space-m)}
.experience-card,.content-card,.service-card,.review-card,.glass-card{overflow:hidden;border:var(--border-thin) solid var(--glass-border-strong);border-radius:var(--glass-radius-large);background:var(--glass-gradient-light);box-shadow:var(--glass-shadow-soft)}
.experience-card{display:grid;grid-template-rows:auto 1fr}
.experience-card img,.experience-card video{width:100%;aspect-ratio:var(--media-ratio-landscape);object-fit:cover}
.card-body{padding:var(--space-m)}
.card-body p,.content-card p,.service-card p{color:var(--color-muted)}
.card-link{display:inline-flex;min-height:var(--control-min-size);align-items:center;color:var(--color-gold-deep);font-size:var(--font-step--1);font-weight:var(--font-weight-6);letter-spacing:var(--tracking-label);text-decoration:none;text-transform:uppercase}
.split{display:grid;grid-template-columns:minmax(var(--size-0),1fr) minmax(var(--size-0),1fr);gap:var(--space-xl);align-items:center}
.split-media img,.split-media video{width:100%;aspect-ratio:var(--media-ratio-landscape);object-fit:cover;border-radius:var(--glass-radius-large);box-shadow:var(--glass-shadow)}
.split-media.portrait-media{display:grid;place-items:center;border-radius:var(--glass-radius-large);background:var(--color-surface-muted)}
.split-media.portrait-media img,.split-media.portrait-media video{width:auto;max-height:var(--media-height);aspect-ratio:auto;object-fit:contain}
.page-hero-media.portrait-hero{background:var(--color-nav-glass)}
.page-hero-media.portrait-hero img,.page-hero-media.portrait-hero video{object-fit:contain;object-position:center}
.body-copy{color:var(--color-muted)}
.body-copy p{margin-bottom:var(--space-s)}
.pill-grid{grid-template-columns:repeat(2,minmax(var(--size-0),1fr));list-style:none;padding:var(--size-0);margin:var(--space-m) var(--size-0) var(--size-0)}
.pill-grid li{padding:var(--space-s);border:var(--border-thin) solid var(--glass-border-strong);border-radius:var(--radius-pill);background:var(--glass-light-surface-soft)}
.service-card{padding:var(--space-m);display:flex;flex-direction:column;align-items:flex-start}
.service-meta{display:flex;flex-wrap:wrap;gap:var(--space-2xs);margin-bottom:var(--space-s);color:var(--color-gold-deep);font-size:var(--font-step--1);font-weight:var(--font-weight-6)}
.service-card .card-link{margin-top:auto}
.journey{display:grid;grid-template-columns:repeat(5,minmax(var(--size-0),1fr));gap:var(--space-xs);list-style:none;padding:var(--size-0);counter-reset:journey}
.journey li{position:relative;padding:var(--space-m) var(--space-s);border-radius:var(--glass-radius);background:var(--color-surface-clean);text-align:center;box-shadow:var(--shadow-hairline);counter-increment:journey}
.section-dark .journey li{color:var(--color-ink)}
.journey li::before{content:counter(journey,decimal-leading-zero);display:block;margin-bottom:var(--space-xs);color:var(--color-gold-deep);font-size:var(--font-step--2);font-weight:var(--font-weight-6);letter-spacing:var(--tracking-eyebrow)}
.note{padding:var(--space-m);border-left:var(--border-size-3) solid var(--color-gold);border-radius:var(--glass-radius);background:var(--color-surface-clean);color:var(--color-muted)}
.review-card{padding:var(--space-m)}
.review-stars{color:var(--color-gold-deep);letter-spacing:var(--tracking-label)}
.location-grid{display:grid;grid-template-columns:minmax(var(--size-0),1.4fr) minmax(var(--size-0),1fr);gap:var(--space-m);align-items:stretch}
.location-grid img{width:100%;height:100%;min-height:var(--card-min-height);object-fit:cover;border-radius:var(--glass-radius-large)}
.contact-card{padding:var(--space-l);border-radius:var(--glass-radius-large);background:var(--color-surface-clean);box-shadow:var(--glass-shadow-soft)}
.contact-card a{text-decoration:none}
.cta-band{padding-block:var(--space-xl);text-align:center;background:var(--color-nav-glass);color:var(--color-nav-ink)}
.cta-band p{color:var(--color-hero-muted)}
.breadcrumb{padding-top:var(--space-l)}
.breadcrumb a{display:inline-flex;min-height:var(--control-min-size);align-items:center;color:var(--color-gold-deep);font-size:var(--font-step--1);font-weight:var(--font-weight-6);text-decoration:none}
.site-footer{padding-block:var(--space-xl) var(--space-m);background:var(--color-nav-glass);color:var(--color-nav-ink)}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:var(--space-l)}
.footer-brand img{width:var(--logo-width)}
.footer-links{display:grid;gap:var(--space-2xs)}
.footer-links a{text-decoration:none}
.footer-bottom{margin-top:var(--space-l);padding-top:var(--space-s);border-top:var(--border-thin) solid var(--glass-border);color:var(--color-hero-muted);font-size:var(--font-step--1)}
.mobile-book{display:none}
@media(max-width:64rem){.desktop-nav{display:none}.menu-toggle{display:inline-flex;align-items:center;justify-content:center}.nav-actions>.button{display:none}.experience-grid,.card-grid,.service-grid,.review-grid{grid-template-columns:repeat(2,minmax(var(--size-0),1fr))}.journey{grid-template-columns:1fr}.journey li{text-align:left}}
@media(max-width:48rem){.site-header{position:relative;top:auto;width:min(calc(100% - var(--space-s)),var(--content-wide))}.nav-bar{padding:var(--space-2xs) var(--space-s)}.page-hero{min-height:var(--hero-min-height-mobile)}.page-hero-content{padding-bottom:var(--space-xl)}.section{padding-block:var(--space-xl)}.experience-grid,.card-grid,.service-grid,.review-grid,.pill-grid,.split,.location-grid{grid-template-columns:1fr}.experience-card img,.experience-card video{aspect-ratio:var(--media-ratio-card)}.hero-actions .button,.section-actions .button{width:100%}.footer-grid{grid-template-columns:repeat(2,minmax(var(--size-0),1fr));gap:var(--space-l) var(--space-m)}.footer-grid>div:first-child{grid-column:1/-1;text-align:center}.footer-brand{display:flex;justify-content:center}.footer-brand img{margin-inline:auto}.footer-grid>div:not(:first-child){text-align:left}.footer-bottom{text-align:center}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition-duration:var(--duration-fast)!important;animation-duration:var(--duration-fast)!important;animation-iteration-count:1!important}}
