/*
Theme Name: Knox Laser Creations
Description: Custom Scripture-led Reformed Christian workshop theme, based on the approved Knox prototype.
Version: 1.3.8
Requires at least: 6.5
Requires PHP: 8.1
Text Domain: knox-laser-creations
*/
:root {
  --ink:#243d44;
  --ink-deep:#1c3138;
  --text:#253235;
  --muted:#69706d;
  --paper:#fcfaf6;
  --ivory:#f4f0e8;
  --line:#dddcd4;
  --gold:#b49864;
  --serif:Georgia,'Times New Roman',serif;
  --sans:'Helvetica Neue',Arial,sans-serif;
  --container:1360px;
}

/* Saved Reformer and Puritan artwork; a product design library. */
.quote-library { margin-top:44px; padding:38px; background:var(--ivory); border:1px solid var(--line); scroll-margin-top:125px; }
.collection-library-link { margin:0 0 20px; }
.quote-format-link { margin-top:24px; }
.quote-library-heading { display:flex; justify-content:space-between; gap:40px; align-items:center; }
.quote-library-heading h4 { margin:10px 0 0; font:400 43px/1.08 var(--serif); letter-spacing:-1.3px; }
.quote-library-heading h4 em { color:var(--ink); font-weight:400; }
.quote-library-heading>p { max-width:405px; font-size:14px; color:var(--muted); }
.quote-controls { display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-top:30px; }
.quote-controls label,.quote-selection-top label { display:block; font-size:11px; font-weight:600; letter-spacing:.2px; }
.quote-controls input,.quote-controls select,.quote-selection-top select { display:block; width:100%; min-width:0; margin-top:7px; padding:12px 14px; min-height:46px; border:1px solid #c5c7bd; border-radius:0; background:var(--paper); color:var(--ink); font-size:14px; }
.quote-results { color:var(--muted); font-size:11px; margin:18px 0; }
.quote-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:26px 18px; }
.quote-card { min-width:0; background:var(--paper); border:1px solid var(--line); display:flex; flex-direction:column; }
.quote-art { display:block; width:100%; padding:0; border:0; background:#fff; cursor:pointer; position:relative; }
.quote-art img { display:block; width:100%; aspect-ratio:1; object-fit:contain; }
.quote-art>span { display:block; text-align:right; padding:7px 12px; font-size:10px; color:var(--ink); border-top:1px solid var(--line); }
.quote-art:hover>span { text-decoration:underline; }
.quote-card-copy { padding:16px; display:flex; flex-direction:column; flex:1; }
.quote-card h5 { margin:0 0 8px; font:400 20px/1.2 var(--serif); }
.quote-card-copy>p { color:var(--muted); margin:0 0 16px; font-size:12px; line-height:1.6; }
.quote-choose { margin-top:auto; text-align:left; padding:10px 0 0; border:0; border-top:1px solid var(--line); color:var(--ink); background:none; cursor:pointer; font-size:12px; min-height:44px; }
.quote-choose[aria-pressed="true"] { font-weight:700; }
.quote-choose:disabled { opacity:.4; cursor:default; }
.quote-card:has(.quote-choose[aria-pressed="true"]) { outline:2px solid var(--ink); outline-offset:-2px; }
.quote-more { display:flex; gap:50px; margin:28px auto 0; min-height:44px; border:0; border-bottom:1px solid var(--ink); color:var(--ink); background:none; font-size:12px; cursor:pointer; }
.quote-selection { margin-top:36px; padding:26px; background:var(--paper); border:1px solid #c5c7bd; }
.quote-selection-top { display:flex; justify-content:space-between; align-items:center; gap:24px; }
.quote-selection-top h5 { margin:4px 0 0; font:400 27px/1.2 var(--serif); }
.quote-selection-top label { width:270px; max-width:100%; }
.quote-selected { list-style:none; padding:0; margin:24px 0; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; }
.quote-selected.is-single { grid-template-columns:1fr; }
.quote-selected li { display:flex; align-items:center; gap:8px; border:1px solid var(--line); padding:8px; min-height:80px; min-width:0; }
.quote-selected li>span { min-width:0; flex:1; }
.quote-selected img { width:44px; height:44px; object-fit:contain; }
.quote-selected strong { display:block; font-size:10px; font-weight:600; line-height:1.4; }
.quote-selected small { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; color:var(--muted); font-size:9px; line-height:1.4; margin-top:4px; }
.quote-selected button { flex-shrink:0; padding:6px; border:0; background:none; cursor:pointer; color:var(--ink); font-size:18px; }
.quote-selected .quote-slot-empty { border-style:dashed; font-size:10px; color:var(--muted); justify-content:center; }
.quote-selection-actions { display:flex; align-items:center; gap:16px; }
.quote-selection-actions>p { flex:1; font-size:12px; margin:0; }
.quote-clear { font-size:11px; border:0; background:none; color:var(--muted); text-decoration:underline; cursor:pointer; min-height:44px; }
.quote-selection-actions .button { font-size:11px; padding:13px 18px; }
.quote-selection-actions .button:disabled { opacity:.45; cursor:default; }
.quote-library-note { font-size:11px; color:var(--muted); line-height:1.7; margin-top:18px; }
.quote-empty { padding:32px 0; font:400 24px/1.4 var(--serif); }
.quote-dialog { padding:0; border:0; width:min(980px,calc(100% - 40px)); max-width:none; background:var(--paper); color:var(--text); }
.quote-dialog[open] { display:grid; grid-template-rows:minmax(0,1fr) auto; max-height:calc(100dvh - 48px); }
.quote-dialog::backdrop { background:rgba(25,43,48,.68); backdrop-filter:blur(4px); }
.quote-dialog-body { overflow:auto; min-height:0; display:grid; grid-template-columns:1fr 1fr; align-items:start; }
.quote-dialog-art { position:sticky; top:0; background:white; }
.quote-dialog-art img { display:block; width:100%; height:auto; }
.quote-dialog-art>a { display:block; padding:16px 20px 0; font-size:11px; color:var(--ink); }
.quote-dialog-copy { padding:54px 32px 28px; min-width:0; }
.quote-dialog-copy h2 { font:400 38px/1.15 var(--serif); letter-spacing:-1px; margin:14px 0 24px; }
.quote-dialog-copy blockquote { font:400 25px/1.5 var(--serif); margin:0 0 24px; }
.quote-dialog-copy>p:not(.eyebrow) { font-size:13px; color:var(--muted); }
.quote-dialog-copy details { margin-top:24px; border-top:1px solid var(--line); padding-top:16px; font-size:12px; }
.quote-dialog-copy summary { cursor:pointer; }
#quote-dialog-sources a { color:var(--ink); text-underline-offset:3px; }
#quote-dialog-sources small { display:block; margin-top:6px; line-height:1.6; color:var(--muted); }
@media(max-width:1000px) { .quote-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } .quote-selected { grid-template-columns:repeat(2,minmax(0,1fr)); } .quote-library-heading { gap:24px; } }
@media(max-width:650px) {
  .quote-library { margin-top:30px; padding:20px 14px; }
  .quote-library-heading { display:block; }
  .quote-library-heading h4 { font-size:34px; }
  .quote-library-heading>p { font-size:13px; margin-top:18px; }
  .quote-controls { grid-template-columns:minmax(0,1fr); gap:14px; margin-top:24px; }
  .quote-controls input,.quote-controls select,.quote-selection-top select { font-size:16px; }
  .quote-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px 10px; }
  .quote-card-copy { padding:11px; }
  .quote-card h5 { font-size:19px; }
  .quote-card-copy>p { font-size:11px; }
  .quote-choose { font-size:11px; }
  .quote-selection { padding:18px 14px; }
  .quote-selection-top { display:block; }
  .quote-selection-top h5 { font-size:25px; }
  .quote-selection-top label { margin-top:20px; width:100%; }
  .quote-selected { grid-template-columns:minmax(0,1fr); }
  .quote-selected li { min-height:64px; }
  .quote-selected strong { font-size:12px; }
  .quote-selected small { font-size:11px; }
  .quote-selection-actions { flex-wrap:wrap; }
  .quote-selection-actions>p { flex-basis:70%; }
  .quote-selection-actions .button { width:100%; justify-content:center; }
  .quote-dialog { width:calc(100% - 24px); }
  .quote-dialog[open] { max-height:calc(100dvh - 28px); }
  .quote-dialog-body { grid-template-columns:minmax(0,1fr); }
  .quote-dialog-art { position:static; }
  .quote-dialog-copy { padding:28px 22px; }
  .quote-dialog-copy h2 { font-size:32px; }
  .quote-dialog-copy blockquote { font-size:23px; }
}

*,*::before,*::after {
  box-sizing:border-box;
}

html {
  scroll-behavior:smooth;
  scroll-padding-top:115px;
}

body {
  margin:0;
  color:var(--text);
  background:var(--paper);
  font-family:var(--sans);
  font-size:15px;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}

button,input,select,textarea {
  font:inherit;
}

button,a,input,select,textarea,summary {
  -webkit-tap-highlight-color:transparent;
}

button {
  cursor:pointer;
}

a {
  color:inherit;
  text-decoration:none;
}

button {
  color:inherit;
}

img {
  display:block;
  max-width:100%;
  height:auto;
}

figure,p,h1,h2,h3 {
  margin:0;
}

ul,ol {
  margin:0;
  padding:0;
}

svg {
  fill:none;
  stroke:currentColor;
  stroke-width:1.4;
  stroke-linecap:round;
  stroke-linejoin:round;
}

[hidden] {
  display:none!important;
}

::selection {
  background:#dfcfaa;
  color:var(--ink-deep);
}

:focus-visible {
  outline:2px solid #9b7438;
  outline-offset:5px;
}

.sr-only {
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}

.container {
  width:calc(100% - 112px);
  max-width:var(--container);
  margin-inline:auto;
}

.section {
  padding-block:96px;
}

.skip-link {
  position:fixed;
  left:20px;
  top:-80px;
  z-index:100;
  padding:12px 20px;
  background:var(--paper);
  border:1px solid var(--ink);
}

.skip-link:focus {
  top:16px;
}

.announcement {
  height:34px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  color:#f4eee0;
  background:var(--ink);
  font-size:11px;
  letter-spacing:1px;
}

.sparkle {
  font-size:14px;
  color:#cbb383;
}

.site-header {
  position:sticky;
  top:0;
  background:rgba(252,250,246,.97);
  z-index:30;
  border-bottom:1px solid var(--line);
}

.header-inner {
  height:104px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:30px;
}

.brand {
  flex-shrink:0;
  display:block;
}

.brand img {
  width:91px;
  height:98px;
  object-fit:contain;
  mix-blend-mode:multiply;
}

.main-nav {
  display:flex;
  align-items:center;
  gap:34px;
  font-size:13px;
  font-weight:500;
}

.main-nav>a {
  position:relative;
  padding-block:12px;
}

.main-nav>a:not(.nav-cta)::after {
  position:absolute;
  bottom:7px;
  left:0;
  content:'';
  width:0;
  height:1px;
  background:var(--ink);
  transition:width .2s;
}

.main-nav>a:hover::after {
  width:100%;
}

