/* Homepage integration — v20261103.11. Original design tokens live in reference.css. */
@layer bootstrap, properties, theme, base, components, utilities;
:root { --font-primary: var(--font-grotesk); --font-secondary: var(--font-classic); }
html { scroll-behavior: smooth; }
body { margin: 0; --font-primary: var(--font-grotesk); --font-secondary: var(--font-classic); font-family: var(--font-grotesk); }
main.container-fluid { width: 100%; margin: 0; padding: 0; }
a[role="button"] { text-decoration: none; cursor: pointer; }
button, a { -webkit-tap-highlight-color: transparent; }
.local-mobile-menu.offcanvas {
  --bs-offcanvas-width: 375px;
  --bs-offcanvas-transition: transform .5s ease-in-out;
  background: var(--color-surface-primary, #f0f7f7);
  border: 0; padding: 0; color: var(--blue-500);
  max-width: 100%; max-height: none; z-index: 1100;
}
.offcanvas-backdrop { z-index: 1090; }
.offcanvas-backdrop.show { opacity: .8; }
.local-mobile-menu:not(.show):not(.showing):not(.hiding) { visibility: hidden; }
.local-mobile-menu.show { visibility: visible; }
.local-mobile-menu [aria-label="close-menu-navigation"] { cursor: pointer; }
.local-mobile-menu .menu-second-open { display: block; }
footer [role="button"][aria-expanded="true"] svg:first-child { opacity: 0; transform: rotate(90deg); }
footer [role="button"][aria-expanded="true"] svg:last-child { opacity: 1; transform: rotate(0); }
.value-cta-visible { animation: appear .7s ease-in-out .35s forwards; }
.value-divider-visible { animation: height-expand .7s ease-in-out forwards; }
[data-carousel] > ul { touch-action: pan-x pan-y; cursor: grab; }
[data-carousel] > ul.dragging { cursor: grabbing; scroll-snap-type: none; scroll-behavior: auto; user-select: none; }
.btn-outline-primary { background: transparent; border: 1px solid var(--blue-500); color: var(--blue-500); }
.btn-outline-primary:hover { background: var(--blue-200); }
@media (max-width: 767px) {
  .local-mobile-menu.offcanvas { --bs-offcanvas-width: 100%; transform: translateY(-100%); }
  .local-mobile-menu.offcanvas.show:not(.hiding), .local-mobile-menu.offcanvas.showing { transform: none; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  [data-carousel] > ul { scroll-behavior: auto; }
}

/* AuraLynk brand update — v20261103.11 */
.auralynk-brand-slot { flex: 0 1 350px; min-width: 0; }
.auralynk-brand { display: inline-flex; align-items: center; gap: 12px; color: var(--blue-500); text-decoration: none; }
.auralynk-brand img { width: 44px; height: 44px; border-radius: 12px; flex: none; object-fit: contain; }
.auralynk-brand span { font-family: var(--font-classic); font-size: 21px; font-weight: 535; line-height: 1.2; white-space: nowrap; }
.auralynk-nav-link { position: relative; padding: 6px 0; text-decoration: none; }
.auralynk-nav-link::after { content: ''; position: absolute; left: 0; right: 0; bottom: 1px; height: 1px; background: currentColor; transform: scaleX(0); transform-origin: left; transition: transform .3s; }
.auralynk-nav-link:hover::after, .auralynk-nav-link:focus-visible::after { transform: scaleX(1); }
.auralynk-section-logo { width: 60px; height: 60px; border-radius: 50%; object-fit: contain; }
main > section { scroll-margin-top: 88px; }
.auralynk-mobile-top { padding: 28px 24px; display: flex; justify-content: space-between; align-items: center; }
.auralynk-mobile-top button { padding: 10px; font-size: 24px; cursor: pointer; }
.auralynk-mobile-links { display: flex; flex-direction: column; gap: 30px; padding: 30px 24px; }
.auralynk-mobile-links a { width: fit-content; text-decoration: none; }
.auralynk-footer { background: #123d4c; color: #e0f5fc; padding: 56px 40px 24px; }
.auralynk-footer-inner { max-width: 1440px; margin: auto; display: flex; flex-wrap: wrap; align-items: center; gap: 28px 48px; }
.auralynk-footer .auralynk-brand { color: #e0f5fc; }
.auralynk-footer-inner > p { font-size: 16px; margin: 0; opacity: .8; }
.auralynk-footer nav { display: flex; flex-wrap: wrap; gap: 24px; margin-left: auto; }
.auralynk-footer nav a { color: inherit; text-decoration: none; font-size: 16px; }
.auralynk-footer nav a:hover { text-decoration: underline; }
.auralynk-footer-bottom { max-width: 1440px; margin: 36px auto 0; padding-top: 20px; border-top: 1px solid #ffffff26; font-size: 13px; opacity: .75; }
.auralynk-contact-details { margin: 0; display: flex; flex-direction: column; align-items: center; gap: 12px; font-style: normal; line-height: 1.5; color: var(--blue-500); }
.auralynk-contact-details a { color: inherit; text-decoration: none; }
.auralynk-contact-details a:hover { text-decoration: underline; }
[id="1uJU1Hm3ggiOLU9CMoPEsb"] [data-testid="banner-left-aligned"]::after,
[id="4jfAXEyPWBJxZsRhQHazEY"] [data-testid="banner-left-aligned"]::after {
  content: ''; position: absolute; inset: 0; z-index: 2; pointer-events: none;
  background: linear-gradient(90deg, #f0f7f7f5 0%, #f0f7f7dd 36%, #f0f7f700 75%);
}
[id="7mcRHvwNoi1ELvWCQ61Wnw"] [data-testid="banner-left-aligned"]::after {
  content: ''; position: absolute; inset: 0; z-index: 2; pointer-events: none;
  background: linear-gradient(90deg, #12222de8 0%, #12222db0 38%, #12222d00 80%);
}
@media (min-width: 1280px) { header [aria-label="main-navigation"] { gap: 32px; } }
@media (max-width: 1279px) {
  header .auralynk-brand-slot { flex: none; width: auto; margin-right: 38px; }
  header .auralynk-brand img { width: 34px; height: 34px; border-radius: 9px; }
  header .auralynk-brand span { max-width: 210px; white-space: normal; font-size: 16px; }
}
@media (max-width: 767px) {
  #home img { object-position: 72% center; }
  header .auralynk-brand-slot { margin-right: 32px; }
  header .auralynk-brand { gap: 7px; }
  header .auralynk-brand img { width: 30px; height: 30px; }
  header .auralynk-brand span { max-width: 150px; font-size: 14px; }
  header > nav > .auralynk-brand-slot + div { right: 16px; }
  main > section { scroll-margin-top: 72px; }
  .auralynk-footer { padding: 40px 24px 24px; }
  .auralynk-footer-inner { flex-direction: column; align-items: flex-start; gap: 22px; }
  .auralynk-footer nav { margin-left: 0; gap: 20px; }
  .auralynk-footer .auralynk-brand span { font-size: 19px; white-space: normal; }
}

/* Editorial single-page layout — v20261103.11 */
.menu-banner-link { display: block; text-decoration: none; color: inherit; }
.menu-service-section { background: #f0f7f7; }
.menu-service-section .gallery-carousel > ul { align-items: stretch; }
.menu-service-section .gallery-carousel li { display: flex; }
.menu-service-section .menu-banner-link { width: 100%; height: 100%; }
.menu-service-card { display: flex; flex-direction: column; margin: 0; height: 100%; background: white; border: 1px solid #123d4c16; border-radius: 18px; overflow: hidden; transition: border-color .3s,box-shadow .3s; }
.menu-service-card > img { display: block; width: 100%; height: 280px; object-fit: cover; flex: none; }
.menu-service-card figcaption { display: flex; flex-direction: column; flex: 1; padding: 26px 28px 28px; color: #123d4c; background: white; }
.service-card-meta { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 22px; color: #537f8f; font-size: 10px; letter-spacing: .09em; text-transform: uppercase; }
.menu-service-card h3 { font-family: var(--font-classic); font-size: 34px; font-weight: 375; line-height: 1.15; letter-spacing: -.02em; margin: 0 0 14px; }
.menu-service-card figcaption > p { color: #617177; font-size: 15px; line-height: 1.7; margin: 0 0 26px; min-height: 77px; }
.service-card-action { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding-top: 18px; border-top: 1px solid #123d4c24; margin-top: auto; font-size: 13px; }
.service-card-action > span { font-size: 22px; transition: transform .3s; }
.menu-banner-link:hover .menu-service-card, .menu-banner-link:focus-visible .menu-service-card { border-color: #537f8f70; box-shadow: 0 8px 24px #123d4c0c; }
.menu-banner-link:hover .service-card-action > span { transform: translate(3px,-3px); }
@media (min-width: 1600px) { .menu-service-card > img { height: 310px; } }
@media (max-width: 767px) {
  .menu-service-card > img { height: 230px; }
  .menu-service-card figcaption { padding: 22px; }
  .menu-service-card h3 { font-size: 30px; }
  .menu-service-card figcaption > p { font-size: 14px; min-height: 95px; }
  .service-card-meta { font-size: 9px; margin-bottom: 18px; }
}
@media (prefers-reduced-motion: reduce) { .menu-service-card, .service-card-action > span { transition: none; } }
.hero-book-button { min-width: 250px; }
.about-editorial { background: #fff; padding: 110px 0 120px; overflow: hidden; }
.about-editorial-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 48px; margin-bottom: 64px; }
.about-editorial-heading .eyebrow-large { color: #537f8f; margin-bottom: 24px; }
.about-editorial-heading h2 { font-family: var(--font-classic); font-size: clamp(42px,5vw,72px); font-weight: 375; color: #123d4c; line-height: 1.06; letter-spacing: -.035em; }
.about-editorial-intro { margin: 0 0 8px; font-size: 19px; line-height: 1.6; color: #537f8f; max-width: 320px; }
.about-editorial-collage { display: grid; grid-template-columns: repeat(12,minmax(0,1fr)); gap: 44px 32px; align-items: start; }
.about-editorial-main { position: relative; grid-column: 1/7; grid-row: 1/3; margin: 0 12px 0 0; padding-bottom: 34px; }
.about-editorial-main > img { width: 100%; aspect-ratio: 4/5; object-fit: cover; object-position: 55% center; border-radius: 100px 20px 20px 20px; }
.about-editorial-main figcaption { margin-top: 20px; font-size: 13px; color: #537f8f; }
.about-editorial-detail { position: absolute; width: 40%; right: -34px; bottom: 0; border: 8px solid white; border-radius: 20px; overflow: hidden; }
.about-editorial-detail img { width: 100%; aspect-ratio: 4/5; object-fit: cover; }
.about-editorial-side { grid-column: 9/13; grid-row: 1; margin: 0 0 0 10px; }
.about-editorial-side img { width: 100%; aspect-ratio: 5/4; object-fit: cover; object-position: 28% center; border-radius: 20px 20px 80px 20px; }
.about-editorial-story { grid-column: 8/13; grid-row: 2; padding-top: 4px; color: #52636a; }
.about-story-rule { display: block; width: 48px; height: 2px; background: #9bc4d0; margin-bottom: 24px; }
.about-editorial-story .about-story-lead { font-family: var(--font-classic); font-size: 34px; line-height: 1.15; color: #123d4c; margin: 0 0 24px; }
.about-editorial-story > p:not(.about-story-lead) { font-size: 16px; line-height: 1.75; margin-bottom: 16px; }
.about-editorial-story .layout-button { margin-top: 16px; gap: 20px; }
@media (max-width: 1023px) {
  .about-editorial { padding: 80px 0; }
  .about-editorial-heading { gap: 30px; }
  .about-editorial-intro { max-width: 220px; font-size: 16px; }
  .about-editorial-collage { gap: 32px 24px; }
  .about-editorial-main { grid-column: 1/7; }
  .about-editorial-side { grid-column: 8/13; }
  .about-editorial-story { grid-column: 8/13; }
  .about-editorial-story .about-story-lead { font-size: 30px; }
}
@media (max-width: 767px) {
  .about-editorial { padding: 64px 0 72px; }
  .about-editorial-heading { display: block; margin-bottom: 36px; }
  .about-editorial-intro { max-width: none; margin: 24px 0 0; }
  .about-editorial-intro br { display: none; }
  .about-editorial-collage { grid-template-columns: repeat(6,minmax(0,1fr)); gap: 32px 18px; }
  .about-editorial-main { grid-column: 1/6; grid-row: 1; margin: 0 0 14px; padding-bottom: 32px; }
  .about-editorial-main > img { border-top-left-radius: 70px; }
  .about-editorial-detail { width: 44%; right: -44px; bottom: 0; border-width: 6px; }
  .about-editorial-side { grid-column: 4/7; grid-row: 2; margin: 0; }
  .about-editorial-story { grid-column: 1/7; grid-row: 3; padding: 0; }
  .about-editorial-story .about-story-lead br { display: none; }
}
#global-navigation { position: fixed; top: 0; left: 0; right: 0; transform: none !important; z-index: 1000; box-shadow: 0 1px 0 #123d4c0c; }
.layout-container { width: min(100% - 80px, 1280px); margin: 0 auto; }
.layout-section { padding: 112px 0; }
.layout-section h2, .fixed-scene h2, .ritual-copy h2, .contact-copy h2 { font-family: var(--font-classic); font-weight: 375; font-size: clamp(38px, 4.2vw, 62px); line-height: 1.08; letter-spacing: -.035em; color: var(--blue-500); }
.layout-section .eyebrow-large, .ritual-copy > .eyebrow-large, .contact-copy > .eyebrow-large { margin: 0 0 24px; color: var(--blue-450); }
.layout-button { min-height: 56px; padding: 16px 28px; border-radius: 12px; text-decoration: none; width: fit-content; }
.layout-actions { display: flex; gap: 16px; flex-wrap: wrap; }
.layout-hero { position: relative; height: calc(100svh - 88px); min-height: 680px; max-height: 1080px; margin-top: 88px; overflow: hidden; }
.layout-hero-image, .layout-hero-shade { position: absolute; inset: 0; }
.layout-hero-image img { width: 100%; height: 100%; object-fit: cover; object-position: center 48%; }
.layout-hero-shade { background: linear-gradient(90deg,#101518b8 0%,#10151873 37%,transparent 72%),linear-gradient(0deg,#10151855,transparent 70%); }
.layout-hero-copy { position: relative; z-index: 1; max-width: 1440px; margin: auto; padding: 74px 80px 50px; height: 100%; display: flex; flex-direction: column; justify-content: center; align-items: flex-start; color: #e0f5fc; }
.layout-hero-copy > .eyebrow-large { margin-bottom: 26px; color: #e0f5fccf; }
.layout-hero-copy h1 { font-family: var(--font-classic); font-size: clamp(60px, 6.6vw, 104px); line-height: 1.02; font-weight: 375; letter-spacing: -.04em; max-width: 760px; }
.layout-hero-description { font-size: 21px; line-height: 1.55; margin: 30px 0 32px; max-width: 530px; }
.hero-discover { margin-top: 54px; font-size: 14px; text-decoration: none; color: inherit; display: inline-flex; align-items: center; gap: 28px; }
.hero-discover span { font-size: 22px; }
.layout-about { background: #fff; }
.about-row { --bs-gutter-x: 80px; --bs-gutter-y: 56px; }
.about-collage { position: relative; padding-bottom: 70px; }
.about-photo-main { margin: 0 68px 0 0; aspect-ratio: 4/5; overflow: hidden; border-radius: 20px; }
.about-photo-main img, .about-photo-inset img { width: 100%; height: 100%; object-fit: cover; }
.about-photo-main img { object-position: 55% center; }
.about-photo-inset { position: absolute; width: 48%; aspect-ratio: 5/4; right: 20px; bottom: 0; border: 8px solid white; border-radius: 20px; overflow: hidden; margin: 0; }
.about-image-caption { display: block; font-size: 13px; color: #537f8f; position: absolute; bottom: 25px; left: 40px; max-width: 34%; }
.about-copy h2 { margin-bottom: 30px; }
.about-copy > p:not(.eyebrow-large) { color: #52636a; font-size: 17px; line-height: 1.7; margin: 0 0 18px; }
.about-copy > p.layout-lead, .layout-lead { font-size: 22px; line-height: 1.45; color: var(--blue-500); }
.about-values { display: flex; flex-wrap: wrap; gap: 12px 20px; padding: 14px 0 30px; font-size: 13px; color: #406b7a; }
.about-values span::before { content: '·'; margin-right: 8px; }
.layout-menu { background: #f0f7f7; }
.layout-section-heading { display: flex; align-items: flex-end; gap: 72px; justify-content: space-between; margin-bottom: 64px; }
.layout-section-heading > div { flex: 1; }
.layout-section-heading > p { max-width: 340px; color: #52636a; font-size: 17px; line-height: 1.65; margin: 0 0 5px; }
.text-menu-row { display: grid; grid-template-columns: 44px 1fr 1fr 92px; align-items: center; gap: 32px; padding: 34px 0; border-top: 1px solid #123d4c30; }
.text-menu-row:last-child { border-bottom: 1px solid #123d4c30; }
.menu-number { font-size: 13px; color: #537f8f; align-self: start; padding-top: 8px; }
.text-menu h3 { font-family: var(--font-classic); font-weight: 375; font-size: 32px; letter-spacing: -.02em; color: var(--blue-500); margin: 0 0 9px; }
.menu-tagline { font-size: 15px; color: #406b7a; margin: 0; }
.menu-description { font-size: 16px; color: #52636a; line-height: 1.7; margin: 0; }
.menu-inquiry { display: flex; gap: 12px; color: var(--blue-500); font-size: 14px; text-decoration: none; }
.menu-inquiry:hover { text-decoration: underline; }
.fixed-scene { position: relative; min-height: 640px; background-size: cover; background-position: center; background-attachment: fixed; display: flex; align-items: center; }
.scene-interior { background-image: url('../images/auralynk-interior.v1.png?v=20261103.11'); }
.scene-abstract { background-image: url('../images/auralynk-abstract.v1.png?v=20261103.11'); }
.scene-overlay { position: absolute; inset: 0; pointer-events: none; }
.scene-interior .scene-overlay { background: linear-gradient(90deg,#132c38d9,#132c3880 50%,#132c3810); }
.scene-abstract .scene-overlay { background: linear-gradient(90deg,#292140ba,#29214060 55%,#29214008); }
.scene-content { position: relative; z-index: 1; padding-top: 88px; padding-bottom: 88px; color: #e0f5fc; }
.scene-content h2 { color: inherit; max-width: 640px; margin: 24px 0; }
.scene-content > p:not(.eyebrow-large) { max-width: 450px; font-size: 19px; line-height: 1.6; margin-bottom: 30px; }
.layout-ritual { display: grid; grid-template-columns: 1fr 1fr; background: #f0f7f7; }
.ritual-image { min-height: 740px; }
.ritual-image img { width: 100%; height: 100%; object-fit: cover; object-position: 36% center; }
.ritual-copy { padding: 88px clamp(32px, 5.5vw, 100px); }
.ritual-copy h2 { margin-bottom: 24px; }
.ritual-copy > .layout-lead { max-width: 360px; font-size: 20px; color: #52636a; }
.ritual-steps { margin: 32px 0; }
.ritual-steps article { display: flex; gap: 20px; padding: 20px 0; border-bottom: 1px solid #123d4c24; }
.ritual-steps article > span { color: #537f8f; font-size: 12px; padding-top: 6px; }
.ritual-steps h3 { font-size: 18px; color: var(--blue-500); margin: 0 0 8px; font-weight: 535; }
.ritual-steps p { color: #52636a; font-size: 15px; line-height: 1.65; margin: 0; }
.layout-gallery { background: white; overflow: hidden; }
.gallery-carousel > ul { display: flex; flex-wrap: nowrap; gap: 24px; margin: 0 -40px 0 0; padding: 8px 40px 8px 0; overflow-x: auto; list-style: none; scrollbar-width: none; scroll-snap-type: x mandatory; scroll-behavior: smooth; }
.gallery-carousel > ul::-webkit-scrollbar { display: none; }
.gallery-carousel li { flex: 0 0 360px; scroll-snap-align: start; }
.gallery-card { position: relative; margin: 0; height: 480px; border-radius: 20px; overflow: hidden; }
.gallery-card img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.gallery-card:hover img { transform: scale(1.06); }
.gallery-card figcaption { position: absolute; inset: auto 0 0; padding: 90px 28px 30px; color: #e0f5fc; background: linear-gradient(transparent,#101518de); }
.gallery-card h3 { font-size: 23px; margin: 0 0 10px; font-weight: 535; }
.gallery-card p { margin: 0; font-size: 15px; line-height: 1.6; }
.gallery-controls { display: flex; justify-content: space-between; align-items: center; margin-top: 28px; gap: 20px; }
.gallery-controls > span { color: #537f8f; font-size: 13px; }
.gallery-controls button { width: 56px; height: 56px; font-size: 24px; border-radius: 12px; }
.layout-contact { display: grid; grid-template-columns: 1fr 1fr; background: #f0f7f7; }
.contact-map { min-height: 650px; position: relative; background: #e4eaeb; }
.contact-map iframe { display: block; width: 100%; height: 100%; min-height: 650px; border: 0; }
.map-open-link { position: absolute; bottom: 24px; left: 24px; padding: 12px 18px; border-radius: 10px; background: white; color: var(--blue-500); box-shadow: 0 2px 12px #123d4c20; font-size: 14px; text-decoration: none; }
.contact-copy { padding: 88px clamp(32px, 5.5vw, 100px); }
.contact-copy > p:not(.eyebrow-large) { color: #52636a; font-size: 17px; line-height: 1.7; margin: 26px 0 32px; }
.contact-copy address { font-style: normal; display: flex; flex-direction: column; gap: 24px; }
.contact-copy address > div { display: flex; flex-direction: column; gap: 7px; color: var(--blue-500); line-height: 1.6; font-size: 17px; }
.contact-copy .contact-label { font-size: 12px; color: #537f8f; letter-spacing: .08em; text-transform: uppercase; }
.contact-copy a { color: var(--blue-500); text-decoration: none; }
.contact-copy a:hover { text-decoration: underline; }
.contact-website { display: inline-block; margin-top: 28px; font-size: 14px; }
@media (min-width: 1600px) { .gallery-carousel li { flex-basis: 400px; } .gallery-card { height: 530px; } }
@media (max-width: 1023px) {
  .layout-section { padding: 80px 0; }
  .layout-hero { margin-top: 72px; height: calc(100svh - 72px); }
  .layout-hero-copy { padding: 64px 40px; }
  .about-copy { padding-top: 16px; }
  .about-collage { max-width: 640px; margin: auto; }
  .about-photo-main { aspect-ratio: 5/4; }
  .about-photo-inset { width: 38%; }
  .layout-section-heading { gap: 36px; }
  .layout-section-heading > p { max-width: 280px; }
  .text-menu-row { grid-template-columns: 30px 1fr 1fr; gap: 20px; }
  .menu-inquiry { grid-column: 2; }
  .layout-ritual, .layout-contact { grid-template-columns: 1fr; }
  .ritual-image { min-height: 0; height: 440px; }
  .ritual-copy, .contact-copy { padding: 72px 40px; }
  .ritual-copy h2 br { display: none; }
  .ritual-copy > .layout-lead { max-width: none; }
  .contact-map, .contact-map iframe { min-height: 420px; height: 420px; }
  .fixed-scene { min-height: 560px; }
}
@media (max-width: 767px) {
  .layout-container { width: calc(100% - 48px); }
  .layout-section { padding: 64px 0; }
  .layout-hero { min-height: 720px; max-height: none; }
  .layout-hero-copy { justify-content: flex-end; padding: 48px 24px; }
  .layout-hero-image img { object-position: 72% center; }
  .layout-hero-shade { background: linear-gradient(0deg,#101518df, #10151850 65%, #10151808); }
  .layout-hero-copy h1 { font-size: clamp(52px, 13.5vw, 72px); }
  .layout-hero-copy > .eyebrow-large { font-size: 12px; margin-bottom: 22px; }
  .layout-hero-description { font-size: 17px; margin: 24px 0 28px; }
  .layout-hero-description br { display: none; }
  .layout-actions { width: 100%; gap: 12px; }
  .layout-actions .layout-button { width: 100%; }
  .hero-discover { margin-top: 28px; }
  .about-row { --bs-gutter-x: 32px; --bs-gutter-y: 40px; }
  .about-collage { padding-bottom: 55px; }
  .about-photo-main { margin-right: 36px; aspect-ratio: 4/5; }
  .about-photo-inset { width: 50%; right: 8px; border-width: 6px; }
  .about-image-caption { left: 16px; font-size: 11px; bottom: 14px; }
  .about-copy > p:not(.eyebrow-large) { font-size: 16px; }
  .about-copy h2 { margin-bottom: 24px; }
  .layout-section-heading { flex-direction: column; align-items: stretch; gap: 28px; margin-bottom: 40px; }
  .layout-section-heading > p { max-width: none; font-size: 16px; }
  .text-menu-row { grid-template-columns: 24px 1fr; gap: 14px; padding: 28px 0; }
  .menu-description, .menu-inquiry { grid-column: 2; }
  .text-menu h3 { font-size: 29px; }
  .menu-number { padding-top: 5px; }
  .menu-description { font-size: 15px; }
  .fixed-scene { min-height: 520px; }
  .scene-content { padding-top: 64px; padding-bottom: 64px; }
  .scene-content > p:not(.eyebrow-large) { font-size: 17px; }
  .scene-interior .scene-overlay { background: #132c3899; }
  .scene-abstract .scene-overlay { background: #29214080; }
  .ritual-image { height: 330px; }
  .ritual-copy, .contact-copy { padding: 56px 24px; }
  .ritual-copy > .layout-lead { font-size: 18px; }
  .gallery-carousel li { flex-basis: 290px; }
  .gallery-card { height: 390px; }
  .gallery-carousel > ul { margin-right: -24px; padding-right: 24px; }
  .gallery-controls > span { font-size: 11px; max-width: 140px; line-height: 1.5; }
  .gallery-controls button { width: 44px; height: 44px; }
}
@media (prefers-reduced-motion: reduce) {
  .fixed-scene { background-attachment: scroll; }
  .gallery-card img { transition: none; }
}
