.restaurant-relax-page { overflow: clip; }
.restaurant-relax-page section { scroll-margin-top: 5.5rem; }
.rr-hero { position: relative; min-height: 45rem; display: grid; overflow: hidden; background: var(--color-elevated); }
.rr-hero__media, .rr-hero__shade { position: absolute; inset: 0; }
.rr-hero__media img { width: 100%; height: 100%; object-fit: cover; }
.rr-hero__shade { background: linear-gradient(90deg, rgba(7,11,28,.94) 0%, rgba(7,11,28,.82) 37%, rgba(7,11,28,.20) 68%, rgba(7,11,28,.14) 100%); }
.rr-hero::after { content: ""; position: absolute; inset: -25%; pointer-events: none; background: radial-gradient(circle at 48% 0%, rgba(110,77,204,.22), transparent 25%), radial-gradient(circle at 80% 18%, rgba(49,90,154,.15), transparent 26%); animation: rr-aurora 22s ease-in-out infinite alternate; }
.rr-hero__container { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--space-6); align-items: end; padding-block: 7.5rem 5.5rem; }
.rr-hero__content { grid-column: span 5; min-width: 0; max-width: 35rem; display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-3); }
.rr-hero__content h1, .rr-hero__content p { margin: 0; }
.rr-hero__content p { max-width: 32rem; font-size: var(--text-lg); line-height: var(--leading-lg); }
.rr-hero__actions { display: flex; width: 100%; min-width: 0; flex-wrap: wrap; align-items: center; gap: var(--space-4); margin-top: var(--space-4); }
.rr-text-link { font-weight: 600; }
.rr-rhythms__intro, .rr-ambience__intro, .rr-wellness__intro, .rr-day__intro, .rr-practical__intro, .rr-faq__intro { min-width: 0; }
.rr-rhythms__intro { max-width: 38.75rem; }
.rr-rhythms__grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 5fr); column-gap: calc(var(--space-6) * 2); margin-top: var(--space-12); }
.rr-direction { min-width: 0; max-width: 31rem; }
.rr-direction--relax { border-inline-start: 1px solid var(--color-border); padding-inline-start: calc(var(--space-6) * 2); }
.rr-number, .rr-point-number { display: inline-block; color: var(--color-spark); font-family: var(--font-heading); font-weight: 700; letter-spacing: .04em; }
.rr-direction h3 { margin-top: var(--space-3); }
.rr-info-strip { display: flex; min-width: 0; align-items: flex-start; gap: var(--space-4); margin-top: var(--space-12); padding: var(--space-4) var(--space-6); border-block: 1px solid var(--color-border); }
.rr-info-strip > * { min-width: 0; }
.rr-info-strip p { margin: 0; max-width: 47rem; }
.rr-restaurant { background: rgba(13,20,48,.42); }
.rr-restaurant__grid { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); gap: var(--space-12); align-items: start; }
.rr-restaurant__figure, .rr-wellness-frame__figure, .rr-ambience__visual figure { width: 100%; min-width: 0; margin: 0; }
.rr-restaurant__figure img, .rr-wellness-frame__figure img { width: 100%; aspect-ratio: 4 / 3; border-radius: var(--radius-lg); object-fit: cover; }
.rr-restaurant__content { min-width: 0; max-width: 36rem; }
.rr-restaurant__lead { color: var(--color-text); font-size: var(--text-lg); line-height: var(--leading-lg); }
.rr-restaurant__points { display: flex; min-width: 0; flex-direction: column; gap: var(--space-6); margin-top: var(--space-8); }
.rr-restaurant__points article { min-width: 0; }
.rr-restaurant__points h3 { margin-top: var(--space-2); font-size: 1.125rem; }
.rr-ambience__intro { max-width: 37.5rem; }
.rr-ambience__visual { position: relative; margin-top: var(--space-12); }
.rr-ambience__visual figure img { width: 100%; aspect-ratio: 16 / 9; border-radius: var(--radius-lg); object-fit: cover; }
.rr-ambience__features { position: absolute; inset-inline: var(--space-6); bottom: var(--space-6); display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-4); padding: var(--space-6); border: 1px solid var(--color-border); border-radius: var(--radius-lg); background: var(--color-glass); backdrop-filter: blur(20px) saturate(125%); }
.rr-ambience__features article { min-width: 0; }
.rr-ambience__features h3 { font-size: 1.125rem; margin-bottom: var(--space-2); }
.rr-ambience__features p { margin: 0; font-size: var(--text-sm); line-height: var(--leading-sm); }
.rr-wellness { position: relative; background: var(--color-elevated); isolation: isolate; }
.rr-wellness::before, .rr-practical::before { content: ""; position: absolute; z-index: -1; width: 32rem; height: 32rem; right: -12rem; top: -14rem; pointer-events: none; background: radial-gradient(circle, rgba(110,77,204,.20), transparent 67%); }
.rr-wellness__intro { max-width: 38.75rem; }
.rr-wellness__cards, .rr-practical__cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-6); margin-top: var(--space-12); }
.rr-wellness-card { min-width: 0; display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-3); padding: var(--space-6); border: 1px solid var(--color-border); border-radius: var(--radius-lg); background: var(--color-glass); backdrop-filter: blur(20px) saturate(125%); transition: transform var(--transition-base), border-color var(--transition-base); }
.rr-wellness-card > * { margin: 0; }
.rr-wellness-card:hover { transform: translateY(-2px); border-color: var(--color-border-active); }
.rr-wellness-card--accent { border-color: var(--color-border-active); box-shadow: var(--shadow-glow); }
.rr-wellness-frame__grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: var(--space-12); align-items: center; }
.rr-wellness-frame__content { min-width: 0; max-width: 31.25rem; }
.rr-wellness-note { display: flex; min-width: 0; align-items: flex-start; gap: var(--space-3); margin-top: var(--space-8); padding: var(--space-4); border: 1px solid var(--color-border); border-radius: var(--radius-md); background: var(--color-glass); }
.rr-wellness-note span { flex: 0 0 1.25rem; width: 1.25rem; height: 1.25rem; border: 1px solid var(--color-spark); border-radius: 50%; color: var(--color-spark); font-size: .75rem; font-weight: 700; line-height: 1.1rem; text-align: center; }
.rr-wellness-note p { min-width: 0; margin: 0; font-size: var(--text-sm); line-height: var(--leading-sm); }
.rr-day__intro { max-width: 36.25rem; }
.rr-day__steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-6); margin-top: var(--space-12); }
.rr-day__steps article { position: relative; min-width: 0; padding-top: var(--space-8); }
.rr-day__steps article:not(:last-child)::after { content: ""; position: absolute; top: 1.1rem; left: 3rem; width: calc(100% - 2rem); height: 1px; background: var(--color-border); }
.rr-day__steps article:nth-child(2)::after { background: var(--color-aurora); }
.rr-day__steps h3 { margin-top: var(--space-4); font-size: 1.125rem; }
.rr-day__badge { position: relative; z-index: 1; display: grid; width: 2.25rem; height: 2.25rem; place-items: center; border: 1px solid var(--color-border-active); border-radius: var(--radius-sm); background: var(--color-elevated); color: var(--color-aurora-bright); font-weight: 700; }
.rr-practical { position: relative; isolation: isolate; background: rgba(13,20,48,.54); }
.rr-practical__intro { max-width: 33.75rem; }
.rr-practical__cards .panel { min-width: 0; display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-3); padding: var(--space-6); }
.rr-practical__cards .panel > * { margin: 0; }
.rr-practical__cards h3 { font-size: 1.125rem; }
.rr-faq__intro { max-width: 37.5rem; }
.rr-faq__list { width: min(100%, 58rem); min-width: 0; margin-top: var(--space-12); }
.rr-faq__item { margin-bottom: var(--space-3); border: 1px solid var(--color-border); border-radius: var(--radius-md); background: var(--color-glass); backdrop-filter: blur(20px) saturate(125%); overflow: hidden; }
.rr-faq__item h3 { margin: 0; }
.rr-faq__item button { display: grid; width: 100%; min-width: 0; grid-template-columns: minmax(0, 1fr) 2rem; align-items: center; gap: var(--space-4); padding: var(--space-4); background: transparent; color: var(--color-text); font-family: var(--font-heading); font-size: 1rem; font-weight: 700; line-height: 1.4; text-align: left; }
.rr-faq__item button span { justify-self: end; color: var(--color-aurora-bright); font-size: 1.5rem; font-weight: 400; }
.rr-faq__item button[aria-expanded="true"] span { font-size: 0; }
.rr-faq__item button[aria-expanded="true"] span::after { content: "−"; font-size: 1.5rem; }
.rr-faq__answer { max-width: 43.75rem; padding: 0 var(--space-4) var(--space-5, 1.25rem); }
.rr-faq__answer p { margin: 0; padding-bottom: var(--space-4); }
.rr-contact__panel { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 4fr); gap: var(--space-12); align-items: center; padding: var(--space-16); border: 1px solid var(--color-border); border-radius: var(--radius-xl); background: linear-gradient(135deg, rgba(17,24,52,.92), rgba(13,20,48,.8)); box-shadow: var(--shadow-deep); }
.rr-contact__copy { min-width: 0; max-width: 35rem; }
.rr-contact__actions { min-width: 0; display: flex; flex-direction: column; gap: var(--space-6); }
.rr-contact__actions > div { display: flex; min-width: 0; flex-direction: column; gap: var(--space-3); }
.rr-contact__actions a:not(.button) { display: flex; min-width: 0; flex-direction: column; font-weight: 600; }
.rr-contact__actions a span { color: var(--color-text-subtle); font-size: var(--text-xs); letter-spacing: .08em; text-transform: uppercase; }
@keyframes rr-aurora { from { transform: translate3d(-2%, -1%, 0); } to { transform: translate3d(3%, 2%, 0); } }
@media (max-width: 61.25rem) { .rr-hero { min-height: auto; display: block; padding-top: 0; } .rr-hero__media { position: relative; height: 20rem; } .rr-hero__shade { top: 0; bottom: auto; height: 20rem; background: linear-gradient(180deg, rgba(7,11,28,.12), rgba(7,11,28,.34)); } .rr-hero__container { display: block; padding-block: var(--space-8) var(--space-16); } .rr-hero__content { max-width: 35rem; } .rr-hero__content p { font-size: var(--text-base); line-height: var(--leading-base); } .rr-restaurant__grid, .rr-wellness-frame__grid { grid-template-columns: 1fr; gap: var(--space-8); } .rr-restaurant__figure { order: -1; } .rr-wellness-frame__content, .rr-restaurant__content { max-width: none; } }
@media (max-width: 56.25rem) { .rr-rhythms__grid { grid-template-columns: 1fr; row-gap: var(--space-8); } .rr-direction { max-width: none; } .rr-direction--relax { border-inline-start: 0; border-top: 1px solid var(--color-border); padding-inline-start: 0; padding-top: var(--space-8); } .rr-wellness__cards, .rr-practical__cards { grid-template-columns: repeat(2, minmax(0, 1fr)); } .rr-wellness__cards article:nth-child(3), .rr-practical__cards article:nth-child(3) { grid-column: 1 / -1; } }
@media (max-width: 55rem) { .rr-day__steps { grid-template-columns: 1fr; gap: var(--space-6); border-inline-start: 1px solid var(--color-border); padding-inline-start: var(--space-6); } .rr-day__steps article { display: grid; grid-template-columns: 2.25rem minmax(0, 1fr); gap: var(--space-4); padding-top: 0; } .rr-day__steps article:not(:last-child)::after { display: none; } .rr-day__steps h3 { margin-top: 0; } }
@media (max-width: 47.5rem) { .rr-ambience__features { position: static; grid-template-columns: 1fr; gap: 0; margin-top: var(--space-6); padding: 0; background: transparent; border: 0; backdrop-filter: none; } .rr-ambience__features article { padding: var(--space-4) 0; border-bottom: 1px solid var(--color-border); } .rr-ambience__features article:first-child { border-top: 1px solid var(--color-border); } .rr-ambience__visual figure img { aspect-ratio: 3 / 2; } }
@media (max-width: 40rem) { .rr-hero__media, .rr-hero__shade { height: 18.75rem; } .rr-hero__content h1 { font-size: 2.25rem; line-height: 1.167; } .rr-hero__actions { align-items: stretch; flex-direction: column; } .rr-hero__actions .button { width: 100%; } .rr-wellness__cards, .rr-practical__cards { grid-template-columns: 1fr; } .rr-wellness__cards article:nth-child(3), .rr-practical__cards article:nth-child(3) { grid-column: auto; } .rr-wellness-card, .rr-practical__cards .panel { padding: var(--space-6); } .rr-info-strip { flex-direction: column; padding-inline: 0; } .rr-faq__list { margin-top: var(--space-8); } .rr-faq__item button { min-height: 3.5rem; padding: var(--space-4); } .rr-contact__panel { grid-template-columns: 1fr; gap: var(--space-8); padding: var(--space-8); } }
@media (prefers-reduced-motion: reduce) { .rr-hero::after { animation: none; } }