.main-nav .nav-cta {
  border:1px solid var(--ink);
  padding:11px 17px;
  margin-left:10px;
  display:flex;
  align-items:center;
  gap:22px;
  transition:background .2s,color .2s;
}

.main-nav .nav-cta:hover {
  background:var(--ink);
  color:var(--paper);
}

.nav-cta span {
  font-size:18px;
  line-height:1;
}

.menu-toggle {
  display:none;
}

.hero {
  display:grid;
  grid-template-columns:1fr 1.05fr;
  gap:34px;
  padding-block:32px 42px;
  align-items:stretch;
}

.hero-copy {
  padding:40px 12px 25px 0;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
}

.eyebrow {
  font-size:11px;
  font-weight:600;
  letter-spacing:1.85px;
  line-height:1.6;
  text-transform:uppercase;
  color:var(--ink);
}

.eyebrow>span {
  font-size:14px;
  margin-right:6px;
  color:var(--gold);
}

h1,h2 {
  font-family:var(--serif);
  color:var(--ink);
  font-weight:400;
  letter-spacing:-2.5px;
}

h1 {
  font-size:clamp(54px,5.05vw,77px);
  line-height:1.07;
  margin-block:22px 24px;
}

h1 em,h2 em {
  font-weight:400;
  color:#66756a;
}

.hero-description {
  font-size:15px;
  line-height:1.8;
  color:#606965;
}

.hero-actions {
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:18px;
  margin-top:27px;
}

.button {
  min-height:46px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:30px;
  padding:12px 22px;
  border:1px solid transparent;
  font-size:11px;
  font-weight:500;
  letter-spacing:.35px;
  line-height:1.6;
  transition:background .2s,color .2s,transform .2s;
}

.button>span {
  font-size:18px;
  line-height:1;
}

.button-primary {
  background:var(--ink);
  color:white;
}

.button-primary:hover {
  background:#38555c;
  transform:translateY(-2px);
}

.text-link {
  display:inline-flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  border:0;
  border-bottom:1px solid #a0a6a0;
  background:none;
  padding:0 0 3px;
  font-size:11px;
  font-weight:500;
  letter-spacing:.1px;
}

.text-link>span {
  font-size:17px;
  line-height:1;
}

.text-link:hover {
  color:#8e6734;
  border-color:#8e6734;
}

.hero-origin {
  margin-top:37px;
  font-size:11px;
  color:var(--muted);
  line-height:1.6;
  position:relative;
  padding-left:32px;
}

.origin-line {
  width:21px;
  height:1px;
  background:var(--gold);
  position:absolute;
  left:0;
  top:8px;
}

.origin-location {
  display:block;
  font-size:11px;
  letter-spacing:1.55px;
  margin-top:4px;
}

.hero-visual {
  position:relative;
  min-height:570px;
  overflow:hidden;
  background:var(--ivory);
}

.hero-visual>img {
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:52% center;
  position:absolute;
  inset:0;
}

.hero-image-note {
  position:absolute;
  left:26px;
  right:26px;
  bottom:45px;
  border-top:1px solid rgba(255,255,255,.55);
  padding-top:18px;
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  color:#fff;
  text-shadow:0 1px 10px #392a21;
}

.hero-image-note>span:first-child {
  font-size:11px;
  letter-spacing:1.5px;
  line-height:1.5;
}

.hero-image-note em {
  font-family:var(--serif);
  font-size:24px;
  font-weight:400;
  letter-spacing:0;
  text-transform:none;
}

.image-mark {
  font-size:37px;
  line-height:1;
}

.concept-label {
  position:absolute;
  right:12px;
  bottom:12px;
  padding:4px 9px;
  background:rgba(252,250,246,.92);
  font-size:11px;
  line-height:1.5;
  letter-spacing:.3px;
  color:#414a45;
}

.values-strip {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  padding-block:23px;
}

.values-strip>div {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  border-right:1px solid var(--line);
  font-size:11px;
  letter-spacing:.35px;
  color:#5d6661;
}

.values-strip>div:last-child {
  border:0;
}

.values-strip svg {
  width:25px;
  height:25px;
  color:#5d7169;
  flex-shrink:0;
}

.section-heading {
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:40px;
  margin-bottom:35px;
}

h2 {
  font-size:47px;
  line-height:1.13;
  letter-spacing:-1.75px;
}

.section-heading h2 {
  margin-top:14px;
}

.section-intro {
  font-size:13px;
  color:var(--muted);
  line-height:1.8;
  padding-bottom:3px;
}

.collection-toolbar {
  display:flex;
  justify-content:space-between;
  gap:20px;
  align-items:center;
  border-bottom:1px solid var(--line);
  margin-bottom:27px;
}

.filters {
  display:flex;
  align-items:center;
  gap:29px;
}

.filter {
  position:relative;
  border:0;
  background:none;
  padding:12px 0 15px;
  min-height:45px;
  font-size:11px;
  color:#737b75;
  white-space:nowrap;
}

.filter::after {
  content:'';
  height:2px;
  position:absolute;
  bottom:-1px;
  left:0;
  right:0;
  background:transparent;
}

.filter.active {
  color:var(--ink);
  font-weight:600;
}

.filter.active::after {
  background:var(--ink);
}

.filter:hover {
  color:var(--ink);
}

.catalog-note {
  font-size:11px;
  color:#777e77;
}

.product-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:22px;
}

.product-open {
  padding:0;
  border:0;
  width:100%;
  text-align:left;
  background:transparent;
  display:block;
}

.product-image {
  position:relative;
  aspect-ratio:4/4.8;
  overflow:hidden;
  background:var(--ivory);
}

.product-image>img {
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .55s;
}

.product-card:hover .product-image>img {
  transform:scale(1.035);
}

.product-tag {
  position:absolute;
  top:12px;
  left:12px;
  background:rgba(252,250,246,.96);
  color:var(--ink);
  font-size:11px;
  letter-spacing:.6px;
  padding:5px 8px;
  line-height:1.5;
}

.product-arrow {
  position:absolute;
  bottom:12px;
  right:12px;
  width:31px;
  height:31px;
  background:var(--paper);
  border-radius:50%;
  display:grid;
  place-items:center;
  font-size:17px;
  transition:background .2s,color .2s;
}

.product-card:hover .product-arrow {
  background:var(--ink);
  color:var(--paper);
}

.product-info {
  padding-top:17px;
}

.product-category {
  font-size:11px;
  letter-spacing:1.1px;
  text-transform:uppercase;
  color:#787d74;
}

.product-info h4 {
  font-family:var(--serif);
  font-size:21px;
  line-height:1.3;
  font-weight:400;
  letter-spacing:-.3px;
  margin:7px 0 6px;
  color:var(--ink);
}

.product-info p {
  font-size:12px;
  line-height:1.7;
  color:#727970;
  min-height:34px;
}

.product-bottom {
  display:flex;
  align-items:center;
  justify-content:space-between;
  border-top:1px solid var(--line);
  margin-top:15px;
  padding-top:11px;
  font-size:11px;
}

.concept-text {
  font-size:11px;
  color:#777c73;
}

.collection-footnote {
  font-size:11px;
  line-height:1.8;
  color:#777d73;
  margin-top:22px;
}

.collection-more {
  border-top:1px solid var(--line);
  padding-top:25px;
  margin-top:30px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
}

.collection-more p {
  font-size:12px;
  color:#6c736d;
}

.faith-feature {
  background:var(--ink-deep);
  color:#f4f0e8;
}

.faith-inner {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:85px;
  align-items:center;
  padding-block:65px;
}

.faith-art {
  position:relative;
  max-width:560px;
}

.art-caption {
  display:block;
  letter-spacing:2.2px;
  font-size:11px;
  color:#c9b88f;
  margin-bottom:15px;
}

.faith-art>img {
  width:100%;
  aspect-ratio:1.3;
  object-fit:cover;
  object-position:center 58%;
}

.faith-art-caption {
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-top:12px;
  font-size:11px;
  color:#ded4c1;
  gap:15px;
}

.faith-art-caption>span:last-child {
  font-size:11px;
  color:#aeb8b1;
}

.faith-copy {
  padding-right:15px;
}

.faith-copy .eyebrow {
  color:#cbb584;
}

.faith-copy h2 {
  font-size:55px;
  color:#f4f0e8;
  line-height:1.12;
  margin-top:18px;
}

.faith-copy h2 em {
  color:#d4bc8b;
}

.faith-copy>p:not(.eyebrow) {
  color:#bdc7c2;
  font-size:13px;
  line-height:1.95;
  max-width:365px;
  margin-top:24px;
}

.faith-topics {
  display:flex;
  flex-wrap:wrap;
  gap:11px;
  font-size:11px;
  letter-spacing:1px;
  text-transform:uppercase;
  margin-block:22px 30px;
  color:#d2d8cb;
}

.faith-topics span+span::before {
  content:'·';
  padding-right:11px;
  color:#c4ae80;
}

.button-light {
  color:var(--ink-deep);
  background:var(--ivory);
}

.button-light:hover {
  background:#dcccad;
  transform:translateY(-2px);
}

.faith-custom-link {
  display:flex;
  gap:20px;
  align-items:center;
  margin-top:20px;
  font-size:11px;
  color:#d4d8cc;
}

.faith-custom-link:hover {
  color:#ddc58f;
}

.process {
  padding-bottom:55px;
}

.process .section-heading {
  align-items:center;
}

.process .section-heading h2 {
  font-size:40px;
  line-height:1.2;
}

.process-steps {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  list-style:none;
  gap:40px;
  margin-top:42px;
}

.process-steps li {
  border-top:1px solid var(--line);
  padding-top:18px;
}

.step-number {
  font-family:var(--serif);
  font-size:29px;
  line-height:1.2;
  color:#9e9e86;
}

.process-steps h3 {
  font-size:15px;
  font-weight:500;
  color:var(--ink);
  margin-top:16px;
}

.process-steps p {
  font-size:13px;
  color:#71786f;
  line-height:1.9;
  margin-top:12px;
  max-width:310px;
}

.story {
  display:grid;
  grid-template-columns:1.12fr 1fr;
  gap:76px;
  align-items:center;
  padding-top:50px;
}

.story-image {
  position:relative;
}

.story-image>img {
  width:100%;
  aspect-ratio:3/2;
  object-fit:cover;
}

.story-image figcaption {
  margin-top:13px;
  display:flex;
  justify-content:space-between;
  gap:15px;
  font-size:11px;
  letter-spacing:.5px;
  color:var(--muted);
}

.story-image figcaption>span:last-child {
  letter-spacing:0;
}

.story-copy h2 {
  margin-top:17px;
  font-size:43px;
}

.story-copy>p:not(.eyebrow) {
  font-size:14px;
  color:#6a726a;
  line-height:1.95;
  max-width:395px;
  margin-top:22px;
}

.story-copy>p+p:not(.eyebrow) {
  margin-top:12px;
}

.story-signature {
  border-top:1px solid var(--line);
  display:flex;
  align-items:center;
  gap:15px;
  margin-top:27px;
  padding-top:19px;
  color:var(--ink);
  font-family:var(--serif);
  font-style:italic;
  font-size:14px;
}

