@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,500;0,600;1,500&family=DM+Sans:wght@400;500;600&display=swap');

.menu-tab{border:1px solid rgba(60,75,53,.25);border-radius:999px;padding:.75rem 1.15rem;color:#444841;background:rgba(255,255,255,.6);font:600 12px/1 Manrope,Arial,sans-serif;letter-spacing:.08em;text-transform:uppercase;transition:all .2s ease}.menu-tab:hover{border-color:#3c4b35;color:#3c4b35;transform:translateY(-1px)}.menu-tab-active{background:#3c4b35;color:#fff;border-color:#3c4b35;box-shadow:0 8px 20px rgba(60,75,53,.18)}

:root {
  --aura-content: 1180px;
  --aura-section: clamp(3.5rem, 5.5vw, 5.25rem);
  --aura-gutter: clamp(1.25rem, 4vw, 3rem);
  --aura-card-radius: 14px;
  --aura-soft-shadow: 0 14px 38px rgba(44, 50, 40, .09);
  --aura-forest: #243d2e;
  --aura-forest-soft: #405b46;
  --aura-gold: #c4a24d;
  --aura-gold-dark: #866722;
  --aura-gold-light: #e5d29a;
  --aura-ivory: #fbfaf5;
  --aura-cream: #f5f1e7;
  --aura-cream-deep: #ece5d8;
  --aura-charcoal: #20251f;
  --aura-muted: #4f584f;
}

html { font-size: 15px; }

body {
  font-family: "DM Sans", sans-serif !important;
  font-size: 1rem;
  line-height: 1.65;
  letter-spacing: -.005em;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
  background: var(--aura-ivory) !important;
  color: var(--aura-charcoal) !important;
}

::selection { background: var(--aura-gold-light); color: var(--aura-charcoal); }

/* Logo-matched brand palette */
.text-primary { color: var(--aura-forest) !important; }
.text-secondary { color: var(--aura-gold-dark) !important; }
.text-on-surface, .text-on-background { color: var(--aura-charcoal) !important; }
.text-on-surface-variant { color: var(--aura-muted) !important; }
.text-on-primary, .text-on-secondary { color: #fff !important; }

.bg-primary { background: linear-gradient(118deg, #173326, #2e563c) !important; }
.bg-secondary { background-color: var(--aura-gold-dark) !important; }
.bg-background, .bg-surface { background-color: var(--aura-ivory) !important; }
.bg-surface-container-low { background-color: var(--aura-cream) !important; }
.bg-surface-container { background-color: var(--aura-cream-deep) !important; }
.bg-surface-container-lowest { background-color: #fffefb !important; }
.bg-surface-container-high, .bg-surface-container-highest { background-color: #e7dfd1 !important; }

.border-primary { border-color: var(--aura-forest) !important; }
.border-secondary { border-color: var(--aura-gold) !important; }
.border-outline-variant { border-color: #cfc5b2 !important; }
.bg-primary\/5 { background-color: rgba(53, 72, 54, .05) !important; }
.bg-primary\/10 { background-color: rgba(53, 72, 54, .1) !important; }
.bg-primary\/20 { background-color: rgba(53, 72, 54, .2) !important; }
.bg-secondary\/5 { background-color: rgba(196, 162, 77, .06) !important; }
.bg-secondary\/10 { background-color: rgba(196, 162, 77, .1) !important; }
.border-primary\/20 { border-color: rgba(53, 72, 54, .22) !important; }
.border-secondary\/40 { border-color: rgba(196, 162, 77, .48) !important; }

a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible {
  outline: 2px solid var(--aura-gold) !important;
  outline-offset: 3px;
}

h1, h2, h3, h4, h5, h6,
.font-display-lg, .font-headline-lg, .font-headline-md, .font-headline-lg-mobile {
  font-family: "Cormorant Garamond", Georgia, serif !important;
  text-wrap: balance;
}

.font-body-lg, .font-body-md, .font-label-sm,
button, input, select, textarea {
  font-family: "DM Sans", sans-serif !important;
}

h1, .text-display-lg, [class~="md:text-display-lg"] {
  font-size: clamp(2.55rem, 4vw, 3.55rem) !important;
  font-weight: 500 !important;
  letter-spacing: -.028em !important;
  line-height: 1.04 !important;
}

h2, .text-headline-lg {
  font-size: clamp(2rem, 2.8vw, 2.55rem) !important;
  font-weight: 500 !important;
  letter-spacing: -.018em !important;
  line-height: 1.12 !important;
}

h3, .text-headline-md {
  font-size: clamp(1.35rem, 2vw, 1.7rem) !important;
  font-weight: 500 !important;
  line-height: 1.22 !important;
}

h4 { font-size: clamp(1.15rem, 1.5vw, 1.35rem) !important; }

.text-body-lg {
  font-size: clamp(.98rem, 1.1vw, 1.08rem) !important;
  line-height: 1.65 !important;
}

.text-body-md {
  font-size: .94rem !important;
  line-height: 1.62 !important;
}

.text-label-sm, .font-label-sm {
  font-size: .7rem !important;
  letter-spacing: .12em !important;
  line-height: 1.25 !important;
}

p { max-width: 68ch; }

.max-w-container-max { max-width: var(--aura-content) !important; }
.py-section-gap { padding-block: var(--aura-section) !important; }
.px-margin-desktop, .px-margin-mobile, [class~="md:px-margin-desktop"] {
  padding-left: var(--aura-gutter) !important;
  padding-right: var(--aura-gutter) !important;
}
.gap-section-gap { gap: clamp(3rem, 5vw, 5rem) !important; }
.space-y-section-gap > :not([hidden]) ~ :not([hidden]) { margin-top: clamp(3rem, 5vw, 4.75rem) !important; }
.mb-section-gap { margin-bottom: clamp(2.75rem, 5vw, 4.5rem) !important; }

.gap-16 { gap: clamp(2rem, 4vw, 3rem) !important; }
.gap-12 { gap: clamp(1.5rem, 3vw, 2.25rem) !important; }
.gap-10 { gap: clamp(1.25rem, 2.5vw, 2rem) !important; }
.gap-gutter { gap: clamp(1rem, 2vw, 1.5rem) !important; }

.p-12 { padding: clamp(1.75rem, 3vw, 2.5rem) !important; }
.p-10 { padding: clamp(1.4rem, 2.5vw, 2rem) !important; }
.p-8 { padding: clamp(1.25rem, 2vw, 1.65rem) !important; }
.p-6 { padding: clamp(1rem, 1.5vw, 1.35rem) !important; }

.rounded-xl, .rounded-2xl, .rounded-3xl, [class~="rounded-[40px]"] {
  border-radius: var(--aura-card-radius) !important;
}

.shadow-xl, .shadow-2xl, .luxury-shadow { box-shadow: var(--aura-soft-shadow) !important; }

button, a[class*="bg-primary"] {
  min-height: 42px;
}

.px-10.py-5 { padding: .82rem 1.6rem !important; }
.px-10.py-4, .px-8.py-4 { padding: .78rem 1.45rem !important; }
.px-8.py-3, .px-6.py-2 { padding: .68rem 1.2rem !important; }

/* Shared compact header */
html body .ahs-nav .ahs-inner {
  height: 68px !important;
  max-width: none !important;
  width: 100% !important;
  margin: 0 auto !important;
  padding: 0 clamp(20px, 2vw, 32px) !important;
  gap: 18px !important;
}
html body .ahs-nav { background: rgba(255, 253, 248, .98) !important; border-bottom-color: rgba(167, 124, 52, .4) !important; }
html body .ahs-nav::before { background: linear-gradient(90deg, transparent, var(--aura-gold), var(--aura-forest), var(--aura-gold), transparent) !important; }
html body .ahs-nav.ahs-scrolled .ahs-inner { height: 60px !important; }
html body .ahs-nav .ahs-logo { gap: 10px !important; }
html body .ahs-nav .ahs-logo img { height: 44px !important; }
html body .ahs-nav .ahs-logo img { mix-blend-mode: multiply; }
html body .ahs-nav.ahs-scrolled .ahs-logo img { height: 38px !important; }
html body .ahs-nav .ahs-logo-name { font-family: "Cormorant Garamond", Georgia, serif !important; font-size: 16px !important; letter-spacing: .1em !important; background: linear-gradient(135deg, var(--aura-forest), var(--aura-forest-soft) 62%, var(--aura-gold)) !important; -webkit-background-clip: text !important; background-clip: text !important; }
html body .ahs-nav.ahs-scrolled .ahs-logo-name { font-size: 14px !important; }
html body .ahs-nav .ahs-logo-sub { font-family: "DM Sans", sans-serif !important; font-size: 8px !important; letter-spacing: .18em !important; }
html body .ahs-nav .ahs-link { font-family: "DM Sans", sans-serif !important; font-size: 12.5px !important; padding: 5px 1px !important; }
html body .ahs-nav .ahs-link { color: #3f4b42 !important; }
html body .ahs-nav .ahs-link:hover, html body .ahs-nav .ahs-link[aria-current="page"] { color: #173326 !important; }
html body .ahs-nav .ahs-link::after { background: linear-gradient(90deg, var(--aura-forest), var(--aura-gold)) !important; }
html body .ahs-nav .ahs-links { gap: clamp(8px, 1vw, 16px) !important; }
html body .ahs-nav .ahs-actions { gap: 10px !important; margin-left: clamp(14px, 2vw, 28px) !important; }
html body .ahs-nav .ahs-book { font-family: "DM Sans", sans-serif !important; font-size: 10.5px !important; padding: 9px 18px !important; background: linear-gradient(135deg, #173326, #2e563c) !important; }

/* A consistent, unmistakable booking action on every page. */
html body [data-booking-trigger] {
  align-items: center;
  appearance: none;
  border: 1px solid rgba(196, 162, 77, .58) !important;
  border-radius: 999px !important;
  box-shadow: 0 8px 22px rgba(47, 65, 49, .18) !important;
  cursor: pointer;
  display: inline-flex;
  gap: .65rem;
  justify-content: center;
  min-height: 48px;
  text-decoration: none;
  transition: transform .2s ease, box-shadow .2s ease, filter .2s ease !important;
}
html body [data-booking-trigger]::after {
  content: "\2192";
  font-size: 1.05em;
  line-height: 1;
  transition: transform .2s ease;
}
html body [data-booking-trigger]:hover {
  box-shadow: 0 12px 28px rgba(47, 65, 49, .26) !important;
  filter: brightness(1.04);
  transform: translateY(-2px);
}
html body [data-booking-trigger]:hover::after { transform: translateX(3px); }
html body [data-booking-trigger]:active { transform: translateY(0); }
html body [data-booking-trigger]:focus-visible {
  outline: 3px solid rgba(196, 162, 77, .38) !important;
  outline-offset: 3px !important;
}
html body .ahs-nav .ahs-toggle { position: relative; }
html body .ahs-nav .ahs-toggle .material-symbols-outlined { display: none !important; }
html body .ahs-nav .ahs-toggle::before,
html body .ahs-nav .ahs-toggle::after {
  background: var(--aura-forest);
  border-radius: 2px;
  content: "";
  height: 2px;
  left: 50%;
  position: absolute;
  top: 50%;
  transition: transform .22s ease;
  width: 18px;
}
html body .ahs-nav .ahs-toggle::before { transform: translate(-50%, -4px); }
html body .ahs-nav .ahs-toggle::after { transform: translate(-50%, 4px); }
html body .ahs-nav .ahs-toggle[aria-expanded="true"]::before { transform: translate(-50%, 0) rotate(45deg); }
html body .ahs-nav .ahs-toggle[aria-expanded="true"]::after { transform: translate(-50%, 0) rotate(-45deg); }

/* Homepage */
.page-home main > header {
  height: min(78svh, 740px) !important;
  min-height: 560px;
}
.page-home main > header .w-72 { width: 15rem !important; }
.page-home main > header .h-96 { height: 20rem !important; }
.page-home main > header .mb-12 { margin-bottom: 2rem !important; }
.page-home > section:first-of-type .grid.md\:h-\[700px\] { height: 560px !important; }
.page-home > section:first-of-type .h-80 { height: 240px !important; }
.page-home > section:first-of-type .absolute.bottom-0 { padding: clamp(1.3rem, 2.5vw, 2rem) !important; }
.page-home section .border-4 { border-width: 2px !important; }
.page-home section .min-w-\[300px\] { min-width: 240px !important; }
.page-home .glass-morphism { padding: 1.5rem !important; }

/* Refined Signature Services composition */
.page-home .home-services {
  padding-top: clamp(3.5rem, 5vw, 4.75rem) !important;
  padding-bottom: clamp(2.25rem, 3.5vw, 3rem) !important;
}
.page-home .home-services-intro {
  align-items: center !important;
  margin-bottom: clamp(2.25rem, 3.5vw, 3rem) !important;
}
.page-home .home-services-intro > p {
  line-height: 1.55 !important;
  max-width: 330px !important;
}
.page-home .home-services-grid {
  grid-template-rows: 230px 245px !important;
  height: auto !important;
}
.page-home .home-service-card {
  border: 1px solid rgba(196, 162, 77, .2);
  border-radius: 16px !important;
  box-shadow: 0 16px 34px rgba(38, 46, 36, .13) !important;
  isolation: isolate;
  min-height: 0;
}
.page-home .home-service-card::before {
  background: linear-gradient(115deg, rgba(25, 33, 25, .5), rgba(25, 33, 25, .1) 58%, rgba(196, 162, 77, .08));
  content: "";
  inset: 0;
  pointer-events: none;
  position: absolute;
  z-index: 2;
}
.page-home .home-service-card > .absolute.bottom-0 {
  bottom: 0 !important;
  left: 0 !important;
  padding: clamp(1.35rem, 2.2vw, 1.85rem) !important;
  z-index: 5 !important;
}
.page-home .home-service-card > .absolute.bottom-0 h3 {
  color: #fff !important;
  font-size: clamp(1.55rem, 2vw, 1.9rem) !important;
  margin-bottom: .4rem !important;
  text-shadow: 0 2px 12px rgba(0, 0, 0, .25);
}
.page-home .home-service-card > .absolute.bottom-0 p {
  color: rgba(255, 255, 255, .9) !important;
  font-size: .9rem !important;
  line-height: 1.5 !important;
  margin-bottom: 1rem !important;
}
.page-home .home-service-card > .absolute.bottom-0 a {
  color: #fff !important;
  font-size: .68rem !important;
  letter-spacing: .13em !important;
}
.page-home .home-service-card-wide > .absolute.bottom-0 { align-items: flex-end !important; }
.page-home .home-service-card-wide > .absolute.bottom-0 p { margin-bottom: 0 !important; }
.page-home .home-service-card-wide > .absolute.bottom-0 > a {
  background: rgba(251, 250, 245, .94) !important;
  box-shadow: 0 8px 20px rgba(20, 26, 20, .14) !important;
  color: var(--aura-forest) !important;
  min-height: 42px;
  padding: .72rem 1.25rem !important;
}

/* About */
.page-about main > section:first-child { padding-top: clamp(3.5rem, 7vw, 5rem) !important; }
.page-about main h1.text-7xl { font-size: clamp(2.55rem, 4.5vw, 3.55rem) !important; }
.page-about .aspect-\[9\/16\] { aspect-ratio: 4 / 5 !important; max-height: 420px; }
.page-about section.bg-secondary .text-5xl,
.page-about section.bg-secondary [class~="md:text-7xl"] { font-size: clamp(2.3rem, 4vw, 3rem) !important; }
.page-about section .w-16.h-16 { height: 48px !important; width: 48px !important; }
.page-about section .text-3xl { font-size: 1.55rem !important; }

/* Services */
.page-services main > section:first-child {
  height: auto !important;
  min-height: clamp(22rem, 48svh, 31rem) !important;
}
.page-services main > section:nth-child(2),
.page-services main > section.py-20 { padding-block: clamp(3.25rem, 5vw, 4.75rem) !important; }
.page-services #content-women > div,
.page-services #content-men > div { gap: clamp(1.25rem, 3vw, 2.5rem) !important; }
.page-services [class*="min-h-[400px]"] { min-height: 330px !important; }
.page-services [class*="min-h-[450px]"] { min-height: 360px !important; }
.page-services .text-4xl { font-size: 1.8rem !important; }
.page-services .text-5xl, .page-services .text-6xl { font-size: 2.15rem !important; }
.page-services section .md\:mt-24 { margin-top: 2.5rem !important; }
.page-services section .md\:mt-12 { margin-top: 1.75rem !important; }

/* Bridal */
.page-bridal > header { padding-block: clamp(3.75rem, 6vw, 5rem) clamp(3rem, 5vw, 4rem) !important; }
.page-bridal > header .aspect-\[4\/5\] { max-width: 420px; margin-inline: auto; }
.page-bridal > section.py-24 { padding-block: clamp(3.5rem, 5.5vw, 5rem) !important; }
.page-bridal > section .h-\[800px\] { height: 520px !important; }
.page-bridal .text-6xl { font-size: clamp(2.5rem, 4vw, 3.1rem) !important; }
.page-bridal section .md\:mt-12 { margin-top: 1.5rem !important; }
.page-bridal section .w-48.h-48 { height: 150px !important; width: 150px !important; }
.page-bridal > section:last-of-type > div { padding: clamp(2rem, 5vw, 4rem) !important; border-radius: 24px !important; }

/* Contact */
.page-contact main { max-width: 1180px !important; padding: clamp(2.25rem, 5vw, 3.75rem) clamp(1.25rem, 4vw, 3rem) !important; }
.contact-intro { max-width: 620px !important; margin-bottom: clamp(2rem, 4vw, 2.75rem) !important; }
.contact-intro > span { font-size: .68rem !important; margin-bottom: .7rem !important; }
.contact-intro h1 { font-size: clamp(2.45rem, 4vw, 3.5rem) !important; margin-bottom: 1rem !important; }
.contact-intro p { font-size: clamp(.98rem, 1.2vw, 1.08rem) !important; }
.contact-layout { gap: 1.35rem !important; }
.contact-booking-card { padding: clamp(1.4rem, 3vw, 2rem) !important; border-radius: 12px !important; }
.contact-booking-card h2 { font-size: clamp(1.75rem, 2.5vw, 2.05rem) !important; }
.contact-booking-card .ct-grid { gap: 14px 16px !important; margin-bottom: 14px !important; }
.contact-booking-card .ct-field input,
.contact-booking-card .ct-field select,
.contact-booking-card .ct-field textarea { font-size: 13.5px !important; min-height: 42px; padding: 10px 12px !important; }
.contact-booking-card .ct-wa-info { margin-bottom: 14px !important; padding: 10px 12px !important; }
.contact-booking-card .ct-wa-btn { font-size: 11.5px !important; padding: 13px 18px !important; }
.contact-info-grid { gap: 14px !important; }
.contact-info-grid > div { padding: 1.4rem !important; }
.contact-info-grid .material-symbols-outlined { font-size: 27px !important; margin-bottom: 10px !important; }
.contact-info-grid h3 { font-size: 1.25rem !important; }
.contact-info-grid p { font-size: .92rem !important; }
.contact-side-image { height: clamp(340px, 38vw, 430px) !important; border-radius: var(--aura-card-radius); }
.contact-map { height: 220px !important; border-radius: var(--aura-card-radius); }
.contact-social { padding: 1.2rem !important; border-radius: var(--aura-card-radius); }

@media (max-width: 1020px) {
  html body .ahs-nav .ahs-links { display: none !important; }
  html body .ahs-nav .ahs-toggle { display: inline-flex !important; }
  .page-about main > section:first-child > .grid { grid-template-columns: 1fr !important; }
  .page-about main > section:first-child .lg\:col-span-5,
  .page-about main > section:first-child .lg\:col-span-7 { grid-column: auto !important; }
}

@media (min-width: 960px) {
  .contact-layout { grid-template-columns: minmax(0, 1.35fr) minmax(300px, .85fr) !important; }
  .contact-layout > div { grid-column: auto !important; }
}

@media (max-width: 767px) {
  :root { --aura-section: 3.4rem; --aura-gutter: 18px; }
  html { font-size: 14.5px; }
  h1, .text-display-lg, [class~="md:text-display-lg"] { font-size: clamp(2.35rem, 10vw, 2.9rem) !important; }
  h2, .text-headline-lg { font-size: clamp(1.85rem, 8vw, 2.25rem) !important; }
  html body .ahs-nav .ahs-inner, html body .ahs-nav.ahs-scrolled .ahs-inner { height: 60px !important; }
  html body .ahs-nav .ahs-logo img, html body .ahs-nav.ahs-scrolled .ahs-logo img { height: 38px !important; }
  html body .ahs-nav .ahs-logo-text { display: flex !important; }
  html body .ahs-nav .ahs-toggle { height: 40px !important; width: 40px !important; }
  html body .ahs-nav .ahs-book { display: none !important; }
  html body .ahs-nav .ahs-drawer a { font-size: 13.5px !important; min-height: 44px; padding: 10px 18px !important; }
  html body .ahs-nav .ahs-drawer-book { margin: 8px 18px 0 !important; padding: 12px !important; }

  .page-home main > header { height: auto !important; min-height: 620px; padding-block: 4rem 5rem; }
  .page-home main > header .relative.z-10 { padding-inline: 20px !important; }
  .page-home > section:first-of-type .grid.md\:h-\[700px\] { height: auto !important; }
  .page-home > section:first-of-type .grid > div { min-height: 280px; }
  .page-home > section:first-of-type .grid > div:last-child { height: 240px !important; min-height: 240px; }
  .page-home section .min-w-\[300px\] { min-width: 220px !important; }
  .page-home .home-services { padding-block: 3.25rem 2rem !important; }
  .page-home .home-services-intro { align-items: flex-start !important; margin-bottom: 2rem !important; }
  .page-home .home-services-intro > p { margin-top: .85rem !important; max-width: 34rem !important; }
  .page-home .home-services-grid { display: grid !important; gap: 1rem !important; grid-template-rows: none !important; }
  .page-home .home-services-grid > .home-service-card { height: 275px !important; min-height: 275px !important; }
  .page-home .home-services-grid > .home-service-card-wide { height: 225px !important; min-height: 225px !important; }
  .page-home .home-service-card-wide > .absolute.bottom-0 { align-items: flex-start !important; }

  .page-about main > section:first-child { padding-top: 3.5rem !important; }
  .page-about main h1.text-7xl { font-size: clamp(2.45rem, 11vw, 3rem) !important; }
  .page-about .aspect-\[9\/16\] { max-height: 360px; }

  .page-services main > section:first-child { min-height: 340px !important; }
  .page-services main > section:nth-child(2) > .flex:first-child { gap: 1.25rem !important; margin-bottom: 3rem !important; }
  .page-services [class*="min-h-[400px]"], .page-services [class*="min-h-[450px]"] { min-height: 280px !important; }
  .page-services section .md\:mt-24, .page-services section .md\:mt-12 { margin-top: 0 !important; }

  .page-bridal > header { padding-block: 3.5rem 3rem !important; }
  .page-bridal > section .h-\[800px\] { height: auto !important; }
  .page-bridal > section .h-\[800px\] > div { min-height: 185px; }
  .page-bridal > section .h-\[800px\] > div:first-child { min-height: 260px; }
  .page-bridal section .md\:mt-12 { margin-top: 0 !important; }

  .page-contact main { padding: 2rem 18px 3rem !important; }
  .contact-intro { margin-bottom: 1.75rem !important; text-align: left !important; }
  .contact-intro h1 br { display: none !important; }
  .contact-booking-card { padding: 1.35rem 1.1rem !important; }
  .contact-booking-card .ct-grid { grid-template-columns: 1fr !important; gap: 13px !important; }
  .contact-info-grid { grid-template-columns: 1fr 1fr !important; }
  .contact-info-grid > div { padding: 1.15rem !important; }
  .contact-side-image { height: 300px !important; }
  .contact-map { height: 200px !important; }
}

/* Readability, focus, and touch improvements */
html body a:focus-visible, html body button:focus-visible,
html body input:focus-visible, html body select:focus-visible,
html body textarea:focus-visible {
  outline: 3px solid #e9c349 !important;
  outline-offset: 3px;
}
html body .home-service-card a,
html body .home-social-intro a,
html body .ahs-footer-social,
html body .ahs-footer-bottom-links a { min-height: 44px; }
body.page-home main > header::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: linear-gradient(90deg, rgba(252,249,248,.86) 0%, rgba(252,249,248,.48) 44%, rgba(252,249,248,.08) 76%);
}
body.page-home main > header h1,
body.page-home main > header p,
body.page-services main > section:first-child h1,
body.page-services main > section:first-child p {
  text-shadow: 0 1px 18px rgba(252,249,248,.82);
}
body.page-services main > section:first-child::after,
body.page-bridal > header::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: rgba(252,249,248,.26);
}
body.page-home .ahs-hero-copy > * { animation-delay: 0s !important; }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
}

/* Last-pass typography override keeps the heritage headline compact on wide screens too. */
body.page-home .home-story-copy .home-story-title {
  font-size: clamp(2rem, 3.1vw, 3.15rem) !important;
  line-height: .98 !important;
}
@media (max-width: 600px) {
  body.page-home .home-story-copy .home-story-title { font-size: 2.25rem !important; }
}

/* Ensure the Contact photo uses the distinct supplied product-display showroom image. */
body.page-contact .contact-studio-photo > div {
  background-image: url("assets/aura-local/showroom/product-display.jpeg") !important;
  background-position: center 48% !important;
  background-size: cover !important;
}

/* About philosophy feature: light, icon-led and consistent with the rest of Aura. */
body.page-about main > section.about-philosophy-feature.max-w-\[800px\] {
  max-width:1080px!important;
  margin-block:clamp(2.5rem,5vw,4.5rem)!important;
  color:var(--aura-forest)!important;
  background:linear-gradient(145deg,#f7f3ea,#ece9df)!important;
}
body.page-about main > section.about-philosophy-feature.max-w-\[800px\] > div { max-width:none!important; margin:0!important; }
body.page-about main > section.about-philosophy-feature.max-w-\[800px\] h2 { color:var(--aura-forest)!important; }
body.page-about main > section.about-philosophy-feature.max-w-\[800px\] .space-y-6 p { color:rgba(53,72,54,.76)!important; }
body.page-about main > section.about-philosophy-feature.max-w-\[800px\] .space-y-6 p:first-child { color:var(--aura-forest)!important; }
body.page-about main > section.about-philosophy-feature {
  max-width: 1080px !important;
  margin-block: clamp(2.5rem,5vw,4.5rem) !important;
  padding: clamp(3rem,5vw,4.5rem) clamp(1.5rem,5vw,4rem) !important;
  color: var(--aura-forest) !important;
  background: linear-gradient(145deg,#f7f3ea,#ece9df) !important;
  border: 1px solid rgba(53,72,54,.12) !important;
  border-radius: 1.4rem;
  box-shadow: 0 1.2rem 3.2rem rgba(53,72,54,.09);
}
body.page-about main > section.about-philosophy-feature > div {
  display: grid;
  grid-template-columns: minmax(15rem,.72fr) minmax(22rem,1.28fr);
  gap: 1.25rem clamp(2.5rem,6vw,5.5rem);
  max-width: none;
  margin: 0;
}
body.page-about main > section.about-philosophy-feature > div > .material-symbols-outlined { grid-column:1; color:var(--aura-gold-dark)!important; }
body.page-about main > section.about-philosophy-feature h2 {
  grid-column:1;
  margin:0!important;
  color:var(--aura-forest)!important;
  font-size:clamp(2.35rem,4vw,3.8rem)!important;
}
body.page-about main > section.about-philosophy-feature .space-y-6 { grid-column:2; grid-row:1 / span 2; padding-top:.35rem; }
body.page-about main > section.about-philosophy-feature .space-y-6 p { color:rgba(53,72,54,.76)!important; }
body.page-about main > section.about-philosophy-feature .space-y-6 p:first-child { color:var(--aura-forest)!important; }
.philosophy-principles {
  grid-column:1 / -1;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1rem;
  margin-top:1.4rem;
}
.philosophy-principles article {
  display:flex;
  align-items:flex-start;
  gap:.9rem;
  padding:1.15rem;
  border:1px solid rgba(53,72,54,.12);
  border-radius:1rem;
  background:rgba(255,255,255,.62);
}
.philosophy-principles article > span {
  display:grid;
  place-items:center;
  flex:0 0 2.5rem;
  width:2.5rem;
  height:2.5rem;
  border-radius:50%;
  color:#fff!important;
  background:var(--aura-forest);
  font-size:1.15rem!important;
}
.philosophy-principles h3 { color:var(--aura-forest); font:600 1.15rem/1.2 "Cormorant Garamond",Georgia,serif; }
.philosophy-principles p { margin-top:.3rem!important; color:rgba(53,72,54,.68)!important; font-size:.76rem!important; line-height:1.45!important; }
body.page-about main > section.about-philosophy-feature .pt-8 { grid-column:1 / -1; padding:0!important; text-align:center; }
body.page-about main > section.about-philosophy-feature button {
  border:0!important;
  border-radius:.7rem;
  color:#fff!important;
  background:var(--aura-forest)!important;
  box-shadow:0 .55rem 1.4rem rgba(53,72,54,.16);
}
@media (max-width:820px) {
  body.page-about main > section.about-philosophy-feature { margin-inline:20px!important; padding:2.8rem 1.25rem!important; }
  body.page-about main > section.about-philosophy-feature > div { grid-template-columns:1fr; }
  body.page-about main > section.about-philosophy-feature > div > .material-symbols-outlined,
  body.page-about main > section.about-philosophy-feature h2,
  body.page-about main > section.about-philosophy-feature .space-y-6,
  .philosophy-principles,
  body.page-about main > section.about-philosophy-feature .pt-8 { grid-column:1;grid-row:auto; }
  .philosophy-principles { grid-template-columns:1fr; }
}

/* About philosophy: a deliberate two-column brand statement */
body.page-about main > section.max-w-\[800px\] {
  max-width: 1120px !important;
  margin-block: clamp(2rem, 4vw, 4rem) !important;
  padding: clamp(3.5rem, 6vw, 5.5rem) clamp(2rem, 6vw, 5.5rem) !important;
  color: #f7f2e9;
  background:
    radial-gradient(circle at 82% 18%, rgba(196,162,77,.15), transparent 24rem),
    linear-gradient(135deg, #2f4334, #1f3227) !important;
  border: 1px solid rgba(196,162,77,.25);
  border-radius: 1.5rem;
  box-shadow: 0 1.8rem 4rem rgba(39,56,44,.14);
}
body.page-about main > section.max-w-\[800px\]::before { display: none; }
body.page-about main > section.max-w-\[800px\] > div {
  display: grid;
  grid-template-columns: minmax(15rem,.8fr) minmax(20rem,1.2fr);
  column-gap: clamp(3rem, 8vw, 7rem);
  row-gap: 1.4rem;
  max-width: none;
  align-items: start;
}
body.page-about main > section.max-w-\[800px\] .material-symbols-outlined {
  grid-column: 1;
  color: #e2c576 !important;
  font-size: 2rem !important;
}
body.page-about main > section.max-w-\[800px\] h2 {
  grid-column: 1;
  margin: 0 !important;
  color: #fffaf2 !important;
  font: 500 clamp(2.4rem,4.5vw,4.5rem)/.95 "Cormorant Garamond",Georgia,serif !important;
  letter-spacing: -.035em;
}
body.page-about main > section.max-w-\[800px\] h2::before {
  content: "OUR POINT OF VIEW";
  display: block;
  margin-bottom: 1.2rem;
  color: #e2c576;
  font: 700 .65rem/1.3 "DM Sans",sans-serif;
  letter-spacing: .2em;
}
body.page-about main > section.max-w-\[800px\] .space-y-6 {
  grid-column: 2;
  grid-row: 1 / span 2;
  padding-top: .4rem;
}
body.page-about main > section.max-w-\[800px\] p {
  color: rgba(247,242,233,.78) !important;
  font-size: .96rem !important;
  line-height: 1.75 !important;
}
body.page-about main > section.max-w-\[800px\] .space-y-6 p:first-child {
  color: #fffaf2 !important;
  font-family: "Cormorant Garamond",Georgia,serif !important;
  font-size: clamp(1.45rem,2.1vw,2rem) !important;
  line-height: 1.35 !important;
}
body.page-about main > section.max-w-\[800px\] .pt-8 { grid-column: 2; padding: 0 !important; }
body.page-about main > section.max-w-\[800px\] button {
  border-color: rgba(226,197,118,.6) !important;
  color: #f1d98f !important;
}

/* Contact image: a different supplied showroom photo, correctly contained by its column */
body.page-contact .contact-studio-photo {
  position: relative !important;
  width: 100%;
  height: auto !important;
  aspect-ratio: 4 / 3;
  max-height: 390px;
  margin: 0;
}
body.page-contact .contact-studio-photo > div {
  position: absolute;
  inset: 0;
  background: url("assets/aura-local/showroom/product-display.jpeg") center 48% / cover no-repeat !important;
}
@media (max-width: 820px) {
  body.page-about main > section.max-w-\[800px\] { margin-inline: 20px !important; padding: 3.25rem 2rem !important; }
  body.page-about main > section.max-w-\[800px\] > div { grid-template-columns: 1fr; gap: 1.25rem; }
  body.page-about main > section.max-w-\[800px\] .material-symbols-outlined,
  body.page-about main > section.max-w-\[800px\] h2,
  body.page-about main > section.max-w-\[800px\] .space-y-6,
  body.page-about main > section.max-w-\[800px\] .pt-8 { grid-column: 1; grid-row: auto; }
  body.page-about main > section.max-w-\[800px\] h2 { font-size: clamp(2.6rem,10vw,3.6rem) !important; }
  body.page-contact .contact-studio-photo { aspect-ratio: 16 / 10; max-height: 340px; }
}

/* Final compact typography and page-specific polish */
body.page-home .home-products-heading h2 {
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-size: clamp(2rem, 3.1vw, 3.25rem) !important;
  line-height: .98 !important;
  letter-spacing: -.025em;
}
body.page-home .home-products-heading h2 em { font-size: .88em; color: var(--aura-gold-dark, #866722) !important; }
body.page-home .home-products-heading p { font-size: .88rem !important; line-height: 1.55 !important; max-width: 19rem; }
body.page-home .home-story-title {
  font-size: clamp(2rem, 3.1vw, 3.15rem) !important;
  line-height: .98 !important;
}
body.page-home .home-story-copy p { font-size: .9rem !important; line-height: 1.55 !important; }

/* The philosophy block now reads as an editorial feature, not a loose paragraph */
body.page-about main > section.max-w-\[800px\] {
  position: relative;
  max-width: 980px !important;
  margin-block: 0 !important;
  padding: clamp(3.8rem, 7vw, 6.5rem) clamp(1.25rem, 6vw, 5rem) !important;
  text-align: left !important;
  background: linear-gradient(135deg, #eef0e7, #f8f3e9 70%);
  border-block: 1px solid rgba(53,72,54,.1);
}
body.page-about main > section.max-w-\[800px\]::before {
  content: "";
  position: absolute;
  top: 0; bottom: 0; left: clamp(1.25rem, 3vw, 3rem);
  width: 2px;
  background: linear-gradient(#c4a24d, transparent);
}
body.page-about main > section.max-w-\[800px\] > div { max-width: 760px; margin-inline: auto; }
body.page-about main > section.max-w-\[800px\] .material-symbols-outlined { color: var(--aura-gold-dark) !important; font-size: 1.65rem !important; }
body.page-about main > section.max-w-\[800px\] h2 { font-size: clamp(2rem, 3.8vw, 3.3rem) !important; margin-top: .75rem; }
body.page-about main > section.max-w-\[800px\] p { font-size: .94rem !important; line-height: 1.7 !important; }
body.page-about main > section.max-w-\[800px\] .pt-8 { padding-top: 1.35rem !important; }

/* Service category controls: smaller, still comfortably tappable */
body.page-services [role="tablist"] { gap: .55rem !important; margin-bottom: 2rem !important; }
body.page-services .menu-tab {
  min-height: 40px;
  padding: .62rem .9rem !important;
  font-size: 10px !important;
  letter-spacing: .075em !important;
}
@media (max-width: 720px) {
  body.page-services [role="tablist"] { gap: .45rem !important; margin-bottom: 1.5rem !important; }
  body.page-services .menu-tab { min-height: 38px; padding: .55rem .72rem !important; font-size: 9px !important; }
}

/* Contact now uses a real Aura interior image and no placeholder social strip */
body.page-contact .contact-studio-photo { height: clamp(280px, 34vw, 400px) !important; border-radius: var(--aura-card-radius); background: #e8e3d8; }
body.page-contact .contact-studio-photo > div { width: 100%; height: 100%; background: url("assets/aura-local/showroom/reception-enhanced.webp") center/cover no-repeat !important; transition: transform .8s ease; }
body.page-contact .contact-studio-photo:hover > div { transform: scale(1.035); }
body.page-contact .contact-social { display: none !important; }
@media (max-width: 600px) {
  body.page-home .home-products-heading h2 { font-size: 2rem !important; }
  body.page-home .home-story-title { font-size: 2.25rem !important; }
  body.page-about main > section.max-w-\[800px\] { padding-block: 3.2rem !important; }
  body.page-about main > section.max-w-\[800px\] h2 { font-size: 2.2rem !important; }
}

/* Compact editorial spacing across the homepage and About page */
body.page-home > main > section.bg-surface-container,
body.page-home .home-products { padding-block: clamp(3.2rem, 5vw, 4.8rem) !important; }
body.page-home > main > section.bg-surface-container > .px-margin-desktop { margin-bottom: 0; }
body.page-home > main > section.bg-surface-container .mb-16 { margin-bottom: clamp(2rem, 3.5vw, 3rem) !important; }
body.page-home .home-atmosphere-grid { gap: clamp(.8rem, 1.8vw, 1.5rem); }
body.page-home .home-atmosphere-grid > div.translate-y-8 { transform: translateY(1.4rem); }
body.page-home .home-atmosphere-grid > div:nth-child(4) img {
  filter: saturate(.76) sepia(.04) brightness(1.04) contrast(.96);
}
body.page-home .home-atmosphere-grid > div:nth-child(4):hover img {
  filter: saturate(.94) sepia(0) brightness(1.02) contrast(1) !important;
}
body.page-home .home-products-heading { margin-bottom: clamp(1.8rem, 3vw, 2.8rem); }
body.page-home .home-story { padding-block: clamp(3.5rem, 5vw, 5rem) !important; }
body.page-home .home-story-grid { gap: clamp(2.5rem, 6vw, 5.5rem); }
body.page-home .home-story-title {
  max-width: 30rem;
  font-family: "Playfair Display", Georgia, serif !important;
  font-size: clamp(2.25rem, 4vw, 4rem) !important;
  font-weight: 500 !important;
  letter-spacing: -.045em;
  line-height: .98 !important;
}
body.page-home .home-story-title span { color: var(--aura-forest, #304536); }
body.page-home .home-story-title em { color: var(--aura-gold, #a77c34); font-weight: 400; }

body.page-about main > section.bg-surface-container-low { padding-block: clamp(3.2rem, 5vw, 4.8rem) !important; }
body.page-about main > section.bg-surface-container-low > div > .text-center { margin-bottom: clamp(2rem, 3.2vw, 3rem) !important; }
body.page-about main > section.bg-surface-container-low .grid.grid-cols-1.md\:grid-cols-3 { gap: clamp(1.5rem, 3vw, 2.75rem) !important; }
body.page-about main > section.bg-surface-container-low .aspect-\[9\/16\] { max-height: 360px !important; aspect-ratio: 4 / 4.7 !important; }
body.page-about > section.bg-secondary { padding-block: clamp(3.5rem, 5.5vw, 5rem) !important; }
body.page-about > section.bg-secondary .grid { gap: clamp(1.2rem, 3vw, 2.5rem) !important; }
body.page-about > section.bg-secondary .space-y-2 > :not([hidden]) ~ :not([hidden]) { margin-top: .35rem !important; }
body.page-about > section.bg-secondary .font-display-lg { font-size: clamp(2.35rem, 4.5vw, 4rem) !important; }
@media (max-width: 900px) {
  body.page-home .home-atmosphere-grid > div.translate-y-8 { transform: none; }
  body.page-home .home-story { padding-block: 3rem !important; }
  body.page-about > section.bg-secondary { padding-block: 2.5rem !important; }
}
@media (max-width: 600px) {
  body.page-home > main > section.bg-surface-container,
  body.page-home .home-products { padding-block: 2.8rem !important; }
  body.page-home .home-atmosphere-grid { gap: 1.1rem; }
  body.page-home .home-products-heading { margin-bottom: 1.6rem; }
  body.page-home .home-story-grid { gap: 2.25rem; }
  body.page-home .home-story-title { font-size: clamp(2rem, 10vw, 2.75rem) !important; }
  body.page-about main > section.bg-surface-container-low { padding-block: 2.8rem !important; }
  body.page-about main > section.bg-surface-container-low .aspect-\[9\/16\] { max-height: 300px !important; }
  body.page-about > section.bg-secondary { padding-block: 2rem !important; }
}

/* About page palette correction: use the same forest, cream and restrained gold tokens everywhere */
body.page-about > section.bg-secondary,
body.page-about main > section.bg-secondary {
  background: linear-gradient(118deg, #173326, #2e563c) !important;
  color: #f8f2e9 !important;
}
body.page-about > section.bg-secondary .font-display-lg,
body.page-about > section.bg-secondary .text-on-secondary,
body.page-about main > section.bg-secondary .font-display-lg,
body.page-about main > section.bg-secondary .text-on-secondary {
  color: #f8f2e9 !important;
}
body.page-about > section.bg-secondary .text-label-sm,
body.page-about main > section.bg-secondary .text-label-sm {
  color: var(--aura-gold-light, #e5d29a) !important;
  opacity: 1 !important;
}
body.page-about main section.bg-surface-container-low .w-16.h-16,
body.page-about > section.bg-background .w-16.h-16 {
  background: rgba(196, 162, 77, .12) !important;
  border: 1px solid rgba(196, 162, 77, .24);
}
body.page-about main section.bg-surface-container-low .w-16.h-16 .material-symbols-outlined,
body.page-about > section.bg-background .w-16.h-16 .material-symbols-outlined {
  color: var(--aura-gold-dark, #866722) !important;
}

/* Shared Aura palette: compact product cards that sit comfortably with the other pages */
body.page-home .home-products {
  color: var(--aura-forest, #304536);
  background:
    radial-gradient(circle at 12% 10%, rgba(190, 151, 87, .13), transparent 28rem),
    linear-gradient(135deg, #f5f0e7 0%, #ebe6da 58%, #f7f2e9 100%);
}
body.page-home .home-products::before { opacity: .07; background-image: linear-gradient(115deg, transparent 0 49%, rgba(48,69,54,.28) 50%, transparent 51%); }
body.page-home .home-products-heading h2 { color: var(--aura-forest, #304536); }
body.page-home .home-products-heading h2 em { color: var(--aura-gold, #a77c34); }
body.page-home .home-products-heading p { color: rgba(48,69,54,.72); }
body.page-home .home-products-heading > span,
body.page-home .home-product-copy > span { color: var(--aura-gold, #a77c34); }
body.page-home .home-products-heading > span::before { background: var(--aura-gold, #a77c34); }
body.page-home .home-products-grid { max-width: 1020px; margin-inline: auto; }
body.page-home .home-product-card {
  border-color: rgba(48,69,54,.16);
  background: rgba(255,255,255,.66);
  box-shadow: 0 1.15rem 2.6rem rgba(48,69,54,.1);
}
body.page-home .home-product-media { height: clamp(15rem, 20vw, 19rem); }
body.page-home .home-product-copy h3 { color: var(--aura-forest, #304536); }
body.page-home .home-product-copy p { color: rgba(48,69,54,.7); }
body.page-home .home-product-lotus .home-product-media { background: #e7eadf; }
body.page-home .home-product-dtan .home-product-media { background: #eee9df; }
body.page-home .home-product-card:hover { border-color: rgba(167,124,52,.5); box-shadow: 0 1.6rem 3.2rem rgba(48,69,54,.16); }
body.page-home .home-product-card::after { background: linear-gradient(135deg, rgba(167,124,52,.1), transparent 55%); }

body.page-about .page-about .aspect-\[9\/16\],
body.page-about main section.bg-surface-container-low .aspect-\[9\/16\] { background: #f7f2e9; }
body.page-about main section.bg-surface-container-low .aspect-\[9\/16\] img { background: #f7f2e9; }
body.page-about main section.bg-surface-container-low .aspect-\[9\/16\]:first-child img { object-position: center; }
@media (max-width: 900px) {
  body.page-home .home-products-grid { max-width: 720px; }
  body.page-home .home-product-media { height: 19rem; }
}
@media (max-width: 600px) {
  body.page-home .home-product-media { height: 17rem; }
}

/* Homepage showroom and professional product story */
body.page-home .home-atmosphere-grid img {
  transition: filter .7s ease, transform .9s cubic-bezier(.2,.72,.22,1);
}

.home-products {
  position: relative;
  overflow: hidden;
  padding: clamp(5rem, 9vw, 8.5rem) 0;
  color: #f8f2e9;
  background:
    radial-gradient(circle at 16% 15%, rgba(190, 151, 87, .18), transparent 30rem),
    radial-gradient(circle at 92% 82%, rgba(123, 147, 117, .2), transparent 32rem),
    linear-gradient(135deg, #17261f 0%, #26382e 54%, #14231c 100%);
}
.home-products::before {
  content: "";
  position: absolute;
  inset: 0;
  opacity: .12;
  pointer-events: none;
  background-image: linear-gradient(115deg, transparent 0 49%, rgba(255,255,255,.22) 50%, transparent 51%);
  background-size: 7rem 7rem;
}
.home-products-inner { position: relative; z-index: 1; }
.home-products-heading {
  display: grid;
  grid-template-columns: minmax(10rem, .7fr) minmax(18rem, 1.45fr) minmax(14rem, .85fr);
  gap: clamp(1.5rem, 4vw, 4.5rem);
  align-items: end;
  margin-bottom: clamp(2.5rem, 5vw, 4.5rem);
}
.home-products-heading > span,
.home-product-copy > span {
  color: #d8b878;
  font-size: .74rem;
  font-weight: 700;
  letter-spacing: .17em;
  line-height: 1.4;
  text-transform: uppercase;
}
.home-products-heading > span::before {
  content: "";
  display: inline-block;
  width: 2.6rem;
  height: 1px;
  margin: 0 .8rem .22rem 0;
  background: #d8b878;
}
.home-products-heading h2 {
  margin: 0;
  color: #fffaf3;
  font-family: var(--font-headline, Georgia, serif);
  font-size: clamp(2.3rem, 4.4vw, 4.9rem);
  font-weight: 400;
  letter-spacing: -.035em;
  line-height: .98;
}
.home-products-heading h2 em { color: #d8b878; font-weight: 400; }
.home-products-heading p {
  margin: 0;
  color: rgba(248, 242, 233, .76);
  font-size: clamp(.96rem, 1.25vw, 1.08rem);
  line-height: 1.75;
}
.home-products-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(1rem, 2.4vw, 2rem);
}
.home-product-card {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(240, 214, 161, .2);
  border-radius: 1.5rem;
  background: rgba(255,255,255,.07);
  box-shadow: 0 1.6rem 4rem rgba(6, 15, 11, .22);
  isolation: isolate;
  transition: transform .55s cubic-bezier(.2,.72,.22,1), border-color .45s ease, box-shadow .45s ease;
}
.home-product-card::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(135deg, rgba(255,255,255,.12), transparent 55%);
  opacity: 0;
  transition: opacity .45s ease;
}
.home-product-media {
  display: grid;
  place-items: center;
  height: clamp(18rem, 31vw, 28rem);
  overflow: hidden;
  background: #e7e2d5;
}
.home-product-media img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  transition: transform .8s cubic-bezier(.2,.72,.22,1), filter .55s ease;
}
.home-product-kanpeki .home-product-media img { object-fit: cover; }
.home-product-casmara .home-product-media img { object-fit: cover; transform: scale(1.15); }
.home-product-card.home-product-casmara:hover .home-product-media img { transform: scale(1.2); }
.home-product-lotus .home-product-media { background: linear-gradient(150deg, #dae0d0, #efe9dc); }
.home-product-dtan .home-product-media { background: linear-gradient(145deg, #eee7db, #d7d5c9); }
.home-product-copy { padding: clamp(1.4rem, 2.4vw, 2rem); }
.home-product-copy h3 {
  margin: .55rem 0 .65rem;
  color: #fffaf3;
  font-family: var(--font-headline, Georgia, serif);
  font-size: clamp(1.65rem, 2.4vw, 2.2rem);
  font-weight: 400;
  line-height: 1.08;
}
.home-product-copy p { margin: 0; color: rgba(248,242,233,.72); line-height: 1.65; }
@media (hover:hover) {
  .home-product-card:hover {
    transform: translateY(-.7rem) rotateX(1.2deg);
    border-color: rgba(216,184,120,.62);
    box-shadow: 0 2.3rem 5rem rgba(6,15,11,.38);
  }
  .home-product-card:hover::after { opacity: 1; }
  .home-product-card:hover .home-product-media img { transform: scale(1.055); filter: saturate(1.06) contrast(1.025); }
}
@media (max-width: 900px) {
  .home-products-heading { grid-template-columns: 1fr 1.6fr; }
  .home-products-heading p { grid-column: 2; }
  .home-products-grid { grid-template-columns: 1fr; }
  .home-product-card { display: grid; grid-template-columns: minmax(15rem, .9fr) 1fr; align-items: center; }
  .home-product-media { height: 23rem; }
}
@media (max-width: 600px) {
  .home-products { padding: 4.5rem 0; }
  .home-products-heading { display: block; }
  .home-products-heading > span { display: block; margin-bottom: 1.2rem; }
  .home-products-heading p { margin-top: 1.25rem; }
  .home-product-card { display: block; }
  .home-product-media { height: 20rem; }
  body.page-home .home-atmosphere-grid > div { transform: none !important; }
}
@media (prefers-reduced-motion: reduce) {
  .home-product-card,
  .home-product-media img,
  body.page-home .home-atmosphere-grid img { transition: none !important; }
}

/* Services menu - high-contrast editorial presentation */
body.page-services .services-menu-hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  min-height: auto !important;
  padding: clamp(3.25rem, 7vw, 6rem) 0;
  color: #f9f5ea;
  background:
    linear-gradient(118deg, rgba(10,28,20,.98) 0%, rgba(28,57,39,.97) 52%, rgba(54,72,46,.94) 100%);
}
body.page-services .services-menu-hero::after {
  background: linear-gradient(90deg, rgba(201,163,74,.12), transparent 42%, rgba(255,255,255,.05)) !important;
  z-index: -1;
}
.services-menu-glow { position:absolute; border-radius:999px; filter:blur(2px); opacity:.42; z-index:-1; animation:aura-drift 9s ease-in-out infinite alternate; }
.services-menu-glow-one { width:22rem; height:22rem; right:-7rem; top:-9rem; background:radial-gradient(circle,rgba(223,184,91,.48),transparent 68%); }
.services-menu-glow-two { width:16rem; height:16rem; left:34%; bottom:-10rem; background:radial-gradient(circle,rgba(122,163,123,.32),transparent 70%); animation-delay:-3s; }
.services-menu-hero-grid { position:relative; z-index:2; display:grid; grid-template-columns:minmax(0,.9fr) minmax(340px,1.1fr); align-items:center; gap:clamp(2rem,5vw,5.5rem); }
.services-menu-kicker { display:flex; align-items:center; gap:.8rem; color:#e5c873; font:700 .72rem/1 Manrope,sans-serif; letter-spacing:.19em; text-transform:uppercase; }
.services-menu-kicker i { width:2rem; height:1px; background:currentColor; opacity:.7; }
body.page-services .services-menu-title { margin-top:1.15rem; color:#fffaf0; font:500 clamp(3rem,6.7vw,6.2rem)/.92 "Cormorant Garamond",Georgia,serif; letter-spacing:-.035em; text-shadow:0 15px 44px rgba(0,0,0,.28) !important; }
.services-menu-title em { color:#dfbd61; font-weight:500; }
.services-word { display:inline-block; animation:aura-word-in .8s cubic-bezier(.2,.75,.25,1) both; }
.services-word-delay { animation-delay:.13s; }
body.page-services .services-menu-lead { max-width:38rem; margin-top:1.65rem; color:#dfe8dc; font-size:clamp(1rem,1.55vw,1.18rem); line-height:1.75; text-shadow:none !important; }
.services-menu-lead strong { color:#f4d47b; font-weight:600; }
.services-menu-notes { display:flex; flex-wrap:wrap; gap:.65rem; margin-top:1.6rem; }
.services-menu-notes span { border:1px solid rgba(242,218,154,.28); border-radius:999px; padding:.58rem .8rem; color:#f5edda; background:rgba(255,255,255,.06); font:600 .66rem/1 Manrope,sans-serif; letter-spacing:.08em; text-transform:uppercase; }
.services-menu-visual { position:relative; margin:0; border-radius:1.35rem; padding:.55rem; background:linear-gradient(145deg,rgba(255,255,255,.25),rgba(223,189,97,.35)); box-shadow:0 30px 75px rgba(0,0,0,.34); transform:perspective(1000px) rotateY(-3deg); animation:aura-visual-float 6s ease-in-out infinite; }
.services-menu-visual img { display:block; width:100%; aspect-ratio:16/9; object-fit:cover; border-radius:1rem; }
.services-menu-visual figcaption { position:absolute; left:1.4rem; right:1.4rem; bottom:1.35rem; display:flex; justify-content:space-between; align-items:end; gap:1rem; padding:1rem 1.1rem; border:1px solid rgba(255,255,255,.22); border-radius:.9rem; color:#fff; background:rgba(8,25,18,.72); -webkit-backdrop-filter:blur(12px); backdrop-filter:blur(12px); }
.services-menu-visual figcaption span { color:#e4c56f; font:700 .64rem/1 Manrope,sans-serif; letter-spacing:.16em; text-transform:uppercase; }
.services-menu-visual figcaption strong { max-width:15rem; font:500 1.05rem/1.25 "Cormorant Garamond",Georgia,serif; text-align:right; }

.price-card { overflow:hidden; border:1px solid rgba(55,75,52,.17); border-radius:1.15rem; background:#fffdf8; box-shadow:0 16px 44px rgba(38,52,36,.09); animation:aura-card-up .56s cubic-bezier(.2,.75,.25,1) both; animation-delay:calc(var(--card-order) * 70ms); transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease; }
.price-card:hover { transform:translateY(-5px); border-color:rgba(180,138,39,.5); box-shadow:0 24px 55px rgba(31,51,36,.15); }
.price-card-head { position:relative; display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1.35rem 1.5rem; overflow:hidden; background:linear-gradient(118deg,#173326,#2e563c); color:#fff; }
.price-card-head::after { content:""; position:absolute; width:8rem; height:8rem; right:-3rem; top:-4rem; border:1px solid rgba(229,196,105,.23); border-radius:50%; }
.price-card-head span { color:#e5c873; font:700 .64rem/1 Manrope,sans-serif; letter-spacing:.18em; text-transform:uppercase; }
.price-card-head h2 { margin-top:.4rem; color:#fffaf0; font:500 clamp(1.55rem,2.6vw,2rem)/1.05 "Cormorant Garamond",Georgia,serif; }
.price-card-head i { position:relative; z-index:1; display:grid; place-items:center; width:2.8rem; height:2.8rem; border:1px solid rgba(235,206,126,.34); border-radius:50%; color:#f0cf73; background:rgba(255,255,255,.07); font-style:normal; }
.price-list { padding:.25rem 1.5rem .65rem; }
.price-row { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:start; gap:2.25rem; padding:1rem 0; border-top:1px solid rgba(104,112,98,.2); }
.price-row:first-child { border-top:0; }
.price-row > span { color:#25352b; font-size:.92rem; line-height:1.45; }
.price-row strong { align-self:start; border-radius:999px; padding:.42rem .62rem; color:#694e08; background:#f4e8bd; font-size:.78rem; line-height:1.15; text-align:right; white-space:nowrap; }

@keyframes aura-word-in { from{opacity:0;transform:translateY(24px);filter:blur(6px)} to{opacity:1;transform:none;filter:none} }
@keyframes aura-card-up { from{opacity:0;transform:translateY(18px)} to{opacity:1;transform:none} }
@keyframes aura-drift { to{transform:translate3d(-1.4rem,1rem,0) scale(1.07)} }
@keyframes aura-visual-float { 0%,100%{transform:perspective(1000px) rotateY(-3deg) translateY(0)} 50%{transform:perspective(1000px) rotateY(-1deg) translateY(-8px)} }

@media (max-width: 820px) {
  .services-menu-hero-grid { grid-template-columns:1fr; }
  .services-menu-copy { max-width:42rem; }
  .services-menu-visual { transform:none; animation:aura-visual-mobile 6s ease-in-out infinite; }
  .services-menu-visual figcaption strong { font-size:.95rem; }
  .price-row { gap:1.5rem; }
}
@media (max-width: 520px) {
  body.page-services .services-menu-hero { padding:2.8rem 0 3rem; }
  .services-menu-kicker { font-size:.62rem; gap:.55rem; }
  body.page-services .services-menu-title { font-size:clamp(3rem,16vw,4.45rem); }
  .services-menu-lead { margin-top:1.15rem !important; }
  .services-menu-visual { padding:.35rem; border-radius:1rem; }
  .services-menu-visual img { aspect-ratio:4/3; }
  .services-menu-visual figcaption { left:.8rem; right:.8rem; bottom:.8rem; padding:.78rem; }
  .services-menu-visual figcaption strong { display:none; }
  .price-list { padding-inline:1rem; }
  .price-card-head { padding:1.15rem 1.1rem; }
  .price-row strong { max-width:8.8rem; white-space:normal; }
}
@keyframes aura-visual-mobile { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-5px)} }

@media (min-width: 768px) and (max-width: 1020px) {
  .page-home .home-services-grid { grid-template-rows: 215px 230px !important; }
  .page-home .home-service-card > .absolute.bottom-0 { padding: 1.35rem !important; }
}

@media (max-width: 520px) {
  .contact-info-grid { grid-template-columns: 1fr !important; }
  .contact-side-image { height: 270px !important; }
  .contact-social { padding: 1rem !important; }
}

/* Final homepage composition pass */
body.page-home main > header {
  min-height: 0 !important;
  height: min(74svh, 680px) !important;
}
body.page-home .home-services {
  padding-top: clamp(2.6rem, 3.5vw, 3.3rem) !important;
  padding-bottom: clamp(1.5rem, 2vw, 2rem) !important;
}
body.page-home .home-services-intro { margin-bottom: clamp(1.5rem, 2.5vw, 2rem) !important; }
body.page-home .home-services-grid { grid-template-rows: 205px 220px !important; }

/* Story section balance */
body.page-home .home-story {
  padding-block: clamp(3.25rem, 5vw, 4.5rem) !important;
}
body.page-home .home-story-grid {
  gap: clamp(2.75rem, 6vw, 5rem) !important;
  grid-template-columns: minmax(300px, .82fr) minmax(0, 1.08fr) !important;
  max-width: 1080px !important;
}
body.page-home .home-story-media {
  justify-self: center;
  max-width: 380px;
  width: 100%;
}
body.page-home .home-story-frame {
  aspect-ratio: 4 / 5 !important;
  padding: 8px !important;
}
body.page-home .home-story-quote {
  bottom: -24px !important;
  max-width: 220px !important;
  padding: 1.1rem !important;
  right: -18px !important;
}
body.page-home .home-story-quote p:first-child {
  font-size: 1.18rem !important;
  margin-bottom: .55rem !important;
}
body.page-home .home-story-copy > span { margin-bottom: 1rem !important; }
body.page-home .home-story-copy h2 { margin-bottom: 1.4rem !important; max-width: 520px; }
body.page-home .home-story-copy .space-y-6 > :not([hidden]) ~ :not([hidden]) { margin-top: 1.15rem !important; }
body.page-home .home-story-copy p { font-size: .98rem !important; line-height: 1.62 !important; }
body.page-home .home-story-stats { gap: 2rem !important; margin-top: 2.25rem !important; }
body.page-home .home-story-stats .text-\[48px\] { font-size: 2.8rem !important; }

/* Social carousel */
body.page-home .home-social { padding-block: clamp(3.25rem, 5vw, 4.5rem) !important; }
body.page-home .home-social-intro { margin-bottom: clamp(2rem, 4vw, 3rem) !important; }
body.page-home .home-social-track {
  scrollbar-width: none;
  -ms-overflow-style: none;
}
body.page-home .home-social-track::-webkit-scrollbar { display: none; }
.home-carousel-dots {
  align-items: center;
  display: none;
  gap: 7px;
  justify-content: center;
  margin-top: .85rem;
}
.home-carousel-dot {
  background: rgba(53, 72, 54, .25);
  border: 0;
  border-radius: 999px;
  cursor: pointer;
  height: 7px;
  min-height: 7px;
  padding: 0;
  transition: background .25s ease, width .25s ease;
  width: 7px;
}
.home-carousel-dot.is-active { background: var(--aura-forest); width: 22px; }

@media (max-width: 767px) {
  body.page-home main > header {
    align-items: stretch !important;
    height: min(690px, calc(100svh - 60px)) !important;
    max-height: 690px !important;
    min-height: 0 !important;
    padding: 0 !important;
  }
  body.page-home main > header .ahs-hero-backdrop > div:first-child { background-position: center 36% !important; }
  body.page-home main > header .ahs-hero-backdrop::after {
    background: linear-gradient(to bottom, rgba(251, 250, 245, .02) 48%, rgba(251, 250, 245, .46) 100%);
    content: "";
    inset: 0;
    pointer-events: none;
    position: absolute;
  }
  body.page-home main > header > .relative.z-10 {
    align-content: start !important;
    padding: clamp(4rem, 10vh, 5.5rem) 20px 2rem !important;
  }
  body.page-home main > header .ahs-hero-copy { max-width: 23rem !important; }
  body.page-home main > header .ahs-hero-copy > span { margin-bottom: 1.1rem !important; }
  body.page-home main > header h1 {
    font-size: clamp(2.35rem, 10vw, 2.75rem) !important;
    line-height: 1 !important;
    margin-bottom: 1.35rem !important;
  }
  body.page-home main > header .ahs-hero-copy > p {
    font-size: .98rem !important;
    line-height: 1.55 !important;
    margin-bottom: 1.65rem !important;
  }
  body.page-home main > header .ahs-hero-copy .flex {
    gap: .8rem !important;
  }
  body.page-home main > header .ahs-hero-copy button {
    min-height: 48px !important;
    padding: .72rem 1.35rem !important;
  }
  body.page-home main > header .ahs-hero-copy button:last-child {
    background: rgba(251, 250, 245, .86) !important;
    border-color: var(--aura-gold-dark) !important;
    color: var(--aura-forest) !important;
  }
  body.page-home main > header > .absolute.bottom-12 {
    bottom: 1rem !important;
    gap: .45rem !important;
    transform: translateX(-50%) !important;
  }
  body.page-home main > header > .absolute.bottom-12 .h-12 { height: 1.75rem !important; }
  body.page-home .home-services { padding-block: 2.5rem 1.5rem !important; }
  body.page-home .home-services-intro { margin-bottom: 1.4rem !important; }
  body.page-home .home-services-grid { grid-template-rows: none !important; }
  body.page-home .home-services-grid > .home-service-card { height: 225px !important; min-height: 225px !important; }
  body.page-home .home-services-grid > .home-service-card-wide { height: 195px !important; min-height: 195px !important; }

  body.page-home .home-story { padding-block: 2.5rem 2.75rem !important; }
  body.page-home .home-story-grid {
    gap: 2.25rem !important;
    grid-template-columns: 1fr !important;
    padding-inline: 18px !important;
  }
  body.page-home .home-story-media { max-width: 310px; }
  body.page-home .home-story-frame { aspect-ratio: 4 / 3 !important; }
  body.page-home .home-story-copy > span { font-size: .65rem !important; margin-bottom: .85rem !important; }
  body.page-home .home-story-copy h2 {
    font-size: clamp(2rem, 9vw, 2.35rem) !important;
    line-height: 1.06 !important;
    margin-bottom: 1.25rem !important;
  }
  body.page-home .home-story-copy p {
    font-size: .96rem !important;
    line-height: 1.58 !important;
  }
  body.page-home .home-story-copy .space-y-6 > :not([hidden]) ~ :not([hidden]) { margin-top: 1rem !important; }
  body.page-home .home-story-stats {
    gap: 1.4rem !important;
    justify-content: flex-start;
    margin-top: 2rem !important;
  }
  body.page-home .home-story-stats .text-\[48px\] { font-size: 2.55rem !important; }
  body.page-home .home-story-stats .font-label-sm { font-size: .62rem !important; }

  body.page-home .home-social { padding-block: 2.75rem 2.25rem !important; }
  body.page-home .home-social-intro { margin-bottom: 1.65rem !important; padding-inline: 18px !important; }
  body.page-home .home-social-track {
    gap: 14px !important;
    overflow-x: auto !important;
    padding: 0 20px .5rem !important;
    scroll-behavior: smooth;
    scroll-snap-type: x mandatory;
  }
  body.page-home .home-social-card {
    flex: 0 0 calc(100vw - 52px) !important;
    max-width: 338px;
    min-width: 0 !important;
    scroll-snap-align: center;
  }
  .home-carousel-dots { display: flex; }

  body.page-home .ahs-hero-copy > span,
  body.page-home .ahs-hero-copy > h1,
  body.page-home .ahs-hero-copy > p,
  body.page-home .ahs-hero-copy > .flex {
    animation: aura-mobile-rise .7s cubic-bezier(.2, .75, .2, 1) both;
  }
  body.page-home .ahs-hero-copy > h1 { animation-delay: .1s; }
  body.page-home .ahs-hero-copy > p { animation-delay: .2s; }
  body.page-home .ahs-hero-copy > .flex { animation-delay: .3s; }
  body.page-home .home-story-media.active img { animation: aura-mobile-image 1s cubic-bezier(.2, .75, .2, 1) both; }
}

@media (min-width: 768px) and (max-width: 900px) {
  body.page-home main > header { height: 600px !important; }
  body.page-home main > header > .relative.z-10 { gap: 1.5rem !important; }
  body.page-home main > header .w-72 { width: 12rem !important; }
  body.page-home main > header .h-96 { height: 17rem !important; }
  body.page-home .home-services-grid { grid-template-rows: 200px 220px !important; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; }
  body.page-home .ahs-hero-copy > *,
  body.page-home .home-story-media.active img { animation: none !important; }
}

@keyframes aura-mobile-rise {
  from { opacity: 0; transform: translate3d(0, 18px, 0); }
  to { opacity: 1; transform: translate3d(0, 0, 0); }
}

@keyframes aura-mobile-image {
  from { opacity: .45; transform: scale(1.05); }
  to { opacity: 1; transform: scale(1); }
}

/* Text entrance and hover motion */
.ahs-text-motion {
  opacity: 0;
  transform: translate3d(0, 14px, 0);
  transition: opacity .7s cubic-bezier(.2, .75, .2, 1), transform .7s cubic-bezier(.2, .75, .2, 1), color .3s ease, text-shadow .3s ease;
  transition-delay: var(--ahs-text-delay, 0ms);
}
.ahs-text-motion.ahs-text-visible {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

@keyframes aura-text-rise {
  from { opacity: 0; transform: translate3d(0, 14px, 0); }
  to { opacity: 1; transform: translate3d(0, 0, 0); }
}

body.page-home header .ahs-text-motion {
  animation: aura-text-rise .75s cubic-bezier(.2, .75, .2, 1) both;
  animation-delay: var(--ahs-text-delay, 0ms);
}

@media (hover: hover) and (pointer: fine) {
  .ahs-text-motion:hover {
    color: var(--aura-forest-soft) !important;
    text-shadow: 0 3px 15px rgba(53, 72, 54, .14);
  }
}

/* Shared hover language for editorial imagery and cards */
body.page-home .home-social-intro {
  align-items: center !important;
  display: flex !important;
  flex-direction: column !important;
  text-align: center !important;
}
body.page-home .home-social-intro > p {
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: center !important;
}

@media (hover: hover) and (pointer: fine) {
  body.page-home .home-service-card > div:first-child,
  body.page-home .home-story-frame img,
  body.page-home .home-social-card img,
  body.page-home section.bg-surface-container .grid > div > div:first-child img {
    transition: transform .8s cubic-bezier(.2, .75, .2, 1), filter .5s ease;
    will-change: transform;
  }

  body.page-home .home-service-card:hover > div:first-child {
    filter: saturate(1.08) contrast(1.04);
    transform: scale(1.08) !important;
  }
  body.page-home .home-service-card:hover h3 {
    text-shadow: 0 4px 18px rgba(0, 0, 0, .4);
    transform: translateY(-3px);
  }
  body.page-home .home-service-card h3,
  body.page-home .home-service-card p,
  body.page-home .home-service-card a {
    transition: transform .35s ease, text-shadow .35s ease, opacity .35s ease;
  }
  body.page-home .home-service-card:hover p { transform: translateY(-2px); }
  body.page-home .home-service-card:hover a { transform: translateX(5px); }

  body.page-home .home-story-frame {
    box-shadow: 0 16px 36px rgba(44, 50, 40, .1);
    transition: box-shadow .45s ease, transform .45s ease;
  }
  body.page-home .home-story-frame:hover {
    box-shadow: 0 24px 48px rgba(44, 50, 40, .17);
    transform: translateY(-5px);
  }
  body.page-home .home-story-frame:hover img { transform: scale(1.045) rotate(.35deg); }
  body.page-home .home-story-copy h2 { transition: color .35s ease, letter-spacing .35s ease; }
  body.page-home .home-story-copy:hover h2 { color: var(--aura-forest-soft) !important; letter-spacing: -.01em; }

  body.page-home section.bg-surface-container .grid > div > div:first-child {
    overflow: hidden;
    transition: box-shadow .45s ease, transform .45s ease;
  }
  body.page-home section.bg-surface-container .grid > div:hover > div:first-child {
    box-shadow: 0 18px 34px rgba(44, 50, 40, .16);
    transform: translateY(-5px);
  }
  body.page-home section.bg-surface-container .grid > div:hover > div:first-child img {
    filter: saturate(1.08) grayscale(0) !important;
    transform: scale(1.06);
  }
  body.page-home section.bg-surface-container .grid > div > p { transition: color .35s ease, opacity .35s ease; }
  body.page-home section.bg-surface-container .grid > div:hover > p { color: var(--aura-forest) !important; opacity: 1 !important; }

  body.page-home .home-social-card {
    box-shadow: 0 10px 24px rgba(44, 50, 40, .08);
    transition: box-shadow .45s ease, transform .45s ease;
  }
  body.page-home .home-social-card:hover {
    box-shadow: 0 20px 36px rgba(44, 50, 40, .18);
    transform: translateY(-6px);
  }
  body.page-home .home-social-card:hover img { filter: saturate(1.1); transform: scale(1.06); }
}

@media (prefers-reduced-motion: reduce) {
  body.page-home .home-service-card > div:first-child,
  body.page-home .home-story-frame,
  body.page-home .home-story-frame img,
  body.page-home .home-social-card,
  body.page-home .home-social-card img,
  body.page-home section.bg-surface-container .grid > div > div:first-child,
  body.page-home .home-service-card h3,
  body.page-home .home-service-card p,
  body.page-home .home-service-card a {
    transition: none !important;
  }
  .ahs-text-motion,
  .ahs-text-motion.ahs-text-visible,
  body.page-home header .ahs-text-motion {
    animation: none !important;
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
}

/* Wide-screen heritage headline correction */
body.page-home .home-story-copy .home-story-title {
  font-size: clamp(2rem, 3.1vw, 3.15rem) !important;
  line-height: .98 !important;
}
@media (max-width: 600px) {
  body.page-home .home-story-copy .home-story-title { font-size: 2.25rem !important; }
}

/* Distinct Contact showroom photograph */
body.page-contact .contact-studio-photo > div {
  background-image: url("assets/aura-local/showroom/product-display.jpeg") !important;
  background-position: center 48% !important;
  background-size: cover !important;
}

/* Live location map */
body.page-contact .contact-map-live { height: clamp(270px, 28vw, 340px) !important; border: 1px solid rgba(53,72,54,.13); }
body.page-contact .contact-map-live iframe { width: 100%; height: 100%; border: 0; filter: saturate(.82) contrast(.96); }
body.page-contact .contact-map-link {
  position: absolute;
  right: .85rem;
  bottom: .85rem;
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  padding: .68rem .9rem;
  border-radius: .65rem;
  color: #fff;
  background: var(--aura-forest);
  box-shadow: 0 .55rem 1.5rem rgba(32,48,37,.25);
  font: 700 .65rem/1 "DM Sans",sans-serif;
  letter-spacing: .09em;
  text-transform: uppercase;
}
body.page-contact .contact-map-link .material-symbols-outlined { font-size: 1rem; }

/* Bridal and nail rates share the same editorial card system as Services. */
body.page-bridal .bridal-price-card { animation-delay: calc(var(--card-order) * 70ms); }
body.page-bridal #bridal-menu,
body.page-bridal #nail-menu { align-items: start; }
body.page-bridal main > section:last-child > div {
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center !important;
}
body.page-bridal main > section:last-child h2,
body.page-bridal main > section:last-child p {
  width:min(100%,44rem);
  margin-inline:auto;
  text-align:center !important;
}

/* Keep the Services closing invitation centered and balanced at every width. */
body.page-services main > section:last-child > div {
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center !important;
}
body.page-services main > section:last-child h2,
body.page-services main > section:last-child p {
  width:min(100%,44rem);
  margin-inline:auto;
  text-align:center !important;
}
body.page-bridal .price-card-head h2 { font-size: clamp(1.5rem,2.2vw,1.9rem); }
body.page-bridal .price-row > span { font-size: .9rem; }
body.page-bridal .nail-atelier-copy { min-width:0; }
@media (min-width:1024px) {
  body.page-bridal .nail-atelier-intro {
    display:grid !important;
    grid-template-columns:minmax(0,1fr) clamp(18rem,25vw,21rem);
    align-items:stretch !important;
    gap:clamp(2.5rem,4vw,4rem) !important;
  }
  body.page-bridal .nail-atelier-copy {
    display:flex;
    flex-direction:column;
  }
  body.page-bridal .nail-atelier-title {
    width:auto;
    margin-top:1.35rem !important;
    white-space:nowrap;
    font-size:clamp(2rem,2.8vw,2.55rem) !important;
    line-height:1.12 !important;
    letter-spacing:-.018em;
    text-align:left;
    text-align-last:auto;
  }
  body.page-bridal .nail-atelier-lead {
    width:auto;
    max-width:43rem !important;
    margin-top:auto !important;
    font-size:1rem;
    line-height:1.65;
    text-align:left;
    text-align-last:auto;
  }
  body.page-bridal .nail-atelier-image {
    width:100% !important;
    height:clamp(12.5rem,15vw,13rem) !important;
  }
}
body.page-bridal .manicure-full { grid-column:1 / -1; }
body.page-bridal .nail-media-column {
  align-self:stretch;
  display:grid;
  grid-template-rows:auto minmax(11.5rem,1fr);
  gap:1.5rem;
}
body.page-bridal .nail-video-frame {
  position:relative;
  width:100%;
  aspect-ratio:9/16;
  overflow:hidden;
  border:1px solid rgba(115,92,0,.2);
  border-radius:1.5rem;
  background:#1f2b21;
  box-shadow:0 1.5rem 3.5rem rgba(46,55,43,.16);
}
body.page-bridal .nail-video-frame video {
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
  background:#1f2b21;
}
body.page-bridal .nail-video-frame figcaption {
  position:absolute;
  left:1rem;
  right:1rem;
  bottom:3.5rem;
  display:grid;
  gap:.2rem;
  padding:.8rem 1rem;
  border:1px solid rgba(255,255,255,.22);
  border-radius:1rem;
  color:#fff;
  background:rgba(31,43,33,.72);
  -webkit-backdrop-filter:blur(10px);
  backdrop-filter:blur(10px);
  pointer-events:none;
}
body.page-bridal .nail-video-frame figcaption span {
  font:700 .62rem/1 "Manrope",sans-serif;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:#f4df93;
}
body.page-bridal .nail-video-frame figcaption strong {
  font:500 clamp(1.15rem,2vw,1.45rem)/1.2 "Playfair Display",serif;
}
body.page-bridal .nail-feature-card {
  position:relative;
  display:flex;
  min-height:11.5rem;
  overflow:hidden;
  flex-direction:column;
  justify-content:flex-end;
  padding:clamp(1.4rem,3vw,2.15rem);
  border:1px solid rgba(224,194,104,.22);
  border-radius:1.5rem;
  color:#fffaf0;
  background:linear-gradient(145deg,#173f2d,#28533d);
  box-shadow:0 1.35rem 3rem rgba(46,55,43,.15);
}
body.page-bridal .nail-feature-card::before,
body.page-bridal .nail-feature-card::after {
  content:"";
  position:absolute;
  border:1px solid rgba(224,194,104,.24);
  border-radius:50%;
  pointer-events:none;
}
body.page-bridal .nail-feature-card::before { width:11rem; height:11rem; top:-6.75rem; right:-3.5rem; }
body.page-bridal .nail-feature-card::after { width:5.5rem; height:5.5rem; top:-2.25rem; right:-1rem; }
body.page-bridal .nail-feature-card > span {
  position:absolute;
  top:1.45rem;
  left:clamp(1.4rem,3vw,2.15rem);
  color:#ead27f;
  font:700 .64rem/1 "Manrope",sans-serif;
  letter-spacing:.16em;
  text-transform:uppercase;
}
body.page-bridal .nail-feature-card > i {
  position:absolute;
  top:1.25rem;
  right:1.35rem;
  display:grid;
  width:2.8rem;
  height:2.8rem;
  place-items:center;
  border:1px solid rgba(224,194,104,.5);
  border-radius:50%;
  color:#ead27f;
  font-size:1.25rem;
}
body.page-bridal .nail-feature-card h3 {
  max-width:19rem;
  font:500 clamp(1.55rem,2.6vw,2.2rem)/1.08 "Playfair Display",serif;
}
body.page-bridal .nail-feature-card p {
  max-width:26rem;
  margin-top:.7rem;
  color:rgba(255,250,240,.78);
  font:.88rem/1.55 "Manrope",sans-serif;
}
body.page-bridal .nail-feature-card small {
  display:inline-block;
  margin-top:1rem;
  color:#ead27f;
  font:700 .62rem/1 "Manrope",sans-serif;
  letter-spacing:.12em;
  text-transform:uppercase;
}

/* Core Values icons use Aura's dark green, not gold. */
body.page-about > section.bg-background .w-16.h-16 {
  background: rgba(53,72,54,.09) !important;
  border-color: rgba(53,72,54,.2) !important;
}
body.page-about > section.bg-background .w-16.h-16 .material-symbols-outlined {
  color: var(--aura-forest, #354836) !important;
}

/* Framed About introduction video */
body.page-about .about-intro-video {
  position: relative;
  width: min(100%, 360px) !important;
  max-height: none !important;
  aspect-ratio: 9 / 16 !important;
  padding: .5rem;
  border: 1px solid rgba(196,162,77,.38);
  border-radius: 1.35rem !important;
  background: linear-gradient(145deg,#fffaf2,#e9e4d8);
  box-shadow: 0 1.5rem 3.5rem rgba(53,72,54,.16);
}
body.page-about .about-intro-video::before {
  content:"";
  position:absolute;
  inset:-.65rem;
  z-index:-1;
  border:1px solid rgba(53,72,54,.14);
  border-radius:1.7rem;
}
body.page-about .about-intro-video video {
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  border-radius:.95rem;
  background:#1f3227;
}
body.page-about .about-video-label {
  position:absolute;
  top:1.15rem;
  left:1.15rem;
  display:inline-flex;
  align-items:center;
  gap:.4rem;
  padding:.48rem .7rem;
  border-radius:999px;
  color:#fff;
  background:rgba(31,50,39,.78);
  -webkit-backdrop-filter:blur(8px);
  backdrop-filter:blur(8px);
  font:700 .62rem/1 "DM Sans",sans-serif;
  letter-spacing:.12em;
  text-transform:uppercase;
  pointer-events:none;
}
body.page-about .about-video-label .material-symbols-outlined { font-size:1rem; }

/* Keep philosophy copy and icon-card descriptions visible on light surfaces. */
body.page-about main > section.about-philosophy-feature.max-w-\[800px\] .philosophy-principles h3 { color:var(--aura-forest)!important; }
body.page-about main > section.about-philosophy-feature.max-w-\[800px\] .philosophy-principles p {
  color:rgba(53,72,54,.76)!important;
  opacity:1!important;
}
@media (max-width:820px) {
  body.page-about .about-intro-video { width:min(86vw,330px)!important; }
  body.page-about main > section.about-philosophy-feature.max-w-\[800px\] {
    margin:2rem 16px!important;
    padding:2.5rem 1.15rem!important;
  }
  body.page-about main > section.about-philosophy-feature.max-w-\[800px\] > div { display:block!important; }
  body.page-about main > section.about-philosophy-feature.max-w-\[800px\] h2 { margin-top:.75rem!important; font-size:clamp(2.25rem,11vw,3.1rem)!important; }
  body.page-about main > section.about-philosophy-feature.max-w-\[800px\] .space-y-6 { margin-top:1.6rem!important; padding:0!important; }
  body.page-about main > section.about-philosophy-feature.max-w-\[800px\] .philosophy-principles { margin-top:1.5rem!important; }
  body.page-about main > section.about-philosophy-feature.max-w-\[800px\] .pt-8 { margin-top:1.4rem!important; }
}

/* About page tablet composition: portrait and landscape are tuned separately. */
body.page-about .about-video-label {
  gap: 0;
  padding: .5rem .82rem;
  font-family: "Manrope", "DM Sans", sans-serif;
  font-size: .6rem;
  font-weight: 700;
  letter-spacing: .16em;
}

@media (min-width: 768px) and (max-width: 899px) {
  body.page-about main > section:first-child {
    padding-top: 4rem !important;
    padding-bottom: 4.5rem !important;
  }
  body.page-about main > section:first-child > .grid {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 2.75rem !important;
  }
  body.page-about main > section:first-child .lg\:col-span-5,
  body.page-about main > section:first-child .lg\:col-span-7 { grid-column: auto !important; }
  body.page-about main > section:first-child .lg\:col-span-5 {
    width: min(100%, 39rem);
    margin-inline: auto;
    text-align: center;
  }
  body.page-about main > section:first-child .lg\:col-span-5 .w-12,
  body.page-about main > section:first-child .lg\:col-span-5 p { margin-inline: auto; }
  body.page-about main > section:first-child .lg\:col-span-5 .flex { justify-content: center; }
  body.page-about main h1.text-7xl {
    font-size: clamp(3rem, 7vw, 3.75rem) !important;
    line-height: 1.02 !important;
  }
  body.page-about .about-intro-video { width: min(100%, 285px) !important; }
  body.page-about main > section.about-philosophy-feature.max-w-\[800px\] {
    width: auto;
    margin: 3rem 2rem !important;
    padding: 3.1rem 2rem !important;
  }
  body.page-about main > section.about-philosophy-feature.max-w-\[800px\] > div {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: .95rem !important;
    text-align: left;
  }
  body.page-about main > section.about-philosophy-feature.max-w-\[800px\] > div > .material-symbols-outlined,
  body.page-about main > section.about-philosophy-feature.max-w-\[800px\] h2,
  body.page-about main > section.about-philosophy-feature.max-w-\[800px\] .space-y-6,
  body.page-about main > section.about-philosophy-feature.max-w-\[800px\] .philosophy-principles,
  body.page-about main > section.about-philosophy-feature.max-w-\[800px\] .pt-8 {
    grid-column: 1 !important;
    grid-row: auto !important;
  }
  body.page-about main > section.about-philosophy-feature.max-w-\[800px\] h2 {
    margin-top: .35rem !important;
    font-size: clamp(2.7rem, 6vw, 3.35rem) !important;
    line-height: .98 !important;
    letter-spacing: -.025em;
  }
  body.page-about main > section.about-philosophy-feature.max-w-\[800px\] .space-y-6 {
    max-width: 42rem;
    margin-top: .8rem !important;
    padding: 0 !important;
  }
  body.page-about main > section.about-philosophy-feature.max-w-\[800px\] .space-y-6 p {
    font-family: "Manrope", sans-serif !important;
    font-size: .96rem !important;
    line-height: 1.72 !important;
  }
  body.page-about main > section.about-philosophy-feature.max-w-\[800px\] .philosophy-principles {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: .8rem !important;
    margin-top: 1.15rem !important;
  }
  body.page-about main > section.about-philosophy-feature.max-w-\[800px\] .philosophy-principles article {
    display: grid;
    gap: .65rem;
    padding: 1rem .85rem;
  }
  body.page-about main > section.about-philosophy-feature.max-w-\[800px\] .pt-8 {
    margin-top: 1.15rem !important;
    text-align: left;
  }
}

@media (min-width: 900px) and (max-width: 1100px) {
  body.page-about main > section:first-child {
    padding-top: 4.5rem !important;
    padding-bottom: 4.5rem !important;
  }
  body.page-about main > section:first-child > .grid {
    grid-template-columns: minmax(0, 1fr) minmax(260px, .68fr) !important;
    gap: clamp(2.5rem, 5vw, 4rem) !important;
  }
  body.page-about main > section:first-child .lg\:col-span-5,
  body.page-about main > section:first-child .lg\:col-span-7 { grid-column: auto !important; }
  body.page-about main h1.text-7xl {
    font-size: clamp(3rem, 5.4vw, 3.55rem) !important;
    line-height: 1.04 !important;
  }
  body.page-about .about-intro-video { width: min(100%, 275px) !important; }
  body.page-about main > section.about-philosophy-feature.max-w-\[800px\] {
    margin: 3.5rem 2.25rem !important;
    padding: 3.3rem 2.4rem !important;
  }
  body.page-about main > section.about-philosophy-feature.max-w-\[800px\] > div {
    display: grid !important;
    grid-template-columns: minmax(13.5rem, .72fr) minmax(0, 1.28fr) !important;
    gap: 1rem 2.75rem !important;
    text-align: left;
  }
  body.page-about main > section.about-philosophy-feature.max-w-\[800px\] h2 {
    font-size: clamp(2.6rem, 4.5vw, 3.25rem) !important;
    line-height: .98 !important;
    letter-spacing: -.025em;
  }
  body.page-about main > section.about-philosophy-feature.max-w-\[800px\] .space-y-6 {
    margin-top: 0 !important;
    padding-top: .2rem !important;
  }
  body.page-about main > section.about-philosophy-feature.max-w-\[800px\] .space-y-6 p {
    font-family: "Manrope", sans-serif !important;
    font-size: .92rem !important;
    line-height: 1.68 !important;
  }
  body.page-about main > section.about-philosophy-feature.max-w-\[800px\] .philosophy-principles {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: .8rem !important;
  }
  body.page-about main > section.about-philosophy-feature.max-w-\[800px\] .philosophy-principles article {
    padding: 1rem;
  }
}

@media (min-width: 768px) and (max-width: 899px) {
  body.page-about main > section:first-child > .grid {
    grid-template-columns: minmax(0, 1fr) minmax(240px, .72fr) !important;
    gap: clamp(1.75rem, 4vw, 2.75rem) !important;
    align-items: center !important;
  }
  body.page-about main > section:first-child .lg\:col-span-5 {
    width: auto;
    margin-inline: 0;
    text-align: left;
  }
  body.page-about main > section:first-child .lg\:col-span-5 .w-12,
  body.page-about main > section:first-child .lg\:col-span-5 p { margin-inline: 0; }
  body.page-about main > section:first-child .lg\:col-span-5 .flex { justify-content: flex-start; }
  body.page-about main h1.text-7xl {
    font-size: clamp(2.55rem, 5.4vw, 3.05rem) !important;
    line-height: 1.02 !important;
    letter-spacing: -.025em !important;
  }
  body.page-about main > section:first-child p.font-body-lg {
    max-width: 30rem;
    font-size: .95rem !important;
    line-height: 1.65 !important;
  }
  body.page-about .about-intro-video { width: min(100%, 270px) !important; }

  body.page-about main > section.about-philosophy-feature.max-w-\[800px\] {
    margin: 3rem 1.5rem !important;
    padding: 3rem 2rem !important;
  }
  body.page-about main > section.about-philosophy-feature.max-w-\[800px\] > div {
    grid-template-columns: minmax(185px, .72fr) minmax(0, 1.28fr) !important;
    gap: 1.25rem 2rem !important;
  }
  body.page-about main > section.about-philosophy-feature.max-w-\[800px\] > div > .material-symbols-outlined,
  body.page-about main > section.about-philosophy-feature.max-w-\[800px\] h2 {
    grid-column: 1 !important;
  }
  body.page-about main > section.about-philosophy-feature.max-w-\[800px\] .space-y-6 {
    grid-column: 2 !important;
    grid-row: 1 / span 2 !important;
    margin-top: 0 !important;
  }
  body.page-about main > section.about-philosophy-feature.max-w-\[800px\] h2 {
    font-size: clamp(2.35rem, 4.7vw, 3rem) !important;
  }
  body.page-about main > section.about-philosophy-feature.max-w-\[800px\] .space-y-6 p {
    font-size: .9rem !important;
    line-height: 1.65 !important;
  }
  body.page-about main > section.about-philosophy-feature.max-w-\[800px\] .philosophy-principles,
  body.page-about main > section.about-philosophy-feature.max-w-\[800px\] .pt-8 {
    grid-column: 1 / -1 !important;
  }
  body.page-about main > section.about-philosophy-feature.max-w-\[800px\] .philosophy-principles article {
    display: block;
    padding: 1rem .75rem;
    text-align: center;
  }
  body.page-about main > section.about-philosophy-feature.max-w-\[800px\] .philosophy-principles article > span {
    margin: 0 auto .65rem;
  }
}

/* Home heritage portrait stays tall on phones instead of collapsing to landscape. */
@media (max-width: 767px) {
  body.page-home .home-story-media {
    width: min(82vw, 310px) !important;
    max-width: 310px !important;
    margin-inline: auto;
  }
  body.page-home .home-story-frame.aspect-\[4\/5\] {
    width: 100% !important;
    height: auto !important;
    max-height: none !important;
    aspect-ratio: 4 / 5 !important;
  }
  body.page-home .home-story-frame.aspect-\[4\/5\] img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center 35% !important;
  }
}

/* Anchor the About video corner directly to the frame instead of the full grid column. */
body.page-about .about-video-wrap {
  position: relative;
  width: min(100%, 360px);
  margin-inline: auto;
}
body.page-about .about-video-wrap .about-intro-video { width: 100% !important; }
body.page-about .about-video-corner {
  position: absolute;
  right: -.6rem;
  bottom: -.6rem;
  z-index: -1;
  width: 5rem;
  height: 5rem;
  border-right: 2px solid rgba(53,72,54,.34);
  border-bottom: 2px solid rgba(53,72,54,.34);
  pointer-events: none;
}
@media (min-width: 768px) and (max-width: 899px) {
  body.page-about .about-video-wrap { width: min(100%, 270px); }
}
@media (min-width: 900px) and (max-width: 1100px) {
  body.page-about .about-video-wrap { width: min(100%, 275px); }
}
@media (max-width: 767px) {
  body.page-about .about-video-wrap { width: min(86vw, 330px); }
}

/* Philosophy card: reserved video frame at left and existing copy at right. */
body.page-about main > section.about-philosophy-feature.max-w-\[800px\] > div {
  display: grid !important;
  grid-template-columns: minmax(16rem, .9fr) minmax(0, 1.1fr) !important;
  gap: clamp(1.75rem, 3vw, 3rem) clamp(2rem, 5vw, 4.5rem) !important;
  align-items: start;
}
body.page-about .philosophy-video-frame {
  grid-column: 1;
  grid-row: 1;
  display: grid;
  place-items: center;
  width: 100%;
  overflow: hidden;
  border: 1px solid rgba(196,162,77,.42);
  border-radius: 1.15rem;
  background:
    radial-gradient(circle at 50% 42%, rgba(196,162,77,.12), transparent 35%),
    linear-gradient(145deg, #344738, #1f3227);
  box-shadow: 0 1.2rem 2.8rem rgba(53,72,54,.14);
}
body.page-about .philosophy-video-frame > video {
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
  background: #1f3227;
}
body.page-about .philosophy-copy-column {
  grid-column: 2;
  grid-row: 1;
  min-width: 0;
  text-align: left;
}
body.page-about .philosophy-copy-column > .material-symbols-outlined {
  display: block;
  margin-bottom: clamp(2.5rem, 5vw, 4.5rem);
  color: var(--aura-gold-dark) !important;
  font-size: 1.65rem !important;
}
body.page-about main > section.about-philosophy-feature.max-w-\[800px\] .philosophy-copy-column h2 {
  grid-column: auto !important;
  transform: none !important;
}
body.page-about main > section.about-philosophy-feature.max-w-\[800px\] .philosophy-copy-column .space-y-6 {
  grid-column: auto !important;
  grid-row: auto !important;
  margin-top: clamp(2rem, 4vw, 3.25rem) !important;
  padding: 0 !important;
}
body.page-about main > section.about-philosophy-feature.max-w-\[800px\] .philosophy-principles,
body.page-about main > section.about-philosophy-feature.max-w-\[800px\] .pt-8 {
  grid-column: 1 / -1 !important;
}

@media (max-width: 820px) {
  body.page-about main > section.about-philosophy-feature.max-w-\[800px\] > div {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 2rem !important;
  }
  body.page-about .philosophy-video-frame,
  body.page-about .philosophy-copy-column {
    grid-column: 1 !important;
    grid-row: auto !important;
  }
  body.page-about .philosophy-video-frame {
    width: min(100%, 22rem);
    margin-inline: auto;
  }
  body.page-about .philosophy-copy-column > .material-symbols-outlined {
    margin-bottom: 2.5rem;
  }
}

/* Match the second About story to the opening story's editorial text rhythm. */
body.page-about main > section.about-philosophy-feature.max-w-\[800px\] > div {
  align-items: stretch;
}
body.page-about .philosophy-copy-column {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 100%;
  margin-top: 0 !important;
  padding-block: clamp(.5rem, 1.5vw, 1.5rem);
}
body.page-about .philosophy-kicker-block {
  display: grid;
  gap: .8rem;
  margin-bottom: clamp(1.5rem, 3vw, 2.25rem);
}
body.page-about .philosophy-kicker {
  color: var(--aura-gold-dark);
  font: 700 .66rem/1.2 "DM Sans", "Manrope", sans-serif;
  letter-spacing: .22em;
  text-transform: uppercase;
}
body.page-about .philosophy-kicker-rule {
  display: block;
  width: 2.75rem;
  height: 1px;
  background: rgba(167,124,52,.55);
}
body.page-about main > section.about-philosophy-feature.max-w-\[800px\] .philosophy-copy-column h2 {
  font-size: clamp(2.65rem, 4.3vw, 4rem) !important;
  line-height: .98 !important;
  letter-spacing: -.035em;
}
body.page-about main > section.about-philosophy-feature.max-w-\[800px\] .philosophy-copy-column h2::before {
  content: none !important;
}
body.page-about .philosophy-copy-column h2 > span {
  font-style: italic;
  font-weight: 500;
}
body.page-about main > section.about-philosophy-feature.max-w-\[800px\] .philosophy-copy-column .philosophy-body {
  margin-top: clamp(2rem, 3.5vw, 2.8rem) !important;
}
body.page-about main > section.about-philosophy-feature.max-w-\[800px\] .philosophy-copy-column .philosophy-body p {
  font-size: clamp(.88rem, 1.15vw, 1rem) !important;
  line-height: 1.72 !important;
}
body.page-about main > section.about-philosophy-feature.max-w-\[800px\] .philosophy-copy-column .philosophy-body p:first-child {
  color: rgba(53,72,54,.82) !important;
}
body.page-about .philosophy-location-note {
  display: flex;
  align-items: center;
  gap: .8rem;
  margin-top: clamp(1.75rem, 3vw, 2.4rem);
  color: rgba(167,124,52,.78);
  font: 700 .66rem/1.2 "DM Sans", "Manrope", sans-serif;
  letter-spacing: .16em;
  text-transform: uppercase;
}
body.page-about .philosophy-location-note > span:first-child {
  width: 1.85rem;
  height: 1px;
  background: rgba(167,124,52,.42);
}

@media (max-width: 820px) {
  body.page-about .philosophy-copy-column {
    min-height: 0;
    padding-block: .75rem 0;
  }
  body.page-about .philosophy-kicker-block {
    margin-bottom: 1.35rem;
  }
  body.page-about main > section.about-philosophy-feature.max-w-\[800px\] .philosophy-copy-column h2 {
    font-size: clamp(2.35rem, 12vw, 3.2rem) !important;
  }
}

/* About media alignment: fluid, centered frames and matching mobile text edges. */
body.page-about main > section:first-child .lg\:col-span-7 {
  display: flex;
  justify-content: center;
  min-width: 0;
}
body.page-about .about-video-wrap {
  width: min(100%, 360px) !important;
  margin-inline: auto !important;
}
@media (min-width:1024px) {
  body.page-about main > section:first-child .lg\:col-span-7 {
    justify-content:flex-end;
  }
  body.page-about .about-video-wrap {
    margin-left:auto !important;
    margin-right:0 !important;
  }
}
body.page-about main > section.bg-surface-container-low .grid.grid-cols-1.md\:grid-cols-3 > .space-y-6 {
  width: 100%;
  min-width: 0;
}
body.page-about main > section.bg-surface-container-low .grid.grid-cols-1.md\:grid-cols-3 > .space-y-6 > .aspect-\[9\/16\] {
  width: min(100%, 320px) !important;
  height: auto !important;
  max-height: none !important;
  margin-inline: auto !important;
  aspect-ratio: 4 / 4.7 !important;
  border: 1px solid rgba(167, 124, 52, .48) !important;
  box-shadow:
    0 14px 34px rgba(53, 72, 54, .11),
    inset 0 0 0 1px rgba(255, 255, 255, .5) !important;
  transition: border-color .25s ease, box-shadow .25s ease, transform .25s ease !important;
}
body.page-about main > section.bg-surface-container-low .grid.grid-cols-1.md\:grid-cols-3 > .space-y-6 > .aspect-\[9\/16\]:hover {
  border-color: rgba(167, 124, 52, .78) !important;
  box-shadow:
    0 18px 42px rgba(53, 72, 54, .16),
    inset 0 0 0 1px rgba(255, 255, 255, .62) !important;
  transform: translateY(-2px);
}
body.page-about main > section.bg-surface-container-low .grid.grid-cols-1.md\:grid-cols-3 > .space-y-6 > h3,
body.page-about main > section.bg-surface-container-low .grid.grid-cols-1.md\:grid-cols-3 > .space-y-6 > p {
  width: min(100%, 320px);
  margin-inline: auto;
}
body.page-about .philosophy-video-frame {
  justify-self: center;
}

@media (max-width: 767px) {
  body.page-about main > section:first-child {
    padding-inline: 20px !important;
  }
  body.page-about main > section:first-child > .grid {
    width: 100%;
    gap: 2.25rem !important;
  }
  body.page-about main > section:first-child .lg\:col-span-5,
  body.page-about main > section:first-child .lg\:col-span-7,
  body.page-about main > section:first-child .about-video-wrap {
    width: min(100%, 330px) !important;
    margin-inline: auto !important;
  }
  body.page-about main > section:first-child .lg\:col-span-5 {
    text-align: left;
  }
  body.page-about main > section:first-child .lg\:col-span-5 .w-12,
  body.page-about main > section:first-child .lg\:col-span-5 p {
    margin-inline: 0 !important;
  }
  body.page-about main > section:first-child .lg\:col-span-5 .flex {
    justify-content: flex-start !important;
  }
  body.page-about .about-intro-video {
    width: 100% !important;
  }
  body.page-about main > section.bg-surface-container-low > div {
    padding-inline: 20px !important;
  }
  body.page-about main > section.bg-surface-container-low .grid.grid-cols-1.md\:grid-cols-3 {
    justify-items: center;
  }
  body.page-about main > section.bg-surface-container-low .grid.grid-cols-1.md\:grid-cols-3 > .space-y-6 {
    width: min(100%, 330px);
  }
  body.page-about main > section.bg-surface-container-low .grid.grid-cols-1.md\:grid-cols-3 > .space-y-6 > .aspect-\[9\/16\],
  body.page-about main > section.bg-surface-container-low .grid.grid-cols-1.md\:grid-cols-3 > .space-y-6 > h3,
  body.page-about main > section.bg-surface-container-low .grid.grid-cols-1.md\:grid-cols-3 > .space-y-6 > p {
    width: 100% !important;
  }
  body.page-about main > section.about-philosophy-feature.max-w-\[800px\] .philosophy-video-frame,
  body.page-about main > section.about-philosophy-feature.max-w-\[800px\] .philosophy-copy-column {
    width: 100% !important;
    max-width: 330px;
    margin-inline: auto !important;
  }
}

/* Compact the philosophy values and tighten their separation from the story row. */
body.page-about main > section.about-philosophy-feature.max-w-\[800px\] > div {
  row-gap: clamp(1.25rem, 2vw, 1.75rem) !important;
}
body.page-about main > section.about-philosophy-feature.max-w-\[800px\] .philosophy-principles {
  justify-self: center;
  width: min(100%, 860px);
  gap: .75rem !important;
  margin-top: 0 !important;
}
body.page-about main > section.about-philosophy-feature.max-w-\[800px\] .philosophy-principles article {
  min-height: 5.2rem;
  gap: .7rem;
  padding: .8rem .9rem !important;
  border-radius: .85rem;
}
body.page-about main > section.about-philosophy-feature.max-w-\[800px\] .philosophy-principles article > span {
  flex-basis: 2.2rem;
  width: 2.2rem;
  height: 2.2rem;
  font-size: 1rem !important;
}
body.page-about main > section.about-philosophy-feature.max-w-\[800px\] .philosophy-principles h3 {
  font-size: 1.05rem !important;
}
body.page-about main > section.about-philosophy-feature.max-w-\[800px\] .philosophy-principles p {
  font-size: .72rem !important;
  line-height: 1.4 !important;
}

/* Place the three values inside the second/right story column. */
body.page-about main > section.about-philosophy-feature.max-w-\[800px\] .philosophy-copy-column > .philosophy-principles {
  width: 100%;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .55rem !important;
  margin-top: clamp(1.35rem, 2.5vw, 2rem) !important;
}
body.page-about main > section.about-philosophy-feature.max-w-\[800px\] .philosophy-copy-column > .philosophy-principles article {
  min-width: 0;
  min-height: 4.75rem;
  gap: .55rem;
  padding: .65rem .7rem !important;
}
body.page-about main > section.about-philosophy-feature.max-w-\[800px\] .philosophy-copy-column > .philosophy-principles article > span {
  flex-basis: 1.9rem;
  width: 1.9rem;
  height: 1.9rem;
  font-size: .9rem !important;
}
body.page-about main > section.about-philosophy-feature.max-w-\[800px\] .philosophy-copy-column > .philosophy-principles h3 {
  font-size: .92rem !important;
}
body.page-about main > section.about-philosophy-feature.max-w-\[800px\] .philosophy-copy-column > .philosophy-principles p {
  font-size: .64rem !important;
  line-height: 1.35 !important;
}

@media (max-width: 820px) {
  body.page-about main > section.about-philosophy-feature.max-w-\[800px\] .philosophy-copy-column > .philosophy-principles {
    grid-template-columns: 1fr;
    margin-top: 1.4rem !important;
  }
}

/* Keep the second video frame flush to the video's natural height. */
body.page-about .philosophy-video-frame {
  align-self: start;
  height: auto !important;
  min-height: 0;
  line-height: 0;
  background: transparent !important;
}
body.page-about .philosophy-video-frame > video {
  height: auto !important;
}
body.page-about .philosophy-copy-column {
  padding-block: 0;
}
body.page-about .philosophy-kicker-block {
  margin-bottom: clamp(1.25rem, 2vw, 1.7rem);
}
body.page-about main > section.about-philosophy-feature.max-w-\[800px\] .philosophy-copy-column .philosophy-body {
  margin-top: clamp(1.65rem, 2.6vw, 2.15rem) !important;
}
body.page-about main > section.about-philosophy-feature.max-w-\[800px\] .philosophy-copy-column .philosophy-body > :not([hidden]) ~ :not([hidden]) {
  margin-top: 1rem !important;
}
body.page-about .philosophy-location-note {
  margin-top: clamp(1.25rem, 2vw, 1.6rem);
}
body.page-about main > section.about-philosophy-feature.max-w-\[800px\] .philosophy-copy-column > .philosophy-principles {
  margin-top: clamp(1rem, 1.8vw, 1.3rem) !important;
}

/* Reduce the empty area surrounding the philosophy call-to-action. */
body.page-about main > section.about-philosophy-feature.max-w-\[800px\] {
  padding-top: clamp(1.5rem, 2.5vw, 2rem) !important;
  padding-bottom: clamp(1.5rem, 2.5vw, 2rem) !important;
}
body.page-about main > section.about-philosophy-feature.max-w-\[800px\] .pt-8 {
  margin-top: 0 !important;
}

/* Anchor the mirrored video corner tightly above the story label. */
body.page-about .about-story-kicker {
  position: relative;
}
body.page-about .about-story-kicker > .about-story-corner {
  top: -.6rem;
  right: auto;
  bottom: auto;
  left: -.6rem;
  z-index: 0;
  width: 5rem;
  height: 5rem;
  border-top: 2px solid rgba(53,72,54,.34);
  border-left: 2px solid rgba(53,72,54,.34);
  border-right: 0;
  border-bottom: 0;
}

/* Slightly tighten the space below the opening story and video. */
body.page-about main > section:first-child {
  padding-bottom: clamp(5rem, 7vw, 6rem) !important;
}

/* Keep the heritage video in its existing frame and balance both columns. */
body.page-home .home-story-video {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}
body.page-home .home-story-frame {
  aspect-ratio: 9 / 16 !important;
}
body.page-home .home-story-copy p {
  line-height: 1.78 !important;
}

/* About opening story: extend the copy toward the fixed video frame without
   shifting either outer edge or changing the established vertical position. */
@media (min-width: 1101px) {
  body.page-about main > section:first-child > .grid {
    grid-template-columns: minmax(0, 1fr) 360px !important;
    column-gap: 32px !important;
  }
  body.page-about main > section:first-child .lg\:col-span-5,
  body.page-about main > section:first-child .lg\:col-span-7 {
    grid-column: auto !important;
  }
  body.page-about .about-story-copy {
    min-height: 560px;
  }
  body.page-about .about-story-body,
  body.page-about .about-story-body p {
    width: 100%;
    max-width: none !important;
  }
}

@media (min-width: 900px) and (max-width: 1100px) {
  body.page-about .about-story-body p {
    max-width: none !important;
  }
}
@media (min-width: 901px) {
  body.page-home .home-story-copy {
    align-self: stretch;
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
  body.page-home .home-story-copy .home-story-stats {
    margin-top: 2rem !important;
    padding-top: 0;
  }
}
@media (min-width: 768px) and (max-width: 900px) {
  body.page-home .home-story-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

/* Match the About story typography to the homepage Heritage treatment. */
body.page-about .about-story-kicker > span:not(.about-story-corner) {
  color: var(--aura-forest-soft, #405b46) !important;
  font-family: "Manrope", Arial, sans-serif !important;
  font-size: .72rem !important;
  font-weight: 500 !important;
  letter-spacing: .18em !important;
}
body.page-about .about-story-kicker > .w-12 {
  background-color: rgba(167, 124, 52, .55) !important;
}
body.page-about .about-story-copy > h1 {
  color: var(--aura-forest, #243d2e) !important;
  font-family: "Playfair Display", Georgia, serif !important;
  font-size: clamp(2.8rem, 4.4vw, 4rem) !important;
  font-weight: 500 !important;
  letter-spacing: -.045em !important;
  line-height: 1.06 !important;
}
body.page-about .about-story-copy > h1 > span {
  color: var(--aura-gold, #a77c34) !important;
  font-weight: 400 !important;
}
body.page-about .about-story-body p {
  color: #59645c !important;
  font-family: "Manrope", Arial, sans-serif !important;
  font-size: .98rem !important;
  font-weight: 400 !important;
  line-height: 1.78 !important;
}
body.page-about .about-story-content > .flex {
  color: #657068 !important;
  font-family: "Manrope", Arial, sans-serif !important;
  font-size: .68rem !important;
  font-weight: 500 !important;
  letter-spacing: .16em !important;
}
body.page-about .about-story-content > .flex > .h-px {
  background-color: rgba(167, 124, 52, .55) !important;
}
@media (max-width: 600px) {
  body.page-about .about-story-copy > h1 {
    font-size: clamp(2.65rem, 13vw, 3.35rem) !important;
  }
  body.page-about .about-story-body p {
    font-size: .95rem !important;
  }
}

/* Mobile card rhythm is last so older component rules cannot enlarge it. */
@media (max-width: 600px) {
  body.page-home .home-story-media,
  body.page-home .home-story-copy,
  body.page-home > main > section.bg-surface-container > .px-margin-desktop,
  body.page-home .home-atmosphere-grid,
  body.page-home .home-products-heading,
  body.page-home .home-products-grid,
  body.page-home .home-services-intro,
  body.page-home .home-services-grid {
    width: min(100%, 300px) !important;
    max-width: 300px !important;
    margin-inline: auto !important;
  }

  body.page-home .home-story-grid {
    padding-inline: 0 !important;
  }

  body.page-home .home-story-frame {
    max-height: 500px;
  }

  body.page-home .home-atmosphere-grid > div {
    width: 100%;
  }

  body.page-home .home-atmosphere-grid > div > .aspect-\[3\/4\] {
    aspect-ratio: 4 / 5 !important;
  }

  body.page-home .home-atmosphere-grid > div > p {
    margin-top: .7rem !important;
  }

  body.page-home .home-product-card {
    border-radius: 1.1rem;
    width: 100%;
  }

  body.page-home .home-product-media {
    height: 220px !important;
    padding: .65rem;
  }

  body.page-home .home-product-media img,
  body.page-home .home-product-kanpeki .home-product-media img {
    height: 100%;
    object-fit: contain !important;
    object-position: center !important;
    padding: 0 !important;
    width: 100%;
  }

  body.page-home .home-product-copy {
    padding: 1.1rem 1.15rem 1.25rem;
  }

  body.page-home .home-product-copy h3 {
    font-size: 1.55rem;
  }

  body.page-home .home-product-copy p {
    font-size: .82rem;
    line-height: 1.55;
  }

  body.page-home .home-services-grid > .home-service-card {
    height: 190px !important;
    min-height: 190px !important;
    width: 100%;
  }

  body.page-home .home-services-grid > .home-service-card-wide {
    height: 175px !important;
    min-height: 175px !important;
  }

  body.page-home .home-service-card > .absolute.bottom-0 {
    padding: 1.1rem !important;
  }

  body.page-home .home-service-card > .absolute.bottom-0 h3 {
    font-size: 1.45rem !important;
  }

  body.page-home .home-service-card > .absolute.bottom-0 p {
    font-size: .76rem !important;
    line-height: 1.45 !important;
  }

  body.page-home > main > section.bg-surface-container > .px-margin-desktop:has(.home-atmosphere-grid) {
    box-sizing: border-box;
    max-width: 300px !important;
    padding-inline: 0 !important;
    width: min(300px, calc(100% - 36px)) !important;
  }
}
