:root {
  --lu-ink: #17323a;
  --lu-surface: #fff9f5;
  --lu-surface-2: #ddedef;
  --lu-line: #a9c5c8;
  --lu-text: #17323a;
  --lu-muted: #4c666c;
  --lu-accent: #0e4a5a;
  --lu-accent-2: #f29d78;
  --lu-highlight: #be8b3c;
  --lu-readable-accent: #0e4a5a;
  --lu-button-text: #fff9f5;
  --lu-radius: 42px 12px 42px 12px;
  --lu-hero-image: url("https://images.unsplash.com/photo-1596462502278-27bfdc403348?w=1600&h=1100&fit=crop");
  --lu-shadow: 0 24px 70px color-mix(in srgb, var(--lu-ink) 22%, transparent);
}

html { scroll-behavior: smooth; }
body.lumea-botanics-block { color: var(--lu-text); overflow-wrap: anywhere; }
body.lumea-botanics-block *, body.lumea-botanics-block *::before, body.lumea-botanics-block *::after { box-sizing: border-box; }

.lu-site-header {
  position: sticky;
  top: 0;
  z-index: 100;
  border-bottom: 1px solid var(--lu-line);
  backdrop-filter: blur(18px) saturate(145%);
  transition: box-shadow .28s ease, background .28s ease, border-color .28s ease;
}
.lu-site-header.is-scrolled { box-shadow: 0 16px 42px color-mix(in srgb, var(--lu-ink) 22%, transparent); }
body.admin-bar .lu-site-header { top: var(--wp-admin--admin-bar--height, 32px); }
.lu-header-inner { min-height: 76px; gap: 1rem; }
.lu-brand { min-width: 0; }
.lu-wordmark, .lu-footer-title { min-width: 0; }
.lu-wordmark a, .lu-footer-title a { color: var(--lu-text); text-decoration: none; font-family: var(--wp--preset--font-family--display); font-weight: 750; }
.lu-primary-nav { min-width: 0; max-width: min(58vw, 720px); }
.lu-primary-nav .wp-block-navigation__container, .lu-primary-nav .wp-block-page-list { min-width: 0; flex-wrap: nowrap; overflow: hidden; }
.lu-primary-nav a { color: var(--lu-text); text-decoration: none; white-space: nowrap; }
.lu-primary-nav a:hover { color: var(--lu-readable-accent); }
.lu-header-actions { gap: .7rem; }
.lu-header-actions .wc-block-mini-cart__button, .lu-header-actions .wp-block-woocommerce-customer-account a { color: var(--lu-text); }