.story-signature>span:first-child {
  color:var(--gold);
  font-size:21px;
  font-style:normal;
}

.inquiry-section {
  background:var(--ivory);
  border-top:1px solid #e7e3d8;
  border-bottom:1px solid #e7e3d8;
}

.inquiry-inner {
  display:grid;
  grid-template-columns:.8fr 1.2fr;
  gap:95px;
  padding-block:80px;
}

.inquiry-copy h2 {
  font-size:54px;
  line-height:1.12;
  margin-top:20px;
}

.inquiry-copy>p:not(.eyebrow) {
  font-size:14px;
  color:#6b746a;
  max-width:290px;
  margin-top:26px;
  line-height:1.95;
}

.inquiry-location {
  display:flex;
  align-items:flex-start;
  gap:12px;
  margin-top:28px;
  font-size:11px;
}

.inquiry-location svg {
  width:20px;
  height:20px;
  flex-shrink:0;
  color:#5c7167;
}

.inquiry-location span {
  display:block;
  font-size:11px;
  color:#7a7f73;
  margin-top:5px;
}

.demo-notice {
  max-width:315px;
  margin-top:32px;
  padding-top:18px;
  border-top:1px solid #d2d3c7;
}

.demo-tag {
  font-size:11px;
  letter-spacing:1.3px;
  color:#57685d;
}

.demo-notice p {
  font-size:11px;
  line-height:1.85;
  color:#777f72;
  margin-top:7px;
}

.form-heading {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  margin-bottom:26px;
}

.form-heading h3 {
  font-family:var(--serif);
  font-size:23px;
  line-height:1.3;
  font-weight:400;
  color:var(--ink);
}

.form-heading>span {
  font-size:11px;
  color:#777d72;
}

.form-row {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:20px;
}

.field {
  display:flex;
  flex-direction:column;
  margin-bottom:18px;
}

.field label {
  font-size:12px;
  font-weight:500;
  color:#4d5c53;
  margin-bottom:8px;
}

.field label>span {
  color:#8b6636;
  padding-left:2px;
}

.field input,.field select,.field textarea {
  width:100%;
  min-width:0;
  border:1px solid #d0d3c7;
  background:rgba(252,250,246,.65);
  border-radius:0;
  color:var(--text);
  font-size:13px;
  padding:12px 13px;
  min-height:46px;
  transition:border-color .15s,background .15s;
}

.field select {
  padding-right:28px;
}

.field input::placeholder,.field textarea::placeholder {
  color:#909287;
  opacity:1;
}

.field textarea {
  resize:vertical;
  min-height:120px;
  line-height:1.8;
}

.field input:focus,.field select:focus,.field textarea:focus {
  border-color:#637c6b;
  background:var(--paper);
}

.field-hint {
  font-size:11px;
  color:#7a8071;
  line-height:1.8;
  margin-top:6px;
}

