/* Editorial commerce: native Elementor controls override these class defaults. */
.ten10-editorial {
  --e-global-color-primary: var(--color-ink);
  --e-global-color-secondary: var(--color-ink);
  --e-global-color-text: var(--color-muted);
  --e-global-color-accent: var(--color-accent);
  --e-global-typography-text-font-family: var(--font-sans);
  --e-global-typography-accent-font-family: var(--font-sans);
  --padding-top: clamp(64px, 6.2vw, 96px);
  --padding-bottom: clamp(64px, 6.2vw, 96px);
  --gap: 0;
  padding-block: clamp(64px, 6.2vw, 96px);
  color: var(--color-ink);
}
.ten10-editorial .e-con { min-width: 0; }
.ten10-editorial .e-con { --padding-left: 0; --padding-right: 0; }
.ten10-editorial > .ten10-el-inner { --padding-left: var(--gutter); --padding-right: var(--gutter); }
.ten10-editorial .ten10-el-inner { --gap: 0; --padding-top: 0; --padding-bottom: 0; }
.ten10-editorial .elementor-widget-heading .elementor-heading-title {
  font-family: var(--font-editorial, "EB Garamond", Georgia, serif);
  font-weight: var(--ten10-heading-weight, 400);
  letter-spacing: -.035em;
  line-height: 1.08;
  color: var(--color-ink);
  margin: 0;
}
.ten10-editorial h2.elementor-heading-title { font-size: clamp(38px, 4.2vw, 64px); max-width: 26ch; }
.ten10-editorial h3.elementor-heading-title { font-size: clamp(27px, 2.3vw, 36px); }
.ten10-editorial .elementor-heading-title em { font-weight: inherit; color: var(--color-accent); }
.ten10-editorial .elementor-heading-title:has(em) { line-height: 1.12; padding-bottom: .08em; }
.ten10-editorial .elementor-widget-text-editor { font-family: var(--font-sans); color: var(--color-muted); line-height: 1.65; }
.ten10-editorial .elementor-widget-text-editor p { margin-bottom: 0; }
.ten10-editorial :is(.elementor-button, a) { -webkit-tap-highlight-color: transparent; }
.ten10-editorial .elementor-button { font-family: var(--font-sans); }
.ten10-ed-eyebrow { font-size: 11px; letter-spacing: .16em; text-transform: uppercase; }
.ten10-ed-hero { padding-block: 30px 72px; --padding-top: 30px; --padding-bottom: 72px; }
.ten10-ed-hero-grid { --gap: 0; --grid-row-gap: 0; --grid-column-gap: 0; align-items: stretch; }
.ten10-ed-hero-copy { --gap: 24px; --padding-top: 48px; --padding-right: 56px; --padding-bottom: 48px; --padding-left: 0; --justify-content: center; }
.ten10-ed-display .elementor-heading-title { font-size: clamp(66px, 7.8vw, 118px); max-width: 12ch; }
.ten10-ed-hero--rituals .ten10-ed-display .elementor-heading-title,
.ten10-ed-hero--ingredients .ten10-ed-display .elementor-heading-title { font-size: clamp(60px, 6.4vw, 98px); max-width: 15ch; }
.ten10-editorial .ten10-ed-lead { max-width: 380px; font-size: clamp(16px, 1.25vw, 18px); }
.ten10-editorial .ten10-ed-lead p { max-width: 380px; }
.ten10-ed-photo { overflow: hidden; }
.ten10-ed-photo img { display: block; width: 100%; border-radius: var(--radius-media); object-fit: cover; }
.ten10-ed-hero-photo { align-self: stretch; height: 100%; }
.ten10-ed-hero-photo .elementor-widget-container { height: 100%; }
.ten10-ed-hero-photo img { min-height: 540px; height: 100%; aspect-ratio: 1.06; object-position: 64% center; }
.ten10-ed-hero--ingredients .ten10-ed-hero-photo img { object-position: center; }
.ten10-ed-primary .elementor-button { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 15px 26px; border: 1px solid var(--color-accent); border-radius: var(--radius-control); background: var(--color-accent); color: var(--color-accent-ink); font-size: 13px; font-weight: 500; transition: background-color 180ms ease, color 180ms ease; }
.ten10-ed-primary .elementor-button:is(:hover, :focus-visible) { background: var(--color-detail); border-color: var(--color-detail); color: var(--color-detail-ink); }
.ten10-ed-link .elementor-button { display: inline-flex; align-items: center; min-height: 44px; padding: 9px 0; border: 0; border-bottom: 1px solid var(--color-line); border-radius: 0; background: transparent; color: var(--color-ink); font-size: 13px; font-weight: 500; text-align: left; transition: border-color 180ms ease, color 180ms ease; }
.ten10-ed-link .elementor-button:hover { color: var(--color-accent); border-color: var(--color-accent); background: transparent; }
.ten10-ed-intro { --gap: 18px; margin-bottom: 38px; max-width: 720px; }
.ten10-ed-intro .elementor-widget-text-editor { max-width: 600px; font-size: 16px; }
.ten10-ed-tinted { background: color-mix(in srgb, var(--color-surface) 55%, var(--color-canvas)); }
.ten10-ed-ingredient, .ten10-ed-moment { --gap: 12px; --padding-top: 0; --padding-bottom: 0; }
.ten10-ed-square img { aspect-ratio: 1; }
.ten10-ed-ingredient .ten10-ed-photo { margin-bottom: 10px; }
.ten10-ed-taste { color: var(--color-accent); font-size: 13px; }
.ten10-ed-ingredient .elementor-widget-text-editor:not(.ten10-ed-taste) { font-size: 14px; }
.ten10-ed-ingredient .elementor-widget-text-editor strong { font-size: 12px; font-weight: 500; color: var(--color-ink); }
.ten10-ed-feature { background: color-mix(in srgb, var(--color-surface) 32%, var(--color-canvas)); }
.ten10-ed-feature-grid { align-items: center; }
.ten10-ed-feature-copy { --gap: 24px; --padding-left: clamp(0px, 2.5vw, 40px); --padding-right: 0; }
.ten10-ed-feature-copy > .elementor-widget-text-editor { max-width: 420px; }
.ten10-ed-feature-copy > .elementor-widget-text-editor p { max-width: 420px; }
.ten10-ed-feature-photo img { aspect-ratio: 4 / 5; height: auto; object-position: 45% center; }
.ten10-ed-feature h2.elementor-heading-title { font-size: clamp(40px, 4vw, 62px); }
.ten10-ed-step { --gap: 8px; --padding-top: 18px; --padding-bottom: 0; border-top: 1px solid var(--color-line); }
.ten10-ed-step h3.elementor-heading-title { font-family: var(--font-sans); font-size: 15px; font-weight: 500; letter-spacing: 0; }
.ten10-ed-step .elementor-widget-text-editor { font-size: 14px; }
.ten10-ed-note { font-size: 12px; }
.ten10-ed-principle { --gap: 16px; --padding-top: 24px; border-top: 1px solid var(--color-line); }
.ten10-ed-principle .elementor-widget-text-editor { max-width: 38ch; font-size: 15px; }
.ten10-ed-moments-grid { row-gap: 56px; }
.ten10-ed-moment-photo img { aspect-ratio: 4 / 3; object-position: center; }
.ten10-ed-moment .elementor-widget-text-editor:not(.ten10-ed-taste) { font-size: 14px; }
.ten10-ed-moment .ten10-ed-photo { margin-bottom: 12px; }
.ten10-ed-closing { border-top: 1px solid var(--color-line); text-align: center; }
.ten10-ed-closing .ten10-el-inner { --align-items: center; --gap: 22px; }
.ten10-ed-closing h2.elementor-heading-title { max-width: 26ch; }
.ten10-ed-closing .elementor-widget-text-editor { max-width: 520px; }
.ten10-ed-closing .elementor-widget-text-editor p { max-width: 520px; margin-inline: auto; }
.ten10-ed-closing .elementor-button { text-align: center; }
.ten10-ed-paths { display: grid; grid-template-columns: 1.35fr 1fr 1fr; gap: 28px; }
.ten10-ed-path { display: block; color: var(--color-ink); }
.ten10-ed-path img { aspect-ratio: 4 / 3; width: 100%; object-fit: cover; margin-bottom: 20px; border-radius: var(--radius-media); transition: filter 200ms ease; }
.ten10-ed-path h3 { font-family: var(--font-editorial, "EB Garamond", Georgia, serif); font-weight: 400; font-size: 30px; line-height: 1.15; margin: 0 0 8px; }
.ten10-ed-path p { color: var(--color-muted); font-size: 14px; margin: 0 0 12px; }
.ten10-ed-path span { display: inline-flex; align-items: center; min-height: 44px; font-size: 13px; border-bottom: 1px solid var(--color-line); }
.ten10-ed-path:hover span { color: var(--color-accent); border-color: var(--color-accent); }
.ten10-ed-shop-all { display: inline-flex; min-height: 44px; align-items: center; border-bottom: 1px solid var(--color-line); font-size: 14px; }
.ten10-ed-commerce .woocommerce ul.products { margin-bottom: 20px; }
.ten10-ed-commerce .woocommerce ul.products li.product .woocommerce-loop-product__title { font-family: var(--font-sans); font-size: 16px; font-weight: 500; }
.ten10-ed-commerce .woocommerce ul.products li.product a img { aspect-ratio: 4 / 5; border-radius: var(--radius-media); object-fit: contain; padding: 8%; background: color-mix(in srgb, var(--color-surface) 40%, var(--color-canvas)); }
.ten10-ed-commerce .woocommerce ul.products li.product .button { min-height: 44px; font-size: 12px; }
.ten10-livelife-section .ten10-livelife-eyebrow { margin-bottom: 12px; color: var(--color-accent); }
.ten10-livelife-section .ten10-ed-intro { max-width: 850px; margin-bottom: 18px; }
.ten10-livelife-section .ten10-ed-intro .elementor-widget-text-editor { max-width: 68ch; }
.ten10-editorial .ten10-livelife-moments { margin-bottom: 22px; color: var(--color-muted); font-size: 13px; letter-spacing: .025em; }
.ten10-editorial .ten10-livelife-line { margin-bottom: 52px; color: var(--color-ink); font-size: 11px; font-weight: 600; letter-spacing: .16em; }
.ten10-livelife-grid { position: relative; }
.ten10-livelife-grid::before { content: ''; position: absolute; inset: 0 0 auto; border-top: 1px solid var(--color-line); pointer-events: none; }
.ten10-livelife-card { position: relative; --gap: 0; --padding-top: 26px; --padding-bottom: 0; }
.ten10-livelife-card::before { content: ''; position: absolute; top: -4px; left: 0; width: 8px; height: 8px; border-radius: 50%; background: var(--color-accent); }
.ten10-editorial .ten10-livelife-moment { color: var(--color-accent); font-size: 11px; font-weight: 600; letter-spacing: .12em; }
.ten10-livelife-moment span { color: var(--color-muted); }
/* Give the widget a definite width so its aspect ratio reserves the shortcode's
 * full height inside Elementor's flex cards, including fallback artwork. */
