/* THORN3 2026 brand layer. Loaded after Divi and the page-specific styles. */
@font-face {
  font-family: Inter;
  src: url('../fonts/Inter-Latin.woff2') format('woff2'), url('../fonts/Inter-Regular.ttf') format('truetype');
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}
@font-face {
  font-family: Inter;
  src: url('../fonts/Inter-Latin.woff2') format('woff2'), url('../fonts/Inter-SemiBold.ttf') format('truetype');
  font-style: normal;
  font-weight: 600 800;
  font-display: swap;
}
@font-face {
  font-family: Jost;
  src: url('../fonts/Jost-Latin.woff2') format('woff2'), url('../fonts/Jost-SemiBold.ttf') format('truetype');
  font-style: normal;
  font-weight: 500 800;
  font-display: swap;
}

body.thorn3-site { background: var(--thorn3-paper); color: var(--thorn3-ink); font-family: var(--thorn3-font); font-size: var(--thorn3-text-body); }
body.thorn3-site :is(button,input,select,textarea) { font-family: var(--thorn3-font); }
body.thorn3-site :is(h1,h2,h3,h4,h5,h6) { font-family: var(--thorn3-font-display); font-weight: 600; }
body.thorn3-site h1.thorn3-page-heading,
body.thorn3-site .thorn3-page-heading h1,
body.thorn3-site .thorn3-gallery-heading h1 { font-size: var(--thorn3-text-h1); letter-spacing: -.025em; line-height: 1.1; }
body.thorn3-site .thorn3-page-heading { margin-bottom: var(--thorn3-space-5); }
body.thorn3-site .thorn3-section-header h2,
body.thorn3-site .thorn3-artist h2,
body.thorn3-site .thorn3-newsletter h2 { font-size: var(--thorn3-text-h2); letter-spacing: -.015em; line-height: 1.18; }
body.thorn3-site .thorn3-eyebrow { color: var(--thorn3-muted); font: 600 .8125rem/1.4 var(--thorn3-font); letter-spacing: .09em; }
body.thorn3-site .thorn3-meta,
body.thorn3-site .thorn3-shelf-caption { color: var(--thorn3-muted); font-size: .8125rem; line-height: 1.5; }
body.thorn3-site .thorn3-text-link { color: var(--thorn3-ink); font-weight: 600; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .25em; }
body.thorn3-site .thorn3-entry-content :is(p,li) a:not(.button) { color: var(--thorn3-ink); text-decoration: underline; }

/* Text links share one treatment; image links and button controls keep their own affordances. */
body.thorn3-site :is(main,.thorn3-header) a:not(:has(img,svg)):not(:is(.thorn3-button,.thorn3-slide-button,.button,.et_pb_button,.wc-block-components-button,.page-numbers,[role="button"],[aria-current])) {
  color: var(--thorn3-ink);
  text-decoration-color: currentColor;
  text-decoration-thickness: 1px;
  text-underline-offset: .25em;
}
body.thorn3-site :is(main,.thorn3-header) a:not(:has(img,svg)):not(:is(.thorn3-button,.thorn3-slide-button,.button,.et_pb_button,.wc-block-components-button,.page-numbers,[role="button"],[aria-current])):is(:hover,:focus-visible) {
  color: var(--thorn3-ink);
  text-decoration-line: underline;
  text-decoration-color: var(--thorn3-gold);
  text-decoration-thickness: 2px;
}
body.thorn3-site :is(.thorn3-dark,.thorn3-section-dark,.thorn3-section-ink,.thorn3-newsletter,.thorn3-home-hero) a:not(:has(img,svg)):not(:is(.thorn3-button,.thorn3-slide-button,.button,.et_pb_button,.wc-block-components-button,[role="button"])) {
  color: var(--thorn3-canvas);
}
body.thorn3-site :is(.thorn3-dark,.thorn3-section-dark,.thorn3-section-ink,.thorn3-newsletter,.thorn3-home-hero) a:not(:has(img,svg)):not(:is(.thorn3-button,.thorn3-slide-button,.button,.et_pb_button,.wc-block-components-button,[role="button"])):is(:hover,:focus-visible) {
  color: var(--thorn3-canvas);
  text-decoration-line: underline;
  text-decoration-color: var(--thorn3-gold);
  text-decoration-thickness: 2px;
}
body.thorn3-site .woocommerce ul.products li.product a:is(:hover,:focus-visible) .woocommerce-loop-product__title {
  text-decoration: underline;
  text-decoration-color: var(--thorn3-gold);
  text-decoration-thickness: 2px;
  text-underline-offset: .25em;
}

/* The current Divi page content contains pasted Calibri inline styles. */
body.thorn3-site .thorn3-entry-content .et_pb_text_inner :is(p,li) { font-family: var(--thorn3-font) !important; font-size: 1.0625rem !important; line-height: 1.6 !important; }
body.thorn3-site .thorn3-entry-content .et_pb_text_inner :is(p,li,span,strong,em) { font-family: var(--thorn3-font) !important; }
body.thorn3-site .thorn3-entry-content .et_pb_text_inner :is(h1,h2,h3,h4,h5,h6) { font-family: var(--thorn3-font-display) !important; font-weight: 600 !important; line-height: 1.2 !important; letter-spacing: -.015em !important; }
body.thorn3-site .thorn3-entry-content .et_pb_text_inner h2 { font-size: var(--thorn3-text-h2) !important; }
body.thorn3-site .thorn3-entry-content .et_pb_text_inner h3 { font-size: var(--thorn3-text-h3) !important; }
body.thorn3-site .thorn3-entry-content .et_pb_text_inner h4 { font-size: 1.3125rem !important; }
body.thorn3-site .thorn3-entry-content .et_pb_module_header { font-family: var(--thorn3-font-display) !important; font-weight: 600 !important; }

