/* What theme.json cannot express. Everything else is in theme.json. */
.sps-display { font-family: var(--wp--preset--font-family--saira-condensed); font-weight: 700; text-transform: uppercase; font-size: clamp(48px, 9vw, 140px); line-height: 0.9; letter-spacing: 2px; margin: 0; }
.sps-display--medium { font-size: clamp(36px, 5.5vw, 80px); letter-spacing: 1px; }
.sps-uppercase { text-transform: uppercase; }
.sps-mono { font-family: var(--wp--preset--font-family--dm-mono); }
.wp-block-button__link:hover, .wp-block-button__link:focus { background-color: var(--wp--preset--color--primary); color: #fff; text-decoration: none; }
@media (max-width: 1024px) { .wp-block-group.alignfull > .wp-block-group__inner-container, .is-layout-constrained > * { max-width: min(1024px, 100%); } }
/* Header and footer */
.sps-header { background: transparent; }
.sps-header .wp-block-site-logo img { max-height: 48px; width: auto; }
.sps-nav .wp-block-navigation-item__content { font-family: var(--wp--preset--font-family--d-din); font-size: 18px; }
.sps-footer { font-family: var(--wp--preset--font-family--d-din); }
.sps-footer-nav .wp-block-navigation-item__content { font-size: 18px; }
.sps-disclaimer { gap: 10px; }
.sps-disclaimer__icon { display: inline-flex; margin-top: 3px; color: var(--wp--preset--color--text); }
.sps-disclaimer__text { font-family: var(--wp--preset--font-family--dm-mono); font-size: 14px; line-height: 1.6; margin: 0; }
.sps-copyright { font-family: var(--wp--preset--font-family--dm-mono); font-size: 14px; }
/* Catalog and product pages */
.sps-catalog .wp-block-query-title { text-transform: uppercase; }
.sps-term-image img { width: 100%; height: auto; display: block; }
.sps-grid .wc-block-product { text-align: center; }
.sps-card-title { font-family: var(--wp--preset--font-family--d-din); text-transform: none; font-weight: 700; }
.sps-short-description { margin: 1.5rem 0; }
.sps-short-description p { margin: 0 0 0.75em; }
.sps-product .sps-disclaimer { margin-top: 1.5rem; }
/* Typography details matching the old site: mono uppercase for navigation, buttons and product names; condensed prices. */
.sps-nav .wp-block-navigation-item__content, .sps-footer-nav .wp-block-navigation-item__content { font-family: var(--wp--preset--font-family--dm-mono); font-size: 14px; text-transform: uppercase; letter-spacing: 1px; }
.sps-footer-nav .wp-block-navigation-item__content { text-transform: none; font-family: var(--wp--preset--font-family--d-din); font-size: 16px; letter-spacing: 0; }
.wp-block-button__link, .wc-block-components-product-button .wp-block-button__link, .single_add_to_cart_button, .wc-block-mini-cart__button { font-family: var(--wp--preset--font-family--dm-mono) !important; text-transform: uppercase; letter-spacing: 1.5px; font-size: 14px !important; }
.sps-button--light .wp-block-button__link { background-color: var(--wp--preset--color--gray-50); color: var(--wp--preset--color--gray-900); }
.sps-button--light .wp-block-button__link:hover { background-color: #fff; color: var(--wp--preset--color--gray-900); }
.sps-card-title, .sps-grid .wp-block-post-title { font-family: var(--wp--preset--font-family--dm-mono); text-transform: uppercase; font-weight: 400; font-size: 16px; letter-spacing: 1px; }
.sps-grid .wc-block-components-product-price, .sps-product .wc-block-components-product-price { font-family: var(--wp--preset--font-family--saira-condensed); font-weight: 700; font-size: 24px; }
.sps-grid .wc-block-product { text-align: center; }
.sps-grid .wc-block-components-product-image img { border-radius: 6px; }
/* Hero */
.sps-hero { margin-top: 0; }
.sps-hero .sps-display { color: #fff; }
.sps-hero__text { max-width: 820px; margin: 0 auto 20px; font-weight: 700; font-size: 14px; line-height: 1.5; }
.sps-hero .wp-block-buttons { margin-top: 10px; }
/* Phone: the featured row runs in one column, at most eight tiles. */
@media (max-width: 767px) {
  .sps-home-grid .wc-block-product:nth-child(n+9) { display: none; }
}
/* Header row: logo left, menu centered, cart right as an olive pill with the total */
.sps-header__row { gap: 24px; }
.sps-header__row > .wp-block-navigation { flex: 1; justify-content: center; }
.sps-cart .wc-block-mini-cart__button { background: var(--wp--preset--color--primary); color: #fff; border-radius: 8px; padding: 8px 14px; letter-spacing: 0; }
.sps-cart .wc-block-mini-cart__amount { font-family: var(--wp--preset--font-family--dm-mono); font-size: 14px; color: #fff; }
/* Footer */
.sps-footer .sps-copyright, .sps-footer .sps-disclaimer__text { font-family: var(--wp--preset--font-family--d-din); font-size: 13px; }
.sps-copyright { margin: 0; }
/* Card price */
.sps-card-price, .sps-grid .wc-block-components-product-price { font-family: var(--wp--preset--font-family--saira-condensed); font-weight: 700; font-size: 24px !important; }
/* Header: let the centered menu take the middle of the row */
.sps-header__row > .wp-block-navigation { flex: 1 1 auto; }
/* Footer logo above the copyright */
.sps-footer-logo { margin-bottom: 20px; }
/* Product page: price right of the title, stacked quantity and button, boxed disclaimer, plain related cards */
.sps-product__title-row { align-items: flex-start; }
.sps-product__title-row .wp-block-post-title { margin: 0; font-size: 28px; }
.sps-product__price { font-family: var(--wp--preset--font-family--saira-condensed); font-weight: 700; font-size: 20px; white-space: nowrap; margin-top: 4px; }
.sps-product form.cart { display: flex; flex-direction: column; gap: 10px; margin: 24px 0; }
.sps-product form.cart .quantity, .sps-product form.cart .quantity input { width: 100%; max-width: 160px; }
.sps-product form.cart .quantity input { background: #fff; color: #111; border: 1px solid #ddd; border-radius: 8px; padding: 12px; text-align: center; }
.sps-product form.cart .single_add_to_cart_button { width: 100%; background: var(--wp--preset--color--primary); color: #fff; border: 0; border-radius: 8px; padding: 18px 20px; }
.sps-disclaimer { background: var(--wp--preset--color--gray-50); color: var(--wp--preset--color--gray-900); border-radius: 8px; padding: 16px 20px; margin-top: 24px; }
.sps-disclaimer__icon { color: var(--wp--preset--color--gray-500); }
.sps-disclaimer__text { font-family: var(--wp--preset--font-family--d-din); font-size: 12px; line-height: 1.6; }
.sps-related { margin-top: 56px; }
.sps-related h2 { font-family: var(--wp--preset--font-family--saira-condensed); text-transform: none; font-size: 26px; font-weight: 700; }
.sps-related__title, .sps-related .wp-block-post-title { font-family: var(--wp--preset--font-family--d-din); font-weight: 400; font-size: 16px; text-transform: none; }
.sps-related__price { font-family: var(--wp--preset--font-family--d-din); font-size: 16px; }
.sps-related .wc-block-components-product-image img { border-radius: 6px; }

/* Catalog: narrow left column (title, description) beside the banner; the grid runs full width below */
.sps-catalog__side { flex-basis: 24% !important; }
.sps-catalog__main { flex-basis: 76% !important; }
.sps-catalog .wp-block-query-title { font-size: 28px; margin-top: 10px; }
.sps-catalog .wp-block-term-description { font-size: 14px; }
.sps-term-image img { border-radius: 6px; }
@media (max-width: 767px) { .sps-catalog__side, .sps-catalog__main { flex-basis: 100% !important; } }
/* Phones: one product per row, as the old site did */
@media (max-width: 767px) { .sps-grid .wc-block-product-template, .sps-home-grid .wc-block-product-template { grid-template-columns: 1fr !important; } }
/* Content pages: title as on the old legal/contact pages, centered where they were centered */
.sps-page h1.wp-block-heading { font-size: 36px; margin-bottom: 24px; }
.sps-page .wp-block-separator { margin: 24px 0 32px; }

/* ---------- product cards and buttons: hover depth (pointer devices only) ---------- */
@media (hover: hover) {
  .sps-grid .wc-block-product:hover { transform: translateY(-6px); transition-delay: 0s; }
  .sps-grid .wc-block-components-product-image { overflow: hidden; border-radius: 6px; transition: box-shadow .6s cubic-bezier(.2, .7, .2, 1); }
  .sps-grid .wc-block-components-product-image img { transition: transform .7s cubic-bezier(.2, .7, .2, 1); }
  /* a small olive glow around the photo on hover (the shadow sits on the wrapper, which is not clipped) */
  .sps-grid .wc-block-product:hover .wc-block-components-product-image { box-shadow: 0 0 0 1px rgba(77, 76, 49, .65), 0 0 34px rgba(77, 76, 49, .45), 0 24px 48px rgba(0, 0, 0, .5); }
  .sps-grid .wc-block-product:hover .wc-block-components-product-image img { transform: scale(1.045); }
  .wp-element-button, .wp-block-button__link { transition: transform .25s ease, box-shadow .25s ease, filter .25s ease; }
  .wp-element-button:hover, .wp-block-button__link:hover { transform: translateY(-2px); box-shadow: 0 12px 26px rgba(77, 76, 49, .45); filter: brightness(1.12); }
}

/* ---------- header: sticky, glassy once the page has moved ---------- */
/* the template-part wrapper is the sticky element: a sticky child can only stick within its parent's height */
.wp-site-blocks > header.wp-block-template-part { position: sticky; top: 0; z-index: 40; }
.admin-bar .wp-site-blocks > header.wp-block-template-part { top: var(--wp-admin--admin-bar--height, 32px); }
.sps-header { transition: background-color .35s ease, box-shadow .35s ease; }
.sps-header.is-scrolled { background-color: rgba(14, 14, 12, .78); -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px);
  box-shadow: 0 1px 0 rgba(255, 255, 255, .06), 0 12px 30px rgba(0, 0, 0, .35); }
@media (prefers-reduced-motion: reduce) {
  .sps-grid .wc-block-product, .sps-grid .wc-block-components-product-image img, .wp-element-button, .wp-block-button__link, .sps-header { transition: none !important; }
}

/* ---------- product tiles: the add-to-cart control is a round plus button on the image corner ---------- */
:root {
  --sps-icon-plus: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 5v14M5 12h14'/%3E%3C/svg%3E");
  --sps-icon-check: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6L9 17l-5-5'/%3E%3C/svg%3E");
}
.sps-grid .wc-block-product-template > .wc-block-product { display: grid; grid-template-columns: minmax(0, 1fr); }
.sps-grid .wc-block-product-template > .wc-block-product > .wc-block-components-product-image { grid-area: 1 / 1; }
.sps-grid .wc-block-product-template > .wc-block-product > .wc-block-components-product-button { grid-area: 1 / 1; align-self: end; justify-self: end; margin: 0 12px 12px 0 !important; z-index: 2; }
.sps-grid .wc-block-product .wc-block-components-product-button__button { position: relative; display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; padding: 0 !important; margin: 0 !important; border-radius: 50% !important; box-shadow: 0 6px 18px rgba(0, 0, 0, .45); }
/* the label stays in the DOM for assistive technology (the button also carries an aria-label) but takes no space */
.sps-grid .wc-block-product .wc-block-components-product-button__button > span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.sps-grid .wc-block-product .wc-block-components-product-button__button::before { content: ""; width: 20px; height: 20px; background: #fff; -webkit-mask: var(--sps-icon-plus) center / contain no-repeat; mask: var(--sps-icon-plus) center / contain no-repeat; transition: transform .25s ease, opacity .25s ease; }
.sps-grid .wc-block-product .wc-block-components-product-button__button.added::before { -webkit-mask-image: var(--sps-icon-check); mask-image: var(--sps-icon-check); }
.sps-grid .wc-block-product .wc-block-components-product-button__button.loading::before { opacity: .3; }
.sps-grid .wc-block-product .wc-block-components-product-button__button.loading::after { content: "" !important; position: absolute; inset: 10px; border: 2px solid rgba(255, 255, 255, .75); border-top-color: transparent; border-radius: 50%; background: none; animation: sps-spin .8s linear infinite; }
.sps-grid .wc-block-product .wc-block-components-product-button__button.added::after { content: none !important; }
.sps-grid .wc-block-product .added_to_cart { display: none; }
@keyframes sps-spin { to { transform: rotate(360deg); } }
@media (hover: hover) { .sps-grid .wc-block-product .wc-block-components-product-button__button:hover::before { transform: scale(1.12); } }

/* ---------- editorial pieces shared by the policy, contact and home sections ---------- */
:root { --sps-accent: #A7A46E; }
.sps-eyebrow { font-family: var(--wp--preset--font-family--dm-mono); font-size: 12px; letter-spacing: 3px; text-transform: uppercase; color: var(--sps-accent); margin: 0 0 12px; }
.sps-lead { max-width: 760px; font-size: 18px; line-height: 1.6; color: #C9C8BF; margin-left: 0 !important; }   /* constrained layouts centre capped children; the lead stays under the heading */
.sps-lead a { color: #fff; }
.sps-cards { gap: 24px; margin: 40px 0; }
@media (min-width: 768px) { .sps-cards { grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)) !important; } }
@media (max-width: 767px) { .sps-cards { grid-template-columns: 1fr !important; } }
.sps-card { border: 1px solid rgba(255, 255, 255, .08); border-radius: 10px; padding: 28px 28px 24px; background: rgba(255, 255, 255, .025); }
.sps-card__num { font-family: var(--wp--preset--font-family--dm-mono); font-size: 12px; letter-spacing: 2px; color: var(--sps-accent); margin: 0 0 14px; }
.sps-card h3 { font-size: 20px; margin: 0 0 10px; }
.sps-card p:last-child { margin-bottom: 0; color: var(--wp--preset--color--gray-500); font-size: 15px; line-height: 1.6; }
.sps-box { border: 1px solid rgba(255, 255, 255, .1); border-radius: 12px; padding: 36px; margin: 40px 0 0; background: linear-gradient(180deg, rgba(77, 76, 49, .2), rgba(77, 76, 49, .04)); }
.sps-box h3 { margin-top: 0; }
.sps-box p { color: #C9C8BF; }
/* outline buttons (secondary actions: Request COA, Contact) */
.sps-button--outline .wp-block-button__link { background: transparent !important; border: 1px solid rgba(255, 255, 255, .4); color: #fff !important; }
.sps-button--outline .wp-block-button__link:hover { border-color: #fff; background: rgba(255, 255, 255, .06) !important; }
.sps-product__coa { margin: -4px 0 28px; }
.sps-hero__eyebrow { color: #D6D4B0; margin-bottom: 18px; }
.sps-hero .wp-block-buttons { gap: 14px; }
.sps-props .sps-cards { margin: 0; }
.sps-ruo .sps-box { margin-top: 0; text-align: center; }
.sps-ruo .sps-box p { max-width: 820px; margin-left: auto; margin-right: auto; }
.sps-ruo .wp-block-buttons { justify-content: center; }

/* ---------- visual details taken from the live site (2026-10-20) ---------- */
/* eyebrows carry a short rule, like "| THE CATALOG" */
.sps-eyebrow::before { content: ""; display: inline-block; width: 18px; height: 1px; background: currentColor; margin-right: 12px; vertical-align: middle; opacity: .8; }
.has-text-align-center.sps-eyebrow::after { content: ""; display: inline-block; width: 18px; height: 1px; background: currentColor; margin-left: 12px; vertical-align: middle; opacity: .8; }
/* home value statements: three ruled columns between hairlines instead of boxes */
.sps-props { padding-top: 88px !important; padding-bottom: 40px !important; }
.sps-props .sps-cards { border-top: 1px solid rgba(255, 255, 255, .08); border-bottom: 1px solid rgba(255, 255, 255, .08); padding: 56px 0; gap: 0; }
@media (min-width: 768px) { .sps-props .sps-cards { grid-template-columns: repeat(3, 1fr) !important; } }
.sps-props .sps-card { border: 0; border-radius: 0; background: none; padding: 8px 40px; border-left: 1px solid rgba(255, 255, 255, .1); text-align: center; }
.sps-props .sps-card:first-child { border-left: 0; }
.sps-props .sps-card__num { font-size: 13px; margin-bottom: 18px; }
.sps-props .sps-card h3 { font-size: 28px; line-height: 1.1; margin-bottom: 16px; }
.sps-props .sps-card p:last-child { font-size: 17px; line-height: 1.7; color: #B9B8AE; max-width: 360px; margin: 0 auto; }
@media (max-width: 767px) { .sps-props { padding-top: 56px !important; } .sps-props .sps-cards { padding: 24px 0; } .sps-props .sps-card { border-left: 0; padding: 26px 0; border-top: 1px solid rgba(255, 255, 255, .08); } .sps-props .sps-card:first-child { border-top: 0; } }
/* product tiles sit in a thin frame */
.sps-grid .wc-block-product-template > .wc-block-product { border: 1px solid rgba(255, 255, 255, .08); border-radius: 12px; padding: 12px 12px 18px; background: rgba(255, 255, 255, .015); transition: border-color .4s ease, opacity .8s cubic-bezier(.2, .7, .2, 1), transform .6s cubic-bezier(.2, .7, .2, 1); }
@media (hover: hover) { .sps-grid .wc-block-product-template > .wc-block-product:hover { border-color: rgba(167, 164, 110, .45); } }
/* the research-use line on catalog and product pages is a light pill, as on the live site */
.sps-catalog .sps-disclaimer, .sps-product .sps-disclaimer { background: #F2F1EA; color: #141412; border-radius: 999px; padding: 12px 22px; }
.sps-catalog .sps-disclaimer .sps-disclaimer__text, .sps-product .sps-disclaimer .sps-disclaimer__text { color: #141412; }
.sps-catalog .sps-disclaimer .sps-disclaimer__icon, .sps-product .sps-disclaimer .sps-disclaimer__icon { filter: invert(1); }
/* product page: quantity above a full-width Add to cart, then a full-width Request COA */
.sps-product form.cart { display: flex; flex-direction: column; gap: 14px; align-items: stretch; }
.sps-product form.cart .quantity { width: 130px; }
.sps-product form.cart .quantity input { width: 100%; }
.sps-product form.cart .single_add_to_cart_button { width: 100%; }
.sps-product__coa, .sps-product__coa .wp-block-button, .sps-product__coa .wp-block-button__link { width: 100%; }
.sps-product__coa .wp-block-button__link { text-align: center; }
/* a hairline opens the featured section */
.sps-standard { border-top: 1px solid rgba(255, 255, 255, .06); padding-top: 64px !important; }

/* ---------- contact form: a framed panel with labelled dark fields ---------- */
.sps-page .sps-form-intro { max-width: 760px; margin: 36px auto 24px; color: #C9C8BF; }
.sps-page .wpcf7 { max-width: 760px; margin: 0 auto 24px; padding: 36px; border: 1px solid rgba(255, 255, 255, .1); border-radius: 12px; background: rgba(255, 255, 255, .02); }
.sps-page .wpcf7 *, .sps-page .wpcf7 input, .sps-page .wpcf7 select, .sps-page .wpcf7 textarea { box-sizing: border-box; max-width: 100%; }
.sps-page .wpcf7 .sps-form-row { display: grid; grid-template-columns: 1fr; gap: 0 24px; }
@media (min-width: 768px) { .sps-page .wpcf7 .sps-form-row { grid-template-columns: 1fr 1fr; } }
.sps-page .wpcf7 .sps-form-row br { display: none; }
.sps-page .wpcf7 .sps-form-row > p { display: contents; }   /* if auto paragraphs are ever re-enabled, the labels still become the grid items */
.sps-page .wpcf7 label { display: block; margin: 0 0 22px; }
.sps-page .wpcf7 .sps-field__label { display: block; font-family: var(--wp--preset--font-family--dm-mono); font-size: 12px; letter-spacing: 2px; text-transform: uppercase; color: var(--sps-accent); margin-bottom: 10px; }
.sps-page .wpcf7 .sps-field__label em { font-style: normal; text-transform: none; letter-spacing: 0; color: var(--wp--preset--color--gray-500); }
.sps-page .wpcf7 .wpcf7-form-control-wrap { display: block; }
.sps-page .wpcf7 input[type="text"], .sps-page .wpcf7 input[type="email"], .sps-page .wpcf7 select, .sps-page .wpcf7 textarea {
  width: 100%; height: 50px; margin: 0; padding: 0 16px; background: rgba(255, 255, 255, .045); color: var(--wp--preset--color--text);
  border: 1px solid rgba(255, 255, 255, .16); border-radius: 8px; font-family: var(--wp--preset--font-family--d-din); font-size: 15px; line-height: 1.4;
  transition: border-color .2s ease, box-shadow .2s ease, background-color .2s ease; }
.sps-page .wpcf7 textarea { height: auto; min-height: 170px; padding: 14px 16px; resize: vertical; }
.sps-page .wpcf7 select { appearance: none; -webkit-appearance: none; padding-right: 44px; cursor: pointer;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23C9C8BF' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 16px center; background-size: 16px; }
.sps-page .wpcf7 select option { background: #1D1D1D; color: #E7E6DE; }
.sps-page .wpcf7 input:focus, .sps-page .wpcf7 select:focus, .sps-page .wpcf7 textarea:focus { outline: none; border-color: var(--sps-accent); box-shadow: 0 0 0 3px rgba(167, 164, 110, .18); background: rgba(255, 255, 255, .06); }
.sps-page .wpcf7 ::placeholder { color: rgba(231, 230, 222, .35); }
.sps-page .wpcf7 .sps-form-notice { font-size: 13px; line-height: 1.6; color: var(--wp--preset--color--gray-500); margin: -4px 0 20px; }
.sps-page .wpcf7 .wpcf7-acceptance label { display: flex; gap: 12px; align-items: flex-start; font-size: 13px; line-height: 1.6; color: #C9C8BF; margin: 0 0 26px; }
.sps-page .wpcf7 .wpcf7-acceptance input[type="checkbox"] { width: 18px; height: 18px; margin: 3px 0 0; flex: none; accent-color: var(--wp--preset--color--primary); }
.sps-page .wpcf7 .wpcf7-list-item { margin: 0; }
.sps-page .wpcf7 input[type="submit"] { display: inline-block; min-width: 240px; height: 52px; padding: 0 32px; margin: 0; background: var(--wp--preset--color--primary); color: #fff; border: 0; border-radius: 8px;
  font-family: var(--wp--preset--font-family--dm-mono); font-size: 14px; letter-spacing: 2px; text-transform: uppercase; cursor: pointer; transition: transform .25s ease, box-shadow .25s ease, filter .25s ease; }
.sps-page .wpcf7 input[type="submit"]:hover { transform: translateY(-2px); box-shadow: 0 12px 26px rgba(77, 76, 49, .45); filter: brightness(1.12); }
@media (max-width: 767px) { .sps-page .wpcf7 { padding: 24px 18px; } .sps-page .wpcf7 input[type="submit"] { width: 100%; } }
.sps-page .wpcf7 .wpcf7-spinner { margin: 0 0 0 16px; }
.sps-page .wpcf7 .wpcf7-not-valid-tip { display: block; margin-top: 8px; font-size: 13px; color: #E0A28A; }
.sps-page .wpcf7 .wpcf7-response-output { margin: 24px 0 0; padding: 14px 18px; border: 1px solid rgba(255, 255, 255, .16); border-radius: 8px; font-size: 14px; }
.sps-page .wpcf7 form.sent .wpcf7-response-output { border-color: rgba(167, 164, 110, .6); }
.sps-page .wpcf7 form.invalid .wpcf7-response-output, .sps-page .wpcf7 form.failed .wpcf7-response-output { border-color: rgba(224, 162, 138, .6); }

/* ---------- contact and policy pages: larger type throughout (Ray, 2026-10-20) ---------- */
.sps-page h1.wp-block-heading { font-size: clamp(40px, 4.2vw, 56px); margin-bottom: 20px; }
.sps-page .sps-eyebrow { font-size: 13px; }
.sps-page .sps-lead { font-size: clamp(18px, 1.6vw, 21px); line-height: 1.65; max-width: 820px; }
.sps-page .sps-card__num { font-size: 13px; }
.sps-page .sps-card h3 { font-size: 24px; margin-bottom: 12px; }
.sps-page .sps-card p:last-child { font-size: 17px; line-height: 1.65; }
.sps-page .sps-box h3 { font-size: 26px; }
.sps-page .sps-box p { font-size: 18px; line-height: 1.65; }
.sps-page .sps-form-intro { font-size: 18px; line-height: 1.65; max-width: 820px; }
.sps-page .wpcf7 { max-width: 820px; }
.sps-page .wpcf7 .sps-field__label { font-size: 13px; margin-bottom: 12px; }
.sps-page .wpcf7 input[type="text"], .sps-page .wpcf7 input[type="email"], .sps-page .wpcf7 select, .sps-page .wpcf7 textarea { font-size: 17px; height: 54px; }
.sps-page .wpcf7 textarea { height: auto; min-height: 190px; }
.sps-page .wpcf7 .sps-form-notice { font-size: 14px; }
.sps-page .wpcf7 .wpcf7-acceptance label { font-size: 15px; }
.sps-page .wpcf7 .wpcf7-acceptance input[type="checkbox"] { width: 20px; height: 20px; }
.sps-page .wpcf7 input[type="submit"], .sps-page .wpcf7 button[type="submit"] { font-size: 15px; height: 56px; }