.lu-main { min-height: 54vh; }
.lu-section, .lu-hero, .lu-article { padding-top: clamp(4rem, 9vw, 8rem); padding-bottom: clamp(4rem, 9vw, 8rem); }
.lu-hero { position: relative; isolation: isolate; min-height: min(720px, 78vh); display: grid; align-content: center; overflow: hidden; }
.lu-display { max-width: 13ch; font-size: clamp(2.55rem, 6vw, 5.6rem) !important; line-height: .98; text-wrap: balance; }
.lu-display-line { display: block; width: max-content; max-width: 100%; white-space: nowrap; }
.lu-subpage-hero { min-height: clamp(420px, 58vh, 600px); padding-block: clamp(3rem, 6vw, 5.5rem); }
.lu-about-hero::after { border-radius: 0 50% 50% 50%; transform: rotate(18deg); }
.lu-services-hero::after { width: clamp(7rem, 18vw, 15rem); border-radius: 0; transform: rotate(45deg); }
.lu-about-editorial { min-height: auto; background: var(--lu-surface-2); }
.lu-about-editorial-columns { align-items: stretch !important; gap: 0 !important; }
.lu-about-editorial-columns > .wp-block-column { min-width: 0; }
.lu-about-editorial-copy { position: relative; z-index: 1; display: grid; min-width: 0; align-content: center; overflow: hidden; padding: clamp(2rem, 6vw, 6rem); border-inline-start: clamp(.35rem, .8vw, .75rem) solid var(--lu-accent); background: var(--lu-surface); }
.lu-about-editorial-copy .lu-display { max-width: 100%; font-size: clamp(2.2rem, 3.4vw, 3.8rem) !important; }
.lu-about-editorial-copy .lu-lead { max-width: 100%; overflow-wrap: anywhere; }
.lu-about-editorial-image { margin: 0; }
.lu-about-editorial-image img { width: 100%; height: 100%; min-height: clamp(360px, 54vw, 680px); border-radius: 0; object-fit: cover; }
.lu-hero::after { content: ""; position: absolute; z-index: -1; width: clamp(9rem, 24vw, 22rem); aspect-ratio: 1; right: 7%; top: 12%; border: 1px solid var(--lu-accent); border-radius: 50%; background: color-mix(in srgb, var(--lu-accent-2) 12%, transparent); pointer-events: none; }
.lu-kicker { color: var(--lu-readable-accent); font-family: var(--wp--preset--font-family--mono); font-size: .78rem; font-weight: 750; letter-spacing: .14em; text-transform: uppercase; }
.lu-lead { max-width: 720px; color: var(--lu-muted); }
.lu-card { height: 100%; padding: clamp(1.25rem, 2.5vw, 2rem); border: 1px solid var(--lu-line); background: color-mix(in srgb, var(--lu-surface-2) 86%, transparent); transition: transform .28s ease, border-color .28s ease, box-shadow .28s ease; }
.lu-card img, .lu-image-card img { width: 100%; object-fit: cover; border-radius: var(--lu-radius); }
.lu-image-card img { box-shadow: var(--lu-shadow); }
.lu-stat strong { display: block; color: var(--lu-text); font-size: clamp(2.1rem, 4vw, 4rem); line-height: 1; }

/* Subpage compositions deliberately differ by design family. */
.lu-hero-panorama { width: min(100%, 1440px); margin-inline: auto; }
.lu-hero-panorama img { width: 100%; height: clamp(300px, 48vw, 620px); object-fit: cover; }
.lu-hero-story-columns { align-items: end !important; margin-top: clamp(-5rem, -7vw, -2.5rem); position: relative; z-index: 2; }
.lu-hero-story-columns > .wp-block-column:first-child { padding: clamp(1.4rem, 4vw, 3.5rem); background: var(--lu-surface); border: 1px solid var(--lu-line); }
.lu-hero-detail-image img { height: clamp(260px, 34vw, 460px); object-fit: cover; }

.lu-hero-spec-rail { min-height: auto; align-content: start; }
.lu-subpage-hero.lu-hero-spec-rail .lu-hero-copy { padding-block: clamp(3rem, 6vw, 5rem) clamp(1.5rem, 3vw, 2.5rem); }
.lu-hero-spec-rail .lu-hero-copy { padding-block: clamp(4rem, 9vw, 8rem) clamp(2rem, 5vw, 4rem); border-bottom: 2px solid var(--lu-ink); }
.lu-device-rail { gap: 0 !important; margin-block: 0; border-inline: 1px solid var(--lu-line); }
.lu-device-rail > .wp-block-column { border-right: 1px solid var(--lu-line); }
.lu-device-rail > .wp-block-column:last-child { border-right: 0; }
.lu-device-rail-image { margin: 0; }
.lu-device-rail-image img { width: 100%; height: clamp(300px, 42vw, 620px); border-radius: 0; object-fit: cover; }

.lu-hero-portrait-ritual { min-height: auto; }
.lu-subpage-hero.lu-hero-portrait-ritual .lu-hero-ritual-columns { min-height: 0; }
.lu-subpage-hero.lu-hero-portrait-ritual .lu-hero-portrait img { height: clamp(360px, 48vw, 560px); }
.lu-hero-ritual-columns { align-items: center !important; min-height: min(820px, 86vh); }
.lu-hero-portrait-stack { position: relative; padding: 0; }
.lu-hero-portrait img { width: 82%; height: clamp(480px, 65vw, 760px); object-fit: cover; border-radius: 48% 48% 16px 16px; }
.lu-hero-inset { position: absolute; right: 0; bottom: -2rem; width: 42%; }
.lu-hero-inset img { aspect-ratio: 1; object-fit: cover; border: .7rem solid var(--lu-surface); border-radius: 50%; }