/* Quiet, consistent navigation. */
body.thorn3-site .thorn3-header { background: rgb(249 249 249 / 95%); border-color: var(--thorn3-line); backdrop-filter: saturate(140%) blur(12px); }
body.thorn3-site .thorn3-header-inner { min-height: 4.5rem; padding-block: .5rem; }
body.thorn3-site .thorn3-header .custom-logo-link { position: relative; max-width: min(11.25rem, 50vw); }
body.thorn3-site .thorn3-header .custom-logo { max-height: 2.75rem; transition: opacity var(--thorn3-transition); }
body.thorn3-site .thorn3-header .custom-logo-link::after { content: ""; position: absolute; inset: 0; background: url('../images/cropped-thorn3_logo_hover.png') center / contain no-repeat; opacity: 0; pointer-events: none; transition: opacity var(--thorn3-transition); }
body.thorn3-site .thorn3-header .custom-logo-link:is(:hover,:focus,:active) .custom-logo { opacity: 0; }
body.thorn3-site .thorn3-header .custom-logo-link:is(:hover,:focus,:active)::after { opacity: 1; }
body.thorn3-site .thorn3-header .thorn3-wordmark { transition: color var(--thorn3-transition); }
body.thorn3-site .thorn3-header .thorn3-wordmark:is(:hover,:focus,:active) { color: var(--thorn3-gold); }
body.thorn3-site .thorn3-menu a,
body.thorn3-site .thorn3-bag,
body.thorn3-site .thorn3-menu-toggle { font: 600 .875rem/1.4 var(--thorn3-font); letter-spacing: .01em; }
body.thorn3-site .thorn3-menu a:hover,
body.thorn3-site .thorn3-menu a:focus-visible { color: var(--thorn3-ink); text-decoration: underline; text-decoration-color: var(--thorn3-gold); text-decoration-thickness: 2px; }
body.thorn3-site .thorn3-navigation .thorn3-dropdown-panel { background: var(--thorn3-canvas); border-color: var(--thorn3-line); border-radius: var(--thorn3-radius-card); box-shadow: var(--thorn3-shadow); }
body.thorn3-site .thorn3-navigation .thorn3-dropdown-panel a { min-height: 44px; align-items: center; }