.ten10-livelife-media { width: 100%; flex-shrink: 0; aspect-ratio: 4 / 5; margin-block: 20px 22px; }
.ten10-livelife-media a, .ten10-livelife-image-fallback { display: grid; place-items: center; aspect-ratio: 4 / 5; width: 100%; background: color-mix(in srgb, var(--color-surface) 48%, var(--color-canvas)); border-radius: var(--radius-media); overflow: hidden; }
.ten10-livelife-media img { display: block; width: 100%; height: 100%; object-fit: contain; padding: 8%; transition: transform 240ms ease; }
.ten10-livelife-media a:hover img { transform: scale(1.035); }
.ten10-livelife-image-fallback { color: var(--color-accent); font-family: var(--font-sans); font-size: clamp(24px, 2.5vw, 38px); font-weight: 600; letter-spacing: -.05em; }
.ten10-editorial .ten10-livelife-brand { color: var(--color-accent); font-size: 12px; font-weight: 600; letter-spacing: .02em; }
.ten10-editorial .ten10-livelife-card h3.elementor-heading-title { margin-top: 6px; font-family: var(--font-sans); font-size: clamp(20px, 1.75vw, 27px); font-weight: 600; line-height: 1.2; letter-spacing: -.025em; }
.ten10-editorial .ten10-livelife-chinese { margin-top: 4px; color: var(--color-muted); font-size: 12px; }
.ten10-editorial .ten10-livelife-ingredients { margin-top: 14px; min-height: 3.2em; font-size: 13px; line-height: 1.6; }
.ten10-livelife-action { margin-top: 16px; }
.ten10-livelife-action a { display: inline-flex; align-items: center; gap: 10px; min-height: 44px; border-bottom: 1px solid var(--color-detail); color: var(--color-ink); font-size: 13px; font-weight: 500; }
.ten10-livelife-action a:hover, .ten10-livelife-action a:focus-visible { color: var(--color-accent); border-color: var(--color-accent); }
.ten10-editorial[id], .ten10-editorial [id] { scroll-margin-top: 120px; }