.lu-hero-scoreboard-strip { min-height: auto; padding-bottom: 0; }
.lu-subpage-hero.lu-hero-scoreboard-strip .lu-hero-scoreboard { padding-block: clamp(3rem, 6vw, 5rem); }
.lu-hero-scoreboard { align-items: end !important; padding-block: clamp(4rem, 10vw, 9rem); }
.lu-hero-score-card { border-width: 3px; border-color: var(--lu-accent-2); }
.lu-gear-strip { gap: .35rem !important; max-width: none !important; }
.lu-gear-strip-image { margin: 0; }
.lu-gear-strip-image img { width: 100%; height: clamp(220px, 28vw, 390px); border-radius: 0; object-fit: cover; filter: saturate(.8) contrast(1.08); }

.lu-chapter-columns { align-items: center !important; gap: clamp(2rem, 7vw, 7rem); }
.lu-chapter-image img { width: 100%; min-height: 420px; max-height: 680px; object-fit: cover; }
.lu-chapter-layout-spec-rail { border-top: 1px solid var(--lu-line); }
.lu-chapter-layout-spec-rail .lu-chapter-columns { align-items: stretch !important; }
.lu-chapter-layout-spec-rail .lu-chapter-image img { height: 100%; border-radius: 0; }
.lu-chapter-layout-portrait-ritual .lu-chapter-image img { border-radius: 180px 180px 18px 18px; }
.lu-chapter-layout-scoreboard-strip { border-top: 3px solid var(--lu-accent); }
.lu-chapter-layout-scoreboard-strip .lu-chapter-image img { border-radius: 0; clip-path: polygon(0 0, 94% 0, 100% 12%, 100% 100%, 6% 100%, 0 88%); }

.lu-program-grid { display: grid !important; gap: clamp(1rem, 2.5vw, 2rem); grid-template-columns: repeat(12, minmax(0, 1fr)); }
.lu-program-grid > * { grid-column: span 4; }
.lu-program-grid > :first-child { grid-column: span 7; }
.lu-program-grid > :nth-child(2) { grid-column: span 5; }
.lu-program-image img { aspect-ratio: 16 / 10; object-fit: cover; }
.lu-program-grid-spec-rail > * { border-radius: 0; }
.lu-program-grid-portrait-ritual > :nth-child(2n) { transform: translateY(2rem); }
.lu-program-grid-scoreboard-strip > * { border-width: 2px; }
.lu-faq-guide-grid, .lu-contact-prep-grid { display: grid !important; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 1rem; }
.lu-faq-route-columns, .lu-dashboard-guide-columns { align-items: center !important; gap: clamp(2rem, 6vw, 6rem); }
.lu-faq-route-image img, .lu-dashboard-guide-image img { width: 100%; min-height: 380px; max-height: 560px; object-fit: cover; }
.lu-contact-response { align-items: stretch !important; }

.lu-ticker { position: relative; overflow: hidden; border-block: 1px solid var(--lu-line); background: var(--lu-surface-2); }
.lu-ticker-track { width: max-content; white-space: nowrap; animation: lu-ticker-motion 28s linear infinite; }
.lu-ticker.is-paused .lu-ticker-track { animation-play-state: paused; }
.lu-ticker-toggle { position: absolute; inset-block-start: 50%; inset-inline-end: .75rem; z-index: 1; min-height: 2.5rem; padding: .45rem .8rem; transform: translateY(-50%); border: 1px solid var(--lu-line); border-radius: 999px; color: var(--lu-text); background: var(--lu-surface); cursor: pointer; font: inherit; font-size: .8rem; font-weight: 750; }
.lu-ticker-toggle:hover { border-color: var(--lu-readable-accent); color: var(--lu-readable-accent); }
.lu-ticker-toggle:focus-visible { outline: 3px solid var(--lu-highlight); outline-offset: 3px; }

.lu-scroll-row { display: grid !important; grid-auto-flow: column; grid-auto-columns: min(84vw, 520px); overflow-x: auto; overscroll-behavior-inline: contain; scroll-snap-type: inline mandatory; padding-bottom: 1rem; }
.lu-scroll-row > * { scroll-snap-align: start; }
.lu-compare-table { overflow-x: auto; }
.lu-compare-table table { min-width: 700px; }