/* Shared controls use shape as well as color for their states. */
body.thorn3-site .thorn3-button,
body.thorn3-site.thorn3-editorial button[type="submit"],
body.thorn3-site.thorn3-editorial input[type="submit"],
body.thorn3-site .woocommerce :is(a.button,button.button,input.button),
body.thorn3-site .wc-block-components-button { min-height: 44px; padding: .6875rem 1.375rem; border: 1px solid var(--thorn3-gold) !important; border-radius: var(--thorn3-radius-pill) !important; background: var(--thorn3-gold) !important; color: var(--thorn3-ink) !important; font: 600 1rem/1.25 var(--thorn3-font); text-align: center; text-decoration: none; transition: background-color var(--thorn3-transition), transform var(--thorn3-transition); }
body.thorn3-site .thorn3-button:hover,
body.thorn3-site.thorn3-editorial button[type="submit"]:hover,
body.thorn3-site .woocommerce :is(a.button,button.button,input.button):hover,
body.thorn3-site .wc-block-components-button:hover { background: #ffd45a !important; border-color: #ffd45a !important; color: var(--thorn3-ink) !important; }
/* Divi injects a moving ETmodules arrow into Woo buttons; it overlaps the label. */
body.thorn3-site .woocommerce :is(a.button,button.button,input.button):is(:hover,:focus-visible),
body.thorn3-site.woocommerce-page :is(a.button,button.button,input.button):is(:hover,:focus-visible) { padding: .6875rem 1.375rem !important; }
body.thorn3-site .woocommerce :is(a.button,button.button)::after,
body.thorn3-site.woocommerce-page :is(a.button,button.button)::after { content: none !important; display: none !important; }
body.thorn3-site :is(.thorn3-button,.woocommerce a.button,.woocommerce button.button):active { transform: scale(.97); }
body.thorn3-site :is(input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),select,textarea) { min-height: 44px; border-color: #77777b; border-radius: var(--thorn3-radius); background: var(--thorn3-canvas); color: var(--thorn3-ink); font-size: 1rem; }
body.thorn3-site :is(input,textarea)::placeholder { color: var(--thorn3-muted); opacity: 1; }
body.thorn3-site .thorn3-filter a { min-height: 44px; padding-inline: 1.3125rem; border: 1px solid var(--thorn3-line); border-radius: var(--thorn3-radius-pill); background: var(--thorn3-canvas); font-weight: 600; text-decoration: none; }
body.thorn3-site .thorn3-filter a[aria-current] { border-color: var(--thorn3-ink); background: var(--thorn3-ink); color: var(--thorn3-canvas); }
body.thorn3-site .thorn3-filter a:hover { border-color: var(--thorn3-ink); color: var(--thorn3-ink); }

/* Home: artifact-first cards, restrained surface changes, and one CTA grammar. */
body.thorn3-site .thorn3-home-section { border-bottom: 0; }
body.thorn3-site .thorn3-home-section[aria-labelledby="home-projects"] { background: var(--thorn3-paper); }
body.thorn3-site .thorn3-home-section[aria-labelledby="home-products"] { background: var(--thorn3-canvas); }
body.thorn3-site .thorn3-home-section.thorn3-featured-projects { background: var(--thorn3-paper); }
body.thorn3-site .thorn3-home-section.thorn3-featured-products { background: var(--thorn3-paper); }
body.thorn3-site .thorn3-home-section[aria-labelledby="home-journal"] { background: var(--thorn3-ivory); }
body.thorn3-site .thorn3-home-section.thorn3-featured-journal { background: var(--thorn3-ivory); }
body.thorn3-site .thorn3-home-section .thorn3-shelf-card { padding: 1.3125rem; border: 1px solid var(--thorn3-line); border-radius: var(--thorn3-radius-card); background: var(--thorn3-canvas); }
body.thorn3-site .thorn3-home-section .thorn3-shelf-art,
body.thorn3-site .thorn3-home-journal .thorn3-card-media { overflow: hidden; border: 0; border-radius: var(--thorn3-radius); background: var(--thorn3-ivory); }
body.thorn3-site .thorn3-home-section .thorn3-shelf-card h3 { font: 600 1.3125rem/1.3 var(--thorn3-font-display); letter-spacing: -.01em; }
body.thorn3-site .thorn3-home-section .thorn3-shelf-card h3 a { color: var(--thorn3-ink); text-decoration: none; }
/* Keep project and product art on the page surface, like the original gallery shelf. */
body.thorn3-site .thorn3-home-section:is([aria-labelledby="home-projects"],[aria-labelledby="home-products"]) .thorn3-shelf-card { padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
body.thorn3-site .thorn3-home-section:is(.thorn3-featured-projects,.thorn3-featured-products) .thorn3-shelf-card { padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
body.thorn3-site .thorn3-home-section:is([aria-labelledby="home-projects"],[aria-labelledby="home-products"]) .thorn3-shelf-art { overflow: visible; padding: 0 0 20px; border: 0; border-bottom: 1px solid var(--thorn3-line); border-radius: 0; background: transparent; }
body.thorn3-site .thorn3-home-section:is(.thorn3-featured-projects,.thorn3-featured-products) .thorn3-shelf-art { overflow: visible; padding: 0 0 20px; border: 0; border-bottom: 1px solid var(--thorn3-line); border-radius: 0; background: transparent; }
body.thorn3-site .thorn3-home-section:is([aria-labelledby="home-projects"],[aria-labelledby="home-products"]) .thorn3-shelf-art img { width: auto; height: auto; max-width: 100%; max-height: 100%; object-fit: contain; border-radius: 1px; background: transparent; }
body.thorn3-site .thorn3-home-section:is(.thorn3-featured-projects,.thorn3-featured-products) .thorn3-shelf-art img { width: auto; height: auto; max-width: 100%; max-height: 100%; object-fit: contain; border-radius: 1px; background: transparent; }
body.thorn3-site .thorn3-home-section[aria-labelledby="home-products"] { background: var(--thorn3-paper); }
body.thorn3-site .thorn3-shelf-controls button { border-color: var(--thorn3-line); background: var(--thorn3-canvas); color: var(--thorn3-ink); }
body.thorn3-site .thorn3-shelf-controls button:hover:not(:disabled) { border-color: var(--thorn3-ink); background: var(--thorn3-ink); color: var(--thorn3-canvas); }
body.thorn3-site .thorn3-shelf-controls button:disabled { opacity: .45; }
body.thorn3-site .thorn3-home-hero .thorn3-slide h2 { font-family: var(--thorn3-font-display); font-size: clamp(2.125rem, 4vw, 3.4375rem); font-weight: 600; letter-spacing: -.02em; text-shadow: none; }
body.thorn3-site .thorn3-home-hero .thorn3-slide p { font-size: clamp(1rem, 1.4vw, 1.3125rem); font-weight: 400; text-shadow: none; }
body.thorn3-site .thorn3-home-hero .thorn3-slide-button { min-height: 44px; padding: .6875rem 1.375rem; border: 1px solid var(--thorn3-gold); border-radius: var(--thorn3-radius-pill); background: var(--thorn3-gold); color: var(--thorn3-ink); font: 600 1rem/1.25 var(--thorn3-font); }
body.thorn3-site .thorn3-home-hero .thorn3-slide-button:hover { border-color: #ffd45a; background: #ffd45a; color: var(--thorn3-ink) !important; }
body.thorn3-site .thorn3-artist { background: var(--thorn3-paper); }
/* Divi owns the section/module order; the custom shelves remain edge to edge. */
body.thorn3-site .thorn3-builder-home .et_pb_section { padding: 0 !important; background: transparent; }
body.thorn3-site .thorn3-builder-home .et_pb_row { width: 100% !important; max-width: none !important; padding: 0 !important; }
body.thorn3-site .thorn3-builder-home .et_pb_column,
body.thorn3-site .thorn3-builder-home .et_pb_code { margin: 0; }
body.thorn3-site .thorn3-builder-home .et_pb_code_inner { line-height: inherit; }
body.thorn3-site .thorn3-newsletter { background: var(--thorn3-charcoal); color: var(--thorn3-canvas); }
body.thorn3-site .thorn3-newsletter .thorn3-eyebrow { color: var(--thorn3-gold); }

/* Gallery, editorial pages, and the authored Divi modules retain their content. */
body.thorn3-site .thorn3-blog-landing .et_pb_fullwidth_header .et_pb_module_header { font-size: clamp(2.125rem, 4vw, 3.4375rem) !important; letter-spacing: -.02em; }
body.thorn3-site .thorn3-blog-landing .et_pb_post h2 { font: 600 1.3125rem/1.3 var(--thorn3-font-display); }
body.thorn3-site .thorn3-blog-landing .et_pb_post { border-color: var(--thorn3-line); border-radius: var(--thorn3-radius-card); background: var(--thorn3-canvas); box-shadow: none; }
body.thorn3-site .et_pb_tabs { border: 1px solid var(--thorn3-line); border-radius: var(--thorn3-radius-card); overflow: hidden; background: var(--thorn3-canvas); }
body.thorn3-site .et_pb_tabs_controls { display: flex; flex-wrap: wrap; gap: .5rem; padding: 1.3125rem; background: var(--thorn3-canvas); }
body.thorn3-site .et_pb_tabs_controls li { height: auto !important; border: 1px solid var(--thorn3-line); border-radius: var(--thorn3-radius-pill); background: var(--thorn3-canvas); }
body.thorn3-site .et_pb_tabs_controls li a { display: inline-flex; align-items: center; min-height: 44px; padding: .5rem 1rem; color: var(--thorn3-ink); font: 600 .875rem/1.3 var(--thorn3-font); text-decoration: none !important; }
body.thorn3-site .et_pb_tabs_controls li.et_pb_tab_active { border-color: var(--thorn3-ink); background: var(--thorn3-ink); }
body.thorn3-site .et_pb_tabs_controls li.et_pb_tab_active a { color: var(--thorn3-canvas) !important; }
/* The Gallery landing uses the reference's flush tab band and open image canvas. */
body.thorn3-site .thorn3-gallery-landing { width: 100%; max-width: none; margin: 0; padding: 0; }
body.thorn3-site .thorn3-gallery-landing .thorn3-entry-content { width: 100%; max-width: none; margin: 0; padding: 0; }
body.thorn3-site .thorn3-gallery-landing .et_builder_inner_content > .et_pb_section:not(.thorn3-page-banner):first-child,
body.thorn3-site .thorn3-gallery-landing .et_builder_inner_content > .thorn3-page-banner + .et_pb_section {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0 !important;
  background: var(--thorn3-canvas);
}
body.thorn3-site .thorn3-gallery-landing .et_builder_inner_content > .et_pb_section:not(.thorn3-page-banner):first-child > .et_pb_row,
body.thorn3-site .thorn3-gallery-landing .et_builder_inner_content > .thorn3-page-banner + .et_pb_section > .et_pb_row {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  box-shadow: none !important;
}
body.thorn3-site .thorn3-gallery-landing .et_pb_tabs {
  margin: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  overflow: visible;
  background: var(--thorn3-canvas);
}
body.thorn3-site .thorn3-gallery-landing .et_pb_all_tabs { padding-top: .5rem; background: var(--thorn3-canvas); }
body.thorn3-site .thorn3-gallery-landing .et_pb_tab { padding-inline: clamp(1rem,3.2vw,4.5rem) !important; }
body.thorn3-site .thorn3-gallery-landing .et_pb_tab_0 .et_pb_tab_content > p:first-child,
body.thorn3-site .thorn3-gallery-landing .et_pb_tab_3 .et_pb_tab_content > p:first-child { margin: 0 !important; }
body.thorn3-site .thorn3-gallery-landing .envira-gallery-wrap img { border-radius: 0; }
/* Center the tab row when it fits; keep real horizontal overflow when it does not. */
body.thorn3-site .thorn3-gallery-landing .et_pb_tabs_controls {
  display: flex !important;
  flex-flow: row nowrap !important;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  min-width: 0;
  box-sizing: border-box;
  gap: .625rem;
  padding: .75rem clamp(1rem,3.2vw,4.5rem) .25rem !important;
  background: var(--thorn3-paper);
  overflow-x: auto !important;
  overflow-y: hidden;
  overscroll-behavior-x: contain;
  -webkit-overflow-scrolling: touch;
  touch-action: pan-x;
  scrollbar-width: thin;
  scrollbar-color: #8d8d91 transparent;
}
body.thorn3-site .thorn3-gallery-landing .et_pb_tabs_controls::-webkit-scrollbar { height: 8px; }
body.thorn3-site .thorn3-gallery-landing .et_pb_tabs_controls::-webkit-scrollbar-thumb { border-radius: 99px; background: #8d8d91; }
body.thorn3-site .thorn3-gallery-landing .et_pb_tabs_controls::after { display: none; }
body.thorn3-site .thorn3-gallery-landing .et_pb_tabs_controls li { flex: 0 0 auto; width: auto !important; float: none !important; white-space: nowrap; }
body.thorn3-site .thorn3-gallery-landing .et_pb_tabs_controls li:first-child { margin-inline-start: auto; }
body.thorn3-site .thorn3-gallery-landing .et_pb_tabs_controls li:last-of-type { margin-inline-end: auto; }
body.thorn3-site .thorn3-gallery-landing .et_pb_tabs_controls li a { min-height: clamp(44px,4vw,64px); padding-inline: clamp(.9rem,1.25vw,1.5rem); font-size: clamp(.875rem,1.2vw,1.125rem); }
body.thorn3-site .thorn3-gallery-landing .et_pb_tabs_controls li.et_pb_tab_active { border-color: var(--thorn3-ink) !important; background: var(--thorn3-ink) !important; }
body.thorn3-site .thorn3-gallery-landing .et_pb_tabs_controls li.et_pb_tab_active a { color: #fff !important; }
body.thorn3-site .thorn3-gallery-landing .et_pb_tabs_controls li a:is(:hover,:focus-visible) { text-decoration: underline !important; text-decoration-color: var(--thorn3-gold) !important; text-decoration-thickness: 2px !important; text-underline-offset: .25em; }
body.thorn3-site .thorn3-gallery-landing .et_pb_tabs_controls li a:focus-visible { outline: 2px solid var(--thorn3-gold); outline-offset: 2px; border-radius: var(--thorn3-radius-pill); }
body.thorn3-site .envira-gallery-wrap img { border-radius: var(--thorn3-radius); }
body.thorn3-site.page-id-134 .thorn3-entry-content .et_pb_text { border: 1px solid var(--thorn3-line) !important; border-radius: var(--thorn3-radius-card) !important; background: var(--thorn3-canvas) !important; box-shadow: none !important; padding: clamp(1.3125rem, 3vw, 2.125rem) !important; }
/* About: an editorial artist profile in the existing Divi text module. */
body.thorn3-site.page-id-134 .thorn3-entry-content .et_pb_text_0,
body.thorn3-site.page-id-134 .thorn3-entry-content .et_pb_text_1 {
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  padding: 0 !important;
}
body.thorn3-site.page-id-134 .thorn3-about-profile { color: var(--thorn3-ink); }
body.thorn3-site.page-id-134 .thorn3-about-profile :is(header,section,aside,nav) { display: block; }
body.thorn3-site.page-id-134 .thorn3-about-profile .thorn3-about-intro { max-width: 58rem; padding-block: clamp(1rem,3vw,2rem) clamp(2.5rem,5vw,4.5rem); }
body.thorn3-site.page-id-134 .thorn3-entry-content .et_pb_text_inner .thorn3-about-kicker {
  margin: 0 0 .875rem !important;
  padding: 0 !important;
  color: var(--thorn3-muted);
  font: 600 .8125rem/1.4 var(--thorn3-font) !important;
  letter-spacing: .12em;
}
body.thorn3-site.page-id-134 .thorn3-entry-content .et_pb_text_inner .thorn3-about-intro h2 {
  margin: 0 0 1.125rem !important;
  padding: 0 !important;
  font-size: clamp(2.5rem,5vw,4.5rem) !important;
  line-height: 1.06 !important;
  letter-spacing: -.035em !important;
}
body.thorn3-site.page-id-134 .thorn3-entry-content .et_pb_text_inner .thorn3-about-lead {
  max-width: 49rem;
  margin-bottom: 1.125rem !important;
  font-size: clamp(1.1875rem,1.5vw,1.5rem) !important;
  line-height: 1.5 !important;
  font-weight: 600;
}
body.thorn3-site.page-id-134 .thorn3-about-intro > p:not(.thorn3-about-kicker) { max-width: 49rem; }
body.thorn3-site.page-id-134 .thorn3-about-links { display: flex !important; flex-wrap: wrap; gap: .75rem 1.75rem; margin-top: 1.625rem; }
body.thorn3-site.page-id-134 .thorn3-about-links a { display: inline-flex; align-items: center; min-height: 44px; font-weight: 600; text-decoration: underline; text-underline-offset: .25em; }
body.thorn3-site.page-id-134 .thorn3-about-links a:is(:hover,:focus-visible) { text-decoration-color: var(--thorn3-gold); text-decoration-thickness: 2px; }
body.thorn3-site.page-id-134 .thorn3-about-grid { display: grid; grid-template-columns: minmax(0,1.65fr) minmax(15rem,.8fr); gap: clamp(2rem,5vw,5rem); padding-block: clamp(2.5rem,5vw,4.5rem); border-block: 1px solid var(--thorn3-line); }
body.thorn3-site.page-id-134 .thorn3-about-practice { padding-left: clamp(1.25rem,3vw,2rem); border-left: 3px solid var(--thorn3-gold); }
body.thorn3-site.page-id-134 .thorn3-entry-content .et_pb_text_inner .thorn3-about-profile h3 { margin: 0 0 1.125rem !important; padding: 0 !important; font-size: clamp(1.5rem,2.5vw,2rem) !important; }
body.thorn3-site.page-id-134 .thorn3-about-profile p { max-width: 62ch; }
body.thorn3-site.page-id-134 .thorn3-about-profile li { padding-bottom: .5rem; }
body.thorn3-site.page-id-134 .thorn3-about-bottom { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: clamp(2rem,5vw,5rem); padding-block: clamp(2.5rem,5vw,4.5rem) 0; }
body.thorn3-site.page-id-134 .thorn3-about-contact { align-self: start; padding-top: 0; }
body.thorn3-site.page-id-134 .thorn3-about-profile a:focus-visible { outline: 2px solid var(--thorn3-focus); outline-offset: 4px; }
@media (max-width: 767px) {
  body.thorn3-site.page-id-134 .thorn3-about-grid,
  body.thorn3-site.page-id-134 .thorn3-about-bottom { grid-template-columns: 1fr; gap: 2rem; }
  body.thorn3-site.page-id-134 .thorn3-about-practice { padding-left: 1.25rem; }
}
body.thorn3-site.page-id-36 .thorn3-entry-content .et_pb_section:not(.thorn3-page-banner) .et_pb_row:first-child { border: 1px solid var(--thorn3-line) !important; border-radius: var(--thorn3-radius-card) !important; background: var(--thorn3-canvas) !important; box-shadow: none !important; }
body.thorn3-site .et_pb_contact_form_container :is(input,textarea) { border: 1px solid #77777b !important; border-radius: var(--thorn3-radius) !important; background: var(--thorn3-canvas) !important; box-shadow: none !important; font: 400 1.0625rem/1.5 var(--thorn3-font) !important; }
/* Restore the field gutters paired with Divi's native -3% form margin.
   The editorial paragraph reset otherwise removes them and clips the first column. */
body.thorn3-site .et_pb_contact_form p.et_pb_contact_field {
  padding: 0 0 0 3%;
  margin-bottom: 1.5rem;
}
body.thorn3-site .et_pb_contact_form p.et_pb_contact_field textarea.et_pb_contact_message {
  min-height: 10rem;
  resize: vertical;
}
body.thorn3-site .et_pb_contact_form .et_contact_bottom_container {
  margin-top: 0;
  max-width: 97%;
  flex-wrap: wrap;
  gap: 1rem;
}

/* Give standard pages the same compact header-to-breadcrumb spacing as Shop. */
body.thorn3-site #thorn3-main > .thorn3-container.thorn3-section {
  padding-top: clamp(1.71875rem, 3vw, 2.78125rem);
}
/* WooCommerce: calm product tiles, a clear decision panel, and legible states. */
body.thorn3-site .woocommerce ul.products li.product { padding: 1.3125rem; border: 1px solid var(--thorn3-line); border-radius: var(--thorn3-radius-card); background: var(--thorn3-canvas); }
body.thorn3-site .woocommerce ul.products li.product a img { border-radius: var(--thorn3-radius); background: var(--thorn3-ivory); }
body.thorn3-site .woocommerce ul.products li.product .woocommerce-loop-product__title { font: 600 1.3125rem/1.3 var(--thorn3-font-display); color: var(--thorn3-ink); }
body.thorn3-site .woocommerce span.onsale { background: var(--thorn3-gold) !important; color: var(--thorn3-ink) !important; border-radius: var(--thorn3-radius-pill); font: 600 .8125rem/1.4 var(--thorn3-font); }
body.thorn3-site .woocommerce .price { font-family: var(--thorn3-font); font-weight: 600; }
body.thorn3-site .woocommerce div.product .product_title { font: 600 clamp(2.125rem, 3vw, 3.4375rem)/1.12 var(--thorn3-font-display); letter-spacing: -.02em; }
body.thorn3-site .thorn3-commerce div.product div.summary { padding: clamp(1.3125rem, 3vw, 2.125rem); border: 1px solid var(--thorn3-line); border-radius: var(--thorn3-radius-card); background: var(--thorn3-canvas); }
body.thorn3-site .thorn3-commerce div.product div.images { overflow: hidden; border-radius: var(--thorn3-radius-card); background: var(--thorn3-ivory); }
body.thorn3-site .thorn3-commerce div.product div.images img { border-radius: var(--thorn3-radius); }
body.thorn3-site .woocommerce :is(input.input-text,textarea,select),
body.thorn3-site .wc-block-components-text-input input { border-color: #77777b; border-radius: var(--thorn3-radius); background: var(--thorn3-canvas); }
body.thorn3-site .woocommerce :is(.woocommerce-message,.woocommerce-info,.woocommerce-error) { border-radius: var(--thorn3-radius); background: var(--thorn3-ivory); }

/* The saved Divi footer remains editable, with brand colors and readable links. */
body.thorn3-site .et-l--footer .et_pb_section { background: var(--thorn3-charcoal) !important; color: var(--thorn3-canvas); }
body.thorn3-site .et-l--footer .et_pb_row { width: min(calc(100% - 2.625rem), 73.75rem) !important; max-width: none !important; }
body.thorn3-site .et-l--footer :is(.et_pb_text_inner,p,h2,h3,h4,h5,h6) { color: var(--thorn3-canvas) !important; font-family: var(--thorn3-font) !important; }
body.thorn3-site .et-l--footer h2 { font-family: var(--thorn3-font-display) !important; }
body.thorn3-site .et-l--footer a { color: var(--thorn3-canvas) !important; font-family: var(--thorn3-font); }
body.thorn3-site .et-l--footer a:not(:has(img,svg)):is(:hover,:focus-visible) { color: var(--thorn3-canvas) !important; text-decoration-line: underline; text-decoration-color: var(--thorn3-gold) !important; text-decoration-thickness: 2px; text-underline-offset: .25em; }
body.thorn3-site .et-l--footer #social_icons .social_link { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; }
body.thorn3-site .et-l--footer #social_icons img.social { filter: invert(1); opacity: .9; max-width: 24px; max-height: 24px; }
body.thorn3-site .et-l--footer #social_icons .social_link:hover img.social { opacity: 1; }
body.thorn3-site .et-l--footer .et_bloom_optin_1 .et_bloom_form_container { border: 1px solid rgb(255 255 255 / 18%) !important; border-radius: var(--thorn3-radius-card) !important; box-shadow: none !important; background: #272729 !important; }
body.thorn3-site .et-l--footer .et_bloom_optin_1 :is(.et_bloom_form_header,.et_bloom_form_content) { background: #272729 !important; }
body.thorn3-site .et-l--footer .et_bloom_optin_1 .et_bloom_default_edge { display: none; }
body.thorn3-site .et-l--footer .et_bloom_optin_1 :is(h2,p,span,strong) { color: var(--thorn3-canvas) !important; font-family: var(--thorn3-font) !important; }
body.thorn3-site .et-l--footer .et_bloom_optin_1 h2 { font-family: var(--thorn3-font-display) !important; }
body.thorn3-site .et-l--footer .et_bloom_optin_1 input { min-height: 44px; border: 1px solid #77777b !important; border-radius: var(--thorn3-radius) !important; background: var(--thorn3-canvas) !important; color: var(--thorn3-ink) !important; font: 400 1rem/1.4 var(--thorn3-font) !important; }
body.thorn3-site .et-l--footer .et_bloom_optin_1 button { min-height: 44px; border: 1px solid var(--thorn3-gold) !important; border-radius: var(--thorn3-radius-pill) !important; background: var(--thorn3-gold) !important; color: var(--thorn3-ink) !important; font: 600 1rem/1.3 var(--thorn3-font) !important; }
body.thorn3-site .et-l--footer .et_bloom_optin_1 button span { color: var(--thorn3-ink) !important; }

/* Rank Math, WooCommerce, and [thorn3_breadcrumbs] share one visual language. */
body.thorn3-site :is(nav.rank-math-breadcrumb,nav.woocommerce-breadcrumb,nav.thorn3-breadcrumb) {
  max-width: 100%;
  margin: 0 0 var(--thorn3-space-4);
  color: var(--thorn3-muted);
  font: 600 clamp(1rem,1.3vw,1.375rem)/1.5 var(--thorn3-font);
  letter-spacing: .055em;
  text-transform: uppercase;
  overflow-wrap: anywhere;
}
body.thorn3-site nav.rank-math-breadcrumb p { margin: 0; padding: 0; color: inherit; font: inherit; }
body.thorn3-site :is(nav.rank-math-breadcrumb,nav.woocommerce-breadcrumb,nav.thorn3-breadcrumb) .separator {
  display: inline-block;
  margin-inline: .4em;
  color: var(--thorn3-muted);
  font-weight: 500;
  text-decoration: none;
}
body.thorn3-site :is(nav.rank-math-breadcrumb,nav.woocommerce-breadcrumb,nav.thorn3-breadcrumb) a {
  color: var(--thorn3-ink) !important;
  text-decoration: none !important;
  text-underline-offset: .25em;
}
body.thorn3-site :is(nav.rank-math-breadcrumb,nav.woocommerce-breadcrumb,nav.thorn3-breadcrumb) a:is(:hover,:focus-visible) {
  color: var(--thorn3-ink) !important;
  text-decoration: underline !important;
  text-decoration-color: var(--thorn3-gold) !important;
  text-decoration-thickness: 2px !important;
}
body.thorn3-site :is(.thorn3-dark,.thorn3-section-dark,.thorn3-section-ink,.thorn3-newsletter,.thorn3-home-hero,.et-l--footer) :is(nav.rank-math-breadcrumb,nav.woocommerce-breadcrumb,nav.thorn3-breadcrumb),
body.thorn3-site :is(.thorn3-dark,.thorn3-section-dark,.thorn3-section-ink,.thorn3-newsletter,.thorn3-home-hero,.et-l--footer) :is(nav.rank-math-breadcrumb,nav.woocommerce-breadcrumb,nav.thorn3-breadcrumb) .separator {
  color: var(--thorn3-canvas);
}
body.thorn3-site :is(.thorn3-dark,.thorn3-section-dark,.thorn3-section-ink,.thorn3-newsletter,.thorn3-home-hero,.et-l--footer) :is(nav.rank-math-breadcrumb,nav.woocommerce-breadcrumb,nav.thorn3-breadcrumb) a {
  color: var(--thorn3-canvas) !important;
}

@media (min-width: 64rem) {
  body.thorn3-site .thorn3-commerce div.product div.images { width: 58.5% !important; margin-right: 4.5% !important; }
  body.thorn3-site .thorn3-commerce div.product div.summary { width: 37% !important; }
}
@media (max-width: 47.99rem) {
  body.thorn3-site .thorn3-header-inner { min-height: 4.5rem; }
  body.thorn3-site .thorn3-header .custom-logo-link { max-width: 9.5rem; }
  body.thorn3-site .thorn3-blog-landing .et_pb_search { width: 100% !important; margin-inline: 0 !important; }
  body.thorn3-site .thorn3-home-section[aria-labelledby="home-journal"] .thorn3-shelf-card { padding: 1rem; }
  body.thorn3-site .thorn3-home-hero .thorn3-slide { min-height: 22rem; }
  body.thorn3-site .thorn3-home-hero .thorn3-slide h2 { font-size: clamp(2rem, 8vw, 2.75rem); }
  body.thorn3-site .thorn3-commerce div.product div.summary { padding: 1.3125rem; }
}
@media (prefers-reduced-motion: reduce) {
  body.thorn3-site :is(.thorn3-button,.woocommerce a.button,.woocommerce button.button):active { transform: none; }
}

/* Compact header below 1024px: icon disclosure and a full-width, touch-friendly menu. */
.thorn3-menu-toggle[hidden],
.thorn3-navigation[hidden] { display: none !important; }
@media (max-width: 63.99rem) {
  body.thorn3-site .thorn3-header-menu-open { max-height: none; overflow: visible; }
  body.thorn3-site .thorn3-header-inner { grid-template-columns: minmax(0,1fr) 48px 48px; column-gap: .375rem; }
  body.thorn3-site .thorn3-menu-toggle,
  body.thorn3-site .thorn3-bag { width: 48px; height: 48px; min-height: 48px; padding: 0; margin: 0; display: grid; place-items: center; }
  body.thorn3-site .thorn3-menu-toggle { grid-column: 2; color: var(--thorn3-ink); }
  body.thorn3-site .thorn3-bag { grid-column: 3; }
  body.thorn3-site .thorn3-bag svg { width: 29px; height: 29px; stroke-width: 1.7; }
  body.thorn3-site .thorn3-menu-toggle .thorn3-menu-icon { position: relative; display: block; width: 32px; height: 26px; margin: 0; }
  body.thorn3-site .thorn3-menu-toggle .thorn3-menu-icon > span { position: absolute; left: 0; width: 100%; height: 2.5px; margin: 0; border-radius: 2px; background: currentColor; transition: top 180ms ease, transform 180ms ease, opacity 180ms ease; }
  body.thorn3-site .thorn3-menu-icon > span:nth-child(1) { top: 2px; }
  body.thorn3-site .thorn3-menu-icon > span:nth-child(2) { top: 12px; }
  body.thorn3-site .thorn3-menu-icon > span:nth-child(3) { top: 22px; }
  body.thorn3-site .thorn3-menu-toggle[aria-expanded="true"] .thorn3-menu-icon > span:nth-child(1) { top: 12px; transform: rotate(45deg); }
  body.thorn3-site .thorn3-menu-toggle[aria-expanded="true"] .thorn3-menu-icon > span:nth-child(2) { opacity: 0; }
  body.thorn3-site .thorn3-menu-toggle[aria-expanded="true"] .thorn3-menu-icon > span:nth-child(3) { top: 12px; transform: rotate(-45deg); }
  body.thorn3-site .thorn3-navigation-ready:not([hidden]) { position: absolute; top: 100%; left: calc(-1 * var(--thorn3-gutter)); width: calc(100% + var(--thorn3-gutter) * 2); max-height: calc(100vh - 4.5rem); max-height: calc(100dvh - 4.5rem); margin: 0; padding: .75rem var(--thorn3-gutter) 1.25rem; overflow-y: auto; overscroll-behavior: contain; background: var(--thorn3-canvas); border-top: 1px solid var(--thorn3-line); box-shadow: 0 12px 22px rgb(0 0 0 / 10%); }
  body.thorn3-site .thorn3-navigation > .thorn3-menu { display: block; }
  body.thorn3-site .thorn3-navigation > .thorn3-menu > li { display: grid; grid-template-columns: minmax(0,1fr) 44px; align-items: center; }
  body.thorn3-site .thorn3-navigation > .thorn3-menu > li > a { grid-column: 1; min-height: 4.5rem; padding: .75rem 0; font-size: 1.0625rem; text-transform: uppercase; }
  body.thorn3-site .thorn3-navigation > .thorn3-menu > li:not(.thorn3-dropdown) > a { grid-column: 1 / -1; }
  body.thorn3-site .thorn3-navigation > .thorn3-menu > li > .thorn3-submenu-toggle { grid-column: 2; width: 44px; height: 44px; float: none; }
  body.thorn3-site .thorn3-navigation > .thorn3-menu > li > .thorn3-dropdown-panel { grid-column: 1 / -1; margin: 0 0 .75rem; padding: 0 0 0 1rem; border: 0; border-left: 1px solid var(--thorn3-line); border-radius: 0; box-shadow: none; background: transparent; }
  body.thorn3-site .thorn3-navigation > .thorn3-menu > .current-menu-item > a { text-decoration-color: currentColor; text-underline-offset: .25em; }
  body.thorn3-site .thorn3-navigation :is(a,button):focus-visible,
  body.thorn3-site :is(.thorn3-menu-toggle,.thorn3-bag):focus-visible { outline: 2px solid var(--thorn3-focus); outline-offset: 2px; }
}
@media (prefers-reduced-motion: reduce) {
  body.thorn3-site .thorn3-menu-toggle .thorn3-menu-icon > span { transition: none; }
}