/* Refine proportions without replacing the logo, navigation, or footer content. */
.ten10-editorial-page .site-header__inner { min-height: 76px; }
.ten10-editorial-page .service-strip { padding-block: 30px; }
.ten10-editorial-page .service-strip__grid { gap: 32px; }
.ten10-editorial-page .service-strip__grid div { min-height: auto; padding: 8px 20px; }
.ten10-editorial-page .service-strip__grid span { display: none; }
.ten10-editorial-page .site-footer { padding-block: 50px 20px; }
.ten10-editorial-page .footer-lead { padding-bottom: 36px; gap: 48px; align-items: start; }
.ten10-editorial-page .footer-lead__title { font-family: var(--font-editorial, "EB Garamond", Georgia, serif); font-size: clamp(30px, 3vw, 45px); line-height: 1.12; max-width: 19ch; }
.ten10-editorial-page .footer-grid { padding-block: 34px; gap: 40px; }
.ten10-editorial-page .footer-bottom { padding-top: 22px; }
.ten10-editorial-page .site-footer .button--light { background: var(--color-accent); color: var(--color-accent-ink); }
.ten10-editorial-page .site-footer .button--light::before { background: var(--color-detail); }
.ten10-editorial-page .site-footer .button--light:is(:hover, :focus-visible) { color: var(--color-detail-ink); }