.lu-reveal { opacity: 1; filter: none; transform: none; transition: opacity .7s ease, filter .7s ease, transform .7s cubic-bezier(.2,.7,.2,1); }
html.lu-reveal-ready body.lumea-botanics-block .lu-reveal.is-visible { opacity: 1; filter: none; transform: none; }
.editor-styles-wrapper .lu-reveal, .block-editor-block-list__layout .lu-reveal { opacity: 1 !important; filter: none !important; transform: none !important; }

.lu-site-footer { margin-top: 0; padding-top: clamp(4rem, 7vw, 7rem); padding-bottom: 2rem; border-top: 1px solid var(--lu-line); background: var(--lu-surface-2); }
.lu-site-footer .wp-block-navigation { gap: .55rem; }
.lu-site-footer a { color: var(--lu-muted); }
.lu-site-footer a:hover { color: var(--lu-readable-accent); }
body.lumea-botanics-block .wp-block-button__link { color: var(--lu-button-text); background: var(--lu-accent); }
.lu-404-home .wp-block-navigation-item__content { display: inline-flex; border-radius: 999px; padding: .75rem 1.35rem; color: var(--lu-button-text); background: var(--lu-accent); font-weight: 700; text-decoration: none; }

body.lumea-botanics-block .woocommerce .price, body.lumea-botanics-block .wc-block-components-product-price { color: var(--lu-readable-accent); font-weight: 800; }
body.lumea-botanics-block .wc-block-components-button, body.lumea-botanics-block .wc-block-cart__submit-button, body.lumea-botanics-block .wc-block-components-checkout-place-order-button { border-radius: 999px !important; color: var(--lu-button-text) !important; background: var(--lu-accent) !important; font-weight: 800 !important; }
body.lumea-botanics-block .wc-block-components-text-input input, body.lumea-botanics-block .wc-block-components-combobox .wc-block-components-combobox-control input, body.lumea-botanics-block .woocommerce input, body.lumea-botanics-block .woocommerce select, body.lumea-botanics-block .woocommerce textarea { color: var(--lu-text) !important; border-color: var(--lu-line) !important; border-radius: 18px !important; background: var(--lu-surface) !important; }
body.lumea-botanics-block .woocommerce-message, body.lumea-botanics-block .woocommerce-info { color: var(--lu-text); border-top-color: var(--lu-accent); background: var(--lu-surface-2); }


/* Design family: soft editorial beauty. */
body.lumea-botanics-block {
  background:
    radial-gradient(ellipse at 0 12%, color-mix(in srgb, var(--lu-accent-2) 17%, transparent), transparent 38rem),
    radial-gradient(ellipse at 100% 32%, color-mix(in srgb, var(--lu-highlight) 16%, transparent), transparent 34rem),
    var(--lu-surface);
}
.lu-site-header { background: color-mix(in srgb, var(--lu-surface) 86%, transparent); border-bottom-color: color-mix(in srgb, var(--lu-line) 58%, transparent); }
.lu-hero { background: linear-gradient(92deg, var(--lu-surface) 0 44%, color-mix(in srgb, var(--lu-surface-2) 52%, transparent)), var(--lu-hero-image) center/cover; }
.lu-display-text { color: var(--lu-accent); font-weight: 500; letter-spacing: -.035em; }
.lu-card { border-radius: 42px 12px 42px 12px; box-shadow: 0 24px 65px color-mix(in srgb, var(--lu-accent) 10%, transparent); }
.lu-card:hover { transform: translateY(-4px) scale(1.012); box-shadow: 0 30px 74px color-mix(in srgb, var(--lu-highlight) 18%, transparent); }
html.lu-reveal-ready body.lumea-botanics-block .lu-reveal { opacity: 0; filter: blur(7px); transform: translateY(18px) scale(.965); }
@media (max-width: 600px) {
  .lu-front-hero .lu-hero-ritual-columns { flex-direction: column-reverse !important; flex-wrap: nowrap !important; }
  .lu-front-hero .lu-hero-ritual-columns > .wp-block-column:first-child { order: 2; }
  .lu-front-hero .lu-hero-ritual-columns > .wp-block-column:last-child { order: 1; }
  .lu-front-hero .lu-hero-portrait img { width: 72%; height: 220px; }
  .lu-front-hero .lu-hero-inset { width: 34%; }
}
@keyframes lu-ticker-motion { to { transform: translateX(-50%); } }
@keyframes lu-hero-motion { 50% { transform: translate3d(-.8rem, -.7rem, 0) scale(1.06); opacity: .72; } }
.lu-hero::after { animation: lu-hero-motion 11s ease-in-out infinite; }