.product-name-price { display:block; margin:8px 0 12px; color:var(--ink); font-size:12px; font-weight:500; }
.journal-name-options { padding:16px; margin:0 0 20px; border:1px solid #c5cec0; background:rgba(255,255,255,.25); }
.journal-name-choice { display:flex; align-items:flex-start; gap:10px; cursor:pointer; color:var(--ink); font-size:13px; }
.journal-name-choice input { width:18px; height:18px; flex:none; margin:2px 0 0; accent-color:var(--ink); }
.journal-name-choice span { flex:1; min-width:0; }
.journal-name-choice strong { display:block; font-weight:600; line-height:1.5; }
.journal-name-choice small { display:block; font-size:11px; line-height:1.7; color:var(--muted); }
.journal-name-choice b { flex:none; font-size:13px; font-weight:600; line-height:1.5; }
.journal-name-options .field { margin:14px 0 0; }
.journal-name-options .field textarea { min-height:78px; }
.journal-name-cost { margin:10px 0 0; font-size:12px; line-height:1.7; color:var(--ink); }
.dialog-name-addon { padding:14px; border:1px solid var(--line); background:var(--paper); margin:20px 0; }
.dialog-name-addon strong { display:flex; justify-content:space-between; flex-wrap:wrap; gap:6px; font-size:12px; color:var(--ink); }
.dialog-name-addon p { margin:7px 0 0; font-size:12px!important; line-height:1.7; }

.additional-details {
  border-top:1px solid #d4d7cb;
  margin-bottom:22px;
}

.optional-intro { font-size:12px; color:var(--muted); margin:2px 0 10px; }
.optional-label { font-size:11px; font-weight:400; color:var(--muted); }
.additional-details .reference-upload { margin:20px 0 16px; padding-top:18px; border-top:1px solid var(--line); }
.reference-upload input[type="file"] { padding:10px; width:100%; min-width:0; font-size:12px; }
.reference-upload input[type="file"]::file-selector-button { padding:9px 12px; margin-right:12px; border:1px solid var(--line); border-radius:0; background:var(--paper); color:var(--ink); font:inherit; cursor:pointer; }
.reference-errors { color:#87422e; font-size:12px; line-height:1.7; overflow-wrap:anywhere; }
.reference-errors:empty { display:none; }
.reference-files { list-style:none; padding:0; margin:12px 0 0; }
.reference-files li { display:flex; align-items:center; gap:12px; padding:12px 0; border-top:1px solid var(--line); min-width:0; }
.reference-thumb { display:flex; align-items:center; justify-content:center; width:64px; height:64px; flex:0 0 64px; overflow:hidden; background:var(--paper); border:1px solid var(--line); }
.reference-thumb img { display:block; width:100%; height:100%; object-fit:contain; }
.reference-fallback { font-size:10px; letter-spacing:1px; color:var(--muted); }
.reference-file-info { flex:1; min-width:0; }
.reference-file-info strong { display:block; font-size:12px; font-weight:500; overflow-wrap:anywhere; }
.reference-file-info small { display:block; font-size:11px; color:var(--muted); margin-top:3px; }
.reference-files button { border:0; background:none; font-size:11px; color:var(--ink); text-decoration:underline; cursor:pointer; min-height:44px; padding:8px 0 8px 8px; }
.reference-privacy { display:block; }
.reference-preview { border-top:1px solid var(--line); padding-top:22px; margin-top:22px; }
.reference-preview h4 { font:400 23px/1.3 var(--serif); margin-bottom:16px; }
.reference-preview-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.reference-preview-grid figure { margin:0; min-width:0; }
.reference-preview-grid .reference-thumb { width:100%; height:120px; }
.reference-preview-grid figcaption { font-size:10px; color:var(--muted); margin-top:7px; overflow-wrap:anywhere; }
@media(max-width:650px) {
  .reference-upload input[type="file"] { font-size:13px; }
  .reference-preview-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

.additional-details summary {
  list-style:none;
  display:flex;
  align-items:center;
  justify-content:space-between;
  font-size:11px;
  padding:12px 0;
  cursor:pointer;
  color:#657264;
  min-height:44px;
}

summary::-webkit-details-marker {
  display:none;
}

.additional-details summary>span {
  font-size:20px;
  font-weight:300;
  line-height:1;
  transition:transform .2s;
}

.additional-details[open] summary>span {
  transform:rotate(45deg);
}

.additional-details[open] .form-row {
  padding-top:12px;
}

.additional-details .field {
  margin-bottom:5px;
}

.form-submit {
  width:100%;
  justify-content:space-between;
}

.form-footnote {
  text-align:center;
  font-size:11px;
  color:#7b8174;
  margin-top:12px;
}

.request-preview {
  padding:32px;
  border:1px solid #ccd2c3;
  background:var(--paper);
}

.preview-check {
  font-size:25px;
  color:#607764;
  display:block;
  margin-bottom:15px;
}

.request-preview h3 {
  font-family:var(--serif);
  color:var(--ink);
  font-size:35px;
  font-weight:400;
  line-height:1.2;
  margin-top:10px;
}

.preview-explanation {
  font-size:11px;
  color:var(--muted);
  line-height:1.9;
  margin-top:14px;
}

.request-preview dl {
  margin:22px 0;
  border-top:1px solid var(--line);
}

.request-preview dl>div {
  padding:11px 0;
  border-bottom:1px solid var(--line);
}

.request-preview dt {
  font-size:11px;
  letter-spacing:.5px;
  color:var(--muted);
  margin-bottom:4px;
}

.request-preview dd {
  margin:0;
  white-space:pre-wrap;
  font-size:12px;
  overflow-wrap:anywhere;
}

.preview-actions {
  display:flex;
  align-items:center;
  gap:25px;
  flex-wrap:wrap;
}

#copy-status {
  font-size:11px;
  color:var(--muted);
  margin-top:15px;
  min-height:18px;
}

.faq {
  display:grid;
  grid-template-columns:.8fr 1.2fr;
  gap:95px;
  padding-block:74px 88px;
}

.faq-intro h2 {
  margin-top:17px;
  font-size:41px;
}

.faq-list>details {
  border-bottom:1px solid var(--line);
}

.faq-list>details:first-child {
  border-top:1px solid var(--line);
}

.faq-list summary {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:25px;
  min-height:61px;
  padding-block:16px;
  font-size:14px;
  color:var(--ink);
  cursor:pointer;
  list-style:none;
}

.faq-list summary>span {
  font-size:22px;
  line-height:1;
  color:#71806d;
  transition:transform .2s;
}

.faq-list details[open] summary>span {
  transform:rotate(45deg);
}

.faq-list details>p {
  font-size:13px;
  color:#73796d;
  line-height:1.9;
  padding:0 40px 18px 0;
}

.site-footer {
  background:var(--ink-deep);
  color:#d9ded2;
}

.footer-main {
  display:grid;
  grid-template-columns:1.2fr 1fr 1.25fr .9fr;
  gap:45px;
  padding-block:48px;
}

.footer-brand>a {
  display:block;
  width:88px;
}

.footer-brand img {
  width:88px;
  height:95px;
  object-fit:contain;
  filter:invert(1);
  mix-blend-mode:screen;
  opacity:.92;
}

.footer-brand>p {
  font-size:11px;
  line-height:1.9;
  color:#aebbae;
  margin-top:14px;
}

.footer-links {
  padding-top:15px;
  display:flex;
  align-items:flex-start;
  flex-direction:column;
  gap:10px;
}

.footer-links>h2 {
  font-family:var(--sans);
  font-size:11px;
  letter-spacing:1.4px;
  color:#cbb587;
  text-transform:uppercase;
  font-weight:500;
  margin-bottom:8px;
}

.footer-links>a,.footer-links>p {
  font-size:11px;
  color:#c6cec1;
}

.footer-links>a:hover {
  color:#e1c990;
  text-decoration:underline;
}

.footer-links>p {
  color:#96a898;
  font-size:11px;
  margin-top:5px;
}

.footer-statement {
  padding-top:14px;
}

.footer-statement .sparkle {
  font-size:24px;
}

.footer-statement>p {
  font-family:var(--serif);
  font-size:27px;
  line-height:1.4;
  letter-spacing:-.6px;
  margin-top:13px;
  color:#eceade;
}

.footer-statement em {
  color:#cbb486;
}

.footer-bottom {
  border-top:1px solid #385046;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding-block:19px;
  font-size:11px;
  letter-spacing:.2px;
  color:#9eae9f;
}

.product-dialog {
  width:min(940px,calc(100% - 48px));
  max-height:calc(100dvh - 48px);
  padding:0;
  border:0;
  background:var(--paper);
  color:var(--text);
  box-shadow:0 20px 100px #0005;
  overflow:hidden;
}

.product-dialog::backdrop {
  background:rgba(15,32,35,.68);
  backdrop-filter:blur(4px);
}

.dialog-close {
  position:absolute;
  top:12px;
  right:12px;
  z-index:1;
  border:1px solid #d2d5c6;
  border-radius:50%;
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  background:var(--paper);
  color:var(--ink);
  font-size:26px;
  line-height:1;
}

.dialog-layout {
  display:grid;
  grid-template-columns:1fr 1.05fr;
  min-height:540px;
}

.dialog-image {
  position:relative;
  min-height:450px;
  background:var(--ivory);
}

.dialog-image img {
  width:100%;
  height:100%;
  object-fit:contain;
  position:absolute;
  inset:0;
}

.dialog-copy {
  padding:50px 38px 38px;
}

.dialog-copy h2 {
  font-size:39px;
  letter-spacing:-1.3px;
  margin-top:12px;
}

.dialog-copy>p:not(.eyebrow) {
  font-size:13px;
  line-height:1.9;
  color:var(--muted);
  margin-top:16px;
}

.dialog-specs {
  margin:22px 0;
}

.dialog-specs>div {
  padding:12px 0;
  border-top:1px solid var(--line);
}

.dialog-specs dt {
  font-size:11px;
  font-weight:600;
  color:var(--ink);
}

.dialog-specs dd {
  margin:5px 0 0;
  font-size:12px;
  line-height:1.7;
  color:var(--muted);
}

.dialog-copy .dialog-note {
  font-size:11px!important;
  margin-bottom:22px;
}

.dialog-copy .button {
  width:100%;
  gap:18px;
  justify-content:space-between;
}

.noscript-notice {
  padding:18px;
  background:var(--ivory);
  font-size:12px;
  text-align:center;
}

@media(min-width:1600px) {
  .hero {
    gap:60px;
  }
  .hero-copy {
    padding-top:55px;
  }
  .hero-visual {
    min-height:635px;
  }
  .hero-origin {
    margin-top:48px;
  }
  h1 {
    font-size:79px;
  }
  .hero-description {
    font-size:16px;
  }
  .hero-actions {
    flex-direction:row;
    align-items:center;
    gap:25px;
  }
  .hero-actions .text-link {
    font-size:11px;
    gap:10px;
  }
}

@media(max-width:1100px) {
  .container {
    width:calc(100% - 72px);
  }
  .main-nav {
    gap:23px;
  }
  .main-nav .nav-cta {
    margin-left:0;
    padding-inline:13px;
    gap:14px;
  }
  .hero {
    gap:22px;
  }
  .hero-copy {
    padding-top:35px;
  }
  h1 {
    font-size:59px;
  }
  .hero-visual {
    min-height:555px;
  }
  .hero-description {
    font-size:13px;
  }
  .values-strip>div {
    font-size:11px;
    gap:9px;
  }
  .section {
    padding-block:75px;
  }
  .product-grid {
    gap:16px;
  }
  .product-info h4 {
    font-size:18px;
  }
  .product-info p {
    font-size:11px;
  }
  .catalog-note {
    display:none;
  }
  .faith-inner {
    gap:55px;
  }
  .faith-copy h2 {
    font-size:47px;
  }
  .faith-copy>p:not(.eyebrow) {
    font-size:12px;
  }
  .story {
    gap:50px;
  }
  .story-copy h2 {
    font-size:37px;
  }
  .inquiry-inner,.faq {
    gap:60px;
  }
  .inquiry-copy h2 {
    font-size:47px;
  }
  .footer-main {
    gap:25px;
  }
  .footer-statement>p {
    font-size:23px;
  }
}

@media(max-width:850px) {
  html {
    scroll-padding-top:90px;
  }
  .container {
    width:calc(100% - 48px);
  }
  .header-inner {
    height:86px;
  }
  .brand img {
    width:75px;
    height:81px;
  }
  .main-nav {
    gap:18px;
    font-size:11px;
  }
  .main-nav>a[href='#process'] {
    display:none;
  }
  .hero-copy {
    padding-top:20px;
  }
  .eyebrow {
    font-size:11px;
    letter-spacing:1.5px;
  }
  h1 {
    font-size:47px;
    letter-spacing:-1.9px;
  }
  .hero {
    gap:24px;
    padding-top:25px;
  }
  .hero-visual {
    min-height:510px;
  }
  .hero-description {
    font-size:12px;
  }
  .desktop-break {
    display:none;
  }
  .hero-origin {
    font-size:11px;
  }
  .origin-location {
    font-size:11px;
    letter-spacing:1px;
  }
  .hero-actions {
    margin-top:24px;
  }
  .hero-actions .button {
    gap:15px;
    padding-inline:17px;
    font-size:11px;
  }
  .hero-actions .text-link {
    font-size:11px;
  }
  .hero-image-note {
    left:18px;
    right:18px;
  }
  .values-strip {
    grid-template-columns:repeat(2,1fr);
    gap:22px;
    padding-block:24px;
  }
  .values-strip>div:nth-child(2) {
    border:0;
  }
  .values-strip>div {
    justify-content:flex-start;
    padding-left:28px;
    font-size:11px;
  }
  .section-heading h2 {
    font-size:38px;
  }
  .section-intro {
    font-size:11px;
  }
  .product-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:30px 20px;
  }
  .product-image {
    aspect-ratio:1;
  }
  .product-info h4 {
    font-size:23px;
  }
  .product-info p {
    font-size:12px;
    min-height:0;
  }
  .product-category {
    font-size:11px;
  }
  .product-bottom {
    font-size:11px;
  }
  .concept-text {
    font-size:11px;
  }
  .product-tag {
    font-size:11px;
  }
  .collection-footnote {
    font-size:11px;
  }
  .faith-inner {
    gap:36px;
    padding-block:50px;
  }
  .faith-copy h2 {
    font-size:39px;
  }
  .faith-copy>p:not(.eyebrow) {
    font-size:11px;
  }
  .faith-topics {
    gap:7px;
    font-size:11px;
    letter-spacing:.65px;
  }
  .faith-topics span+span::before {
    padding-right:7px;
  }
  .faith-copy .button {
    font-size:11px;
    gap:14px;
    padding-inline:15px;
  }
  .faith-custom-link {
    font-size:11px;
    gap:9px;
  }
  .process .section-heading h2 {
    font-size:33px;
  }
  .process-steps {
    gap:25px;
  }
  .process-steps h3 {
    font-size:12px;
  }
  .process-steps p {
    font-size:11px;
  }
  .story {
    gap:35px;
  }
  .story-copy h2 {
    font-size:32px;
  }
  .story-copy>p:not(.eyebrow) {
    font-size:11px;
  }
  .story-image figcaption {
    flex-direction:column;
    gap:5px;
  }
  .story-signature {
    font-size:12px;
    gap:10px;
  }
  .inquiry-inner {
    gap:35px;
    grid-template-columns:.75fr 1.25fr;
    padding-block:62px;
  }
  .inquiry-copy h2 {
    font-size:40px;
  }
  .inquiry-copy>p:not(.eyebrow) {
    font-size:11px;
  }
  .form-row {
    gap:15px;
  }
  .form-heading h3 {
    font-size:20px;
  }
  .field label {
    font-size:11px;
  }
  .field input,.field select,.field textarea {
    font-size:12px;
    padding:11px;
  }
  .inquiry-location {
    font-size:11px;
  }
  .inquiry-location span {
    font-size:11px;
  }
  .faq {
    gap:35px;
    grid-template-columns:.75fr 1.25fr;
  }
  .faq-intro h2 {
    font-size:35px;
  }
  .faq-list summary {
    font-size:12px;
  }
  .footer-main {
    grid-template-columns:1fr 1fr 1fr;
    gap:25px;
  }
  .footer-statement {
    display:none;
  }
  .footer-bottom {
    font-size:11px;
  }
  .dialog-copy {
    padding:48px 26px 30px;
  }
  .dialog-copy h2 {
    font-size:32px;
  }
}

@media(max-width:650px) {
  html {
    scroll-padding-top:85px;
  }
  .container {
    width:calc(100% - 40px);
  }
  .announcement {
    height:32px;
    font-size:11px;
    letter-spacing:.45px;
    gap:8px;
  }
  .header-inner {
    height:80px;
  }
  .brand img {
    width:70px;
    height:75px;
  }
  .menu-toggle {
    display:flex;
    gap:8px;
    align-items:center;
    justify-content:center;
    position:relative;
    width:44px;
    height:44px;
    border:0;
    background:none;
    color:var(--ink);
  }
  .menu-lines,.menu-lines::before,.menu-lines::after {
    display:block;
    width:22px;
    height:1px;
    background:var(--ink);
    position:absolute;
    transition:transform .2s;
  }
  .menu-lines::before,.menu-lines::after {
    content:'';
    left:0;
  }
  .menu-lines::before {
    top:-6px;
  }
  .menu-lines::after {
    top:6px;
  }
  .menu-toggle[aria-expanded='true'] .menu-lines {
    background:transparent;
  }
  .menu-toggle[aria-expanded='true'] .menu-lines::before {
    top:0;
    transform:rotate(45deg);
  }
  .menu-toggle[aria-expanded='true'] .menu-lines::after {
    top:0;
    transform:rotate(-45deg);
  }
  .main-nav {
    display:none;
    position:absolute;
    left:0;
    right:0;
    top:80px;
    flex-direction:column;
    align-items:stretch;
    gap:0;
    padding:10px 25px 25px;
    background:var(--paper);
    border-bottom:1px solid var(--line);
    box-shadow:0 18px 24px #243d4410;
    font-size:13px;
  }
  .main-nav.is-open {
    display:flex;
  }
  .main-nav>a {
    padding-block:14px;
    border-bottom:1px solid var(--line);
  }
  .main-nav>a[href='#process'] {
    display:block;
  }
  .main-nav>a:not(.nav-cta)::after {
    display:none;
  }
  .main-nav .nav-cta {
    margin-top:17px;
    justify-content:space-between;
    font-size:12px;
    padding:13px 16px;
  }
  .hero {
    grid-template-columns:1fr;
    gap:29px;
    padding-block:32px;
  }
  .hero-copy {
    padding:0 2px;
  }
  .hero .eyebrow {
    font-size:11px;
    letter-spacing:1.5px;
  }
  h1 {
    font-size:clamp(45px,12.3vw,73px);
    letter-spacing:-2px;
    line-height:1.08;
    margin-block:18px 22px;
  }
  .hero-description {
    font-size:13px;
    max-width:320px;
  }
  .hero-actions {
    margin-top:23px;
    gap:17px;
    flex-direction:row;
    flex-wrap:wrap;
    align-items:center;
    column-gap:25px;
  }
  .hero-actions .button {
    font-size:11px;
    min-height:47px;
  }
  .hero-actions .text-link {
    font-size:11px;
  }
  .hero-origin {
    margin-top:24px;
    display:flex;
    align-items:center;
    gap:15px;
    padding-left:24px;
    font-size:11px;
    flex-wrap:wrap;
  }
  .origin-line {
    width:16px;
  }
  .origin-location {
    margin-top:0;
    font-size:11px;
    letter-spacing:.9px;
  }
  .hero-visual {
    min-height:0;
    aspect-ratio:1.12;
  }
  .hero-visual>img {
    object-position:center 54%;
  }
  .hero-image-note {
    bottom:43px;
    padding-top:13px;
  }
  .hero-image-note>span:first-child {
    font-size:11px;
    line-height:1.4;
  }
  .hero-image-note em {
    font-size:21px;
  }
  .image-mark {
    font-size:28px;
  }
  .concept-label {
    font-size:11px;
  }
  .values-strip {
    gap:20px 12px;
    padding-block:23px;
  }
  .values-strip>div {
    padding-left:0;
    font-size:11px;
    gap:8px;
  }
  .values-strip>div:nth-child(odd) {
    padding-right:8px;
  }
  .values-strip svg {
    width:21px;
    height:21px;
  }
  .section {
    padding-block:56px;
  }
  .section-heading {
    flex-direction:column;
    align-items:flex-start;
    gap:18px;
    margin-bottom:22px;
  }
  .section-heading h2 {
    font-size:35px;
    letter-spacing:-1.3px;
  }
  .section-heading .eyebrow {
    font-size:11px;
  }
  .section-intro {
    font-size:11px;
  }
  .section-intro br {
    display:none;
  }
  .collection-toolbar {
    margin-bottom:22px;
    overflow-x:auto;
  }
  .filters {
    gap:23px;
    min-width:max-content;
  }
  .filter {
    font-size:11px;
    padding-bottom:13px;
    min-height:48px;
  }
  .product-grid {
    gap:26px 16px;
  }
  .product-image {
    aspect-ratio:4/4.8;
  }
  .product-tag {
    font-size:11px;
    left:8px;
    top:8px;
    padding:4px 6px;
  }
  .product-arrow {
    width:27px;
    height:27px;
    font-size:15px;
    right:9px;
    bottom:9px;
  }
  .product-info {
    padding-top:12px;
  }
  .product-category {
    font-size:11px;
    letter-spacing:.55px;
    line-height:1.5;
    display:block;
  }
  .product-info h4 {
    font-size:19px;
    letter-spacing:-.4px;
    margin-block:6px;
  }
  .product-info p {
    font-size:12px;
    line-height:1.8;
    min-height:42px;
  }
  .product-bottom {
    font-size:11px;
    gap:5px;
    align-items:flex-start;
    flex-direction:column;
    margin-top:13px;
    padding-top:10px;
  }
  .concept-text {
    font-size:11px;
  }
  .collection-footnote {
    font-size:11px;
    line-height:1.9;
    margin-top:24px;
  }
  .collection-more {
    align-items:flex-start;
    flex-direction:column;
    gap:15px;
    margin-top:23px;
    padding-top:21px;
  }
  .collection-more p {
    font-size:11px;
  }
  .faith-inner {
    grid-template-columns:1fr;
    gap:31px;
    padding-block:39px 45px;
  }
  .faith-art {
    width:100%;
    max-width:none;
  }
  .art-caption {
    font-size:11px;
    margin-bottom:12px;
  }
  .faith-art>img {
    aspect-ratio:1.45;
  }
  .faith-art-caption {
    font-size:11px;
  }
  .faith-art-caption>span:last-child {
    font-size:11px;
  }
  .faith-copy {
    padding-right:0;
  }
  .faith-copy .eyebrow {
    font-size:11px;
  }
  .faith-copy h2 {
    font-size:44px;
    margin-top:14px;
    letter-spacing:-1.6px;
  }
  .faith-copy>p:not(.eyebrow) {
    font-size:12px;
    max-width:350px;
    margin-top:20px;
  }
  .faith-topics {
    font-size:11px;
    gap:10px;
    margin-block:22px 26px;
  }
  .faith-topics span+span::before {
    padding-right:10px;
  }
  .faith-copy .button {
    font-size:11px;
    gap:24px;
    padding-inline:20px;
  }
  .faith-custom-link {
    font-size:11px;
    margin-top:21px;
    gap:14px;
  }
  .process .section-heading {
    align-items:flex-start;
    gap:20px;
  }
  .process .section-heading h2 {
    font-size:34px;
  }
  .process .section-heading h2 em {
    display:block;
  }
  .process-steps {
    grid-template-columns:1fr;
    gap:28px;
    margin-top:28px;
  }
  .process-steps li {
    display:grid;
    grid-template-columns:42px 1fr;
    gap:0 12px;
    padding-top:19px;
  }
  .step-number {
    grid-row:span 2;
    font-size:25px;
  }
  .process-steps h3 {
    margin-top:0;
    font-size:14px;
  }
  .process-steps p {
    font-size:13px;
    margin-top:8px;
    max-width:none;
  }
  .story {
    grid-template-columns:1fr;
    gap:28px;
    padding-top:0;
  }
  .story-image>img {
    aspect-ratio:3/2;
  }
  .story-image figcaption {
    font-size:11px;
    flex-direction:row;
    gap:15px;
    line-height:1.6;
  }
  .story-copy h2 {
    font-size:36px;
    margin-top:13px;
  }
  .story-copy>p:not(.eyebrow) {
    font-size:14px;
    max-width:none;
    margin-top:18px;
  }
  .story-signature {
    font-size:14px;
    margin-top:22px;
  }
  .inquiry-inner {
    grid-template-columns:1fr;
    gap:35px;
    padding-block:49px;
  }
  .inquiry-copy h2 {
    font-size:44px;
    letter-spacing:-1.5px;
    margin-top:15px;
  }
  .inquiry-copy h2 br:nth-child(2) {
    display:none;
  }
  .inquiry-copy>p:not(.eyebrow) {
    font-size:14px;
    max-width:330px;
    margin-top:22px;
  }
  .inquiry-location {
    font-size:11px;
    margin-top:22px;
  }
  .inquiry-location span {
    font-size:11px;
  }
  .demo-notice {
    max-width:none;
    margin-top:22px;
  }
  .demo-notice p {
    font-size:11px;
  }
  .form-heading {
    margin-bottom:22px;
  }
  .form-heading h3 {
    font-size:24px;
  }
  .form-row {
    gap:15px;
  }
  .field label {
    font-size:11px;
  }
  .field input,.field select,.field textarea {
    font-size:16px;
    min-height:46px;
  }
  .field textarea {
    min-height:135px;
  }
  .field-hint {
    font-size:11px;
  }
  .additional-details summary {
    font-size:11px;
  }
  .form-submit {
    font-size:11px;
    min-height:49px;
  }
  .request-preview {
    padding:25px;
  }
  .request-preview h3 {
    font-size:31px;
  }
  .request-preview dd {
    font-size:11px;
  }
  .faq {
    grid-template-columns:1fr;
    gap:28px;
    padding-block:50px 58px;
  }
  .faq-intro h2 {
    font-size:35px;
    margin-top:12px;
  }
  .faq-intro h2 br {
    display:none;
  }
  .faq-list summary {
    font-size:13px;
    padding-block:17px;
  }
  .faq-list details>p {
    font-size:13px;
    padding-right:25px;
  }
  .footer-main {
    grid-template-columns:1fr 1fr;
    gap:30px 24px;
    padding-block:32px;
  }
  .footer-brand {
    grid-column:span 2;
    display:flex;
    align-items:center;
    gap:26px;
  }
  .footer-brand>a,.footer-brand img {
    width:78px;
  }
  .footer-brand img {
    height:84px;
  }
  .footer-brand>p {
    margin-top:0;
    font-size:11px;
  }
  .footer-links {
    padding-top:0;
    gap:11px;
  }
  .footer-links>h2 {
    font-size:11px;
    margin-bottom:2px;
  }
  .footer-links>a {
    font-size:11px;
  }
  .footer-links>p {
    font-size:11px;
  }
  .footer-bottom {
    flex-direction:column;
    align-items:flex-start;
    gap:7px;
    padding-block:21px;
    font-size:11px;
  }
  .product-dialog {
    width:calc(100% - 28px);
    max-height:calc(100dvh - 28px);
  }
  .dialog-layout {
    grid-template-columns:1fr;
    min-height:0;
  }
  .dialog-image {
    min-height:0;
    aspect-ratio:1.3;
  }
  .dialog-copy {
    padding:27px 24px 30px;
  }
  .dialog-copy h2 {
    font-size:33px;
    margin-top:10px;
  }
  .dialog-copy>p:not(.eyebrow) {
    font-size:11px;
  }
  .dialog-specs {
    margin-block:18px;
  }
  .dialog-close {
    width:40px;
    height:40px;
  }
}

@media(prefers-reduced-motion:reduce) {
  html {
    scroll-behavior:auto;
  }
  *,*::before,*::after {
    transition:none!important;
    animation:none!important;
  }
  .button:hover,.product-card:hover .product-image>img {
    transform:none;
  }
}

body.dialog-open {
  overflow:hidden;
}

button:disabled {
  cursor:not-allowed;
  opacity:.6;
}

.product-card {
  position:relative;
}

.product-open {
  font:inherit;
  line-height:inherit;
}

.product-open::after {
  position:absolute;
  inset:0;
  content:"";
  z-index:1;
}

.product-open:focus-visible {
  outline:0;
}

.product-open:focus-visible::after {
  outline:2px solid #9b7438;
  outline-offset:5px;
}

/* Christian collection and the visible custom-order alternative. */
.button-secondary {
  border-color:var(--ink);
  color:var(--ink);
  background:transparent;
}
.button-secondary:hover {
  background:var(--ivory);
  transform:translateY(-2px);
}
.hero-description {
  max-width:440px;
}
.hero-business-link { margin-top:18px; font-size:11px; line-height:1.7; }
.custom-work { border-top:1px solid var(--line); scroll-margin-top:120px; }
.custom-work .section-heading { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,.8fr); gap:48px; margin-bottom:30px; align-items:end; }
.custom-work-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
.custom-work-card { display:flex; flex-direction:column; min-width:0; padding:26px 22px; background:var(--ivory); border:1px solid var(--line); }
.custom-work-number { font-size:11px; color:var(--muted); letter-spacing:1px; margin-bottom:25px; }
.custom-work-card h3 { font:400 27px/1.2 var(--serif); color:var(--ink); letter-spacing:-.5px; margin:0 0 16px; }
.custom-work-card p { font-size:13px; color:var(--muted); margin:0 0 24px; line-height:1.8; }
.custom-work-card .text-link { margin-top:auto; font-size:11px; display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:44px; }
.custom-work-note { max-width:900px; margin-top:24px; color:var(--muted); font-size:12px; line-height:1.8; }
@media(max-width:1000px) { .custom-work-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:650px) { .custom-work .section-heading { grid-template-columns:minmax(0,1fr); gap:18px; } .custom-work-grid { grid-template-columns:minmax(0,1fr); gap:14px; } .custom-work-card { padding:22px; } .custom-work-number { margin-bottom:16px; } .custom-work-card h3 { font-size:26px; } .custom-work-card p { margin-bottom:14px; } }
.creations[data-active-filter="faith"] .product-grid {
  grid-template-columns:repeat(3,minmax(0,1fr));
}
.creations[data-active-filter="faith"] .product-image {
  aspect-ratio:1;
}