@media (max-width: 1024px) {
  .ten10-livelife-grid::before { display: none; }
  .ten10-livelife-card { border-top: 1px solid var(--color-line); }
  .ten10-ed-hero-copy { --padding-right: 26px; }
  .ten10-ed-display .elementor-heading-title { font-size: 76px; }
  .ten10-ed-hero--rituals .ten10-ed-display .elementor-heading-title, .ten10-ed-hero--ingredients .ten10-ed-display .elementor-heading-title { font-size: 62px; }
  .ten10-ed-hero-photo img { min-height: 460px; }
  .ten10-ed-feature-copy { --padding-left: 0; }
  .ten10-ed-paths { gap: 20px; grid-template-columns: repeat(3,minmax(0,1fr)); }
  .ten10-ed-path h3 { font-size: 26px; }
}
@media (max-width: 767px) {
  .ten10-livelife-line { margin-bottom: 30px; }
  .ten10-livelife-media { aspect-ratio: 4 / 3; margin-block: 14px 18px; }
  .ten10-livelife-media a, .ten10-livelife-image-fallback { aspect-ratio: 4 / 3; }
  .ten10-livelife-ingredients { min-height: 0; }
  .ten10-editorial[id], .ten10-editorial [id] { scroll-margin-top: 84px; }
  .ten10-editorial { --padding-top: 52px; --padding-bottom: 52px; padding-block: 52px; }
  .ten10-ed-hero { --padding-top: 12px; --padding-bottom: 44px; padding-block: 12px 44px; }
  .ten10-ed-hero-copy { --padding-top: 18px; --padding-bottom: 32px; --padding-right: 0; --gap: 18px; }
  .ten10-ed-display .elementor-heading-title { font-size: clamp(64px,17.5vw,90px); max-width: 15ch; }
  .ten10-ed-hero--rituals .ten10-ed-display .elementor-heading-title, .ten10-ed-hero--ingredients .ten10-ed-display .elementor-heading-title { font-size: clamp(52px,14vw,74px); max-width: 18ch; }
  .ten10-ed-lead { max-width: 36ch; font-size: 15px; }
  .ten10-ed-eyebrow { font-size: 10px; }
  .ten10-ed-hero-photo { height: auto; }
  .ten10-ed-hero-photo img { min-height: 0; height: auto; aspect-ratio: 4 / 3; object-position: 60% center; }
  .ten10-ed-intro { --gap: 16px; margin-bottom: 28px; }
  .ten10-editorial h2.elementor-heading-title { font-size: 39px; }
  .ten10-ed-intro .elementor-widget-text-editor { font-size: 15px; }
  .ten10-ed-ingredient-grid { --grid-columns: repeat(2,minmax(0,1fr)); --grid-column-gap: 16px; --grid-row-gap: 30px; }
  .ten10-ed-ingredient { --gap: 8px; }
  .ten10-ed-ingredient h3.elementor-heading-title { font-size: 28px; }
  .ten10-ed-ingredient .elementor-widget-text-editor:not(.ten10-ed-taste) { font-size: 13px; }
  .ten10-ed-taste { font-size: 12px; }
  .ten10-ed-link .elementor-button { font-size: 12px; }
  .ten10-ed-feature-photo img { aspect-ratio: 4 / 3; }
  .ten10-ed-feature-copy { --gap: 22px; }
  .ten10-ed-moments-grid { --grid-row-gap: 34px; }
  .ten10-ed-moment { --gap: 10px; }
  .ten10-ed-moment-photo img { aspect-ratio: 3 / 2; }
  .ten10-ed-paths { grid-template-columns: 1fr; gap: 30px; }
  .ten10-ed-path { display: grid; grid-template-columns: 120px minmax(0,1fr); column-gap: 18px; align-items: start; }
  .ten10-ed-path img { grid-row: span 3; aspect-ratio: 1; margin: 0; }
  .ten10-ed-path h3 { font-size: 25px; margin: 0 0 5px; }
  .ten10-ed-path p { font-size: 12px; margin: 0; }
  .ten10-ed-path span { justify-self: start; font-size: 12px; }
  .ten10-ed-closing .elementor-widget-text-editor { font-size: 15px; }
  .ten10-editorial-page .footer-lead { gap: 20px; padding-bottom: 28px; }
  .ten10-editorial-page .footer-grid { gap: 28px; padding-block: 28px; }
  .ten10-editorial-page .site-footer { padding-top: 36px; }
}
@media (max-width: 359px) {
  .ten10-ed-display .elementor-heading-title { font-size: 56px; }
  .ten10-ed-hero--rituals .ten10-ed-display .elementor-heading-title,
  .ten10-ed-hero--ingredients .ten10-ed-display .elementor-heading-title { font-size: 44px; }
  .ten10-ed-path { grid-template-columns: 92px minmax(0,1fr); gap: 12px; }
  .ten10-ed-path h3 { font-size: 22px; }
}
