:root {
  --forest: #073d35;
  --deep: #032a24;
  --cream: #f5f1e8;
  --paper: #fbf9f4;
  --gold: #edbc71;
  --ochre: #a7672d;
  --stone: #edbc71;
  --ink: #19231f;
  --muted: #66736c;
  --line: rgba(25, 35, 31, 0.16);
  --surface-dark: rgba(3, 42, 36, 0.94);
  --text-on-dark: rgba(255, 255, 255, 0.78);
  --page-gutter: clamp(24px, 7vw, 112px);
  --section-space: clamp(80px, 8vw, 128px);
  --content-max: 1440px;
  --radius-arch: 999px 999px 0 0;
  --shadow-soft: 0 24px 70px rgba(3, 42, 36, 0.16);
  --motion-fast: 180ms;
  --motion-base: 320ms;
  --motion-slow: 760ms;
  --ease-standard: cubic-bezier(0.2, 0, 0, 1);
  --ease-out: cubic-bezier(0.22, 1, 0.36, 1);
}

@font-face { font-family: "Manrope Variable"; src: url("../fonts/manrope-variable.woff2") format("woff2"); font-weight: 200 800; font-style: normal; font-display: swap; }
@font-face { font-family: "DM Serif Display"; src: url("../fonts/dm-serif-display.woff2") format("woff2"); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: "DM Serif Display"; src: url("../fonts/dm-serif-display-italic.woff2") format("woff2"); font-weight: 400; font-style: italic; font-display: swap; }

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 92px; }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: "Manrope Variable", Arial, sans-serif; }
body::selection { background: var(--gold); color: var(--deep); }
a { color: inherit; text-decoration: none; }
button, input, select { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
button, summary, select { cursor: pointer; }
img { max-width: 100%; }
h1, h2, h3, p { margin-top: 0; }
h1, h2 { font-family: "DM Serif Display", Georgia, serif; font-weight: 400; }
h3 { font-family: "Manrope Variable", Arial, sans-serif; font-weight: 600; letter-spacing: -0.025em; }
h1, h2 { letter-spacing: -0.045em; }
h1 { margin-bottom: 28px; font-size: clamp(4rem, 7.2vw, 7.4rem); line-height: 0.88; }
h1 > span { display: block; color: var(--stone); font-size: 0.78em; line-height: 1.02; white-space: nowrap; }
h1 em { color: inherit; font-family: inherit; font-size: 1em; font-weight: 400; font-style: italic; letter-spacing: 0; }
h2 { font-size: clamp(3rem, 5.2vw, 5.8rem); line-height: 0.94; }
h2 em { color: var(--muted); font-family: inherit; font-weight: 400; font-style: italic; }
h2 + p { margin-top: clamp(26px, 2.6vw, 40px); }
p { line-height: 1.65; }

.skipLink { position: fixed; z-index: 1000; top: 12px; left: 12px; padding: 12px 16px; background: var(--gold); color: var(--deep); font-size: .72rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; transform: translateY(-160%); transition: transform var(--motion-fast) var(--ease-standard); }
.skipLink:focus { transform: translateY(0); }
:where(a,button,input,select,summary):focus-visible { outline: 2px solid var(--gold); outline-offset: 4px; }
:where(.paper,.cream):where(a,button,input,select,summary):focus-visible { outline-color: var(--ochre); }

.eyebrow { margin-bottom: 22px; color: var(--ochre); font-size: 0.7rem; font-weight: 700; letter-spacing: 0.19em; text-transform: uppercase; }
.eyebrow.light { color: var(--stone); }
.light { color: #fff; }
.textLink { display: inline-flex; align-items: center; gap: 38px; padding-bottom: 7px; border-bottom: 1px solid currentColor; font-size: 0.65rem; font-weight: 700; letter-spacing: 0.13em; text-transform: uppercase; }
.textLink span { font-size: 1rem; }
.button { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 17px 25px; border: 0; background: var(--gold); color: var(--deep); font-size: 0.68rem; font-weight: 800; letter-spacing: 0.12em; text-transform: uppercase; transition: background var(--motion-fast) var(--ease-standard), transform var(--motion-fast) var(--ease-out), box-shadow var(--motion-fast) var(--ease-standard); }
.button:hover, .booking button:hover { background: #f4cb8b; transform: translateY(-2px); }
.button:active, .booking button:active { transform: translateY(0); }
.buttonSmall { padding: 13px 20px; }
.caminoIconFrame { position: relative; display: inline-flex; align-items: center; justify-content: center; width: 62px; height: 50px; padding-top: 4px; border: 1px solid rgba(167,103,45,.4); border-bottom: 0; border-radius: var(--radius-arch); color: var(--ochre); }
.caminoIconFrame::after { content: ""; position: absolute; right: 9px; bottom: 0; left: 9px; height: 1px; background: currentColor; opacity: .26; }
.caminoIcon { width: 28px; height: 28px; }
.caminoIconOnDark { border-color: rgba(237,188,113,.3); color: var(--gold); }

.header { position: fixed; z-index: 20; top: 0; left: 0; display: flex; align-items: center; justify-content: space-between; width: 100%; height: 88px; padding: 0 4.5vw; border-bottom: 1px solid rgba(255,255,255,0.24); color: #fff; transition: height 0.3s ease, background 0.3s ease, box-shadow 0.3s ease, backdrop-filter 0.3s ease; }
.header.is-scrolled { height: 70px; border-bottom-color: rgba(255,255,255,0.1); background: rgba(8,28,22,0.92); box-shadow: 0 10px 30px rgba(8,28,22,0.14); backdrop-filter: blur(12px); }
.brand { display: flex; align-items: center; flex: 0 0 auto; }
.brandLogo { display: block; width: auto; object-fit: contain; }
.brandLogoHeader { height: 50px; }
.header nav { display: flex; gap: 32px; font-size: 0.78rem; }
.header nav a { opacity: 0.82; transition: opacity 0.2s; }
.header nav a:hover { opacity: 1; }
.headerActions { display: flex; align-items: center; gap: 20px; }
.languageStatus { color: #fff; font-size: 0.68rem; font-style: normal; white-space: nowrap; }
.languageStatus em { opacity: .48; font-size: .6rem; font-style: normal; }
.mobileNav { display: none; }
.mobileNavToggle,.mobileNavPanel { display: none; }

.cookieNotice { position: fixed; z-index: 70; right: 24px; bottom: 24px; display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 28px; align-items: end; width: min(720px,calc(100vw - 48px)); padding: 24px; border: 1px solid rgba(237,188,113,.3); background: rgba(3,42,36,.97); color: #fff; box-shadow: 0 24px 70px rgba(3,42,36,.32); backdrop-filter: blur(16px); animation: cookieIn .5s cubic-bezier(.22,1,.36,1) both; }
.cookieNotice strong { display: block; margin-bottom: 8px; color: var(--gold); font-family: "DM Serif Display",Georgia,serif; font-size: 1.25rem; font-weight: 400; }
.cookieNotice p { margin-bottom: 8px; color: rgba(255,255,255,.72); font-size: .72rem; line-height: 1.55; }
.cookieNotice a { color: rgba(255,255,255,.72); font-size: .6rem; font-weight: 700; letter-spacing: .09em; text-decoration: underline; text-underline-offset: 4px; text-transform: uppercase; }
.cookieActions { display: flex; gap: 8px; }
.cookieActions button { min-height: 42px; padding: 0 15px; border: 1px solid rgba(255,255,255,.22); background: transparent; color: #fff; cursor: pointer; font-size: .58rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.cookieActions button:last-child { border-color: var(--gold); background: var(--gold); color: var(--deep); }

.legalHero { min-height: 510px; padding: 180px 7vw 80px; background: var(--forest); color: #fff; }
.legalHero h1 { margin-bottom: 24px; font-size: clamp(3.8rem,7vw,7rem); }
.legalHero > p:last-child { max-width: 620px; color: rgba(255,255,255,.72); font-size: 1rem; }
.legalContent { display: grid; grid-template-columns: repeat(3,1fr); padding: 100px 7vw 120px; }
.legalContent section { padding: 0 40px; border-left: 1px solid var(--line); }
.legalContent section:first-child { padding-left: 0; border-left: 0; }
.legalContent h2 { margin-bottom: 25px; font-size: 2.1rem; }
.legalContent p { color: var(--muted); font-size: .9rem; }

.hero { position: relative; display: flex; align-items: center; min-height: 720px; height: min(900px, 94vh); padding: 80px 7vw 130px; background: url("../images/hero-urban-1600.webp") center / cover; color: #fff; }
.heroShade { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(8,28,22,0.82) 0%, rgba(8,28,22,0.48) 44%, rgba(8,28,22,0.08) 82%), linear-gradient(0deg, rgba(8,28,22,0.48), transparent 48%); }
.heroContent { position: relative; z-index: 2; max-width: 780px; }
.heroCopy { max-width: 590px; margin-bottom: 16px; color: rgba(255,255,255,0.86); font-size: 1.05rem; }
.categoryLine { margin-bottom: 0; padding-left: 15px; border-left: 2px solid var(--ochre); color: rgba(255,255,255,0.76); font-size: 0.69rem; letter-spacing: 0.13em; text-transform: uppercase; }
.heroLinks { display: flex; align-items: center; gap: 30px; margin-top: 36px; }
.conceptTag { position: absolute; z-index: 3; right: 24px; bottom: 24px; padding: 6px 9px; border: 0; background: rgba(3,42,36,.42); color: rgba(255,255,255,.64); font-size: 0.48rem; letter-spacing: 0.1em; text-transform: uppercase; backdrop-filter: blur(5px); }
.booking { position: absolute; z-index: 5; right: 7vw; bottom: -48px; left: 7vw; display: grid; grid-template-columns: 1fr 1fr .72fr .9fr 1.05fr; padding: 10px; background: var(--forest); box-shadow: 0 18px 44px rgba(8,28,22,0.24); }
.booking label { padding: 12px 22px; border-right: 1px solid rgba(255,255,255,0.16); color: #fff; }
.booking label span { display: block; margin-bottom: 5px; color: rgba(255,255,255,0.58); font-size: 0.57rem; letter-spacing: 0.15em; text-transform: uppercase; }
.booking input, .booking select { width: 100%; border: 0; outline: 0; background: transparent; color: #fff; color-scheme: dark; }
.booking button { border: 0; background: var(--gold); color: var(--deep); font-size: 0.66rem; font-weight: 800; letter-spacing: 0.12em; text-transform: uppercase; transition: background 0.2s, transform 0.2s; }
.bookingFeedback { position: absolute; right: 0; bottom: -27px; margin: 0; color: rgba(25,35,31,.68); font-size: .58rem; font-weight: 650; letter-spacing: .03em; }
.bookingFeedback.is-error { color: #8d3c2a; }
.bookingFeedback.is-ready { color: var(--forest); }
.bookingModalBackdrop { position: fixed; z-index: 100; inset: 0; display: grid; place-items: center; padding: 24px; background: rgba(3,42,36,.72); backdrop-filter: blur(10px); animation: modalFade .25s ease both; }
.bookingModal { position: relative; width: min(720px,100%); padding: clamp(38px,5vw,70px); background: var(--paper); color: var(--ink); box-shadow: 0 30px 100px rgba(3,42,36,.36); animation: modalIn .45s var(--ease-out) both; }
.bookingModal::before { content: ""; position: absolute; top: 0; right: 0; left: 0; height: 5px; background: var(--gold); }
.bookingModalClose { position: absolute; top: 18px; right: 18px; display: grid; place-items: center; width: 42px; height: 42px; border: 1px solid var(--line); background: transparent; color: var(--ink); font-family: Georgia,serif; font-size: 1.6rem; line-height: 1; }
.bookingModal h2 { margin-bottom: 24px; font-size: clamp(3.2rem,6vw,5.4rem); }
.bookingModal > p:not(.eyebrow) { max-width: 590px; color: var(--muted); }
.bookingSummary { display: grid; grid-template-columns: repeat(4,1fr); margin: 32px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.bookingSummary div { padding: 18px; border-left: 1px solid var(--line); }
.bookingSummary div:first-child { padding-left: 0; border-left: 0; }
.bookingSummary dt { margin-bottom: 8px; color: var(--ochre); font-size: .56rem; font-weight: 750; letter-spacing: .12em; text-transform: uppercase; }
.bookingSummary dd { margin: 0; font-size: .76rem; font-weight: 650; }
.bookingModalActions { display: flex; align-items: center; gap: 28px; }
.bookingModalActions .textLink { border: 0; border-bottom: 1px solid currentColor; background: transparent; color: var(--ink); }
.bookingModal > small { display: block; margin-top: 25px; color: var(--muted); font-size: .62rem; }
.booking-modal-open { overflow: hidden; }

.benefits { display: grid; grid-template-columns: repeat(4, 1fr); padding: 120px 7vw 70px; }
.benefits article { padding: 12px 32px; border-left: 1px solid var(--line); }
.benefits article:first-child { padding-left: 0; border-left: 0; }
.benefits .benefitPrimary { padding-right: 58px; }
.benefitPrimary h3 { font-size: 1.65rem; }
.benefits span { color: var(--ochre); font-size: 0.65rem; letter-spacing: 0.15em; }
.benefits .caminoIconFrame { display: flex; margin-top: 24px; }
.benefits h3 { margin: 18px 0 10px; font-size: 1.3rem; }
.benefits p { color: var(--muted); font-size: 0.87rem; }

.splitText { display: grid; grid-template-columns: 1.2fr 0.8fr; column-gap: 12vw; row-gap: 38px; padding: 88px 7vw 96px; border-top: 1px solid var(--line); }
.splitText h2 { margin-bottom: 0; }
.splitText .lead { font-family: "DM Serif Display", Georgia, serif; font-size: 1.65rem; line-height: 1.42; }
.splitText > div:last-child > p:not(.lead) { color: var(--muted); }
.splitText .textLink { margin-top: 24px; }
.moduleStamp { grid-column: 1 / -1; display: grid; grid-template-columns: 1.25fr 1fr 1fr; margin-top: 4px; border: 1px solid var(--line); }
.moduleStamp > div { display: flex; align-items: center; gap: 18px; min-height: 116px; padding: 22px 28px; border-left: 1px solid var(--line); }
.moduleStamp > div:first-child { border-left: 0; }
.moduleStamp strong { color: var(--ochre); font-family: "DM Serif Display", Georgia, serif; font-size: 3.4rem; font-weight: 400; line-height: 1; }
.moduleStamp span { font-size: 0.66rem; font-weight: 700; letter-spacing: 0.11em; text-transform: uppercase; }
.moduleStamp small { display: block; margin-top: 5px; color: var(--muted); font-size: 0.58rem; font-weight: 500; letter-spacing: 0.04em; text-transform: none; }
.stampTotal { background: var(--forest); color: #fff; }
.stampTotal strong { color: var(--stone); }

.capsules { padding: 110px 7vw 120px; background: var(--cream); }
.capsulesHeading { display: grid; grid-template-columns: 1.25fr 0.75fr; gap: 10vw; align-items: end; margin-bottom: 65px; }
.capsulesHeading h2 { margin-bottom: 0; }
.capsulesHeading > div:last-child p { color: var(--muted); }
.capsuleCards { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.capsuleCard { position: relative; display: flex; align-items: flex-end; height: 610px; padding: 36px; overflow: hidden; background-position: center; background-size: cover; color: #fff; }
.capsuleCard::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(8,28,22,0.84), transparent 60%); }
.visualMedia { position: absolute; z-index: 0; inset: 0; display: block; overflow: hidden; }
.visualMedia img { width: 100%; height: 100%; object-fit: cover; }
.capsuleCard > div { position: relative; z-index: 2; max-width: 420px; }
.capsuleCard > div > span { color: var(--stone); font-size: 0.62rem; letter-spacing: 0.15em; }
.capsuleCard h3 { margin: 12px 0 8px; font-size: 1.75rem; font-weight: 600; }
.capsuleCard p { margin: 0; color: rgba(255,255,255,0.76); }
.capsuleCard ul { display: grid; gap: 5px; max-height: 0; margin: 0; padding: 0; overflow: hidden; opacity: 0; list-style: none; transition: max-height 0.4s ease, margin 0.4s ease, opacity 0.3s ease; }
.capsuleCard ul li { color: rgba(255,255,255,0.74); font-size: 0.7rem; letter-spacing: 0.03em; }
.capsuleCard ul li::before { content: "·"; margin-right: 8px; color: var(--stone); }
.capsuleCard:hover ul,.capsuleCard:focus-within ul { max-height: 90px; margin-top: 13px; opacity: 1; }
.capsuleFeatures { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 20px; }
.capsuleFeatures span { padding: 10px 14px; border: 1px solid var(--line); background: rgba(255,255,255,0.34); color: var(--muted); font-size: 0.59rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; }

.location { position: relative; min-height: 680px; overflow: hidden; background-color: var(--forest); background-image: linear-gradient(rgba(16,45,37,0.34), rgba(16,45,37,0.34)), url("../textures/forest-material-v1.webp"); background-position: center; background-size: auto, cover; color: #fff; }
.cityMap { position: absolute; inset: 54px 5vw 54px 50%; min-height: 500px; overflow: hidden; border: 1px solid rgba(214,185,141,0.5); background: var(--cream); box-shadow: 0 26px 70px rgba(8,28,22,0.24); }
.cityMap iframe { width: 100%; height: 100%; min-height: 570px; border: 0; filter: saturate(0.72) contrast(0.94); }
.mapAddress { position: absolute; right: 18px; bottom: 18px; left: 18px; display: grid; grid-template-columns: 1fr auto; gap: 3px 24px; align-items: end; padding: 17px 19px; background: rgba(8,28,22,0.94); color: #fff; box-shadow: 0 12px 30px rgba(8,28,22,0.2); }
.mapAddress span { grid-column: 1 / -1; color: var(--stone); font-size: 0.54rem; font-weight: 700; letter-spacing: 0.16em; }
.mapAddress strong { font-family: "DM Serif Display", Georgia, serif; font-size: 1.25rem; font-weight: 400; }
.mapAddress small { color: rgba(255,255,255,0.62); font-size: 0.62rem; }
.locationCard { position: relative; z-index: 2; width: min(570px, 47vw); padding: 115px 7vw; }
.locationCard p:not(.eyebrow, .note) { color: rgba(255,255,255,0.8); font-size: 1.05rem; }
.note { margin: 30px 0; padding-left: 15px; border-left: 1px solid var(--stone); color: rgba(255,255,255,0.6); font-size: 0.7rem; }
.walkingTimes { display: grid; grid-template-columns: repeat(3, 1fr); margin: 0 0 34px; border-top: 1px solid rgba(255,255,255,0.18); border-bottom: 1px solid rgba(255,255,255,0.18); }
.walkingTimes span { display: grid; gap: 3px; padding: 15px 12px; border-left: 1px solid rgba(255,255,255,0.18); color: rgba(255,255,255,0.62); font-size: 0.57rem; }
.walkingTimes span:first-child { border-left: 0; padding-left: 0; }
.walkingTimes strong { color: var(--stone); font-size: 0.74rem; letter-spacing: 0.06em; text-transform: uppercase; }

.services { padding: 100px 7vw 92px; }
.sectionHeading { max-width: 880px; }
.serviceGrid { display: grid; grid-template-columns: repeat(4, 1fr); margin: 56px 0 72px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.serviceGrid article { padding: 35px 28px; border-left: 1px solid var(--line); }
.serviceGrid article:first-child { border-left: 0; }
.serviceIcon { position: relative; display: inline-flex; align-items: center; justify-content: center; width: 48px; height: 48px; color: var(--ochre); }
.serviceIcon::before,.serviceIcon::after,.serviceIcon i,.serviceIcon i::before,.serviceIcon i::after { content: ""; position: absolute; display: block; }
.serviceIcon.reception { border: 1px solid var(--ochre); border-radius: 50%; }
.serviceIcon.reception::before { width: 1px; height: 12px; background: currentColor; transform: translateY(-5px); }
.serviceIcon.reception::after { width: 10px; height: 1px; background: currentColor; transform: translate(5px, 1px) rotate(28deg); transform-origin: left center; }
.serviceIcon.locker { border: 1px solid var(--ochre); }
.serviceIcon.locker::before { inset: 0 50% 50% 0; border-right: 1px solid currentColor; border-bottom: 1px solid currentColor; }
.serviceIcon.locker::after { inset: 50% 0 0 50%; border-top: 1px solid currentColor; border-left: 1px solid currentColor; }
.serviceIcon.locker i::before,.serviceIcon.locker i::after { left: -5px; width: 3px; height: 3px; border-radius: 50%; background: currentColor; }
.serviceIcon.locker i::before { top: -12px; }.serviceIcon.locker i::after { top: 9px; }
.serviceIcon.laundry { border: 1px solid var(--ochre); border-radius: 3px; }
.serviceIcon.laundry::before { width: 25px; height: 25px; border: 1px solid currentColor; border-radius: 50%; }
.serviceIcon.laundry::after { top: 6px; left: 8px; width: 4px; height: 4px; border-radius: 50%; background: currentColor; }
.serviceIcon.kitchen { border-bottom: 1px solid var(--ochre); }
.serviceIcon.kitchen::before { width: 30px; height: 30px; border: 1px solid currentColor; border-radius: 50%; }
.serviceIcon.kitchen::after { width: 13px; height: 13px; border: 1px solid currentColor; border-radius: 50%; }
.serviceGrid h3 { margin: 25px 0 10px; font-size: 1.15rem; }
.serviceGrid p { color: var(--muted); font-size: 0.82rem; }
.servicesImage { position: relative; display: flex; align-items: flex-end; height: 650px; padding: 65px; background: var(--forest); overflow: hidden; }
.servicesImage::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(8,28,22,0.82), transparent 72%); }
.servicesImage > div { position: relative; z-index: 2; max-width: 580px; color: #fff; }
.servicesImage h2 { margin-bottom: 16px; font-size: 4.8rem; }
.servicesImage p:not(.eyebrow) { color: rgba(255,255,255,0.78); }

/* Salamanca local guide */
.localGuideHero { position: relative; display: flex; align-items: flex-end; min-height: 760px; height: min(920px, 94vh); padding: 120px 7vw 88px; overflow: hidden; background: var(--deep); color: #fff; }
.guideHeroPicture { position: absolute; inset: 0; }
.guideHeroPicture img { width: 100%; height: 100%; object-fit: cover; }
.localGuideHeroShade { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(3,42,36,.9) 0%, rgba(3,42,36,.48) 52%, rgba(3,42,36,.1) 100%), linear-gradient(0deg, rgba(3,42,36,.72), transparent 58%); }
.localGuideHeroContent { position: relative; z-index: 2; max-width: 770px; }
.localGuideHeroContent p:not(.eyebrow) { max-width: 570px; color: rgba(255,255,255,.82); font-size: 1.05rem; }
.localGuideHeroIndex { position: absolute; z-index: 2; right: 7vw; bottom: 94px; display: grid; grid-template-columns: auto auto; gap: 8px 28px; padding: 18px 0; border-top: 1px solid rgba(255,255,255,.4); border-bottom: 1px solid rgba(255,255,255,.4); font-size: .58rem; letter-spacing: .13em; text-transform: uppercase; }
.localGuideHeroIndex strong { grid-column: 1 / -1; color: var(--gold); font-weight: 600; }
.guideAnchorNav { position: sticky; z-index: 15; top: 70px; display: flex; justify-content: center; gap: 42px; height: 58px; padding: 0 7vw; border-bottom: 1px solid var(--line); background: rgba(251,249,244,.94); backdrop-filter: blur(14px); }
.guideAnchorNav a,.guideAnchorNav span { display: inline-flex; align-items: center; font-size: .6rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.guideAnchorNav span { margin-right: 18px; color: var(--ochre); }
.guideAnchorNav a { position: relative; color: var(--muted); transition: color .2s; }
.guideAnchorNav a::after { content: ""; position: absolute; right: 0; bottom: 0; left: 0; height: 2px; background: var(--ochre); transform: scaleX(0); transition: transform .25s; }
.guideAnchorNav a:hover { color: var(--ink); }
.guideAnchorNav a:hover::after { transform: scaleX(1); }
.guideOpening { display: grid; grid-template-columns: 1.1fr .9fr; gap: 11vw; padding: 110px 7vw; }
.guideOpening h2 { margin: 0; }
.guideOpening .lead { font-family: "DM Serif Display", Georgia, serif; font-size: 1.55rem; line-height: 1.4; }
.guideOpening > div:last-child > p:not(.lead) { color: var(--muted); }
.guideOpening .textLink { margin-top: 20px; }
.guideItinerary { padding: 110px 7vw 120px; background: var(--forest); color: #fff; }
.guideItineraryIntro { display: grid; grid-template-columns: 1fr 1fr; align-items: end; gap: 10vw; margin-bottom: 70px; }
.guideItineraryIntro .eyebrow { grid-column: 1 / -1; margin-bottom: 0; }
.guideItineraryIntro h2 { margin: 0; }
.guideItineraryIntro h2 em { color: var(--gold); }
.guideItineraryIntro > p:last-child { max-width: 470px; color: rgba(255,255,255,.68); }
.guideDays { border-top: 1px solid rgba(255,255,255,.2); }
.guideDays article { display: grid; grid-template-columns: .35fr 1fr 1fr; gap: 5vw; padding: 56px 0; border-bottom: 1px solid rgba(255,255,255,.2); }
.guideDayNumber { color: var(--gold); font-family: "DM Serif Display", Georgia, serif; font-size: 5rem; line-height: .8; }
.guideDays span { color: var(--gold); font-size: .58rem; letter-spacing: .15em; }
.guideDays h3 { margin: 17px 0 10px; font-size: 1.35rem; }
.guideDays p { max-width: 400px; color: rgba(255,255,255,.66); font-size: .86rem; }
.guidePlaces { padding: 115px 7vw 130px; background: var(--cream); }
.guidePlacesHeading { display: grid; grid-template-columns: 1fr .6fr; gap: 7vw; align-items: end; margin-bottom: 65px; }
.guidePlacesHeading .eyebrow { grid-column: 1 / -1; margin-bottom: 0; }
.guidePlacesHeading h2 { margin: 0; }
.guidePlacesHeading > p:last-child { color: var(--muted); }
.guidePlaceGrid { display: grid; grid-template-columns: repeat(4,1fr); grid-template-rows: repeat(3,290px); gap: 16px; }
.guidePlaceGrid article { position: relative; display: flex; align-items: flex-end; overflow: hidden; background: var(--deep); color: #fff; }
.guidePlaceGrid article::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(3,42,36,.92), rgba(3,42,36,.04) 68%); transition: opacity var(--motion-base) var(--ease-standard); }
.guidePlaceGrid article > picture { position: absolute; inset: 0; }
.guidePlaceGrid img { width: 100%; height: 100%; object-fit: cover; transition: transform .7s cubic-bezier(.22,1,.36,1); }
.guidePlaceGrid article:hover img { transform: scale(1.035); }
.guidePlaceGrid article > div { position: absolute; z-index: 2; right: 0; bottom: 0; left: 0; padding: 27px; transform: translateY(0); transition: transform var(--motion-base) var(--ease-out); }
.guidePlaceGrid span { color: var(--gold); font-size: .62rem; font-weight: 700; letter-spacing: .14em; }
.guidePlaceGrid h3 { margin: 10px 0 3px; font-size: 1.42rem; }
.guidePlaceGrid p,.guidePlaceMeta { max-height: 0; overflow: hidden; opacity: 0; transform: translateY(8px); transition: max-height var(--motion-base) var(--ease-out),margin var(--motion-base) var(--ease-out),padding var(--motion-base) var(--ease-out),border-color var(--motion-base) var(--ease-standard),opacity var(--motion-base) var(--ease-standard),transform var(--motion-base) var(--ease-out); }
.guidePlaceGrid p { margin: 0; color: rgba(255,255,255,.72); font-size: .75rem; }
.guidePlaceMeta { display: flex; align-items: center; justify-content: space-between; margin-top: 0; padding-top: 0; border-top: 1px solid transparent; }
.guidePlaceGrid article:hover > div,.guidePlaceGrid article:focus-within > div { transform: translateY(-5px); }
.guidePlaceGrid article:hover p,.guidePlaceGrid article:focus-within p { max-height: 32px; opacity: 1; transform: translateY(0); }
.guidePlaceGrid article:hover .guidePlaceMeta,.guidePlaceGrid article:focus-within .guidePlaceMeta { max-height: 46px; margin-top: 15px; padding-top: 12px; border-color: rgba(255,255,255,.24); opacity: 1; transform: translateY(0); }
.guidePlaceMeta small,.guidePlaceMeta a { color: rgba(255,255,255,.74); font-size: .56rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.guidePlaceMeta a { color: var(--gold); }
.guidePlaceFeatured { grid-column: 1 / span 2; grid-row: 1 / span 2; }
.guidePlacePortrait { grid-column: 3; grid-row: 1 / span 2; }
.guidePlaceCompact:nth-child(3) { grid-column: 4; grid-row: 1; }
.guidePlaceCompact:nth-child(4) { grid-column: 4; grid-row: 2; }
.guidePlaceLandscape { grid-column: span 2; }
.guidePlaceFeatured h3 { font-family: "DM Serif Display",Georgia,serif; font-size: clamp(2rem,3vw,3.5rem); font-weight: 400; letter-spacing: -.03em; }
.guidePlacesAction { display: flex; align-items: center; justify-content: space-between; gap: 30px; margin-top: 34px; padding-top: 24px; border-top: 1px solid var(--line); }
.guidePlacesAction > span { color: var(--muted); font-size: .62rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.guideFood { padding: 120px 7vw; background: var(--deep); color: #fff; }
.guideFoodHeading { max-width: 850px; margin-bottom: 65px; }
.guideFoodHeading h2 em { color: var(--gold); }
.guideFoodHeading > p:last-child { max-width: 560px; color: rgba(255,255,255,.68); }
.guideFoodList { border-top: 1px solid rgba(255,255,255,.2); }
.guideFoodList a { display: grid; grid-template-columns: .2fr .65fr 1fr 1.3fr auto; gap: 28px; align-items: center; min-height: 118px; border-bottom: 1px solid rgba(255,255,255,.2); transition: padding .3s, background .3s; }
.guideFoodList a:hover { padding: 0 20px; background: rgba(255,255,255,.04); }
.guideFoodList a > span,.guideFoodList a > small { color: var(--gold); font-size: .58rem; letter-spacing: .13em; text-transform: uppercase; }
.guideFoodList a > small i { display: block; margin-top: 8px; color: rgba(255,255,255,.48); font-style: normal; letter-spacing: .08em; }
.guideFoodList h3,.guideFoodList p { margin: 0; }
.guideFoodList h3 { font-size: 1.2rem; }
.guideFoodList p { color: rgba(255,255,255,.62); font-size: .8rem; }
.guideFoodList b { color: var(--gold); font-size: .58rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.guideDisclaimer { margin: 24px 0 0; color: rgba(255,255,255,.42); font-size: .67rem; }
.guideMoments { display: grid; grid-template-columns: 1.15fr .85fr; min-height: 720px; }
.guideMomentsImage { position: relative; min-height: 620px; overflow: hidden; }
.guideMomentsImage picture { position: absolute; inset: 0; }
.guideMomentsImage img { width: 100%; height: 100%; object-fit: cover; }
.guideMomentsImage > span { position: absolute; top: 28px; left: 28px; padding: 8px 11px; border: 1px solid rgba(255,255,255,.5); color: #fff; font-size: .54rem; letter-spacing: .14em; }
.guideMomentsCopy { display: flex; flex-direction: column; justify-content: center; padding: 80px 7vw; background: var(--paper); }
.guideMomentsCopy h2 { font-size: clamp(2.8rem,4.6vw,5.2rem); }
.guideMomentsCopy > p:not(.eyebrow) { color: var(--muted); }
.guideMomentsCopy > div { display: grid; grid-template-columns: repeat(3,1fr); margin-top: 28px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.guideMomentsCopy > div span { display: grid; gap: 4px; padding: 17px 10px; border-left: 1px solid var(--line); color: var(--muted); font-size: .58rem; }
.guideMomentsCopy > div span:first-child { border-left: 0; padding-left: 0; }
.guideMomentsCopy strong { color: var(--ochre); font-size: .72rem; text-transform: uppercase; }
.guideMomentsCopy > small { margin-top: 14px; color: var(--muted); font-size: .62rem; }
.guideFinalCta { display: flex; align-items: center; min-height: 580px; padding: 100px 7vw; background: linear-gradient(90deg, rgba(3,42,36,.94), rgba(3,42,36,.48)), url("../images/guide/catedral.webp") center 40% / cover; color: #fff; }
.guideFinalCta > div { max-width: 780px; }
.guideFinalCta h2 { margin-bottom: 20px; }
.guideFinalCta p:not(.eyebrow) { color: rgba(255,255,255,.68); }
.guideFinalCta .button { margin-top: 20px; }
.guideCredits { padding: 25px 7vw; border-bottom: 1px solid rgba(255,255,255,.1); background: var(--deep); color: rgba(255,255,255,.6); }
.guideCredits summary { display: flex; justify-content: space-between; padding: 14px 0; cursor: pointer; font-size: .64rem; letter-spacing: .12em; list-style: none; text-transform: uppercase; }
.guideCredits summary::-webkit-details-marker { display: none; }
.guideCredits details[open] summary span { transform: rotate(45deg); }
.guideCredits details > div { display: grid; grid-template-columns: repeat(3,1fr); gap: 1px; padding: 12px 0 25px; }
.guideCredits a { display: grid; gap: 4px; padding: 15px; background: rgba(255,255,255,.04); font-size: .62rem; }
.guideCredits a strong { color: #fff; font-weight: 500; }
.guideCredits a span { color: rgba(255,255,255,.45); }

/* Questions page */
.questionsHero { position: relative; display: flex; align-items: flex-end; min-height: 580px; height: min(690px,74vh); padding: 120px 7vw 70px; overflow: hidden; background: var(--deep); color: #fff; }
.questionsHero .visualMedia img { object-position: center 58%; }
.questionsHeroShade { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(3,42,36,.94), rgba(3,42,36,.62) 50%, rgba(3,42,36,.14)), linear-gradient(0deg, rgba(3,42,36,.66), transparent 55%); }
.questionsHeroContent { position: relative; z-index: 2; max-width: 830px; }
.questionsHeroContent > p:not(.eyebrow) { max-width: 590px; color: rgba(255,255,255,.8); font-size: 1rem; }
.questionsAnchorNav { position: sticky; z-index: 15; top: 70px; display: flex; justify-content: center; gap: 42px; height: 58px; padding: 0 7vw; border-bottom: 1px solid var(--line); background: rgba(251,249,244,.95); backdrop-filter: blur(14px); }
.questionsAnchorNav a,.questionsAnchorNav span { display: inline-flex; align-items: center; font-size: .6rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.questionsAnchorNav span { margin-right: 18px; color: var(--ochre); }
.questionsAnchorNav a { position: relative; color: var(--muted); }
.questionsAnchorNav a::after { content: ""; position: absolute; right: 0; bottom: 0; left: 0; height: 2px; background: var(--ochre); transform: scaleX(0); transition: transform .25s; }
.questionsAnchorNav a:hover::after { transform: scaleX(1); }
.questionsEssentials { display: grid; grid-template-columns: .75fr 1.25fr; gap: 8vw; padding: 105px 7vw; background: var(--cream); }
.questionsEssentials h2 { margin: 0; }
.questionsFacts { display: grid; grid-template-columns: repeat(3,1fr); align-self: end; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.questionsFacts article { min-height: 210px; padding: 30px 24px; border-left: 1px solid var(--line); }
.questionsFacts article:first-child { border-left: 0; padding-left: 0; }
.questionsFacts .caminoIconFrame { margin-bottom: 22px; }
.questionsFacts strong { display: block; color: var(--ochre); font-family: "DM Serif Display",Georgia,serif; font-size: 2.8rem; font-weight: 400; }
.questionsFacts .questionsFactLabel { display: block; margin: 20px 0 8px; font-size: .68rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.questionsFacts p { margin: 0; color: var(--muted); font-size: .75rem; }
.questionsPopular { display: grid; grid-template-columns: .75fr 1.25fr; gap: 8vw; padding: 95px 7vw; background: var(--forest); color: #fff; }
.questionsPopular h2 { margin: 0; font-size: clamp(2.8rem,4.4vw,5rem); }
.questionsPopular h2 em { color: var(--gold); }
.questionsPopular > div:last-child { display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid rgba(255,255,255,.2); }
.questionsPopular a { display: grid; grid-template-columns: auto 1fr auto; gap: 18px; align-items: center; min-height: 94px; padding: 20px 22px 20px 0; border-bottom: 1px solid rgba(255,255,255,.2); }
.questionsPopular a:nth-child(even) { padding-left: 22px; border-left: 1px solid rgba(255,255,255,.2); }
.questionsPopular a span,.questionsPopular a b { color: var(--gold); font-size: .58rem; font-weight: 700; letter-spacing: .1em; }
.questionsPopular a strong { font-family: "DM Serif Display",Georgia,serif; font-size: 1rem; font-weight: 400; }
.questionsDirectory { padding: 0; }
.questionsGroup { display: grid; grid-template-columns: .75fr 1.25fr; gap: 8vw; padding: 100px 7vw; border-bottom: 1px solid var(--line); background: var(--paper); scroll-margin-top: 128px; }
.questionsGroup:nth-child(even) { background: var(--cream); }
.questionsGroupIntro { position: sticky; top: 155px; align-self: start; }
.questionsGroupIntro > span { display: block; margin-bottom: 34px; color: var(--ochre); font-family: "DM Serif Display",Georgia,serif; font-size: 4.2rem; line-height: .8; -webkit-text-stroke: 0 transparent; text-shadow: none; }
.questionsGroupIntro h2 { max-width: 500px; margin: 0; font-size: clamp(2.5rem,4.2vw,4.8rem); }
.questionsGroupIntro h2 em { color: var(--muted); }
.questionsGroupIntro .textLink { margin-top: 30px; }
.questionsList { border-top: 1px solid var(--line); }
.questionsList details { border-bottom: 1px solid var(--line); }
.questionsList summary { display: flex; align-items: center; justify-content: space-between; gap: 25px; min-height: 86px; padding: 22px 0; cursor: pointer; list-style: none; }
.questionsList summary::-webkit-details-marker { display: none; }
.questionsList summary h3 { margin: 0; font-family: "DM Serif Display",Georgia,serif; font-size: 1.28rem; font-weight: 400; letter-spacing: -.015em; }
.questionsList summary span { flex: 0 0 auto; color: var(--ochre); font-family: "Manrope Variable",Arial,sans-serif; font-size: 1.3rem; font-weight: 300; transition: transform .25s; }
.questionsList details[open] summary span { transform: rotate(45deg); }
.questionsList details p { max-width: 680px; margin: -5px 55px 28px 0; color: var(--muted); font-size: .88rem; }
.questionsHonesty { position: relative; display: grid; grid-template-columns: .65fr 1.35fr; align-items: center; gap: 7vw; min-height: 520px; padding: 95px 12vw; overflow: hidden; background: var(--forest); color: #fff; }
.questionsHonesty > img { width: min(320px,28vw); opacity: .9; }
.questionsHonesty h2 { margin-bottom: 22px; }
.questionsHonesty h2 em { color: var(--gold); }
.questionsHonesty > div > p:last-child { max-width: 620px; color: rgba(255,255,255,.68); }
.questionsFinalCta { display: flex; align-items: center; justify-content: center; min-height: 560px; padding: 90px 24px; background: linear-gradient(rgba(3,42,36,.74),rgba(3,42,36,.74)), url("../images/hero-urban-1600.webp") center / cover; color: #fff; text-align: center; }
.questionsFinalCta h2 { font-size: clamp(3.3rem,5.8vw,6.2rem); }
.questionsFinalCta .button { margin-top: 16px; }

/* Global polish */
.homePage .splitText { padding-top: 76px; padding-bottom: 80px; }
.homePage .capsules { padding-top: 90px; padding-bottom: 96px; }
.homePage .services { padding-top: 84px; padding-bottom: 80px; }
.homePage .spacesPreview { padding-top: 78px; padding-bottom: 88px; }
.homePage .guide { padding-top: 92px; padding-bottom: 98px; }
.homePage .faq { padding-top: 82px; padding-bottom: 82px; }
.homePage .spacesGrid .spaceCard > span,.capsulesPage .compareImage .conceptTag,.servicesPage .servicesFeatureImage .conceptTag,.servicesPage .supportImage .conceptTag,.servicesPage .storageImage .conceptTag { display: none; }
footer > p span { display: block; margin-top: 12px; color: rgba(255,255,255,.5); font-size: .68rem; line-height: 1.6; }

.spacesPreview { display: grid; grid-template-columns: 0.72fr 1.28fr; gap: 6vw; padding: 96px 7vw 112px; background: var(--cream); }
.spacesIntro { align-self: start; position: sticky; top: 40px; }
.spacesIntro p:last-child { max-width: 420px; color: var(--muted); }
.spacesGrid { display: grid; grid-template-columns: 1.15fr 0.85fr; grid-template-rows: 400px 340px; gap: 18px; }
.spaceCard { position: relative; display: flex; align-items: flex-end; min-height: 0; padding: 28px; overflow: hidden; background-position: center; background-size: cover; color: #fff; }
.spaceCard::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(8,28,22,0.82), rgba(8,28,22,0.08) 72%); }
.spaceCard > span { position: absolute; z-index: 2; top: 18px; right: 18px; padding: 5px 8px; border: 1px solid rgba(255,255,255,0.38); color: rgba(255,255,255,0.7); font-size: 0.49rem; letter-spacing: 0.09em; text-transform: uppercase; }
.spaceCard > div { position: relative; z-index: 2; }
.spaceCard small { color: var(--stone); font-size: 0.6rem; letter-spacing: 0.15em; }
.spaceCard h3 { margin: 8px 0 5px; font-size: 1.35rem; }
.spaceCard p { margin: 0; color: rgba(255,255,255,0.72); font-size: 0.82rem; }
.spaceKitchen .visualMedia img { object-position: 70% center; }

.guide { padding: 120px 7vw; background-color: var(--forest); background-image: linear-gradient(rgba(16,45,37,0.58), rgba(16,45,37,0.58)), url("../textures/forest-material-v1.webp"); background-position: center; background-size: auto, cover; color: #fff; }
.inline { display: flex; align-items: end; justify-content: space-between; max-width: none; }
.guide h2 em { color: var(--stone); }
.guideGrid { display: grid; grid-template-columns: 1.4fr 0.8fr 0.8fr; gap: 18px; margin-top: 65px; }
.guideGrid article { display: flex; flex-direction: column; justify-content: flex-end; min-height: 380px; padding: 32px; border-top: 3px solid var(--stone); background: #1b4035; }
.guideGrid article:nth-child(2) { border-right: 1px solid rgba(237,188,113,.16); border-left: 1px solid rgba(237,188,113,.16); border-top-color: var(--gold); background: #164c41; color: #fff; transform: translateY(42px); }
.guideGrid article:nth-child(2) span { color: var(--gold); }
.guideGrid article:nth-child(2) p { color: rgba(255,255,255,.7); }
.guideGrid article:nth-child(3) { border-right: 1px solid rgba(237,188,113,.16); border-left: 1px solid rgba(237,188,113,.16); background: #0d382f; }
.guideGrid article span { color: var(--stone); font-size: 0.62rem; letter-spacing: 0.15em; }
.guideGrid h3 { margin: 18px 0 10px; font-size: 1.25rem; line-height: 1.3; }
.guideGrid p { color: rgba(255,255,255,0.68); font-size: 0.83rem; }
.guideMain { position: relative; overflow: hidden; border-top: 0 !important; background: var(--deep) !important; }
.guideMain::after { content: ""; position: absolute; z-index: 1; inset: 0; background: linear-gradient(0deg, rgba(8,28,22,0.84), rgba(8,28,22,0.05)); }
.guideMain > div { position: relative; z-index: 2; max-width: 420px; }

.faq { display: grid; grid-template-columns: 0.65fr 1.35fr; gap: 10vw; padding: 120px 7vw; }
.faq > div:first-child > p:not(.eyebrow) { color: var(--muted); }
.faqList details { padding: 24px 0; border-top: 1px solid var(--line); }
.faqList details:last-child { border-bottom: 1px solid var(--line); }
.faqList summary { display: flex; justify-content: space-between; gap: 24px; cursor: pointer; list-style: none; font-family: "Manrope Variable", Arial, sans-serif; font-size: 1rem; font-weight: 600; line-height: 1.45; }
.faqList summary::-webkit-details-marker { display: none; }
.faqList summary span { color: var(--ochre); transition: transform 0.2s; }
.faqList details[open] summary span { transform: rotate(45deg); }
.faqList details p { max-width: 650px; padding-top: 15px; color: var(--muted); font-size: 0.9rem; }

.finalCta { position: relative; display: flex; align-items: center; justify-content: center; height: 650px; background: url("../images/hero-urban-1600.webp") center 65% / cover; color: #fff; text-align: center; }
.finalShade { position: absolute; inset: 0; background: rgba(8,28,22,0.64); }
.finalCta > div:last-child { position: relative; z-index: 2; }
.finalCta h2 { font-size: 5.2rem; }
.finalCta .button { margin-top: 20px; }

.siteFooter { display: grid; grid-template-columns: 1.35fr repeat(4,1fr); gap: 4vw; align-items: start; padding: 78px 7vw 28px; background: var(--deep); color: #fff; }
.footerIdentity { display: block; }
.footerBrand { justify-self: start; }
.brandLogoFooter { height: 132px; }
.footerIdentity > p { margin: 24px 0 18px; color: #fff; font-family: "DM Serif Display",Georgia,serif; font-size: 1.45rem; line-height: 1.15; }
.footerOpening { display: inline-flex; padding: 7px 9px; border: 1px solid rgba(237,188,113,.45); color: var(--gold); font-size: .52rem; letter-spacing: .12em; text-transform: uppercase; }
.footerColumn { display: flex; flex-direction: column; align-items: flex-start; gap: 11px; font-size: .72rem; }
.footerColumn strong { margin-bottom: 12px; color: var(--gold); font-size: .58rem; letter-spacing: .15em; text-transform: uppercase; }
.footerColumn p { margin: 0 0 4px; color: rgba(255,255,255,.66); font-size: .75rem; line-height: 1.7; }
.footerColumn a { color: rgba(255,255,255,.74); transition: color .2s; }
.footerColumn a:hover { color: #fff; }
.footerPlaceholder { color: rgba(255,255,255,.42); }
.footerFact { margin-top: 6px; color: rgba(255,255,255,.58); font-size: .62rem; letter-spacing: .08em; text-transform: uppercase; }
.footerBottom { grid-column: 1 / -1; display: grid; grid-template-columns: 1fr 1fr auto; gap: 24px; margin-top: 35px; padding-top: 24px; border-top: 1px solid rgba(255,255,255,.15); }
.footerBottom small,.footerBottom span { color: rgba(255,255,255,.46); font-size: .6rem; font-style: normal; letter-spacing: .05em; }
.footerBottom span { text-align: right; }
.footerBottom i { opacity: .4; font-style: normal; }
.footerBottom em { font-style: normal; opacity: .55; }
.footerProvisional { grid-column: 1 / -1; max-width: none; margin: 0; color: rgba(255,255,255,.28); font-size: .55rem; line-height: 1.5; }
.mobileBook { display: none; }

/* Capsules page */
.subpageHeader { background: rgba(3,42,36,0.94); backdrop-filter: blur(12px); }
.subpageHeader nav .active { color: var(--gold); opacity: 1; }
.capsulesHero { position: relative; display: flex; align-items: flex-end; min-height: 760px; height: 92vh; padding: 150px 7vw 120px; overflow: hidden; background: var(--deep); color: #fff; }
.capsulesHeroShade { position: absolute; z-index: 1; inset: 0; background: linear-gradient(90deg, rgba(3,42,36,0.9) 0%, rgba(3,42,36,0.5) 52%, rgba(3,42,36,0.12) 100%), linear-gradient(0deg, rgba(3,42,36,0.68), transparent 55%); }
.capsulesHeroContent { position: relative; z-index: 2; max-width: 820px; }
.capsulesHeroContent > p:not(.eyebrow) { max-width: 600px; margin-bottom: 30px; color: rgba(255,255,255,0.8); font-size: 1.06rem; }
.capsuleHeroFacts { position: absolute; z-index: 3; right: 7vw; bottom: 42px; display: flex; color: #fff; }
.capsuleHeroFacts span { display: grid; min-width: 130px; padding: 0 25px; border-left: 1px solid rgba(255,255,255,0.28); color: rgba(255,255,255,0.66); font-size: 0.58rem; letter-spacing: 0.13em; text-transform: uppercase; }
.capsuleHeroFacts strong { margin-bottom: 4px; color: var(--gold); font-family: "DM Serif Display", Georgia, serif; font-size: 2.1rem; font-weight: 400; letter-spacing: 0; }
.capsulePromise { display: grid; grid-template-columns: 1.15fr 0.85fr; gap: 11vw; padding: 120px 7vw; }
.capsulePromise h2 { margin-bottom: 0; }
.capsulePromise .lead { font-family: "DM Serif Display", Georgia, serif; font-size: 1.8rem; line-height: 1.35; }
.capsulePromise > div:last-child > p:last-child { color: var(--muted); }
.capsuleCompare { padding: 110px 7vw 100px; background: var(--cream); }
.capsuleCompareHeading { max-width: 900px; margin-bottom: 66px; }
.capsuleCompareGrid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.compareCard { background: var(--paper); }
.compareCardDouble { transform: translateY(42px); }
.compareImage { position: relative; height: 410px; overflow: hidden; background: var(--deep); }
.compareContent { position: relative; padding: 42px; }
.compareNumber { position: absolute; top: 42px; right: 42px; color: var(--gold); font-family: "DM Serif Display", Georgia, serif; font-size: 2.4rem; }
.compareContent h3 { margin: 0 0 12px; font-size: 2rem; }
.compareContent > p:not(.eyebrow) { max-width: 460px; color: var(--muted); }
.compareContent dl { display: grid; grid-template-columns: repeat(3, 1fr); margin: 32px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.compareContent dl div { padding: 17px 12px; border-left: 1px solid var(--line); }
.compareContent dl div:first-child { padding-left: 0; border-left: 0; }
.compareContent dt { margin-bottom: 5px; color: var(--muted); font-size: 0.57rem; letter-spacing: 0.12em; text-transform: uppercase; }
.compareContent dd { margin: 0; font-weight: 700; }
.measurementNote { max-width: 680px; margin: 72px 0 0; color: var(--muted); font-size: 0.68rem; }
.capsuleEquipment { display: grid; grid-template-columns: 0.75fr 1.25fr; gap: 8vw; padding: 120px 7vw; background-color: var(--forest); background-image: linear-gradient(rgba(7,61,53,0.72), rgba(7,61,53,0.72)), url("../textures/forest-material-v1.webp"); background-size: auto, cover; color: #fff; }
.equipmentIntro { position: sticky; top: 110px; align-self: start; }
.equipmentIntro h2 { font-size: clamp(3rem, 4.5vw, 5.2rem); }
.equipmentIntro h2 em { color: var(--gold); }
.equipmentIntro > p:last-child { max-width: 480px; color: rgba(255,255,255,0.68); }
.equipmentGrid { display: grid; grid-template-columns: 1fr 1fr; }
.equipmentGrid article { min-height: 235px; padding: 32px; border-top: 1px solid rgba(255,255,255,0.18); border-left: 1px solid rgba(255,255,255,0.18); }
.equipmentGrid article:nth-child(odd) { border-left: 0; }
.equipmentGrid span { color: var(--gold); font-size: 0.6rem; letter-spacing: 0.14em; }
.equipmentGrid .caminoIconFrame { display: flex; margin-top: 30px; }
.equipmentGrid h3 { margin: 27px 0 10px; font-size: 1.25rem; }
.equipmentGrid p { margin: 0; color: rgba(255,255,255,0.7); font-size: 0.82rem; }
.capsulePrivacy { display: grid; grid-template-columns: 1.1fr 0.9fr; min-height: 720px; }
.privacyImage { position: relative; min-height: 720px; overflow: hidden; }
.privacyContent { display: flex; flex-direction: column; justify-content: center; padding: 100px 7vw; background: var(--paper); }
.privacyContent p:not(.eyebrow) { color: var(--muted); }
.privacyContent ul { display: grid; grid-template-columns: 1fr 1fr; gap: 0; margin: 30px 0 0; padding: 0; list-style: none; }
.privacyContent li { padding: 16px 8px 16px 0; border-top: 1px solid var(--line); font-size: 0.72rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; }
.privacyContent li::before { content: "·"; margin-right: 8px; color: var(--ochre); }
.capsuleAccess { padding: 110px 7vw; background: var(--cream); }
.capsuleAccess > div:first-child { max-width: 900px; margin-bottom: 55px; }
.accessSteps { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.accessSteps article { padding: 38px; border-left: 1px solid var(--line); }
.accessSteps article:first-child { padding-left: 0; border-left: 0; }
.accessSteps span { color: var(--ochre); font-size: 0.62rem; letter-spacing: 0.14em; }
.accessSteps h3 { margin: 52px 0 12px; font-size: 1.3rem; }
.accessSteps p { color: var(--muted); font-size: 0.84rem; }
.capsuleFinalCta { position: relative; display: flex; align-items: center; min-height: 570px; padding: 100px 12vw; overflow: hidden; border-bottom: 1px solid rgba(237,188,113,.24); background: radial-gradient(circle at 78% 42%,rgba(22,76,65,.72),transparent 38%),linear-gradient(115deg,#0b493f 0%,#073d35 58%,#052f29 100%); color: #fff; }
.capsuleFinalCta > div { position: relative; z-index: 2; max-width: 720px; }
.capsuleFinalCta h2 { margin-bottom: 18px; }
.capsuleFinalCta p:not(.eyebrow) { max-width: 520px; color: rgba(255,255,255,0.68); }
.capsuleFinalCta .button { margin-top: 18px; }
.capsuleFinalCta > img { position: absolute; right: 4vw; width: min(34vw, 460px); height: auto; opacity: 0.13; transform: rotate(5deg); }

/* Services page */
.servicesHero { position: relative; display: grid; grid-template-columns: .82fr 1.18fr; min-height: 720px; height: min(860px,92vh); padding: 88px 0 0 7vw; overflow: hidden; background: radial-gradient(circle at 72% 42%,rgba(22,76,65,.55),transparent 42%),linear-gradient(110deg,#032a24 0%,#073d35 56%,#032a24 100%); color: #fff; }
.servicesHeroContent { position: relative; z-index: 3; grid-column: 1; align-self: center; min-width: 0; max-width: 620px; padding-right: 5vw; }
.servicesHeroContent > * { opacity: 1; visibility: visible; }
.servicesHeroContent > p:not(.eyebrow) { max-width: 590px; margin-bottom: 30px; color: rgba(255,255,255,0.8); font-size: 1.06rem; }
.servicesHeroMosaic { position: relative; z-index: 1; grid-column: 2; display: grid; min-width: 0; grid-template-columns: 1.25fr .75fr; grid-template-rows: 1fr 1fr; gap: 14px; padding: 36px 3vw 24px 18px; background: transparent; }
.servicesHeroMosaic > div { position: relative; min-height: 0; overflow: hidden; border-radius: 50% 50% 0 0 / 34% 34% 0 0; box-shadow: inset 0 0 0 1px rgba(237,188,113,.2); }
.servicesHeroMosaic .servicesHeroMainImage { grid-row: 1 / -1; border-radius: 50% 50% 0 0 / 28% 28% 0 0; }
.servicesHeroMosaic .visualMedia img { transition: transform .7s cubic-bezier(.22,1,.36,1); }
.servicesHeroMosaic > div:hover .visualMedia img { transform: scale(1.025); }
.servicesAnchorNav { position: sticky; z-index: 15; top: 70px; display: flex; align-items: center; justify-content: center; gap: 34px; min-height: 54px; padding: 0 7vw; border-bottom: 1px solid var(--line); background: rgba(251,249,244,0.94); backdrop-filter: blur(12px); }
.servicesAnchorNav span { margin-right: 10px; color: var(--ochre); font-size: 0.57rem; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; }
.servicesAnchorNav a { padding: 18px 0 15px; border-bottom: 2px solid transparent; color: var(--muted); font-size: 0.68rem; font-weight: 600; transition: color 0.2s, border-color 0.2s; }
.servicesAnchorNav a:hover { border-bottom-color: var(--gold); color: var(--ink); }
.servicesManifesto { display: grid; grid-template-columns: 1.15fr 0.85fr; gap: 11vw; padding: 120px 7vw; }
.servicesManifesto h2 { margin-bottom: 0; }
.servicesManifesto .lead { font-family: "DM Serif Display", Georgia, serif; font-size: 1.8rem; line-height: 1.35; }
.servicesManifesto > div:last-child > p:last-child { color: var(--muted); }
.servicesEssentials { padding: 110px 7vw 120px; background: var(--cream); }
.servicesEssentialsHeading { max-width: 900px; margin-bottom: 65px; }
.servicesEssentialGrid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.servicesEssentialGrid article { position: relative; min-height: 285px; padding: 35px; border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.servicesEssentialGrid article:nth-child(-n+3) { border-top: 0; }
.servicesEssentialGrid article:nth-child(3n+1) { padding-left: 0; border-left: 0; }
.serviceNumber { color: var(--gold); font-family: "DM Serif Display", Georgia, serif; font-size: 2.4rem; }
.servicesEssentialGrid .caminoIconFrame { display: grid; place-items: center; width: 58px; height: 58px; margin-top: 20px; border-color: rgba(167,103,45,.34); transition: border-color var(--motion-base) ease, transform var(--motion-base) var(--ease-out); }
.servicesEssentialGrid .caminoIconFrame .caminoIcon { width: 26px; height: 26px; }
.servicesEssentialGrid article > .serviceLabel { position: absolute; top: 42px; right: 35px; color: var(--ochre); font-size: 0.55rem; font-weight: 700; letter-spacing: 0.11em; text-transform: uppercase; }
.servicesEssentialGrid .caminoIconFrame { margin-top: 28px; }
.servicesEssentialGrid h2,.servicesEssentialGrid h3 { margin: 22px 0 12px; font-size: 1.35rem; }
.servicesEssentialGrid p { color: var(--muted); font-size: 0.84rem; }
.servicesConditionsNote { max-width: 760px; margin: 30px 0 0; padding-left: 15px; border-left: 2px solid var(--gold); color: var(--muted); font-size: 0.68rem; }
.servicesFeature { display: grid; grid-template-columns: 1.12fr 0.88fr; min-height: 690px; }
.servicesFeatureImage { position: relative; min-height: 690px; overflow: hidden; }
.servicesFeatureCopy { display: flex; flex-direction: column; justify-content: center; padding: 100px 7vw; }
.servicesFeatureCopy > p:not(.eyebrow) { color: var(--muted); }
.servicesFeatureCopy ul { display: grid; grid-template-columns: 1fr 1fr; margin: 30px 0 0; padding: 0; list-style: none; }
.servicesFeatureCopy li { padding: 16px 8px 16px 0; border-top: 1px solid var(--line); font-size: 0.68rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; }
.servicesFeatureCopy li::before { content: "·"; margin-right: 8px; color: var(--ochre); }
.servicesFeatureBathrooms { grid-template-columns: 0.88fr 1.12fr; background: var(--forest); color: #fff; }
.servicesFeatureBathrooms .servicesFeatureImage { order: 2; }
.servicesFeatureBathrooms .servicesFeatureCopy { order: 1; }
.servicesFeatureBathrooms .servicesFeatureCopy h2 em { color: var(--gold); }
.servicesFeatureBathrooms .servicesFeatureCopy > p:not(.eyebrow) { color: rgba(255,255,255,0.7); }
.featureStatement { display: flex; align-items: center; gap: 25px; margin-top: 32px; padding: 22px 0; border-top: 1px solid rgba(255,255,255,0.18); border-bottom: 1px solid rgba(255,255,255,0.18); }
.featureStatement strong { color: var(--gold); font-family: "DM Serif Display", Georgia, serif; font-size: 1.6rem; font-weight: 400; }
.featureStatement span { color: rgba(255,255,255,0.6); font-size: 0.76rem; }
.servicesSupport { display: grid; grid-template-columns: 1fr 1fr; padding: 120px 7vw; background: var(--paper); }
.supportImage { position: relative; min-height: 620px; overflow: hidden; }
.supportCopy { display: flex; flex-direction: column; justify-content: center; padding: 70px; border: 1px solid var(--line); border-left: 0; }
.supportCopy > p:not(.eyebrow) { color: var(--muted); }
.supportHours { display: flex; align-items: baseline; gap: 18px; margin-top: 30px; padding-top: 25px; border-top: 1px solid var(--line); }
.supportHours strong { color: var(--ochre); font-family: "DM Serif Display", Georgia, serif; font-size: 3.8rem; font-weight: 400; }
.supportHours span { color: var(--muted); font-size: 0.66rem; letter-spacing: 0.1em; text-transform: uppercase; }
.servicesStorage { position: relative; display: grid; grid-template-columns: 0.65fr 1.35fr; gap: 6vw; min-height: 750px; padding: 110px 7vw; overflow: hidden; background: var(--deep); color: #fff; }
.servicesStorage > div:first-child { position: relative; z-index: 2; align-self: center; }
.servicesStorage > div:first-child > p:not(.eyebrow) { color: rgba(255,255,255,0.66); }
.servicesStorage h2 em { color: rgba(237,188,113,.74); }
.storageImage { position: relative; min-height: 530px; overflow: hidden; }
.storageFacts { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid rgba(255,255,255,0.18); border-bottom: 1px solid rgba(255,255,255,0.18); }
.storageFacts span { padding: 20px; border-left: 1px solid rgba(255,255,255,0.18); color: rgba(255,255,255,0.68); font-size: 0.66rem; letter-spacing: 0.1em; text-transform: uppercase; }
.storageFacts span:first-child { padding-left: 0; border-left: 0; }
.storageFacts strong { margin-right: 16px; color: var(--gold); }
.servicesFinalCta { display: flex; align-items: center; justify-content: center; min-height: 620px; padding: 100px 24px; background: linear-gradient(rgba(3,42,36,0.68), rgba(3,42,36,0.68)), url("../images/common-1600.webp") center / cover; color: #fff; text-align: center; }
.servicesFinalCta h2 { font-size: clamp(3.5rem, 6vw, 6.5rem); }
.servicesFinalCta .button { margin-top: 18px; }

/* Lightweight premium interaction system: transform, opacity and color only */
.header { animation: headerIn 0.7s ease-out both; }
:where(.heroContent,.capsulesHeroContent,.servicesHeroContent,.localGuideHeroContent,.questionsHeroContent) > * { animation: heroIn 0.8s var(--ease-out) both; }
:where(.heroContent,.capsulesHeroContent,.servicesHeroContent,.localGuideHeroContent,.questionsHeroContent) > :nth-child(2) { animation-delay: 0.08s; }
:where(.heroContent,.capsulesHeroContent,.servicesHeroContent,.localGuideHeroContent,.questionsHeroContent) > :nth-child(3) { animation-delay: 0.16s; }
:where(.heroContent,.capsulesHeroContent,.servicesHeroContent,.localGuideHeroContent,.questionsHeroContent) > :nth-child(4) { animation-delay: 0.22s; }
:where(.heroContent,.capsulesHeroContent,.servicesHeroContent,.localGuideHeroContent,.questionsHeroContent) > :nth-child(5) { animation-delay: 0.28s; }
.booking { animation: bookingIn 0.85s 0.3s cubic-bezier(0.22, 1, 0.36, 1) both; }
.motion-ready [data-reveal] { opacity: 0; transform: translateY(24px); transition: opacity var(--motion-slow) var(--ease-standard), transform calc(var(--motion-slow) + 80ms) var(--ease-out); transition-delay: calc(var(--reveal-order, 0) * 35ms); }
.motion-ready [data-reveal].is-visible { opacity: 1; transform: translateY(0); }
.header nav a { position: relative; padding-block: 9px; }
.header nav a::after { content: ""; position: absolute; right: 0; bottom: 2px; left: 0; height: 1px; background: var(--gold); transform: scaleX(0); transform-origin: right; transition: transform var(--motion-base) var(--ease-out); }
.header nav a:hover::after,.header nav a.active::after { transform: scaleX(1); transform-origin: left; }
.button { position: relative; overflow: hidden; isolation: isolate; }
.button::after { content: ""; position: absolute; z-index: -1; inset: 0; background: rgba(255,255,255,.2); transform: translateX(-102%); transition: transform .48s var(--ease-out); }
.textLink { transition: gap var(--motion-base) var(--ease-out), opacity var(--motion-fast) ease; }
.textLink span { transition: transform var(--motion-base) var(--ease-out); }
:where(.faqList,.questionsList,.guideCredits) summary > span { display: inline-block; transition: color var(--motion-fast) ease, transform var(--motion-base) var(--ease-out); }
:where(.faqList,.questionsList,.guideCredits) details[open] summary > span { color: var(--ochre); transform: rotate(45deg); }
:where(.faqList,.questionsList,.guideCredits) details[open] > p,
.guideCredits details[open] > div { animation: detailIn .38s var(--ease-out) both; }
:where(.servicesAnchorNav,.guideAnchorNav,.questionsAnchorNav) a { position: relative; transition: color var(--motion-fast) ease, opacity var(--motion-fast) ease; }
:where(.servicesAnchorNav,.guideAnchorNav,.questionsAnchorNav) a::after { content: ""; position: absolute; right: 0; bottom: -7px; left: 0; height: 1px; background: var(--ochre); transform: scaleX(0); transition: transform var(--motion-base) var(--ease-out); }
:where(.servicesAnchorNav,.guideAnchorNav,.questionsAnchorNav) a.is-current { color: var(--ochre); }
:where(.servicesAnchorNav,.guideAnchorNav,.questionsAnchorNav) a.is-current::after { transform: scaleX(1); }

@keyframes headerIn { from { opacity: 0; transform: translateY(-12px); } to { opacity: 1; transform: translateY(0); } }
@keyframes heroIn { from { opacity: 0; transform: translateY(22px); } to { opacity: 1; transform: translateY(0); } }
@keyframes bookingIn { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: translateY(0); } }
@keyframes cookieIn { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: translateY(0); } }
@keyframes detailIn { from { opacity: 0; transform: translateY(-7px); } to { opacity: 1; transform: translateY(0); } }
@keyframes modalFade { from { opacity: 0; } to { opacity: 1; } }
@keyframes modalIn { from { opacity: 0; transform: translateY(18px) scale(.985); } to { opacity: 1; transform: translateY(0) scale(1); } }

@media (hover: hover) and (pointer: fine) {
  .button:hover::after { transform: translateX(0); }
  .textLink:hover { gap: 46px; }
  .textLink:hover span { transform: translate(3px,3px); }
  .capsuleCard,.servicesImage,.spaceCard,.guideGrid article,.compareCard,.servicesHeroMosaic > div,.guidePlaceGrid article { transition: transform var(--motion-slow) var(--ease-out), box-shadow var(--motion-slow) var(--ease-standard); }
  .capsuleCard:hover,.servicesImage:hover,.spaceCard:hover,.compareCard:hover { transform: translateY(-5px); box-shadow: 0 24px 56px rgba(8,28,22,.16); }
  .compareCardDouble:hover { transform: translateY(30px); }
  .guideGrid article:hover { transform: translateY(-5px); }
  .guideGrid article:nth-child(2):hover { transform: translateY(35px); }
  .capsuleCard::after,.servicesImage::after { transition: opacity .5s ease; }
  .capsuleCard:hover::after,.servicesImage:hover::after { opacity: .88; }
  :where(.capsuleCard,.servicesImage,.spaceCard,.compareImage,.privacyImage,.servicesFeatureImage,.supportImage,.storageImage,.guidePlaceGrid article,.guideMomentsImage) .visualMedia img,
  :where(.guidePlaceGrid article,.guideMomentsImage) > img { transition: transform 1s var(--ease-out); }
  :where(.capsuleCard,.servicesImage,.spaceCard,.compareCard,.capsulePrivacy,.servicesFeature,.servicesSupport,.servicesStorage,.guidePlaceGrid article,.guideMoments):hover .visualMedia img,
  .guidePlaceGrid article:hover > img,.guideMoments:hover .guideMomentsImage img { transform: scale(1.025); }
  :where(.serviceGrid,.equipmentGrid,.servicesEssentialGrid) article .caminoIconFrame { transition: color var(--motion-base) ease, transform var(--motion-base) var(--ease-out), border-color var(--motion-base) ease; }
  :where(.serviceGrid,.equipmentGrid,.servicesEssentialGrid) article:hover .caminoIconFrame { color: var(--gold); border-color: rgba(237,188,113,.65); transform: translateY(-4px); }
  .servicesEssentialGrid article:hover .caminoIconFrame { border-color: rgba(167,103,45,.72); transform: translateY(-4px); }
}

@media (max-width: 1100px) {
  .header { height: 72px; padding: 0 20px; animation: none; }
  .header.is-scrolled { height: 64px; }
  .brandLogoHeader { height: 42px; }
  .header > nav { display: none; }
  .headerActions .languageStatus { display: none; }
  .mobileNav { display: block; }
  .mobileNavToggle { position: relative; z-index: 62; display: grid; place-items: center; width: 42px; height: 42px; border: 1px solid rgba(255,255,255,.24); background: transparent; color: #fff; cursor: pointer; }
  .mobileNavToggle svg { width: 20px; height: 20px; stroke-width: 1.5; }
  .mobileNavPanel { position: absolute; z-index: 60; top: 0; right: -20px; left: -20px; display: flex; flex-direction: column; justify-content: space-between; width: auto; height: 100dvh; padding: 130px 24px 35px; background: var(--deep); opacity: 0; visibility: hidden; pointer-events: none; transform: translateY(-14px); transition: opacity .28s ease, transform .35s cubic-bezier(.22,1,.36,1), visibility 0s .35s; }
  .mobileNavPanel.is-open { opacity: 1; visibility: visible; pointer-events: auto; transform: translateY(0); transition-delay: 0s; }
  .mobileNavPanel nav { display: flex; flex-direction: column; gap: 0; }
  .mobileNavPanel nav a { display: flex; gap: 18px; align-items: baseline; padding: 18px 0; border-bottom: 1px solid rgba(255,255,255,.14); color: #fff; font-family: "DM Serif Display",Georgia,serif; font-size: clamp(2.3rem,9vw,4rem); opacity: 1; }
  .mobileNavPanel nav a { transform: translateY(12px); opacity: 0; transition: opacity .35s ease, transform .45s var(--ease-out); }
  .mobileNavPanel.is-open nav a { transform: translateY(0); opacity: 1; }
  .mobileNavPanel.is-open nav a:nth-child(2) { transition-delay: .04s; }
  .mobileNavPanel.is-open nav a:nth-child(3) { transition-delay: .08s; }
  .mobileNavPanel.is-open nav a:nth-child(4) { transition-delay: .12s; }
  .mobileNavPanel nav a span { color: var(--gold); font-family: "Manrope Variable",Arial,sans-serif; font-size: .58rem; letter-spacing: .12em; }
  .mobileNavMeta { display: flex; justify-content: space-between; gap: 18px; color: rgba(255,255,255,.52); font-size: .56rem; letter-spacing: .08em; text-transform: uppercase; }
  .menu-open { overflow: hidden; }
  .menu-open .cookieNotice,.menu-open .mobileBook { display: none; }
}

@media (max-width: 900px) {
  .header { height: 72px; padding: 0 20px; }
  .header { animation: none; }
  .header.is-scrolled { height: 64px; }
  .brandLogoHeader { height: 42px; }
  .header nav { display: none; }
  .headerActions .languageStatus { display: none; }
  .mobileNav { display: block; }
  .mobileNavToggle { position: relative; z-index: 62; display: grid; place-items: center; width: 42px; height: 42px; border: 1px solid rgba(255,255,255,.24); background: transparent; color: #fff; cursor: pointer; }
  .mobileNavToggle svg { width: 20px; height: 20px; stroke-width: 1.5; }
  .mobileNavPanel { visibility: hidden; opacity: 0; pointer-events: none; transform: translateY(-14px); transition: opacity .28s ease, transform .35s cubic-bezier(.22,1,.36,1), visibility 0s .35s; }
  .mobileNavPanel.is-open { visibility: visible; opacity: 1; pointer-events: auto; transform: translateY(0); transition-delay: 0s; }
  .mobileNavPanel nav { display: flex; flex-direction: column; gap: 0; }
  .mobileNavPanel nav a { display: flex; gap: 18px; align-items: baseline; padding: 18px 0; border-bottom: 1px solid rgba(255,255,255,.14); color: #fff; font-family: "DM Serif Display",Georgia,serif; font-size: clamp(2.3rem,9vw,4rem); opacity: 0; transform: translateY(12px); transition: opacity .35s ease, transform .45s var(--ease-out); }
  .mobileNavPanel.is-open nav a { opacity: 1; transform: translateY(0); }
  .mobileNavPanel.is-open nav a:nth-child(2) { transition-delay: .04s; }
  .mobileNavPanel.is-open nav a:nth-child(3) { transition-delay: .08s; }
  .mobileNavPanel.is-open nav a:nth-child(4) { transition-delay: .12s; }
  .mobileNavPanel nav a span { color: var(--gold); font-family: "Manrope Variable",Arial,sans-serif; font-size: .58rem; letter-spacing: .12em; }
  .mobileNavMeta { display: flex; justify-content: space-between; gap: 18px; color: rgba(255,255,255,.52); font-size: .56rem; letter-spacing: .08em; text-transform: uppercase; }
  .menu-open { overflow: hidden; }
  .menu-open .cookieNotice,.menu-open .mobileBook { display: none; }
  .legalContent { grid-template-columns: 1fr; gap: 0; padding: 75px 24px 90px; }
  .legalContent section { padding: 36px 0; border-top: 1px solid var(--line); border-left: 0; }
  .legalContent section:first-child { padding-top: 0; border-top: 0; }
  .hero { min-height: 760px; height: 92vh; padding: 90px 24px 170px; background-position: 62% center; }
  .heroShade { background: linear-gradient(90deg, rgba(8,28,22,0.84), rgba(8,28,22,0.28)), linear-gradient(0deg, rgba(8,28,22,0.64), transparent); }
  h1 { font-size: 3.9rem; }
  .heroCopy { font-size: 0.92rem; }
  .heroLinks { align-items: flex-start; flex-direction: column; }
  .booking { right: 20px; bottom: -150px; left: 20px; grid-template-columns: 1fr 1fr; }
  .booking label { padding: 10px; }
  .booking label:nth-child(2) { border-right: 0; }
  .booking label:nth-child(3),.booking label:nth-child(4) { border-top: 1px solid rgba(255,255,255,0.16); }
  .booking label:nth-child(4) { border-right: 0; }
  .booking button { grid-column: 1 / -1; min-height: 52px; }
  .bookingFeedback { bottom: -29px; max-width: 100%; }
  .benefits { grid-template-columns: 1fr 1fr; padding: 205px 24px 70px; }
  .benefits article { padding: 26px 15px 18px 0; border-top: 1px solid var(--line); border-left: 0; }
  .splitText, .faq { grid-template-columns: 1fr; gap: 45px; padding: 80px 24px; }
  .moduleStamp { grid-template-columns: 1fr 1fr; margin-top: 0; }
  .moduleStamp .stampTotal { grid-column: 1 / -1; }
  .moduleStamp > div:nth-child(2) { border-left: 0; }
  .capsules { padding: 80px 24px; }
  .capsulesHeading { grid-template-columns: 1fr; gap: 28px; }
  .capsuleCards { grid-template-columns: 1fr; }
  .capsuleCard { height: 500px; }
  .location { min-height: 650px; }
  .cityMap { inset: auto 24px 28px; min-height: 270px; height: 270px; }
  .cityMap iframe { min-height: 270px; }
  .locationCard { width: 100%; padding: 80px 24px 340px; }
  .walkingTimes { max-width: 520px; }
  .services { padding: 80px 24px; }
  .serviceGrid { grid-template-columns: 1fr 1fr; }
  .serviceGrid article:nth-child(3) { border-top: 1px solid var(--line); border-left: 0; }
  .servicesImage { height: 620px; padding: 30px; background-position: 60% center; }
  .servicesImage h2 { font-size: 3.5rem; }
  .spacesPreview { grid-template-columns: 1fr; gap: 45px; padding: 80px 24px; }
  .spacesIntro { position: static; }
  .spacesGrid { grid-template-columns: 1fr 1fr; grid-template-rows: 380px 300px; }
  .spaceBathrooms { grid-column: 1 / -1; grid-row: auto; }
  .spaceLockers { display: flex; }
  .guide { padding: 80px 24px; }
  .inline { display: block; }
  .inline > a { margin-top: 20px; }
  .guideGrid { grid-template-columns: 1fr; }
  .guideGrid article { min-height: 280px; }
  .guideGrid article:nth-child(2) { transform: none; }
  .finalCta h2 { font-size: 3.8rem; }
  footer { grid-template-columns: 1fr; padding: 60px 24px 25px; }
  footer > div { justify-content: flex-start; flex-wrap: wrap; }
  .siteFooter { grid-template-columns: 1fr 1fr; gap: 46px 8vw; padding: 62px 24px 25px; }
  .footerIdentity { grid-column: 1 / -1; }
  .footerBottom { grid-column: 1 / -1; }
  .footerProvisional { grid-column: 1 / -1; }
  .mobileBook { position: fixed; z-index: 40; right: 12px; bottom: 12px; left: 12px; display: flex; align-items: center; justify-content: space-between; min-height: 58px; padding: 8px 8px 8px 18px; border: 1px solid rgba(255,255,255,0.18); background: rgba(3,42,36,0.96); color: #fff; box-shadow: 0 14px 38px rgba(3,42,36,0.28); opacity: 0; pointer-events: none; transform: translateY(18px); backdrop-filter: blur(12px); transition: opacity 0.25s ease, transform 0.25s ease; }
  .show-mobile-book .mobileBook { opacity: 1; pointer-events: auto; transform: translateY(0); }
  .mobileBook span { font-size: 0.58rem; letter-spacing: 0.1em; text-transform: uppercase; }
  .mobileBook strong { padding: 13px 17px; background: var(--gold); color: var(--deep); font-size: 0.62rem; letter-spacing: 0.12em; text-transform: uppercase; }
  .capsulesHero { min-height: 700px; height: 88vh; padding: 120px 24px 130px; }
  .capsuleHeroFacts { right: 24px; bottom: 28px; left: 24px; }
  .capsuleHeroFacts span { min-width: 0; flex: 1; padding: 0 16px; }
  .capsulePromise, .capsuleEquipment, .capsulePrivacy { grid-template-columns: 1fr; }
  .capsulePromise { gap: 38px; padding: 82px 24px; }
  .capsuleCompare { padding: 80px 24px 110px; }
  .capsuleCompareGrid { grid-template-columns: 1fr; }
  .compareCardDouble { transform: none; }
  .equipmentIntro { position: static; }
  .capsuleEquipment { gap: 50px; padding: 82px 24px; }
  .privacyImage { min-height: 520px; }
  .privacyContent { padding: 82px 24px; }
  .capsuleAccess { padding: 82px 24px; }
  .accessSteps { grid-template-columns: 1fr; }
  .accessSteps article { padding: 30px 0; border-top: 1px solid var(--line); border-left: 0; }
  .accessSteps article:first-child { border-top: 0; }
  .accessSteps h3 { margin-top: 24px; }
  .capsuleFinalCta { min-height: 520px; padding: 80px 24px; }
  .capsuleFinalCta > img { right: -70px; width: 380px; }
  .capsulesHero > .conceptTag { top: 96px; bottom: auto; }
  .servicesHero { grid-template-columns: 1fr; min-height: 0; height: auto; padding: 88px 0 0; }
  .servicesHeroContent { grid-column: 1; padding: 72px 24px; }
  .servicesHeroMosaic { grid-column: 1; height: 500px; padding: 28px 24px 0; }
  .servicesAnchorNav { top: 64px; justify-content: flex-start; gap: 26px; padding: 0 24px; overflow-x: auto; white-space: nowrap; scrollbar-width: none; }
  .servicesAnchorNav::-webkit-scrollbar { display: none; }
  .servicesManifesto { grid-template-columns: 1fr; gap: 38px; padding: 82px 24px; }
  .servicesEssentials { padding: 82px 24px; }
  .servicesEssentialGrid { grid-template-columns: 1fr 1fr; }
  .servicesEssentialGrid article:nth-child(3) { border-top: 1px solid var(--line); }
  .servicesEssentialGrid article:nth-child(3n+1) { padding-left: 35px; border-left: 1px solid var(--line); }
  .servicesEssentialGrid article:nth-child(odd) { padding-left: 0; border-left: 0; }
  .servicesFeature, .servicesFeatureBathrooms, .servicesSupport { grid-template-columns: 1fr; }
  .servicesFeatureImage, .supportImage { min-height: 520px; }
  .servicesFeatureCopy { padding: 82px 24px; }
  .servicesFeatureBathrooms .servicesFeatureImage, .servicesFeatureBathrooms .servicesFeatureCopy { order: initial; }
  .servicesSupport { padding: 82px 24px; }
  .supportCopy { padding: 50px 35px; border-top: 0; border-left: 1px solid var(--line); }
  .servicesStorage { grid-template-columns: 1fr; gap: 42px; padding: 82px 24px; }
  .storageImage { min-height: 470px; }
  .storageFacts { grid-column: auto; }
  .localGuideHero { min-height: 680px; height: 88vh; padding: 110px 24px 90px; }
  .localGuideHeroContent { max-width: 620px; }
  .localGuideHeroIndex { right: 24px; bottom: 35px; left: 24px; width: fit-content; }
  .guideAnchorNav { top: 64px; justify-content: flex-start; gap: 28px; padding: 0 24px; overflow-x: auto; white-space: nowrap; scrollbar-width: none; }
  .guideAnchorNav::-webkit-scrollbar { display: none; }
  .guideAnchorNav span { margin-right: 8px; }
  .guideOpening { grid-template-columns: 1fr; gap: 38px; padding: 72px 24px; }
  .guideItinerary { padding: 72px 24px; }
  .guideItineraryIntro { grid-template-columns: 1fr; gap: 25px; margin-bottom: 45px; }
  .guideDays article { grid-template-columns: .3fr 1fr; gap: 35px; }
  .guideDays article > div:last-child { grid-column: 2; }
  .guidePlaces { padding: 72px 24px; }
  .guidePlacesHeading { grid-template-columns: 1fr; gap: 25px; }
  .guidePlaceGrid { grid-template-columns: 1fr 1fr; grid-template-rows: none; grid-auto-rows: 340px; }
  .guidePlaceGrid article { grid-column: auto !important; grid-row: auto !important; }
  .guidePlaceGrid .guidePlaceFeatured { grid-column: 1 / -1 !important; min-height: 520px; }
  .guidePlaceGrid .guidePlacePortrait { min-height: 440px; }
  .guideFood { padding: 72px 24px; }
  .guideFoodList a { grid-template-columns: .2fr .65fr 1fr auto; }
  .guideFoodList p { display: none; }
  .guideMoments { grid-template-columns: 1fr; }
  .guideMomentsImage { min-height: 540px; }
  .guideMomentsCopy { padding: 72px 24px; }
  .guideFinalCta { min-height: 520px; padding: 82px 24px; }
  .guideCredits { padding: 22px 24px; }
  .guideCredits details > div { grid-template-columns: 1fr 1fr; }
  .questionsHero { min-height: 560px; height: 72vh; padding: 105px 24px 62px; }
  .questionsAnchorNav { top: 64px; justify-content: flex-start; gap: 28px; padding: 0 24px; overflow-x: auto; white-space: nowrap; scrollbar-width: none; }
  .questionsAnchorNav::-webkit-scrollbar { display: none; }
  .questionsAnchorNav span { margin-right: 8px; }
  .questionsEssentials { grid-template-columns: 1fr; gap: 45px; padding: 75px 24px; }
  .questionsPopular { grid-template-columns: 1fr; gap: 45px; padding: 75px 24px; }
  .questionsGroup { grid-template-columns: 1fr; gap: 45px; padding: 78px 24px; }
  .questionsGroupIntro { position: static; }
  .questionsDirectory { padding: 0; }
  .questionsGroupIntro > span { margin-bottom: 25px; }
  .questionsHonesty { grid-template-columns: .5fr 1.5fr; min-height: 470px; padding: 75px 8vw; }
  .questionsFinalCta { min-height: 510px; }
}

@media (max-width: 520px) {
  .caminoIconFrame { width: 56px; height: 45px; padding-top: 3px; }
  .caminoIcon { width: 25px; height: 25px; }
  .conceptTag { font-size: .5rem; }
  .brandLogoHeader { width: 164px; height: auto; }
  .brandLogoFooter { height: 128px; }
  .siteFooter { grid-template-columns: 1fr; gap: 38px; }
  .footerIdentity,.footerBottom,.footerProvisional { grid-column: auto; }
  .footerColumn { padding-top: 28px; border-top: 1px solid rgba(255,255,255,.12); }
  .footerBottom { grid-template-columns: 1fr; gap: 10px; }
  .footerBottom span { text-align: left; }
  .buttonSmall { padding: 11px 13px; }
  .conceptTag,.bookingProvider,.footerProvisional,.footerBottom small,.footerBottom span,.guideDisclaimer,.guideCredits summary { font-size: .68rem; }
  .conceptTag { font-size: .5rem; }
  .headerActions { gap: 8px; }
  .cookieNotice { right: 12px; bottom: 88px; grid-template-columns: 1fr; gap: 18px; width: calc(100vw - 24px); padding: 20px; }
  .cookieActions { display: grid; grid-template-columns: 1fr 1fr; }
  .cookieActions button { padding: 0 10px; }
  .legalHero { min-height: 440px; padding: 145px 24px 65px; }
  .legalHero h1 { font-size: 3.5rem; }
  .hero h1 { margin-bottom: 20px; font-size: 3.15rem; }
  .hero h1 > span { font-size: 0.72em; white-space: normal; }
  .hero { min-height: 690px; height: 88vh; padding-top: 86px; background-image: url("../images/hero-urban-900.webp"); }
  .heroCopy { margin-bottom: 0; }
  .categoryLine { display: none; }
  .heroLinks { gap: 18px; margin-top: 26px; }
  .heroLinks .textLink { display: none; }
  .booking { bottom: -148px; }
  .booking label { padding: 10px 8px; }
  .booking input, .booking select { font-size: 0.75rem; }
  .bookingModalBackdrop { align-items: end; padding: 0; }
  .bookingModal { width: 100%; max-height: 92dvh; padding: 42px 24px 32px; overflow-y: auto; }
  .bookingSummary { grid-template-columns: 1fr 1fr; }
  .bookingSummary div:nth-child(3) { padding-left: 0; border-top: 1px solid var(--line); border-left: 0; }
  .bookingSummary div:nth-child(4) { border-top: 1px solid var(--line); }
  .bookingModalActions { align-items: flex-start; flex-direction: column; }
  .benefits, .serviceGrid { grid-template-columns: 1fr; }
  .serviceGrid article { border-top: 1px solid var(--line); border-left: 0 !important; }
  .serviceGrid article:first-child { border-top: 0; }
  .capsuleCard { height: 400px; padding: 24px; }
  .capsuleCard h3 { font-size: 2rem; }
  .capsuleCard ul { max-height: 90px; margin-top: 13px; opacity: 1; }
  .moduleStamp { grid-template-columns: 1fr; }
  .moduleStamp .stampTotal { grid-column: auto; }
  .moduleStamp > div { min-height: 92px; border-top: 1px solid var(--line); border-left: 0; }
  .moduleStamp > div:first-child { border-top: 0; }
  .spacesGrid { display: grid; grid-template-columns: 1fr; grid-template-rows: repeat(4, 290px); }
  .spaceBathrooms { grid-column: auto; }
  .mapAddress { right: 10px; bottom: 10px; left: 10px; padding: 11px 12px; }
  .mapAddress strong { font-size: 1rem; }
  .location { background-image: linear-gradient(rgba(16,45,37,0.48), rgba(16,45,37,0.48)), url("../textures/forest-material-v1.webp"); }
  .guide { background-image: linear-gradient(rgba(16,45,37,0.68), rgba(16,45,37,0.68)), url("../textures/forest-material-v1.webp"); }
  .servicesImage h2, .finalCta h2 { font-size: 3rem; }
  .finalCta { background-image: url("../images/hero-urban-900.webp"); }
  .faqList summary { font-size: 1.1rem; }
  body { padding-bottom: 78px; }
  .capsulesHero { min-height: 640px; padding-bottom: 125px; }
  .capsulesHero h1 { font-size: 3.15rem; }
  .capsulesHeroContent > p:not(.eyebrow) { font-size: 0.9rem; }
  .capsuleHeroFacts span { padding: 0 10px; }
  .capsuleHeroFacts strong { font-size: 1.7rem; }
  .compareImage { height: 310px; }
  .compareContent { padding: 30px 24px; }
  .compareNumber { top: 30px; right: 24px; font-size: 2rem; }
  .equipmentGrid { grid-template-columns: 1fr; }
  .equipmentGrid article { min-height: 190px; padding: 28px 0; border-left: 0; }
  .equipmentGrid h3 { margin-top: 20px; }
  .privacyImage { min-height: 390px; }
  .privacyContent ul { grid-template-columns: 1fr; }
  .capsuleFinalCta > img { right: -150px; opacity: 0.09; }
  .servicesHero { min-height: 0; }
  .servicesHero { background: radial-gradient(circle at 68% 62%,rgba(22,76,65,.3),transparent 48%),linear-gradient(145deg,#032a24,#073d35 58%,#032a24); }
  .servicesHeroContent { padding-top: 66px; padding-bottom: 58px; }
  .servicesHero h1 { font-size: 3.15rem; }
  .servicesHeroContent > p:not(.eyebrow) { font-size: 0.9rem; }
  .servicesHeroMosaic { display: block; height: 350px; padding: 18px 24px 0; }
  .servicesHeroMosaic > div:not(.servicesHeroMainImage) { display: none; }
  .servicesHeroMosaic .servicesHeroMainImage { height: 100%; border-radius: 50% 50% 0 0 / 38% 38% 0 0; }
  .servicesEssentialGrid { grid-template-columns: 1fr; }
  .servicesEssentialGrid article { min-height: 260px; padding: 30px 0 !important; border-top: 1px solid var(--line) !important; border-left: 0 !important; }
  .servicesEssentialGrid article:first-child { border-top: 0 !important; }
  .servicesEssentialGrid article > .serviceLabel { top: 37px; right: 0; }
  .servicesEssentialGrid h3 { margin-top: 20px; }
  .servicesFeatureImage, .supportImage { min-height: 390px; }
  .servicesFeatureCopy ul { grid-template-columns: 1fr; }
  .storageImage { min-height: 350px; }
  .storageFacts { grid-template-columns: 1fr; }
  .storageFacts span { border-top: 1px solid rgba(255,255,255,0.18); border-left: 0; }
  .storageFacts span:first-child { border-top: 0; }
  .servicesFinalCta { min-height: 520px; background-image: linear-gradient(rgba(3,42,36,0.72), rgba(3,42,36,0.72)), url("../images/common-900.webp"); }
  .localGuidePage .subpageHeader { height: 62px; border-bottom-color: rgba(255,255,255,.12); background: rgba(3,42,36,.78); backdrop-filter: blur(12px); }
  .localGuidePage .subpageHeader .brandLogoHeader { filter: none; opacity: 1; }
  .localGuideHero { align-items: center; min-height: 670px; height: 86vh; padding: 120px 24px 120px; }
  .guideHeroPicture img { object-position: 58% center; }
  .localGuideHeroShade { background: linear-gradient(90deg, rgba(3,42,36,.76), rgba(3,42,36,.18)), linear-gradient(0deg, rgba(3,42,36,.9), transparent 72%); }
  .localGuideHeroContent { margin-top: 100px; }
  .localGuideHero h1 { font-size: 3.15rem; }
  .localGuideHeroContent p:not(.eyebrow) { font-size: .9rem; line-height: 1.55; }
  .localGuideHeroIndex { right: 24px; bottom: 25px; left: 24px; display: block; width: auto; padding: 13px 0; }
  .localGuideHeroIndex span { display: none; }
  .localGuideHeroIndex strong { display: block; }
  .guideAnchorNav { height: 54px; }
  .guideDays article { grid-template-columns: 1fr; gap: 18px; padding: 42px 0; }
  .guideDays article > div:last-child { grid-column: auto; margin-top: 14px; }
  .guideDayNumber { margin-bottom: 18px; font-size: 4rem; }
  .guidePlaceGrid { grid-template-columns: 1fr; grid-auto-rows: 330px; }
  .guidePlaceGrid article,.guidePlaceGrid .guidePlaceFeatured { grid-column: auto !important; min-height: 0; }
  .guidePlaceGrid .guidePlaceFeatured { height: 420px; }
  .guidePlaceGrid .guidePlacePortrait { height: 460px; }
  .guidePlaceGrid p { max-height: 32px; opacity: 1; transform: none; }
  .guidePlaceMeta { max-height: 46px; margin-top: 15px; padding-top: 12px; border-color: rgba(255,255,255,.24); opacity: 1; transform: none; }
  .guidePlacesAction { align-items: flex-start; flex-direction: column; }
  .guideFoodList a { grid-template-columns: .22fr 1fr auto; gap: 16px; padding: 24px 0; }
  .guideFoodList a:hover { padding: 24px 10px; }
  .guideFoodList a > small { grid-column: 2; grid-row: 1; }
  .guideFoodList h3 { grid-column: 2; grid-row: 2; }
  .guideFoodList a > span { grid-row: 1 / span 2; }
  .guideFoodList b { grid-column: 3; grid-row: 1 / span 2; }
  .guideMomentsImage { min-height: 410px; }
  .guideMomentsCopy > div { grid-template-columns: 1fr; }
  .guideMomentsCopy > div span { border-top: 1px solid var(--line); border-left: 0; }
  .guideMomentsCopy > div span:first-child { border-top: 0; padding-left: 10px; }
  .guideFinalCta { background-position: 58% center; }
  .guideFinalCta { background-image: linear-gradient(90deg,rgba(3,42,36,.94),rgba(3,42,36,.48)),url("../images/guide/catedral-900.webp"); }
  .guideCredits details > div { grid-template-columns: 1fr; }
  .questionsPage .subpageHeader { height: 62px; background: rgba(3,42,36,.82); backdrop-filter: blur(12px); }
  .questionsHero { align-items: center; min-height: 560px; padding: 105px 24px 72px; }
  .questionsHero .visualMedia img { object-position: 65% center; }
  .questionsHero h1 { font-size: 3.15rem; }
  .questionsHero h1 > span { white-space: normal; }
  .questionsHeroContent > p:not(.eyebrow) { font-size: .9rem; }
  .questionsAnchorNav { height: 54px; }
  .questionsFacts { grid-template-columns: 1fr; }
  .questionsFacts article { min-height: 150px; padding: 24px 0; border-top: 1px solid var(--line); border-left: 0; }
  .questionsFacts article:first-child { border-top: 0; }
  .questionsFacts .questionsFactLabel { margin-top: 12px; }
  .questionsPopular > div:last-child { grid-template-columns: 1fr; }
  .questionsPopular a,.questionsPopular a:nth-child(even) { min-height: 82px; padding: 18px 0; border-left: 0; }
  .questionsGroupIntro > span { font-size: 4rem; }
  .questionsList summary { min-height: 82px; }
  .questionsList summary h3 { font-size: 1.13rem; }
  .questionsList details p { margin-right: 28px; }
  .questionsHonesty { grid-template-columns: 1fr; gap: 35px; padding: 72px 24px; }
  .questionsHonesty > img { width: 130px; }
  .questionsFinalCta { min-height: 480px; background-image: linear-gradient(rgba(3,42,36,.76),rgba(3,42,36,.76)),url("../images/hero-urban-900.webp"); }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: 0.01ms !important; animation-delay: 0ms !important; transition-duration: 0.01ms !important; }
  [data-reveal] { opacity: 1 !important; transform: none !important; }
}

@media (hover: none) {
  .guidePlaceGrid p { max-height: 32px; opacity: 1; transform: none; }
  .guidePlaceMeta { max-height: 46px; margin-top: 15px; padding-top: 12px; border-color: rgba(255,255,255,.24); opacity: 1; transform: none; }
}

@media (forced-colors: active) {
  .button,.booking button { border: 1px solid ButtonText; }
  .caminoIconFrame { border-bottom: 1px solid currentColor; }
}

/* WordPress integration */
.admin-bar .header { top: 32px; }
.wpPageContent { max-width: 920px; min-height: 55vh; margin: 0 auto; padding: 90px var(--page-gutter) 120px; }
.wpPageContent > * + * { margin-top: 1.4em; }
.entry-content { color: var(--muted); }
.visualMediaImage { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.camino-hub-theme .capsuleCard > img + div { position: relative; z-index: 2; }
.camino-hub-theme .current-menu-item > a,.camino-hub-theme .current_page_item > a { opacity: 1; }
.camino-hub-theme .header nav li,.camino-hub-theme .siteFooter nav li { display: contents; list-style: none; }
.camino-hub-theme .header nav ul,.camino-hub-theme .siteFooter nav ul { display: contents; margin: 0; padding: 0; }

@media (max-width: 1100px) {
  .mobileNavToggle { display: grid; }
  .mobileNavPanel { display: flex; }
  .camino-hub-theme .headerActions { margin-left: auto; }
}

@media (max-width: 782px) {
  .admin-bar .header { top: 46px; }
}