.product-image { aspect-ratio:1; }
.product-image-button { display:block; width:100%; border:0; padding:0; text-align:left; }
.product-grid { row-gap:42px; }
.dialog-variants { margin:24px 0; padding:0; border:0; min-width:0; }
.dialog-variants legend { font-size:11px; font-weight:600; margin-bottom:12px; }
.variant-options { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
.variant-button { padding:7px; background:transparent; border:1px solid var(--line); display:flex; flex-direction:column; align-items:center; gap:7px; text-align:center; font-size:11px; line-height:1.4; }
.variant-button img { width:64px; height:64px; object-fit:cover; }
.variant-button[aria-pressed="true"] { border-color:var(--ink); background:var(--ivory); box-shadow:inset 0 0 0 1px var(--ink); }
#variant-caption { margin-top:12px; font-size:11px; color:var(--muted); line-height:1.7; }
@media(max-width:650px) { .variant-options { grid-template-columns:repeat(3,minmax(0,1fr)); } .variant-button { font-size:11px; } }
@media(max-width:850px) {
  .creations[data-active-filter="faith"] .product-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media(max-width:650px) {
  .hero-actions .button-secondary {
    min-height:47px;
  }
  .hero-actions {
    gap:12px;
  }
  .story-copy > p:not(.eyebrow) {
    font-size:13px;
  }
}
@media(prefers-reduced-motion:reduce) {
  .button-secondary:hover { transform:none; }
}

/* Review refinements: readable captions, complete images, and a reachable inquiry. */
.hero-visual::after {
  content:'';
  position:absolute;
  inset:55% 0 0;
  background:linear-gradient(transparent,rgba(20,35,39,.78));
  pointer-events:none;
}
.hero-image-note,.hero-visual .concept-label { z-index:1; }
.story-image>img { aspect-ratio:auto; height:auto; object-fit:contain; }
.faith-art>img { aspect-ratio:1; }
.faith-art-caption { gap:16px; }
.faith-art-caption>span:last-child { flex-shrink:0; }
.product-dialog[open] {
  display:grid;
  grid-template-rows:minmax(0,1fr) auto;
  height:min(800px,calc(100dvh - 48px));
}
.dialog-body { min-height:0; overflow:auto; overscroll-behavior:contain; }
.dialog-layout { min-height:0; align-items:start; }
.dialog-image { min-height:0; aspect-ratio:1; position:sticky; top:0; }
.dialog-copy { padding:48px 30px 24px; }
.dialog-copy h2 { font-size:34px; }
.dialog-specs { margin:18px 0 12px; }
.dialog-specs>div { padding:9px 0; }
.dialog-copy .dialog-note { margin-bottom:0; }
.dialog-variants { margin:20px 0; }
.dialog-footer { padding:16px 24px; border-top:1px solid var(--line); background:var(--paper); }
.dialog-footer .button { width:100%; justify-content:space-between; min-height:48px; }
.dialog-close { z-index:2; }
@media(max-width:650px) {
  .creations .product-grid,.creations[data-active-filter="faith"] .product-grid { grid-template-columns:1fr; }
  .product-grid { row-gap:34px; }
  .product-tag { left:12px; top:12px; padding:6px 9px; }
  .product-category { letter-spacing:.7px; }
  .product-info h4 { font-size:25px; }
  .product-info p { min-height:0; }
  .product-bottom { flex-direction:row; justify-content:space-between; }
  .form-row { grid-template-columns:1fr; gap:0; }
  .additional-details .field { margin-bottom:18px; }
  .story-image figcaption { flex-direction:column; gap:4px; }
  .product-dialog[open] { height:calc(100dvh - 28px); }
  .dialog-image { position:relative; aspect-ratio:1; }
  .dialog-copy { padding:26px 22px; }
  .dialog-copy h2 { font-size:30px; }
  .dialog-copy>p:not(.eyebrow) { font-size:13px; }
  .dialog-footer { padding:12px 16px; }
  .variant-button { font-size:11px; }
  .hero-origin { align-items:flex-start; }
  .hero-actions .button { font-size:12px; }
  .faith-topics { flex-wrap:wrap; }
}

/* Actual product categories and classic catechism card previews. */
.collection-toolbar { display:block; overflow:visible; padding-bottom:24px; }
.filters { flex-wrap:wrap; gap:8px; min-width:0; }
.filter { padding:10px 14px; border:1px solid var(--line); font-size:12px; line-height:1.5; min-height:44px; }
.filter::after { display:none; }
.filter.active { color:var(--paper); background:var(--ink); border-color:var(--ink); }
.filter:not(.active):hover { background:var(--ivory); }
.catalog-group + .catalog-group { margin-top:58px; }
.catalog-group-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:28px; margin-bottom:24px; }
.catalog-group-heading h3 { color:var(--ink); font:400 32px/1.2 var(--serif); letter-spacing:-.8px; }
.catalog-group-heading p { margin-top:10px; max-width:650px; color:var(--muted); font-size:13px; }
.catalog-group-heading>span { flex-shrink:0; color:var(--muted); font-size:11px; padding-top:8px; }
.catalog-group .product-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:36px 26px; }
.catalog-group .product-info p { min-height:0; }
.study-preview { border-top:1px solid var(--line); padding-top:20px; margin-top:20px; }
.study-preview h3 { font-weight:500; font-size:14px; margin-bottom:12px; color:var(--ink); }
.study-controls { display:flex; gap:12px; align-items:center; justify-content:space-between; margin-bottom:12px; }
.study-controls select { min-width:0; max-width:220px; flex:1; min-height:44px; padding:8px 12px; border:1px solid var(--line); color:var(--ink); background:var(--paper); font-size:14px; }
.study-pagination { display:flex; gap:6px; }
.study-pagination button { width:44px; height:44px; border:1px solid var(--line); background:var(--paper); font-size:18px; }
.study-card { padding:24px; border:1px solid #c9b492; border-radius:12px; background:linear-gradient(110deg,#f5e9d5,#eddbbd 70%,#f3e4c9); color:#44372a; box-shadow:0 4px 0 #bda17a; }
#card-set-name { font-size:11px; text-transform:uppercase; letter-spacing:.8px; line-height:1.6; }
.study-card-meta { display:flex; justify-content:space-between; gap:15px; border-top:1px solid #c8b38f; padding-top:14px; margin-top:12px; font-size:11px; }
#card-text { font:400 23px/1.5 var(--serif); margin-top:24px; overflow-wrap:break-word; white-space:pre-wrap; }
.answer-side #card-text { font-size:16px; line-height:1.7; }
.study-footer { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px; margin-top:18px; }
.study-footer button { min-height:44px; border:1px solid var(--ink); background:transparent; color:var(--ink); padding:9px 14px; font-size:12px; }
.study-footer a { font-size:11px; text-decoration:underline; text-underline-offset:3px; }
.study-caption { color:var(--muted); font-size:11px; line-height:1.7; margin-top:12px; }
@media(max-width:850px) { .catalog-group .product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:650px) {
 .filters { gap:7px; }
 .filter { padding:9px 12px; }
 .catalog-group .product-grid { grid-template-columns:1fr; gap:32px; }
 .catalog-group-heading { flex-direction:column; gap:6px; margin-bottom:20px; }
 .catalog-group-heading h3 { font-size:29px; }
 .catalog-group-heading>span { padding-top:0; }
 .catalog-group+.catalog-group { margin-top:42px; }
 .study-card { padding:20px; }
 .study-card-meta { flex-direction:column; gap:4px; }
 #card-text { font-size:22px; }
 .study-controls select { font-size:16px; }
}

.dialog-full-image { position:absolute; top:14px; left:14px; z-index:1; padding:7px 10px; background:rgba(252,250,246,.95); color:var(--ink); font-size:11px; text-decoration:underline; text-underline-offset:3px; }
.catalog-group[data-group="card-sets"] .product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
@media(max-width:650px) { .catalog-group[data-group="card-sets"] .product-grid { grid-template-columns:1fr; } }

.dialog-body,.dialog-copy { min-width:0; }
.dialog-layout { grid-template-columns:minmax(0,1fr) minmax(0,1.05fr); }
.study-pagination { flex-shrink:0; }
.catalog-group[data-group="plaques"] .product-image>img { object-fit:contain; }
.product-dialog.has-plaque .dialog-image { background:#eee9e0; }
.product-dialog.has-plaque .dialog-image img { object-fit:contain; }
.inscription-preview { margin:26px 0; border-block:1px solid var(--line); padding:18px 0; }
.inscription-preview summary { cursor:pointer; font-size:13px; font-weight:600; }
.inscription-paper { margin:20px 0 14px; padding:24px; background:#f1e9d8; border:1px solid #d8c8aa; color:#293c3f; }
.inscription-reference { margin:0 0 20px; font-size:11px; font-weight:600; letter-spacing:1px; }
#inscription-text p { font:400 14px/1.9 Georgia,serif; margin:0 0 15px; overflow-wrap:break-word; }
.inscription-verse { font:500 10px/1.9 var(--sans); margin-right:9px; vertical-align:super; }
#inscription-layout,#inscription-source,.inscription-caption { font-size:11px; }
.inscription-caption { color:var(--muted); margin-bottom:0; }
@media(max-width:650px) { .inscription-paper { padding:18px; } }
@media(max-width:650px) { .dialog-layout { grid-template-columns:minmax(0,1fr); } }

/* Native mountain badge updated for Knox Laser Creations. */
.brand img { width:112px; height:97px; }
.footer-brand>a { width:112px; }
.footer-brand img { width:112px; height:97px; }
@media(max-width:850px) { .brand img { width:90px; height:78px; } }
@media(max-width:650px) {
  .brand img { width:82px; height:71px; }
  .footer-brand>a,.footer-brand img { width:98px; }
  .footer-brand img { height:85px; }
}

.knox-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.knox-store{padding:48px 0 80px;min-height:55vh}.knox-store h1{font-size:clamp(2rem,5vw,3.8rem);margin-bottom:24px}.knox-store ul.products{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;padding:0}.knox-store ul.products:before,.knox-store ul.products:after{display:none!important}.knox-store ul.products li.product{width:100%!important;margin:0!important;float:none!important;list-style:none}.knox-store img{height:auto}.knox-store .button{margin:8px 0}.knox-store a{color:inherit}.knox-store input,.knox-store select,.knox-store textarea{border:1px solid #c9cec9;padding:12px;max-width:100%}.knox-store .woocommerce-product-gallery{max-width:48%;float:left;margin-right:4%}.knox-store .summary{overflow:hidden}.knox-store .woocommerce-tabs{clear:both;padding-top:30px}.knox-store .woocommerce-product-gallery img{max-width:100%;height:auto}.knox-store table{width:100%;border-collapse:collapse}.knox-store td,.knox-store th{padding:12px;border-bottom:1px solid #ddd}.knox-store .woocommerce-message,.knox-store .woocommerce-info{padding:20px;background:#ecebe2;margin:20px 0}.knox-shop-header{padding:24px 0;border-bottom:1px solid #ddd}.knox-shop-header .container{display:flex;align-items:center;gap:28px}.knox-shop-header img{width:95px;height:auto}.knox-shop-header nav{display:flex;gap:24px;flex-wrap:wrap}.knox-shop-header a{text-decoration:none}.knox-store .woocommerce-result-count{margin:16px 0}.knox-store .woocommerce-ordering{margin:0 0 24px}.knox-store .quantity{display:inline-block}.knox-store .knox-personalization{padding:20px;background:#f2f0e9;margin:24px 0}.knox-store .knox-personalization label{display:block;margin:10px 0}@media(max-width:650px){.knox-store ul.products{grid-template-columns:1fr}.knox-store .woocommerce-product-gallery{max-width:100%;float:none;margin:0}.knox-shop-header .container{gap:16px}.knox-shop-header nav{gap:12px}}

.knox-card-price{padding:0 20px 16px;font-weight:600;color:#233c44}.dialog-footer{gap:16px}.dialog-footer .text-link{white-space:nowrap}

.knox-shop-categories{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 28px}.knox-shop-categories a{border:1px solid #c9cec9;padding:8px 14px;text-decoration:none;font-size:.85rem}.knox-shop-categories a:hover{background:#233c44;color:#fff}.knox-shop-categories a:focus-visible{outline:3px solid #b49a60;outline-offset:3px}

/* Full board and supplier-aligned journal mockups. */
.hero-products { display:grid; grid-template-rows: minmax(0, 1.6fr) minmax(0, 1fr); gap:8px; min-height:570px; }
.hero-products>img.hero-board { position:static; width:100%; height:100%; min-height:0; object-fit:contain; background:#e8dfd0; }
.hero-products::after { display:none; }
.hero-product-pair { display:grid; grid-template-columns:1fr 1fr; gap:8px; min-height:0; overflow:hidden; }
.hero-product-pair img { width:100%; height:100%; min-height:0; object-fit:cover; object-position:center; }
.hero-products .concept-label { bottom:10px; font-size:10px; }
@media(max-width:650px) { .hero-products { height:620px; min-height:0; } }

.hero-products { min-width:0; width:100%; max-width:100%; }
.hero-product-pair { grid-template-columns:repeat(2,minmax(0,1fr)); min-width:0; }
.hero-product-pair img { min-width:0; max-width:100%; }

/* Make optional request details visibly interactive. */
.additional-details summary { font-size:16px; font-weight:700; line-height:1.45; color:var(--ink); background:#e5eae4; border:1px solid #9aada4; border-radius:4px; padding:18px 20px; min-height:62px; gap:16px; transition:background .15s,border-color .15s; }
.additional-details summary:hover { background:#d8e2d8; border-color:var(--ink); }
.additional-details summary:focus-visible { outline:3px solid var(--ink); outline-offset:4px; }
.additional-details summary>span { display:grid; place-items:center; flex-shrink:0; width:30px; height:30px; border-radius:50%; background:var(--ink); color:#fff; font-size:24px; line-height:1; }
.additional-details[open] summary { margin-bottom:20px; }
@media(max-width:650px) { .additional-details summary { font-size:16px; padding:16px; } }

.hero-group { width:100%; min-width:0; aspect-ratio:1122/1402; min-height:0; }
.hero-group>img { position:static; width:100%; height:auto; object-fit:contain; display:block; }
.hero-group::after { display:none; }
@media(max-width:650px) { .hero-group { height:auto; min-height:0; } }

.work-verses { display:flex; align-items:center; justify-content:center; gap:12px; padding:10px 24px; min-height:60px; box-sizing:border-box; }
.work-verses p { margin:0; max-width:1000px; font-size:13px; line-height:1.55; letter-spacing:.02em; }
.work-verse-reference { white-space:nowrap; color:#e4d4ad; }
.work-verses button { flex-shrink:0; border:1px solid #9aa9a8; border-radius:3px; background:transparent; color:inherit; padding:5px 9px; font:inherit; font-size:11px; cursor:pointer; }
.work-verses button:hover { background:#ffffff20; }
.work-verses button:focus-visible { outline:2px solid #e4d4ad; outline-offset:3px; }
@media(max-width:650px) { .work-verses { padding:12px 16px; min-height:126px; gap:8px; } .work-verses p {font-size:12px;} .work-verses .sparkle {display:none;} }

.concept-label:empty { display:none; }

.knox-buy-actions { display:flex;flex-direction:column;gap:12px;margin-top:18px; }
.knox-buy-actions .button { justify-content:center;min-height:48px;padding:13px 18px; }
.knox-personalize-link { display:block;font-size:13px;font-weight:600;text-underline-offset:4px;margin-top:8px; }
.knox-cart-link { border:1px solid currentColor;padding:8px 14px; }
.knox-store .cart,.knox-store .checkout { clear:both; }
.knox-store .wc-block-components-button,.knox-store button.single_add_to_cart_button {background:var(--ink);color:white;border:0;padding:15px 24px;cursor:pointer;}
.knox-store .knox-buy-note {font-size:14px;line-height:1.7;background:#eef1eb;padding:18px;}
.knox-buy-actions { position:relative; z-index:2; }

.product-info .concept-text,.product-info .product-bottom { display:none; }
.knox-store .single_add_to_cart_button {font-size:16px;font-weight:700;}

/* Horizontal icon-left header wordmark, based on owner variation 10. */
.brand img { width:280px; height:66px; object-fit:contain; }
.header-inner { gap:22px; }
.main-nav { gap:18px; font-size:12px; }
.knox-shop-header img { width:280px; height:66px; object-fit:contain; }
@media(max-width:1100px) {
 .brand img,.knox-shop-header img {width:240px;height:58px;}
 .main-nav {gap:14px;font-size:11px;}
 .main-nav>a[href="#faith"],.main-nav>a[href="#story"],.main-nav>a[href="#process"] {display:none;}
}
@media(max-width:650px) {
 .brand img {width:240px;max-width:calc(100vw - 120px);height:54px;}
 .main-nav {font-size:15px;}
 .main-nav>a[href="#faith"],.main-nav>a[href="#story"],.main-nav>a[href="#process"] {display:block;}
 .knox-shop-header .container {flex-wrap:wrap;}
 .knox-shop-header img {width:250px;height:56px;}
}

/* Product detail hierarchy and purchase controls. */
.single-product .knox-store div.product {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:44px;align-items:start;}
.single-product .knox-store .woocommerce-product-gallery {width:100%;max-width:100%;float:none;margin:0;}
.single-product .knox-store .woocommerce-product-gallery figure {margin:0;}
.single-product .knox-store .summary {min-width:0;overflow:visible;}
.single-product .knox-store .woocommerce-tabs,.single-product .knox-store .related {grid-column:1/-1;clear:both;}
.knox-store h1,.knox-store .related>h2,.knox-store .woocommerce-tabs h2 {font-family:Arial,Helvetica,sans-serif;font-weight:700;text-transform:uppercase;letter-spacing:.065em;line-height:1.25;}
.knox-store h1 {font-size:clamp(24px,2.5vw,32px);margin:0 0 18px;}
.single-product .knox-store .summary>.price {font-size:24px;font-weight:600;margin:0 0 20px;}
.single-product .knox-store .woocommerce-product-details__short-description {font-size:15px;line-height:1.75;margin-bottom:24px;color:#52615f;}
.knox-store .knox-personalization {background:#edf1eb;border:1px solid #ced8cc;border-radius:8px;padding:20px;margin:24px 0;}
.knox-store .knox-personalization label {font-size:14px;font-weight:600;line-height:1.5;margin:0;}
.knox-store .knox-personalization label:first-child {display:flex;align-items:center;gap:10px;cursor:pointer;}
.knox-store .knox-personalization input[type=checkbox] {width:19px;height:19px;min-width:19px;margin:0;padding:0;accent-color:var(--ink);}
.knox-store .knox-personalization label:nth-child(2) {margin-top:18px;}
.knox-store .knox-personalization textarea {display:block;width:100%;box-sizing:border-box;resize:vertical;min-height:88px;margin-top:8px;background:#fff;border:1px solid #a9b8ad;border-radius:5px;padding:12px 14px;font:400 16px/1.5 Arial,Helvetica,sans-serif;color:var(--ink);}
.knox-store .knox-personalization textarea:focus {outline:2px solid var(--ink);outline-offset:2px;}
.knox-store .knox-personalization small {display:block;font-size:12px;font-weight:400;line-height:1.6;color:#58675e;margin-top:12px;}
.knox-personalization:has(input[name=knox_add_name]:not(:checked)) label:nth-child(2),.knox-personalization:has(input[name=knox_add_name]:not(:checked)) small {display:none;}
.single-product .knox-store .summary form.cart>.quantity {margin:0 12px 12px 0;}
.single-product .knox-store .summary form.cart .qty {width:76px;box-sizing:border-box;border-radius:4px;text-align:center;font-size:16px;}
.single-product .knox-store .summary .single_add_to_cart_button {min-height:48px;border-radius:4px;margin:0 0 12px;}
.single-product .knox-store .product_meta {font-size:12px;color:#6c756e;line-height:1.8;margin-top:20px;}
.knox-store .woocommerce-tabs {padding-top:28px;border-top:1px solid #d8ded4;}
.knox-store .woocommerce-tabs ul.tabs {display:flex;gap:24px;list-style:none;padding:0;margin:0 0 26px;border-bottom:1px solid #d8ded4;}
.knox-store .woocommerce-tabs ul.tabs li {margin:0;padding:0;}
.knox-store .woocommerce-tabs ul.tabs a {display:block;padding:12px 0;text-decoration:none;font:600 13px/1.4 Arial,Helvetica,sans-serif;text-transform:uppercase;letter-spacing:.07em;}
.knox-store .woocommerce-tabs ul.tabs li.active a {border-bottom:2px solid var(--ink);}
.knox-store .woocommerce-tabs .panel {max-width:900px;font-size:15px;line-height:1.8;}
.knox-store .woocommerce-tabs h2 {font-size:18px;margin:0 0 18px;}
.knox-store .woocommerce-tabs p {margin:0 0 16px;}
.knox-store .related {padding-top:32px;border-top:1px solid #d8ded4;}
.knox-store .related>h2 {font-size:20px;margin:0 0 26px;}
.knox-store .related ul.products {grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;margin:0;}
.knox-store ul.products li.product {display:flex;flex-direction:column;align-items:stretch;}
.knox-store ul.products li.product>a:first-child {text-decoration:none;}
.knox-store ul.products li.product img {width:100%;aspect-ratio:1;object-fit:cover;display:block;border-radius:5px;margin:0 0 16px;}
.knox-store ul.products h2.woocommerce-loop-product__title {font-family:Arial,Helvetica,sans-serif;font-size:14px;text-transform:uppercase;letter-spacing:.055em;line-height:1.5;font-weight:700;margin:0 0 10px;}
.knox-store ul.products .price {display:block;font-size:16px;font-weight:600;margin:0 0 14px;}
.knox-store ul.products li.product>a.button {display:block;text-align:center;background:var(--ink);color:white;text-decoration:none;font-size:13px;padding:12px 16px;border-radius:4px;margin:0;}
.knox-store ul.products .knox-personalize-link {font-size:12px;margin-top:12px;text-align:center;}
@media(max-width:850px) {.single-product .knox-store div.product {gap:28px;}.knox-store .related ul.products {grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:650px) {.single-product .knox-store div.product {grid-template-columns:minmax(0,1fr);gap:28px;}.knox-store h1 {font-size:24px;}.knox-store .knox-personalization {padding:18px;}.knox-store .related ul.products {gap:24px 16px;}.knox-store ul.products h2.woocommerce-loop-product__title {font-size:12px;}.single-product .knox-store .woocommerce-tabs,.single-product .knox-store .related {grid-column:1;}}

.knox-store ul.products li.product>a:first-child {display:flex;flex-direction:column;flex:1;}
.knox-store ul.products li.product>a:first-child .price {margin-top:auto;}
.knox-store ul.products h2.woocommerce-loop-product__title {min-height:3em;}

/* Keep the shopping cart last and easy to spot. */
.main-nav .knox-cart-link {order:10;background:#355845;color:#fff;border:1px solid #355845;padding:12px 20px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;border-radius:3px;font-weight:600;}
.main-nav .knox-cart-link:hover {background:#274333;border-color:#274333;color:#fff;}
.main-nav .knox-cart-link::after {display:none;}
.main-nav .knox-cart-link:focus-visible {outline:2px solid #355845;outline-offset:4px;}
.knox-shop-header nav a[href*="/cart/"] {order:10;background:#355845;color:#fff;padding:12px 20px;border-radius:3px;font-weight:600;}
@media(max-width:650px) {.main-nav .knox-cart-link {margin-top:8px;}}

/* Larger header identity; retain original mountain art and horizontal lettering. */
.brand img,.knox-shop-header img {width:360px;height:78px;}
@media(max-width:1100px) {
 .brand img,.knox-shop-header img {width:300px;height:68px;}
}
@media(max-width:650px) {
 .brand img {width:280px;max-width:calc(100vw - 100px);height:60px;}
 .knox-shop-header img {width:300px;max-width:100%;height:66px;}
}

/* WooCommerce product recommendations must retain readable purchase labels. */
.knox-store .wc-block-grid__product-add-to-cart a,
.knox-store .wp-block-woocommerce-product-button .wp-element-button,
.knox-store a.wp-element-button,
.knox-store .wc-block-components-product-button__button,
.knox-store ul.products li.product>a.button,
.knox-store button.single_add_to_cart_button {
 background:#355845 !important;color:#fff !important;border-color:#355845 !important;
 font:600 14px/1.4 Arial,Helvetica,sans-serif;opacity:1;
 padding:12px 20px;min-height:44px;text-decoration:none;
}
.knox-store .wc-block-grid__product-add-to-cart a span,
.knox-store .wp-block-woocommerce-product-button .wp-element-button span,
.knox-store .wc-block-components-product-button__button span {color:inherit !important;}
.knox-store .wc-block-grid__product-add-to-cart a:hover,
.knox-store .wp-block-woocommerce-product-button .wp-element-button:hover,
.knox-store a.wp-element-button:hover,
.knox-store ul.products li.product>a.button:hover,
.knox-store button.single_add_to_cart_button:hover {background:#274333 !important;color:#fff !important;}
.knox-store a.wp-element-button:focus-visible,
.knox-store .wc-block-grid__product-add-to-cart a:focus-visible {outline:2px solid #355845;outline-offset:4px;}

/* Align native store navigation labels with the Cart action. */
.knox-shop-header nav {align-items:center;}
.knox-shop-header nav>a {display:inline-flex;align-items:center;min-height:44px;box-sizing:border-box;}

/* A clear custom-work action alongside the store footer details. */
.knox-shop-footer {padding:32px 0;display:flex;align-items:center;justify-content:space-between;gap:24px;border-top:1px solid var(--line);}
.knox-shop-footer p {margin:0;}
.knox-shop-footer>a {display:inline-flex;align-items:center;justify-content:center;gap:16px;min-height:46px;padding:12px 20px;box-sizing:border-box;background:#355845;color:#fff;border:1px solid #355845;border-radius:4px;font:600 14px/1.4 Arial,Helvetica,sans-serif;text-decoration:none;white-space:nowrap;}
.knox-shop-footer>a:hover {background:#274333;border-color:#274333;}
.knox-shop-footer>a:focus-visible {outline:2px solid #355845;outline-offset:4px;}
@media(max-width:650px) {.knox-shop-footer {flex-direction:column;align-items:flex-start;gap:18px;}}

/* Focused storefront: shared chrome, category browsing and featured products. */
.knox-unified-footer {padding:36px 0;background:#f0eee6;}
.knox-footer-row {display:flex;align-items:center;justify-content:space-between;gap:32px;}
.knox-footer-row strong {font:700 16px/1.4 Arial,Helvetica,sans-serif;letter-spacing:1px;}
.knox-footer-row p {font-size:14px;line-height:1.7;margin:10px 0;}
.knox-footer-row small {font-size:12px;}
.knox-footer-row nav {display:flex;flex-direction:column;gap:8px;}
.knox-footer-row nav a {display:inline-flex;align-items:center;min-height:44px;text-decoration:underline;text-underline-offset:4px;font-size:14px;}
.knox-refreshed-home .section {padding-top:72px;padding-bottom:72px;}
.knox-service-strip {display:grid;grid-template-columns:repeat(4,1fr);gap:20px;padding-top:24px;border-top:1px solid var(--line);font-size:13px;font-weight:600;text-align:center;}
.knox-service-note {font-size:12px;color:var(--muted);text-align:center;padding-top:16px;}
.knox-category-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;}
.knox-category-tile {display:flex;align-items:center;gap:20px;border:1px solid var(--line);background:#f1efe7;text-decoration:none;padding:12px;transition:border-color .15s;}
.knox-category-tile:hover {border-color:#355845;}
.knox-category-tile img {width:88px;height:88px;object-fit:cover;flex-shrink:0;}
.knox-category-tile>span {display:flex;flex:1;justify-content:space-between;align-items:center;gap:12px;font:600 14px/1.4 Arial,Helvetica,sans-serif;}
.knox-featured-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:38px 24px;}
.knox-featured-image {display:block;aspect-ratio:1;background:#f0eee7;}
.knox-featured-image img {width:100%;height:100%;object-fit:cover;}
.knox-featured-card h3 {font:600 16px/1.45 Arial,Helvetica,sans-serif;text-transform:uppercase;letter-spacing:.5px;margin:18px 0 10px;min-height:46px;}
.knox-featured-card h3 a {text-decoration:none;}
.knox-featured-price {font:600 16px/1.4 Arial,Helvetica,sans-serif;margin-bottom:14px;}
.knox-featured-actions .button {width:100%;background:#355845;color:white;}
.knox-featured-actions .knox-personalize-link {display:flex;align-items:center;min-height:44px;font-size:13px;}
.knox-custom-crosslink {font-size:15px;line-height:1.8;border-top:1px solid var(--line);margin-top:36px;padding-top:24px;}
.knox-custom-crosslink a {font-weight:600;text-decoration:underline;text-underline-offset:4px;}
.knox-custom-intro {padding-top:64px;padding-bottom:40px;}
.knox-custom-intro h1 {font-size:clamp(42px,6vw,76px);line-height:1.08;margin:20px 0;}
.knox-custom-intro>p:not(.eyebrow) {max-width:650px;line-height:1.8;margin-bottom:24px;}
.knox-custom-intro .text-link {margin-left:24px;}
.knox-custom-page .quote-library {max-width:1153px;margin:0 auto;padding:64px 0;}
.knox-store h2 {letter-spacing:normal;line-height:1.4;}
.knox-store .wp-block-woocommerce-empty-cart-block h2 {font:600 24px/1.4 Arial,Helvetica,sans-serif;letter-spacing:normal;margin:20px 0;}
.knox-store .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-title {font-family:Arial,Helvetica,sans-serif;}
.knox-personalize-link {min-height:44px;display:flex;align-items:center;}
.main-nav>a {display:inline-flex;align-items:center;min-height:44px;box-sizing:border-box;}
.knox-store .woocommerce-pagination ul {display:flex;justify-content:center;gap:12px;list-style:none;}
.knox-store .woocommerce-pagination a,.knox-store .woocommerce-pagination span {display:grid;place-items:center;min-width:44px;min-height:44px;border:1px solid var(--line);}
@media(max-width:1000px) {
 .knox-category-grid {grid-template-columns:repeat(2,minmax(0,1fr));}
 .knox-footer-row {flex-wrap:wrap;}
}
@media(max-width:650px) {
 .announcement.work-verses {min-height:76px;padding:10px 18px;}
 .work-verses p {font-size:11px;line-height:1.5;letter-spacing:0;}
 .knox-refreshed-home .hero {padding-top:26px;gap:24px;}
 .knox-refreshed-home .hero h1 {font-size:40px;line-height:1.06;letter-spacing:-1px;}
 .knox-refreshed-home .hero h1 br {display:block;}
 .knox-refreshed-home .hero-description {font-size:14px;line-height:1.65;margin-top:20px;}
 .knox-refreshed-home .hero-actions {gap:14px;margin-top:20px;align-items:flex-start;}
 .knox-refreshed-home .hero-actions .button {width:auto;}
 .knox-refreshed-home .hero-actions .text-link {min-height:44px;display:flex;align-items:center;}
 .knox-refreshed-home .hero-origin {display:none;}
 .knox-refreshed-home .section {padding-top:44px;padding-bottom:44px;}
 .knox-refreshed-home h2 {font-size:34px;letter-spacing:-.5px;}
 .knox-service-strip {grid-template-columns:1fr 1fr;gap:18px;font-size:12px;}
 .knox-category-grid {gap:10px;}
 .knox-category-tile {flex-direction:column;align-items:stretch;padding:8px;gap:12px;}
 .knox-category-tile img {width:100%;height:auto;aspect-ratio:1.5;object-fit:cover;}
 .knox-category-tile>span {font-size:12px;min-height:36px;}
 .knox-featured-grid {grid-template-columns:1fr 1fr;gap:26px 14px;}
 .knox-featured-card h3 {font-size:13px;min-height:57px;}
 .knox-featured-actions .button {font-size:12px;padding:12px 8px;}
 .knox-featured-actions .knox-personalize-link {font-size:12px;}
 .knox-footer-row {flex-direction:column;align-items:flex-start;gap:24px;}
 .knox-custom-intro .text-link {display:flex;margin:16px 0 0;min-height:44px;}
 .knox-custom-page .quote-library {padding:44px 20px;}
}

@media(min-width:651px) and (max-width:1100px) {
 .main-nav>a[href$="/#faith"],.main-nav>a[href$="/#story"],.main-nav>a[href$="/#process"] {display:none;}
}

/* Service details use decorative line icons; the text carries each meaning. */
.knox-service-item {display:flex;flex-direction:column;align-items:center;gap:12px;line-height:1.5;}
.knox-service-icon {display:block;width:28px;height:28px;flex:none;color:var(--ink);}