/* Tablet layout. */
@media (max-width: 1024px) {
  .lu-header-inner { min-height: 68px; flex-wrap: wrap !important; }
  .lu-primary-nav { order: 3; flex-basis: 100%; width: 100%; max-width: none; margin-inline: 0; }
  .lu-primary-nav .wp-block-navigation__responsive-container, .lu-primary-nav .wp-block-navigation__container, .lu-primary-nav .wp-block-page-list { width: 100%; max-width: none; }
  .lu-primary-nav .wp-block-navigation__container, .lu-primary-nav .wp-block-page-list { display: flex; flex-wrap: wrap; overflow: visible; }
  .lu-header-actions { margin-left: auto; }
  .lu-hero { min-height: 620px; }
  .lu-hero-spec-rail, .lu-hero-portrait-ritual, .lu-hero-scoreboard-strip { min-height: auto; }
  .lu-program-grid > *, .lu-program-grid > :first-child, .lu-program-grid > :nth-child(2) { grid-column: span 6; }
  .wp-block-post-template.is-flex-container { gap: 1.25rem; }
}

@media (max-width: 782px) {
  body.admin-bar .lu-site-header { top: var(--wp-admin--admin-bar--height, 46px); }
  .lu-site-footer .wp-block-column { flex-basis: 100% !important; }
}

/* Mobile layout. */
@media (max-width: 600px) {
  .lu-header-inner { gap: .65rem; }
  .lu-wordmark { font-size: 1rem; }
  .lu-hero { min-height: 540px; background-position: 62% center; }
  .lu-display { max-width: none; font-size: clamp(2rem, 8.6vw, 3.2rem) !important; }
  .lu-hero-panorama-story, .lu-hero-spec-rail, .lu-hero-portrait-ritual, .lu-hero-scoreboard-strip { min-height: auto; }
  .lu-hero-story-columns { margin-top: -1.5rem; }
  .lu-hero-ritual-columns { min-height: auto; }
  .lu-hero-portrait img { width: 90%; height: 480px; }
  .lu-hero-inset { bottom: -1rem; width: 40%; }
  .lu-about-editorial-copy { padding: 2rem 1.25rem; }
  .lu-about-editorial-image img { min-height: 320px; }
  .lu-device-rail { display: grid !important; grid-auto-flow: column; grid-auto-columns: 78vw; overflow-x: auto; scroll-snap-type: inline mandatory; }
  .lu-device-rail > * { scroll-snap-align: start; }
  .lu-gear-strip { display: grid !important; grid-auto-flow: column; grid-auto-columns: 82vw; overflow-x: auto; scroll-snap-type: inline mandatory; }
  .lu-gear-strip > * { scroll-snap-align: start; }
  .lu-chapter-image img { min-height: 300px; }
  .lu-program-grid { display: block !important; }
  .lu-program-grid > * { margin-bottom: 1rem; }
  .lu-program-grid-portrait-ritual > :nth-child(2n) { transform: none; }
  .lu-hero::after { right: -12%; top: 9%; }
  .lu-section, .lu-hero, .lu-article { padding-top: 3.5rem; padding-bottom: 3.5rem; }
  .lu-card { padding: 1.15rem; }
  .lu-ticker-toggle { inset-inline-end: .35rem; }
  .wp-block-query-pagination { gap: .65rem; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  body.lumea-botanics-block *, body.lumea-botanics-block *::before, body.lumea-botanics-block *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
  .lu-ticker-track { animation: none !important; transform: none; }
  .lu-reveal, html.lu-reveal-ready body.lumea-botanics-block .lu-reveal { opacity: 1; filter: none; transform: none; }
}
