/*
Theme Name: Stitchcraft Thread — Thread Talk SEO
Theme URI: https://stitchcraftthread.com/
Author: Stitchcraft Thread
Description: Preserves the existing Stitchcraft design while improving the Thread Talk landing page SEO, article previews, image accessibility, and structured data.
Version: 5.7.0
Requires at least: 6.4
Tested up to: 6.8
Requires PHP: 8.0
Text Domain: stitchcraft-thread
*/

/* WordPress-only additions. Original Webflow styling is loaded separately. */
.sc-honeypot { position: absolute !important; left: -9999px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.admin-bar .navbar { top: 32px; }
.sc-form-notice { position: fixed; z-index: 99999; right: 24px; bottom: 24px; max-width: 420px; padding: 16px 20px; background: #fff; color: #111; border-radius: 8px; box-shadow: 0 10px 40px rgba(0,0,0,.25); font-family: Manrope, sans-serif; }
.sc-form-notice.is-error { background: #7d1d1d; color: #fff; }
.sc-wp-main { min-height: 65vh; padding: 180px 0 100px; background: #0b0b0b; color: #fff; }
.sc-wp-shell { width: min(1180px, calc(100% - 40px)); margin: 0 auto; }
.sc-wp-kicker { font-family: Manrope, sans-serif; text-transform: uppercase; letter-spacing: .14em; opacity: .68; font-size: 13px; }
.sc-wp-title { font-family: Thunder, sans-serif; font-size: clamp(64px, 11vw, 150px); line-height: .82; text-transform: uppercase; margin: 20px 0 36px; }
.sc-post-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 28px; }
.sc-post-card { color: inherit; text-decoration: none; border-top: 1px solid rgba(255,255,255,.25); padding-top: 18px; display: block; }
.sc-post-card img { width: 100%; aspect-ratio: 4/3; object-fit: cover; margin-bottom: 18px; }
.sc-post-card h2 { font-family: Thunder, sans-serif; font-size: 48px; line-height: .95; margin: 8px 0 12px; }
.sc-post-meta, .sc-post-excerpt { font-family: Manrope, sans-serif; }
.sc-post-meta { font-size: 13px; opacity: .65; text-transform: uppercase; letter-spacing: .08em; }
.sc-post-excerpt { font-size: 17px; line-height: 1.65; opacity: .85; }
.sc-article { max-width: 860px; margin: 0 auto; }
.sc-article .sc-wp-title { font-size: clamp(58px, 8vw, 112px); }
.sc-article-content { font-family: Manrope, sans-serif; font-size: 20px; line-height: 1.8; }
.sc-article-content h2, .sc-article-content h3 { font-family: Thunder, sans-serif; line-height: 1; margin-top: 1.4em; }
.sc-article-content h2 { font-size: 58px; }
.sc-article-content h3 { font-size: 42px; }
.sc-article-content img { max-width: 100%; height: auto; }
.sc-pagination { margin-top: 50px; font-family: Manrope, sans-serif; }
.sc-generic-content { font-family: Manrope, sans-serif; font-size: 19px; line-height: 1.7; max-width: 900px; }
@media (max-width: 900px) { .sc-post-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 600px) { .admin-bar .navbar { top: 46px; } .sc-post-grid { grid-template-columns: 1fr; } .sc-wp-main { padding-top: 130px; } }

/* Webflow motion compatibility. */
.nav-button { position: relative; z-index: 2; }
.nav-button:focus-visible { outline: 3px solid #af0205; outline-offset: 3px; }

/* Match the Webflow menu's closed initial state without blocking its native animation. */
.w-mod-js .nav-menu { width: 64px; height: 54px; }
.w-mod-js .navbar-menu-link { opacity: 0; }

/* If the Webflow interaction engine cannot initialize, the watchdog reveals content. */
.sc-motion-fallback [data-w-id][style*="opacity: 0"],
.sc-motion-fallback [data-w-id][style*="opacity:0"] { opacity: 1 !important; transform: none !important; }
.sc-motion-fallback .nav-menu { width: auto; height: auto; }
.sc-motion-fallback .navbar-menu-link { opacity: 1; }

/* Keep the WordPress admin toolbar from visually compressing the first section. */
body.admin-bar .page-wrapper > .navbar:first-child { margin-top: 32px; }
@media (max-width: 782px) { body.admin-bar .page-wrapper > .navbar:first-child { margin-top: 46px; } }


/* Final migration polish. */
html { text-size-adjust: 100%; -webkit-text-size-adjust: 100%; }
.nav-brand img { height: auto; }
.footer-logo { height: auto; }
.newsletter-form input:invalid { box-shadow: none; }


/* About page layout repair. These rules preserve the original Webflow motion. */
.sc-about-page .ah-background-wrapper {
  isolation: isolate;
  overflow: hidden;
}
.sc-about-page .ah-background-wrapper > .container {
  position: relative;
  z-index: 2;
}
.sc-about-page .ah-background {
  z-index: 1;
  display: block;
  object-fit: cover;
}
@media screen and (max-width: 767px) {
  .sc-about-page .ah-background-wrapper { margin-top: 40px; }
  .sc-about-page .ah-content { gap: 36px; }
}


/* Apply the Webflow red body class only to the homepage.
   Exported internal pages use the site's default black body background. */
body:not(.home) {
  background-color: #0d0a09;
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; }
}


/* Native motion engine — replaces Webflow IX2 on WordPress.
   This prevents delayed blank sections while preserving the exported movement. */
html.sc-native-motion { scroll-behavior: smooth; }

html.sc-native-motion [data-w-id="6de5dc03-333f-4e0a-5591-053160ebf416"],
html.sc-native-motion [data-w-id="a2ab355e-9d8c-4c7c-b940-2cc31ccc77fe"],
html.sc-native-motion [data-w-id="46d6184b-8a16-b344-2b47-e514ad42919e"],
html.sc-native-motion [data-w-id="9dd56193-ef05-711f-c60f-ea3f3c7eae1c"],
html.sc-native-motion [data-w-id="e149c76d-9656-cb1c-4070-f3dd224e26e5"],
html.sc-native-motion [data-w-id="cc5dd37c-21a2-6727-e579-8182304181f3"],
html.sc-native-motion [data-w-id="cc5dd37c-21a2-6727-e579-818230418212"],
html.sc-native-motion [data-w-id="cc5dd37c-21a2-6727-e579-818230418215"],
html.sc-native-motion [data-w-id="2c58a3c9-6b09-e98f-a02c-c9c26e1460f7"],
html.sc-native-motion [data-w-id="8f088c83-ba6c-387b-682b-fd41256682a4"],
html.sc-native-motion [data-w-id="acd7c839-c808-ee0c-affd-582fd77c8f9d"],
html.sc-native-motion [data-w-id="3b9a5ad5-9912-3677-1606-34b065dc9193"],
html.sc-native-motion [data-w-id="c2a45d38-9fe7-90f6-920b-af7af7ea4bfe"],
html.sc-native-motion [data-w-id="d8fd3d54-9717-5012-c935-934fab8fcf38"],
html.sc-native-motion [data-w-id="8d108ae4-8529-eaac-68e2-5f3b4a2dfa67"],
html.sc-native-motion [data-w-id="9325b97b-25cb-79fd-9f1c-2f2ba6634880"],
html.sc-native-motion [data-w-id="e1c08b70-f3c2-7063-e566-d9bd45d01e7a"],
html.sc-native-motion [data-w-id="7ac7bbcc-d3e4-07ca-6939-a588305fe7d7"],
html.sc-native-motion [data-w-id="fc31e28f-e127-645f-1533-c008d1d26314"],
html.sc-native-motion [data-w-id="9a48b1a3-23c5-ed53-d2f7-cb42682e9418"],
html.sc-native-motion .thread-wrapper,
html.sc-native-motion [data-w-id="85f3fd75-c009-c72b-caf7-a83486d899fd"],
html.sc-native-motion [data-w-id="85f3fd75-c009-c72b-caf7-a83486d89a00"],
html.sc-native-motion [data-w-id="f833864d-ca51-5aa6-2cf8-4003f22c395b"] {
  opacity: 0 !important;
  transform: translate3d(-100px, 0, 0) !important;
}

html.sc-native-motion [data-w-id="5800956d-6723-e959-4707-02b01bf012d1"],
html.sc-native-motion [data-w-id="3c413b6a-fe90-f8e3-e666-d53ddf383dea"],
html.sc-native-motion [data-w-id="9adcacd0-5713-da29-cb40-7f0a5211b50a"],
html.sc-native-motion [data-w-id="cc5dd37c-21a2-6727-e579-818230418220"],
html.sc-native-motion [data-w-id="c8ddc226-2093-b3a7-a77f-0957a78bc169"],
html.sc-native-motion [data-w-id="a0c541f6-2d0a-1183-f418-332243fc1317"],
html.sc-native-motion [data-w-id="b0b623f0-ba92-5793-1daa-c1f68da4f6cd"],
html.sc-native-motion [data-w-id="5791d685-c84d-f42f-7f8c-d9a0b92b715e"],
html.sc-native-motion [data-w-id="8ef6e28d-9385-25e5-19d4-a02eb14cb729"],
html.sc-native-motion [data-w-id="8ef6e28d-9385-25e5-19d4-a02eb14cb72b"],
html.sc-native-motion [data-w-id="423beb21-5765-18d7-c4b6-a345e18509bb"],
html.sc-native-motion [data-w-id="423beb21-5765-18d7-c4b6-a345e18509bd"],
html.sc-native-motion [data-w-id="08fc94cd-62fb-6126-c86d-86642a4e68d0"],
html.sc-native-motion [data-w-id="b053c2e2-c36b-dcb0-d793-34836723440e"],
html.sc-native-motion [data-w-id="3b9a5ad5-9912-3677-1606-34b065dc9196"],
html.sc-native-motion [data-w-id="c2a45d38-9fe7-90f6-920b-af7af7ea4c01"],
html.sc-native-motion [data-w-id="b7dd1461-6af7-6233-1290-a9c5c6db054d"],
html.sc-native-motion [data-w-id="4a20dbdf-e2b4-17e8-89b8-d3da695065d1"],
html.sc-native-motion [data-w-id="fcd8ec1f-390f-6297-fc6e-f7c63e44fd52"],
html.sc-native-motion [data-w-id="46fe795b-cafb-1a9f-d3fb-bab53b5ba1ce"],
html.sc-native-motion [data-w-id="85f3fd75-c009-c72b-caf7-a83486d89a0b"] {
  opacity: 0 !important;
  transform: translate3d(100px, 0, 0) !important;
}

html.sc-native-motion [data-w-id="eea14672-1554-3bed-626e-24ca830e0ccc"],
html.sc-native-motion [data-w-id="eea14672-1554-3bed-626e-24ca830e0ccd"],
html.sc-native-motion [data-w-id="eea14672-1554-3bed-626e-24ca830e0cce"],
html.sc-native-motion [data-w-id="eb4b7b78-6225-6286-a134-c951f2f143c7"],
html.sc-native-motion [data-w-id="d35cbe6b-92ba-bcd5-0db7-e45d33f58474"],
html.sc-native-motion [data-w-id="d35cbe6b-92ba-bcd5-0db7-e45d33f58475"],
html.sc-native-motion .hv-column,
html.sc-native-motion [data-w-id="cc5dd37c-21a2-6727-e579-81823041822b"],
html.sc-native-motion .at-column,
html.sc-native-motion [data-w-id="eed8b011-c077-fd1a-0a94-23ebe8885a37"],
html.sc-native-motion [data-w-id="85f3fd75-c009-c72b-caf7-a83486d89a18"],
html.sc-native-motion [data-w-id="b951ca21-1f68-7dc1-3fdd-063bef9bea10"] {
  opacity: 0 !important;
  transform: translate3d(0, 100px, 0) !important;
}

html.sc-native-motion [data-w-id="cc5dd37c-21a2-6727-e579-81823041822c"] {
  opacity: 0 !important;
  transform: translate3d(0, -100px, 0) !important;
}

html.sc-native-motion [data-w-id="404c5fb7-d712-350f-6c90-61669f10c0f5"] {
  opacity: 0 !important;
  transform: translate3d(100px, -100px, 0) !important;
}

html.sc-native-motion [data-w-id="eb4b7b78-6225-6286-a134-c951f2f143be"] {
  opacity: 0 !important;
  transform: scale(0) !important;
}

html.sc-native-motion .sc-reveal {
  will-change: transform, opacity;
  transition-property: transform, opacity;
  transition-duration: 1000ms;
  transition-delay: var(--sc-delay, 0ms);
  transition-timing-function: cubic-bezier(.165,.84,.44,1);
}

html.sc-native-motion .sc-reveal.sc-in-view {
  opacity: 1 !important;
  transform: translate3d(0,0,0) scale(1) !important;
}

/* Navigation animation. */
html.sc-native-motion .nav-menu {
  z-index: 999;
  width: 64px !important;
  height: 54px !important;
  transition: width 900ms cubic-bezier(.165,.84,.44,1), height 900ms cubic-bezier(.165,.84,.44,1);
}
html.sc-native-motion .navbar-menu-link {
  opacity: 0 !important;
  pointer-events: none;
  transition: opacity 350ms ease, color 350ms ease;
}
html.sc-native-motion .nav-menu-line {
  transition: transform 900ms cubic-bezier(.165,.84,.44,1), opacity 180ms ease, height 180ms ease;
  transform-origin: center;
}
html.sc-native-motion .nav-menu.is-open { width: 113px !important; height: 270px !important; }
html.sc-native-motion .nav-menu.is-open .navbar-menu-link { opacity: 1 !important; pointer-events: auto; transition-delay: 120ms; }
html.sc-native-motion .nav-menu.is-open .nav-menu-line._1 { transform: translateY(5px) rotate(45deg); }
html.sc-native-motion .nav-menu.is-open .nav-menu-line._2 { opacity: 0; height: 0; }
html.sc-native-motion .nav-menu.is-open .nav-menu-line._3 { transform: translateY(-10px) rotate(-45deg); }

/* Exported hover movement. */
html.sc-native-motion .hp-hover { height: 0; bottom: 0; left: 0; right: 0; transition: height 1000ms cubic-bezier(.165,.84,.44,1); }
html.sc-native-motion .hp-inner:hover .hp-hover,
html.sc-native-motion .hp-inner:focus-visible .hp-hover { height: 100%; }
html.sc-native-motion .button-hover { transform: translateY(101%); transition: transform 1000ms cubic-bezier(.165,.84,.44,1); }
html.sc-native-motion .button:hover .button-hover,
html.sc-native-motion .button:focus-visible .button-hover { transform: translateY(0); }

html.sc-native-motion .pb-content .pb-block { opacity: 1; transition: opacity 700ms cubic-bezier(.165,.84,.44,1); }
html.sc-native-motion .pb-content .pb-imge { opacity: 0; transform: translate3d(var(--sc-px,0px), calc(40px + var(--sc-py,0px)), 0); transition: opacity 700ms cubic-bezier(.165,.84,.44,1), transform 700ms cubic-bezier(.165,.84,.44,1); }
html.sc-native-motion .pb-content:hover .pb-block { opacity: .5; }
html.sc-native-motion .pb-content:hover .pb-imge { opacity: 1; transform: translate3d(var(--sc-px,0px), var(--sc-py,0px), 0); }
html.sc-native-motion .at-image-gradinet { transition: opacity 600ms cubic-bezier(.165,.84,.44,1); }
html.sc-native-motion .at-column:hover .at-image-gradinet { opacity: 0; }

/* Continuous footer gallery motion from the original 50-second Webflow timeline. */
html.sc-native-motion .footer-carousel {
  width: max-content;
  will-change: transform;
  animation: sc-footer-carousel 50s linear infinite alternate;
}
html.sc-native-motion .footer-carousel:hover { animation-play-state: paused; }
@keyframes sc-footer-carousel { from { transform: translate3d(0,0,0); } to { transform: translate3d(-1684px,0,0); } }

/* Use the exported orbit SVG as the reliable scroll-driven circle. */
html.sc-native-motion .hs-lottie-circle { display: none !important; }
html.sc-native-motion .hs-circle { display: block !important; opacity: .75; transform-origin: 50% 50%; will-change: transform, opacity; }

@media (prefers-reduced-motion: reduce) {
  html.sc-native-motion { scroll-behavior: auto; }
  html.sc-native-motion .sc-reveal { opacity: 1 !important; transform: none !important; transition: none !important; }
  html.sc-native-motion .footer-carousel { animation: none !important; transform: none !important; }
  html.sc-native-motion .hs-circle { transform: none !important; }
}


/* Simple, low-friction contact protection. */
.sc-human-check { margin: 8px 0 22px; }
.sc-human-check-label { display: block; margin: 0 0 8px; font-family: Manrope, sans-serif; font-size: 15px; line-height: 1.4; }
.sc-human-check-row { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.sc-human-check-question { font-family: Manrope, sans-serif; font-size: 16px; font-weight: 700; }
.sc-human-check-input { width: 92px !important; min-width: 92px; margin: 0 !important; }
.sc-turnstile-wrap { margin: 8px 0 22px; min-height: 65px; }
.sc-form-security-note { margin: 0 0 20px; font-family: Manrope, sans-serif; font-size: 13px; line-height: 1.5; opacity: .76; }
.sc-form-notice { z-index: 100000; }
.cc-text-wrapper a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 420px) {
  .sc-turnstile-wrap { max-width: 100%; overflow: hidden; }
}

/* Hamburger menu alignment repair.
   Thread Talk is longer than the original Webflow menu labels, so the
   expanded panel must be wide enough to keep every link on one line. */
html.sc-native-motion .nav-menu.is-open {
  width: 150px !important;
  height: 305px !important;
}
html.sc-native-motion .navbar-collapse {
  width: 100%;
  align-items: stretch;
}
html.sc-native-motion .navbar-menu-link {
  display: block;
  width: 100%;
  text-align: center;
  white-space: nowrap;
}



/* Thread Talk editorial system. */
.sc-threadtalk-page {
  --sc-talk-red: #af0205;
  --sc-talk-black: #0d0a09;
  --sc-talk-cream: #f1f0ea;
  --sc-talk-orange: #ff8106;
}
.sc-threadtalk-page { background: #0b0b0b; color: #f7f2e9; }
.sc-talk-main { min-height: 70vh; background: #0b0b0b; color: #f7f2e9; overflow: hidden; }
.sc-talk-shell { width: min(1240px, calc(100% - 48px)); margin: 0 auto; }
.sc-talk-hero { position: relative; isolation: isolate; padding: 190px 0 70px; background: var(--sc-talk-red); color: var(--sc-talk-black); border-bottom: 1px solid rgba(13,10,9,.34); overflow: hidden; }
.sc-talk-hero::before { content: ""; position: absolute; inset: 0; z-index: -2; pointer-events: none; background: radial-gradient(circle at 82% 24%, rgba(255,129,6,.25) 0 1px, transparent 2px), radial-gradient(circle at 18% 78%, rgba(241,240,234,.18) 0 1px, transparent 2px); background-size: 36px 36px, 54px 54px; opacity: .55; }
.sc-talk-hero::after { content: ""; position: absolute; z-index: -1; width: min(54vw,760px); aspect-ratio: 1; right: -18vw; top: -34%; border: 1px solid rgba(241,240,234,.28); border-radius: 50%; box-shadow: 0 0 0 70px rgba(241,240,234,.035), 0 0 0 150px rgba(241,240,234,.025); pointer-events: none; }
.sc-talk-hero-grid { display: grid; grid-template-columns: minmax(0,1.15fr) minmax(320px,.85fr); gap: clamp(40px,7vw,110px); align-items: end; }
.sc-talk-kicker { font-family: Manrope,sans-serif; font-size: 12px; line-height: 1.4; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; }
.sc-talk-title { margin: 18px 0 0; color: #fff; font-family: Thunder, sans-serif; font-size: clamp(96px, 15vw, 210px); font-weight: 700; line-height: .8; letter-spacing: -.01em; text-transform: uppercase; }
.sc-talk-title > span { display: block; }
.sc-talk-hero-copy { padding-bottom: 8px; }
.sc-talk-hero-copy p { max-width: 580px; margin: 0 0 30px; font-family: Manrope,sans-serif; font-size: clamp(18px,2vw,24px); line-height: 1.55; }
.sc-talk-search { display: flex; max-width: 560px; border: 1px solid currentColor; background: rgba(255,255,255,.08); }
.sc-talk-search input { min-width: 0; flex: 1; border: 0; outline: 0; background: transparent; color: inherit; padding: 15px 17px; font-family: Manrope,sans-serif; font-size: 15px; }
.sc-talk-search input::placeholder { color: currentColor; opacity: .68; }
.sc-talk-search button { border: 0; border-left: 1px solid currentColor; padding: 0 22px; background: #0b0b0b; color: #fff; font-family: Manrope,sans-serif; font-size: 13px; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; cursor: pointer; }
.sc-talk-search button:hover,.sc-talk-search button:focus-visible { background: #fff; color: #0b0b0b; }
.sc-talk-topics { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 58px; padding-top: 22px; border-top: 1px solid rgba(11,11,11,.28); }
.sc-talk-topics a { display: inline-flex; align-items: center; min-height: 38px; padding: 9px 15px; border: 1px solid currentColor; border-radius: 999px; color: inherit; text-decoration: none; font-family: Manrope,sans-serif; font-size: 13px; line-height: 1; }
.sc-talk-topics a:hover,.sc-talk-topics a:focus-visible,.sc-talk-topics a.is-active { background: #0b0b0b; color: #fff; }
.sc-talk-content { padding: 90px 0 120px; }
.sc-talk-featured { margin-bottom: 100px; border: 1px solid rgba(255,255,255,.18); background: #121212; }
.sc-talk-featured-link { display: grid; grid-template-columns: minmax(0,1.15fr) minmax(360px,.85fr); color: inherit; text-decoration: none; }
.sc-talk-featured-image-wrap { position: relative; min-height: 560px; overflow: hidden; }
.sc-talk-featured-image { width: 100%; height: 100%; object-fit: cover; transition: transform 900ms cubic-bezier(.165,.84,.44,1); }
.sc-talk-featured-link:hover .sc-talk-featured-image { transform: scale(1.035); }
.sc-talk-topic-badge { position: absolute; left: 18px; top: 18px; z-index: 2; padding: 9px 12px; border-radius: 999px; background: #af0205; color: #0b0b0b; font-family: Manrope,sans-serif; font-size: 12px; line-height: 1; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; }
.sc-talk-featured-body { display: flex; flex-direction: column; justify-content: center; padding: clamp(36px,5vw,72px); }
.sc-talk-featured-title { margin: 18px 0 24px; font-family: Thunder,sans-serif; font-size: clamp(60px,7vw,100px); line-height: .88; text-transform: uppercase; }
.sc-talk-featured-excerpt { margin: 0 0 26px; font-family: Manrope,sans-serif; font-size: 18px; line-height: 1.7; color: rgba(255,255,255,.78); }
.sc-talk-featured-meta,.sc-talk-card-meta { display: flex; flex-wrap: wrap; gap: 8px 18px; font-family: Manrope,sans-serif; font-size: 12px; line-height: 1.4; letter-spacing: .08em; text-transform: uppercase; color: rgba(255,255,255,.6); }
.sc-talk-button { display: inline-flex; align-items: center; justify-content: center; width: fit-content; min-height: 46px; margin-top: 30px; padding: 13px 18px; border: 1px solid currentColor; color: inherit; text-decoration: none; font-family: Manrope,sans-serif; font-size: 13px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; transition: background-color .25s ease,color .25s ease; }
.sc-talk-featured-link:hover .sc-talk-button,.sc-talk-button:hover,.sc-talk-button:focus-visible { background: #af0205; color: #0b0b0b; }
.sc-talk-section-heading { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 32px; padding-bottom: 20px; border-bottom: 1px solid rgba(255,255,255,.18); }
.sc-talk-section-heading h2 { margin: 8px 0 0; font-family: Thunder,sans-serif; font-size: clamp(58px,7vw,94px); line-height: .88; text-transform: uppercase; }
.sc-talk-section-heading > span { font-family: Manrope,sans-serif; font-size: 13px; color: rgba(255,255,255,.6); }
.sc-talk-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 44px 26px; }
.sc-talk-card { min-width: 0; }
.sc-talk-card-link { display: block; height: 100%; color: inherit; text-decoration: none; }
.sc-talk-card-image-wrap { position: relative; aspect-ratio: 16/10; overflow: hidden; background: #1a1a1a; }
.sc-talk-card-image { width: 100%; height: 100%; object-fit: cover; transition: transform 700ms cubic-bezier(.165,.84,.44,1),filter .4s ease; }
.sc-talk-card-link:hover .sc-talk-card-image { transform: scale(1.045); filter: saturate(1.1); }
.sc-talk-card-body { padding-top: 18px; }
.sc-talk-card-title { margin: 13px 0 12px; font-family: Thunder,sans-serif; font-size: clamp(42px,4.2vw,62px); line-height: .92; text-transform: uppercase; transition: color .25s ease; }
.sc-talk-card-link:hover .sc-talk-card-title { color: #af0205; }
.sc-talk-card-excerpt { margin: 0; font-family: Manrope,sans-serif; font-size: 16px; line-height: 1.65; color: rgba(255,255,255,.74); }
.sc-talk-card-cta { display: inline-block; margin-top: 18px; font-family: Manrope,sans-serif; font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.sc-talk-empty { padding: 70px 0; max-width: 720px; }
.sc-talk-empty h2 { margin: 0 0 16px; font-family: Thunder,sans-serif; font-size: clamp(58px,8vw,96px); line-height: .9; text-transform: uppercase; }
.sc-talk-empty p { font-family: Manrope,sans-serif; font-size: 18px; line-height: 1.7; color: rgba(255,255,255,.75); }
.sc-talk-pagination { margin-top: 70px; font-family: Manrope,sans-serif; }
.sc-talk-pagination ul { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.sc-talk-pagination a,.sc-talk-pagination span { display: inline-flex; min-width: 42px; min-height: 42px; align-items: center; justify-content: center; padding: 9px 13px; border: 1px solid rgba(255,255,255,.25); color: inherit; text-decoration: none; }
.sc-talk-pagination .current,.sc-talk-pagination a:hover { background: #af0205; color: #0b0b0b; border-color: #af0205; }
.sc-talk-archive-hero { position: relative; isolation: isolate; overflow: hidden; padding: 190px 0 58px; background: var(--sc-talk-red); color: var(--sc-talk-black); }
.sc-talk-archive-hero::after { content: ""; position: absolute; z-index: -1; width: min(48vw,620px); aspect-ratio: 1; right: -14vw; top: -55%; border: 1px solid rgba(241,240,234,.24); border-radius: 50%; box-shadow: 0 0 0 62px rgba(241,240,234,.035), 0 0 0 128px rgba(241,240,234,.02); pointer-events: none; }
.sc-talk-back { display: inline-block; margin-bottom: 36px; color: inherit; text-decoration: none; font-family: Manrope,sans-serif; font-size: 13px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.sc-talk-back:hover { text-decoration: underline; text-underline-offset: 4px; }
.sc-talk-archive-title,.sc-talk-search-title { max-width: 1050px; margin: 16px 0 26px; font-family: Thunder,sans-serif; font-size: clamp(76px,11vw,150px); line-height: .82; text-transform: uppercase; }
.sc-talk-archive-description { max-width: 720px; font-family: Manrope,sans-serif; font-size: 19px; line-height: 1.7; }
.sc-talk-search-wide { margin-top: 32px; }

/* Thread Talk article template. */
/* Keep one semantic H1 for the article title, but style it at an H2-like visual scale. */
.sc-article-header .sc-talk-back,
.sc-article-header .sc-article-topic,
.sc-article-header .sc-article-title,
.sc-article-header .sc-article-deck,
.sc-article-header .sc-article-byline { color: #fff; }
.sc-article-header { position: relative; isolation: isolate; overflow: hidden; padding: 190px 0 66px; background: var(--sc-talk-red); color: #fff; }
.sc-article-header::after { content: ""; position: absolute; z-index: -1; width: min(50vw,700px); aspect-ratio: 1; right: -18vw; top: -48%; border: 1px solid rgba(241,240,234,.24); border-radius: 50%; box-shadow: 0 0 0 70px rgba(241,240,234,.035), 0 0 0 148px rgba(241,240,234,.02); pointer-events: none; }
.sc-article-shell { width: min(1040px,calc(100% - 48px)); margin: 0 auto; }
.sc-article-topic { display: inline-flex; margin-bottom: 20px; padding: 8px 12px; border: 1px solid currentColor; border-radius: 999px; color: inherit; text-decoration: none; font-family: Manrope,sans-serif; font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.sc-article-title { max-width: 980px; margin: 0; color: #fff; font-family: Thunder,sans-serif; font-size: clamp(54px,6vw,82px); line-height: .92; letter-spacing: 0; text-transform: uppercase; text-wrap: balance; }
.sc-article-deck { max-width: 800px; margin: 26px 0 0; color: rgba(255,255,255,.9); font-family: Manrope,sans-serif; font-size: clamp(18px,2vw,23px); line-height: 1.55; }
.sc-article-byline { display: flex; flex-wrap: wrap; gap: 9px 20px; margin-top: 32px; padding-top: 20px; border-top: 1px solid rgba(255,255,255,.34); color: rgba(255,255,255,.88); font-family: Manrope,sans-serif; font-size: 12px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.sc-article-image-shell { width: min(1320px,calc(100% - 48px)); margin: 70px auto 0; }
.sc-article-hero-image { display: block; width: 100%; max-height: 760px; object-fit: cover; }
.sc-article-layout { width: min(820px,calc(100% - 48px)); margin: 78px auto 90px; }
.sc-article-content { font-family: Manrope,sans-serif; font-size: 19px; line-height: 1.85; color: rgba(255,255,255,.88); }
.sc-article-content > *:first-child { margin-top: 0; }
.sc-article-content p { margin: 0 0 1.4em; }
.sc-article-content h2,.sc-article-content h3,.sc-article-content h4 { color: #fff; font-family: Thunder,sans-serif; line-height: .95; text-transform: uppercase; }
.sc-article-content h2 { margin: 1.4em 0 .45em; font-size: clamp(54px,6vw,78px); }
.sc-article-content h3 { margin: 1.45em 0 .5em; font-size: clamp(42px,5vw,58px); }
.sc-article-content h4 { margin: 1.4em 0 .55em; font-size: 36px; }
.sc-article-content a { color: #ff8106; text-underline-offset: 4px; }
.sc-article-content ul,.sc-article-content ol { margin: 0 0 1.6em; padding-left: 1.35em; }
.sc-article-content li { margin-bottom: .55em; }
.sc-article-content blockquote { margin: 2em 0; padding: 24px 0 24px 28px; border-left: 4px solid #af0205; font-size: 1.2em; line-height: 1.55; color: #fff; }
.sc-article-content img { width: auto; max-width: 100%; height: auto; }
.sc-article-content figure { margin: 2.4em 0; }
.sc-article-content figcaption { margin-top: 8px; font-size: 13px; color: rgba(255,255,255,.58); }
.sc-article-content table { width: 100%; border-collapse: collapse; margin: 2em 0; font-size: 16px; }
.sc-article-content th,.sc-article-content td { padding: 12px; border: 1px solid rgba(255,255,255,.22); text-align: left; }
.sc-article-footer { padding: 0 0 100px; }
.sc-article-tags { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; padding-top: 24px; border-top: 1px solid rgba(255,255,255,.18); font-family: Manrope,sans-serif; font-size: 13px; }
.sc-article-tags a { padding: 7px 10px; border: 1px solid rgba(255,255,255,.25); border-radius: 999px; color: inherit; text-decoration: none; }
.sc-article-cta { display: flex; align-items: center; justify-content: space-between; gap: 30px; margin-top: 70px; padding: clamp(28px,5vw,58px); background: #af0205; color: #0b0b0b; }
.sc-article-cta h2 { max-width: 700px; margin: 10px 0 0; font-family: Thunder,sans-serif; font-size: clamp(50px,6vw,82px); line-height: .9; text-transform: uppercase; }
.sc-article-cta .sc-talk-button:hover { background: #0b0b0b; color: #fff; }
.sc-related { padding: 95px 0 120px; background: #131313; }

@media (max-width: 980px) {
  .sc-talk-hero-grid,.sc-talk-featured-link { grid-template-columns: 1fr; }
  .sc-talk-featured-image-wrap { min-height: 440px; }
  .sc-talk-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .sc-article-cta { align-items: flex-start; flex-direction: column; }
}
@media (max-width: 700px) {
  .sc-talk-shell,.sc-article-shell,.sc-article-image-shell,.sc-article-layout { width: min(100% - 30px,1240px); }
  .sc-talk-hero,.sc-talk-archive-hero,.sc-article-header { padding-top: 132px; }
  .sc-talk-hero { padding-bottom: 48px; }
  .sc-talk-title { font-size: clamp(92px,30vw,132px); }
  .sc-talk-hero-copy p { font-size: 18px; }
  .sc-talk-search { width: 100%; }
  .sc-talk-search button { padding: 0 16px; }
  .sc-talk-topics { margin-top: 38px; }
  .sc-talk-content { padding: 58px 0 86px; }
  .sc-talk-featured { margin-bottom: 70px; }
  .sc-talk-featured-image-wrap { min-height: 300px; }
  .sc-talk-featured-body { padding: 28px 22px 34px; }
  .sc-talk-featured-title { font-size: 58px; }
  .sc-talk-grid { grid-template-columns: 1fr; gap: 48px; }
  .sc-talk-card-title { font-size: 52px; }
  .sc-talk-section-heading { align-items: flex-start; flex-direction: column; }
  .sc-article-title { font-size: clamp(46px,13vw,64px); line-height: .94; }
  .sc-article-deck { font-size: 18px; }
  .sc-article-image-shell { margin-top: 34px; }
  .sc-article-layout { margin-top: 52px; }
  .sc-article-content { font-size: 18px; line-height: 1.75; }
  .sc-article-cta { margin-top: 48px; }
}


/* Thread Talk motion and brand-matched polish. */
.sc-threadtalk-page .sc-talk-kicker { color: currentColor; }
.sc-talk-hero .sc-talk-kicker,
.sc-talk-archive-hero .sc-talk-kicker,
.sc-article-header .sc-talk-kicker { font-weight: 700; }
.sc-talk-hero-copy p { text-wrap: pretty; }
.sc-talk-topics a,
.sc-talk-search,
.sc-talk-search button,
.sc-talk-featured,
.sc-talk-card-image-wrap { transition-timing-function: cubic-bezier(.165,.84,.44,1); }
.sc-talk-topics a { transition: transform .35s cubic-bezier(.165,.84,.44,1), background-color .25s ease, color .25s ease; }
.sc-talk-topics a:hover,
.sc-talk-topics a:focus-visible { transform: translateY(-3px); }
.sc-talk-card { position: relative; }
.sc-talk-card::after { content: ""; position: absolute; left: 0; right: 100%; bottom: -16px; height: 2px; background: var(--sc-talk-red); transition: right .65s cubic-bezier(.165,.84,.44,1); }
.sc-talk-card:hover::after,
.sc-talk-card:focus-within::after { right: 0; }
.sc-talk-card-cta span { display: inline-block; transition: transform .35s cubic-bezier(.165,.84,.44,1); }
.sc-talk-card-link:hover .sc-talk-card-cta span,
.sc-talk-card-link:focus-visible .sc-talk-card-cta span { transform: translateX(7px); }
.sc-talk-featured { position: relative; overflow: hidden; }
.sc-talk-featured::before { content: ""; position: absolute; z-index: 3; left: 0; top: 0; width: 5px; height: 100%; background: var(--sc-talk-red); transform-origin: top; }
.sc-talk-featured-link:hover .sc-talk-featured-title { color: var(--sc-talk-red); }
.sc-talk-featured-title { transition: color .35s ease; }

/* Elements receive these classes from threadtalk-motion.js. */
.sc-talk-motion-item { opacity: 0; will-change: transform, opacity, clip-path; transition-property: opacity, transform, clip-path; transition-duration: 900ms; transition-timing-function: cubic-bezier(.165,.84,.44,1); transition-delay: var(--sc-talk-delay,0ms); }
.sc-talk-motion-item.sc-talk-from-left { transform: translate3d(-90px,0,0); }
.sc-talk-motion-item.sc-talk-from-right { transform: translate3d(90px,0,0); }
.sc-talk-motion-item.sc-talk-from-up { transform: translate3d(0,70px,0); }
.sc-talk-motion-item.sc-talk-scale-in { transform: scale(.94); }
.sc-talk-motion-item.sc-talk-image-wipe { clip-path: inset(0 100% 0 0); transform: scale(1.035); }
.sc-talk-motion-item.is-visible { opacity: 1; transform: translate3d(0,0,0) scale(1); clip-path: inset(0 0 0 0); }
.sc-talk-title > span.sc-talk-motion-item { transition-duration: 1050ms; }
.sc-talk-card.sc-talk-motion-item { transition-duration: 800ms; }
.sc-talk-topics a.sc-talk-motion-item { transition-duration: 620ms; }
.sc-article-content > .sc-talk-motion-item { transition-duration: 760ms; }

@keyframes sc-talk-orbit-drift {
  from { transform: rotate(0deg) scale(1); }
  50% { transform: rotate(180deg) scale(1.04); }
  to { transform: rotate(360deg) scale(1); }
}
.sc-talk-motion-running .sc-talk-hero::after,
.sc-talk-motion-running .sc-talk-archive-hero::after,
.sc-talk-motion-running .sc-article-header::after { animation: sc-talk-orbit-drift 32s linear infinite; transform-origin: center; }

@media (max-width: 767px) {
  .sc-talk-hero::after { width: 115vw; right: -65vw; top: -7%; }
  .sc-talk-archive-hero::after,
  .sc-article-header::after { width: 110vw; right: -60vw; top: -20%; }
  .sc-talk-motion-item.sc-talk-from-left { transform: translate3d(-44px,0,0); }
  .sc-talk-motion-item.sc-talk-from-right { transform: translate3d(44px,0,0); }
  .sc-talk-motion-item.sc-talk-from-up { transform: translate3d(0,42px,0); }
}

@media (prefers-reduced-motion: reduce) {
  .sc-talk-motion-item { opacity: 1 !important; transform: none !important; clip-path: none !important; transition: none !important; }
  .sc-talk-motion-running .sc-talk-hero::after,
  .sc-talk-motion-running .sc-talk-archive-hero::after,
  .sc-talk-motion-running .sc-article-header::after { animation: none !important; }
}


/* About page: production-focused Our Values redesign. */
.sc-values-section {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: clamp(92px, 9vw, 158px) 0 clamp(100px, 10vw, 175px);
  background: #0b0b0b;
  color: #fff;
  border-top: 1px solid rgba(255,255,255,.12);
  border-bottom: 1px solid rgba(255,255,255,.12);
}
.sc-values-section::before {
  content: "";
  position: absolute;
  z-index: -2;
  width: min(68vw, 980px);
  aspect-ratio: 1;
  right: -30vw;
  top: -35%;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(175,2,5,.42) 0, rgba(175,2,5,.18) 35%, rgba(175,2,5,0) 69%);
  filter: blur(8px);
}
.sc-values-section::after {
  content: "";
  position: absolute;
  z-index: -1;
  width: min(62vw, 900px);
  aspect-ratio: 1;
  right: -27vw;
  top: -31%;
  border: 1px solid rgba(255,255,255,.11);
  border-radius: 50%;
  box-shadow: 0 0 0 70px rgba(255,255,255,.025), 0 0 0 145px rgba(175,2,5,.08);
  pointer-events: none;
}
.sc-values-container { position: relative; z-index: 2; }
.sc-values-header {
  display: grid;
  grid-template-columns: minmax(0,1.35fr) minmax(290px,.65fr);
  gap: clamp(36px,7vw,110px);
  align-items: end;
  margin-bottom: clamp(54px,7vw,105px);
}
.sc-values-kicker {
  display: block;
  margin-bottom: 16px;
  font-family: Manrope,sans-serif;
  font-size: 12px;
  line-height: 1;
  font-weight: 700;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: #8dddea;
}
.sc-values-title {
  margin: 0;
  max-width: 780px;
  font-family: Thunder,sans-serif;
  font-size: clamp(84px,11vw,172px);
  line-height: .78;
  font-weight: 700;
  letter-spacing: -.015em;
  text-transform: uppercase;
  color: #fff;
}
.sc-values-lead {
  max-width: 470px;
  margin: 0 0 7px;
  font-family: Manrope,sans-serif;
  font-size: clamp(20px,2vw,31px);
  line-height: 1.26;
  text-wrap: balance;
  color: rgba(255,255,255,.84);
}
.sc-values-grid {
  display: grid;
  grid-template-columns: repeat(12,minmax(0,1fr));
  gap: clamp(18px,2vw,30px);
}
.sc-value-card {
  position: relative;
  min-width: 0;
  overflow: hidden;
  background: #111;
  border: 1px solid rgba(255,255,255,.16);
  transition: transform .55s cubic-bezier(.165,.84,.44,1), border-color .35s ease, box-shadow .55s cubic-bezier(.165,.84,.44,1);
}
.sc-value-card:nth-child(1) { grid-column: span 7; }
.sc-value-card:nth-child(2) { grid-column: span 5; }
.sc-value-card:nth-child(3) { grid-column: 3 / span 8; margin-top: clamp(0px,2vw,28px); }
.sc-value-card:hover,
.sc-value-card:focus-within {
  transform: translateY(-9px);
  border-color: rgba(141,221,234,.68);
  box-shadow: 0 28px 70px rgba(0,0,0,.38);
}
.sc-value-image-wrap {
  position: relative;
  overflow: hidden;
  aspect-ratio: 16 / 10;
  background: #1a1a1a;
}
.sc-value-card:nth-child(2) .sc-value-image-wrap { aspect-ratio: 4 / 3; }
.sc-value-card:nth-child(3) {
  display: grid;
  grid-template-columns: minmax(0,1.05fr) minmax(300px,.95fr);
  align-items: stretch;
}
.sc-value-card:nth-child(3) .sc-value-image-wrap { aspect-ratio: auto; min-height: 430px; }
.sc-value-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 1.1s cubic-bezier(.165,.84,.44,1), filter .5s ease;
}
.sc-value-card:hover .sc-value-image,
.sc-value-card:focus-within .sc-value-image { transform: scale(1.055); }
.sc-value-image-wrap::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 42%, rgba(0,0,0,.68) 100%);
  pointer-events: none;
}
.sc-value-number {
  position: absolute;
  z-index: 2;
  right: 18px;
  bottom: -7px;
  font-family: Thunder,sans-serif;
  font-size: clamp(78px,8vw,126px);
  line-height: .8;
  color: #fff;
  opacity: .9;
}
.sc-value-copy { padding: clamp(28px,3.2vw,48px); }
.sc-value-eyebrow {
  margin: 0 0 15px;
  font-family: Manrope,sans-serif;
  font-size: 12px;
  line-height: 1;
  font-weight: 700;
  letter-spacing: .17em;
  text-transform: uppercase;
  color: #8dddea;
}
.sc-value-heading {
  margin: 0 0 20px;
  font-family: Thunder,sans-serif;
  font-size: clamp(50px,5.2vw,78px);
  line-height: .86;
  font-weight: 700;
  text-transform: uppercase;
  color: #fff;
  text-wrap: balance;
}
.sc-value-card:nth-child(2) .sc-value-heading { font-size: clamp(46px,4.4vw,68px); }
.sc-value-text {
  max-width: 620px;
  margin: 0;
  font-family: Manrope,sans-serif;
  font-size: clamp(17px,1.4vw,21px);
  line-height: 1.56;
  color: rgba(255,255,255,.78);
}
.sc-value-accent {
  position: absolute;
  z-index: 3;
  left: 0;
  top: 0;
  width: 6px;
  height: 100%;
  background: #af0205;
  transform-origin: top;
}
.sc-value-card:nth-child(2) .sc-value-accent { background: #8dddea; }
.sc-value-card:nth-child(3) .sc-value-accent { background: #fff; }

/* Reveal motion is applied only after JavaScript is ready, so content never disappears if scripts fail. */
.sc-values-motion-ready [data-sc-values-reveal] {
  opacity: 0;
  transform: translate3d(0,72px,0);
  transition: opacity .9s ease, transform 1s cubic-bezier(.165,.84,.44,1);
  transition-delay: var(--sc-values-delay,0ms);
}
.sc-values-motion-ready .sc-values-header-copy[data-sc-values-reveal] { transform: translate3d(-70px,0,0); }
.sc-values-motion-ready .sc-values-lead[data-sc-values-reveal] { transform: translate3d(70px,0,0); }
.sc-values-motion-ready [data-sc-values-reveal].is-visible { opacity: 1; transform: translate3d(0,0,0); }
.sc-values-motion-ready .sc-value-accent { transform: scaleY(0); transition: transform 1s cubic-bezier(.165,.84,.44,1) .3s; }
.sc-values-motion-ready .sc-value-card.is-visible .sc-value-accent { transform: scaleY(1); }
.sc-values-motion-ready .sc-value-image { transform: scale(1.09); }
.sc-values-motion-ready .sc-value-card.is-visible .sc-value-image { transform: scale(1); transition-delay: .12s; }
.sc-values-motion-ready .sc-value-card.is-visible:hover .sc-value-image { transform: scale(1.055); transition-delay: 0s; }
.sc-values-motion-running .sc-values-section::after { animation: sc-values-orbit 42s linear infinite; transform-origin: center; }
@keyframes sc-values-orbit { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }

@media (max-width: 991px) {
  .sc-values-header { grid-template-columns: 1fr; align-items: start; }
  .sc-values-lead { max-width: 650px; }
  .sc-value-card:nth-child(1),
  .sc-value-card:nth-child(2) { grid-column: span 6; }
  .sc-value-card:nth-child(3) { grid-column: 1 / -1; }
  .sc-value-card:nth-child(3) .sc-value-image-wrap { min-height: 360px; }
}
@media (max-width: 767px) {
  .sc-values-section { padding: 86px 0 100px; }
  .sc-values-section::before { width: 120vw; right: -72vw; top: -7%; }
  .sc-values-section::after { width: 112vw; right: -67vw; top: -4%; }
  .sc-values-title { font-size: clamp(76px,24vw,112px); }
  .sc-values-grid { display: flex; flex-direction: column; gap: 24px; }
  .sc-value-card:nth-child(3) { display: block; margin-top: 0; }
  .sc-value-card:nth-child(2) .sc-value-image-wrap,
  .sc-value-card:nth-child(3) .sc-value-image-wrap { aspect-ratio: 4 / 3; min-height: 0; }
  .sc-value-heading,
  .sc-value-card:nth-child(2) .sc-value-heading { font-size: clamp(48px,15vw,66px); }
  .sc-values-motion-ready .sc-values-header-copy[data-sc-values-reveal],
  .sc-values-motion-ready .sc-values-lead[data-sc-values-reveal] { transform: translate3d(0,46px,0); }
}
@media (prefers-reduced-motion: reduce) {
  .sc-values-motion-ready [data-sc-values-reveal] { opacity: 1 !important; transform: none !important; transition: none !important; }
  .sc-values-motion-ready .sc-value-accent { transform: scaleY(1) !important; transition: none !important; }
  .sc-values-motion-ready .sc-value-image { transform: none !important; transition: none !important; }
  .sc-values-motion-running .sc-values-section::after { animation: none !important; }
}


/* Homepage SEO introduction — visible copy that supports the visual hero without changing its identity. */
.sc-home-seo-intro {
  width: 100%;
  display: grid;
  grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr);
  gap: clamp(34px, 6vw, 96px);
  align-items: start;
  margin-top: clamp(-12px, -1vw, 0px);
  padding-top: clamp(24px, 2.8vw, 42px);
  border-top: 1px solid rgba(255, 255, 255, .55);
  color: #fff;
}
.sc-home-seo-heading {
  max-width: 690px;
  margin: 0;
  font-family: Manrope, sans-serif;
  font-size: clamp(28px, 3.1vw, 48px);
  line-height: 1.08;
  font-weight: 500;
  letter-spacing: -.035em;
  text-wrap: balance;
  color: #fff;
}
.sc-home-seo-copy {
  max-width: 720px;
  margin: 0;
  font-family: Manrope, sans-serif;
  font-size: clamp(17px, 1.42vw, 22px);
  line-height: 1.58;
  letter-spacing: -.012em;
  color: rgba(255,255,255,.88);
}
.sc-home-seo-copy a {
  color: #fff;
  text-decoration-color: rgba(255,255,255,.5);
  text-decoration-thickness: 1px;
  text-underline-offset: .16em;
  transition: color .25s ease, text-decoration-color .25s ease;
}
.sc-home-seo-copy a:hover,
.sc-home-seo-copy a:focus-visible {
  color: #8dddea;
  text-decoration-color: #8dddea;
}
@media (max-width: 767px) {
  .sc-home-seo-intro {
    grid-template-columns: 1fr;
    gap: 20px;
    margin-top: 0;
    padding-top: 24px;
  }
  .sc-home-seo-heading { font-size: clamp(27px, 8.2vw, 38px); }
  .sc-home-seo-copy { font-size: 17px; line-height: 1.55; }
}
@media (prefers-reduced-motion: reduce) {
  .sc-home-seo-intro { opacity: 1 !important; transform: none !important; }
}


/* Products page SEO content and browsing improvements. */
.sc-products-hero-section { padding-bottom: clamp(26px, 3vw, 48px); }
.sc-products-hero { align-items: flex-end; }
.sc-products-page-title {
  max-width: 1050px;
  font-size: clamp(92px, 13vw, 214px);
  line-height: .78;
  letter-spacing: -.018em;
  text-wrap: balance;
}
.sc-products-hero-copy { max-width: 610px; }
.sc-products-hero-copy .paragraph-35px {
  max-width: 610px;
  font-size: clamp(23px, 2.3vw, 35px);
  line-height: 1.18;
  text-wrap: balance;
}
.sc-products-overview-section { padding-top: 0; }
.sc-products-overview {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: clamp(56px, 7.4vw, 112px) clamp(24px, 5vw, 82px);
  border-top: 1px solid rgba(255,255,255,.22);
  border-bottom: 1px solid rgba(255,255,255,.22);
  background:
    radial-gradient(circle at 94% 8%, rgba(141,221,234,.13), transparent 23%),
    radial-gradient(circle at 8% 96%, rgba(175,2,5,.22), transparent 28%),
    #090909;
}
.sc-products-overview::before,
.sc-products-overview::after {
  content: '';
  position: absolute;
  z-index: -1;
  border: 1px solid rgba(255,255,255,.13);
  border-radius: 50%;
  pointer-events: none;
}
.sc-products-overview::before { width: 420px; height: 420px; right: -210px; top: -230px; }
.sc-products-overview::after { width: 680px; height: 680px; right: -390px; top: -360px; }
.sc-products-overview-kicker {
  margin-bottom: clamp(30px, 4vw, 58px);
  color: #8dddea;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .2em;
  text-transform: uppercase;
}
.sc-products-overview-layout {
  display: grid;
  grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr);
  gap: clamp(38px, 7vw, 112px);
  align-items: start;
}
.sc-products-overview-heading {
  max-width: 620px;
  margin: 0;
  color: #fff;
  font-family: Thunder, sans-serif;
  font-size: clamp(66px, 7.8vw, 126px);
  font-weight: 700;
  line-height: .84;
  letter-spacing: -.012em;
  text-transform: uppercase;
  text-wrap: balance;
}
.sc-products-overview-copy {
  display: grid;
  gap: 18px;
  max-width: 760px;
  color: rgba(255,255,255,.82);
  font-size: clamp(17px, 1.25vw, 20px);
  line-height: 1.68;
}
.sc-products-overview-copy p { margin: 0; }
.sc-products-category-links {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  margin-top: clamp(48px, 6vw, 86px);
  border-top: 1px solid rgba(255,255,255,.22);
  border-left: 1px solid rgba(255,255,255,.22);
}
.sc-product-category-link {
  display: grid;
  grid-template-columns: 44px minmax(0,1fr);
  gap: 14px;
  align-items: center;
  min-height: 108px;
  padding: 25px 28px;
  border-right: 1px solid rgba(255,255,255,.22);
  border-bottom: 1px solid rgba(255,255,255,.22);
  color: #fff;
  text-decoration: none;
  transition: background-color .28s ease, color .28s ease, transform .28s ease;
}
.sc-product-category-link span {
  color: #8dddea;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .12em;
}
.sc-product-category-link strong {
  font-size: clamp(16px, 1.4vw, 21px);
  font-weight: 500;
  line-height: 1.25;
}
.sc-product-category-link:hover,
.sc-product-category-link:focus-visible {
  z-index: 1;
  color: #fff;
  background: #af0205;
  transform: translateY(-3px);
}
.sc-product-category-link:hover span,
.sc-product-category-link:focus-visible span { color: #fff; }

/* Make product-card calls to action easier to scan without changing the card layout. */
.page-id-products .pb-link-wrapper,
body.page-products .pb-link-wrapper { gap: 10px; }

@media (max-width: 991px) {
  .sc-products-page-title { max-width: 860px; font-size: clamp(82px, 15vw, 150px); }
  .sc-products-overview-layout { grid-template-columns: 1fr; gap: 28px; }
  .sc-products-overview-heading { max-width: 760px; }
}
@media (max-width: 767px) {
  .sc-products-hero-section { padding-bottom: 20px; }
  .sc-products-page-title { font-size: clamp(70px, 21vw, 112px); line-height: .8; }
  .sc-products-hero-copy .paragraph-35px { font-size: 23px; line-height: 1.22; }
  .sc-products-overview { padding: 62px 22px; }
  .sc-products-overview::before { width: 280px; height: 280px; right: -175px; top: -145px; }
  .sc-products-overview::after { width: 430px; height: 430px; right: -300px; top: -235px; }
  .sc-products-overview-heading { font-size: clamp(60px, 17vw, 82px); }
  .sc-products-overview-copy { font-size: 17px; line-height: 1.6; }
  .sc-products-category-links { grid-template-columns: 1fr; }
  .sc-product-category-link { min-height: 92px; padding: 21px 20px; }
}
@media (prefers-reduced-motion: reduce) {
  .sc-products-overview-kicker,
  .sc-products-overview-heading,
  .sc-products-overview-copy,
  .sc-product-category-link { opacity: 1 !important; transform: none !important; }
}


/* Products page v22: brand-red hero and direct purchase paths. */
.sc-products-hero-section {
  background: #af0205;
  color: #fff;
}
.sc-products-hero-section .sc-products-page-title,
.sc-products-hero-section .paragraph-35px {
  color: #fff;
}
.sc-products-hero-section + .sc-products-overview-section {
  background: #090909;
}


/* Thread page v24: SEO-rich product presentation while preserving Stitchcraft's visual identity. */
.sc-thread-page { background: #090909; color: #fff; overflow: hidden; }
.sc-thread-page * { box-sizing: border-box; }
.sc-thread-hero { position: relative; padding: 185px 0 110px; background: #090909; }
.sc-thread-hero::before { content: ""; position: absolute; inset: 0; background: radial-gradient(circle at 82% 28%, rgba(175,2,5,.42), transparent 34%), linear-gradient(135deg, rgba(255,255,255,.025), transparent 54%); pointer-events: none; }
.sc-thread-hero-grid { position: relative; display: grid; grid-template-columns: minmax(0,1.05fr) minmax(380px,.95fr); gap: clamp(46px,7vw,110px); align-items: center; }
.sc-thread-heading { margin: 0 0 34px; color: #fff; line-height: .82; }
.sc-thread-heading-main { display: block; font-family: Thunder, sans-serif; font-size: clamp(104px,14vw,210px); letter-spacing: -.025em; }
.sc-thread-heading-sub { display: block; margin-top: 25px; font-family: Manrope, sans-serif; font-size: clamp(20px,2.15vw,34px); line-height: 1.12; letter-spacing: .02em; text-transform: none; }
.sc-thread-intro { max-width: 760px; margin: 0; font-family: Manrope, sans-serif; font-size: clamp(18px,1.55vw,24px); line-height: 1.65; color: rgba(255,255,255,.84); }
.sc-thread-hero-actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 34px; }
.sc-thread-primary-link,.sc-thread-secondary-link { display: inline-flex; min-height: 54px; align-items: center; justify-content: center; padding: 14px 24px; border: 1px solid #fff; font-family: Manrope,sans-serif; font-weight: 500; text-decoration: none; transition: transform .25s ease, background .25s ease, color .25s ease; }
.sc-thread-primary-link { background: #fff; color: #090909; }
.sc-thread-secondary-link { background: transparent; color: #fff; }
.sc-thread-primary-link:hover,.sc-thread-secondary-link:hover { transform: translateY(-3px); }
.sc-thread-secondary-link:hover { background: #fff; color: #090909; }
.sc-thread-quick-specs { display: flex; flex-wrap: wrap; gap: 10px 24px; margin: 30px 0 0; padding: 0; list-style: none; font-family: Manrope,sans-serif; font-size: 13px; letter-spacing: .1em; text-transform: uppercase; color: rgba(255,255,255,.65); }
.sc-thread-quick-specs li { position: relative; }
.sc-thread-quick-specs li:not(:last-child)::after { content: "•"; position: absolute; right: -15px; color: #af0205; }
.sc-thread-hero-media { position: relative; min-height: 610px; }
.sc-thread-hero-image { position: absolute; display: block; object-fit: cover; box-shadow: 0 35px 90px rgba(0,0,0,.42); }
.sc-thread-hero-image-main { z-index: 2; top: 0; right: 0; width: min(82%,520px); aspect-ratio: 4/5; }
.sc-thread-hero-image-detail { z-index: 3; left: 0; bottom: 0; width: min(50%,300px); aspect-ratio: 1/1; border: 12px solid #090909; }
.sc-thread-orbit { position: absolute; z-index: 1; width: 390px; height: 390px; right: -110px; bottom: -20px; border: 1px solid rgba(255,255,255,.2); border-radius: 50%; animation: scThreadOrbit 26s linear infinite; }
.sc-thread-orbit::before,.sc-thread-orbit::after { content: ""; position: absolute; border-radius: 50%; }
.sc-thread-orbit::before { inset: 48px; border: 1px solid rgba(175,2,5,.8); }
.sc-thread-orbit::after { width: 14px; height: 14px; top: 18px; left: 50%; background: #af0205; box-shadow: 0 0 26px rgba(175,2,5,.85); }
@keyframes scThreadOrbit { to { transform: rotate(360deg); } }
.sc-thread-section { padding: clamp(90px,10vw,150px) 0; }
.sc-thread-section-light { background: #f3efe8; color: #090909; }
.sc-thread-section-dark { background: #090909; color: #fff; }
.sc-thread-story-grid { display: grid; grid-template-columns: 1.25fr .8fr .8fr; gap: 24px; align-items: stretch; }
.sc-thread-story-copy { padding: 20px 42px 20px 0; }
.sc-thread-kicker { margin: 0 0 20px; font-family: Manrope,sans-serif; font-size: 13px; line-height: 1.2; letter-spacing: .16em; text-transform: uppercase; color: #af0205; }
.sc-thread-story-copy h2,.sc-thread-section-heading h2,.sc-thread-related-header h2,.sc-thread-final-cta h2 { margin: 0 0 28px; font-family: Thunder,sans-serif; font-size: clamp(58px,6vw,100px); line-height: .88; text-transform: uppercase; }
.sc-thread-story-copy p:not(.sc-thread-kicker),.sc-thread-section-heading p:not(.sc-thread-kicker) { font-family: Manrope,sans-serif; font-size: 18px; line-height: 1.7; }
.sc-thread-feature-card { position: relative; display: flex; min-height: 390px; flex-direction: column; justify-content: flex-end; padding: 34px; background: #090909; color: #fff; }
.sc-thread-feature-card-red { background: #af0205; }
.sc-thread-card-number { position: absolute; top: 24px; right: 26px; font-family: Manrope,sans-serif; font-size: 13px; letter-spacing: .15em; opacity: .6; }
.sc-thread-feature-card h3 { margin: 0 0 18px; font-family: Thunder,sans-serif; font-size: clamp(46px,4vw,68px); line-height: .9; text-transform: uppercase; }
.sc-thread-feature-card p { margin: 0; font-family: Manrope,sans-serif; font-size: 16px; line-height: 1.65; color: rgba(255,255,255,.82); }
.sc-thread-feature-card a { margin-top: 24px; color: #fff; font-family: Manrope,sans-serif; text-underline-offset: 5px; }
.sc-thread-section-heading { display: grid; grid-template-columns: 1fr .7fr; column-gap: 80px; align-items: end; margin-bottom: 55px; }
.sc-thread-section-heading .sc-thread-kicker { grid-column: 1/-1; }
.sc-thread-section-heading h2 { margin-bottom: 0; }
.sc-thread-section-heading > p:last-child { margin: 0 0 8px; color: rgba(255,255,255,.7); }
.sc-thread-spec-table-wrap { border-top: 1px solid rgba(255,255,255,.26); }
.sc-thread-spec-table { width: 100%; border-collapse: collapse; font-family: Manrope,sans-serif; }
.sc-thread-spec-table th,.sc-thread-spec-table td { padding: 24px 14px; border-bottom: 1px solid rgba(255,255,255,.17); text-align: left; vertical-align: top; }
.sc-thread-spec-table th { width: 36%; padding-left: 0; font-size: 13px; letter-spacing: .12em; text-transform: uppercase; color: rgba(255,255,255,.58); }
.sc-thread-spec-table td { padding-right: 0; font-size: 19px; color: #fff; }
.sc-thread-applications { background: #af0205; color: #fff; }
.sc-thread-applications .sc-thread-kicker { color: rgba(255,255,255,.66); }
.sc-thread-section-heading-wide { display: block; max-width: 920px; }
.sc-thread-application-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); border-top: 1px solid rgba(255,255,255,.38); border-left: 1px solid rgba(255,255,255,.38); }
.sc-thread-application { min-height: 260px; padding: 30px; border-right: 1px solid rgba(255,255,255,.38); border-bottom: 1px solid rgba(255,255,255,.38); }
.sc-thread-application > span { font-family: Manrope,sans-serif; font-size: 12px; letter-spacing: .16em; opacity: .6; }
.sc-thread-application h3 { margin: 54px 0 14px; font-family: Thunder,sans-serif; font-size: clamp(38px,3vw,54px); line-height: .92; text-transform: uppercase; }
.sc-thread-application p { margin: 0; font-family: Manrope,sans-serif; font-size: 15px; line-height: 1.6; color: rgba(255,255,255,.78); }
.sc-thread-related { background: #f3efe8; color: #090909; }
.sc-thread-related-header { max-width: 940px; margin-bottom: 50px; }
.sc-thread-related-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); border-top: 1px solid rgba(0,0,0,.25); border-left: 1px solid rgba(0,0,0,.25); }
.sc-thread-related-link { display: flex; min-height: 190px; flex-direction: column; justify-content: space-between; padding: 28px; border-right: 1px solid rgba(0,0,0,.25); border-bottom: 1px solid rgba(0,0,0,.25); color: #090909; text-decoration: none; transition: background .25s ease,color .25s ease; }
.sc-thread-related-link:hover { background: #090909; color: #fff; }
.sc-thread-related-link span { font-family: Manrope,sans-serif; font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: #af0205; }
.sc-thread-related-link strong { max-width: 490px; font-family: Thunder,sans-serif; font-size: clamp(34px,3vw,48px); line-height: .96; font-weight: 400; text-transform: uppercase; }
.sc-thread-final-cta { display: flex; align-items: center; justify-content: space-between; gap: 30px; margin-top: 80px; padding-top: 48px; border-top: 1px solid rgba(0,0,0,.25); }
.sc-thread-final-cta h2 { margin: 0; }
.sc-thread-final-cta > a { display: inline-flex; min-height: 58px; align-items: center; padding: 15px 26px; background: #af0205; color: #fff; font-family: Manrope,sans-serif; text-decoration: none; transition: transform .25s ease,background .25s ease; }
.sc-thread-final-cta > a:hover { transform: translateY(-3px); background: #090909; }
@media (max-width: 991px) {
  .sc-thread-hero { padding-top: 150px; }
  .sc-thread-hero-grid { grid-template-columns: 1fr; }
  .sc-thread-hero-media { min-height: 560px; max-width: 680px; }
  .sc-thread-story-grid { grid-template-columns: 1fr 1fr; }
  .sc-thread-story-copy { grid-column: 1/-1; padding-right: 0; }
  .sc-thread-section-heading { grid-template-columns: 1fr; gap: 25px; }
  .sc-thread-application-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 767px) {
  .sc-thread-hero { padding: 125px 0 78px; }
  .sc-thread-heading-main { font-size: clamp(82px,27vw,132px); }
  .sc-thread-heading-sub { max-width: 330px; margin-top: 18px; font-size: 21px; }
  .sc-thread-intro { font-size: 17px; line-height: 1.6; }
  .sc-thread-hero-actions { flex-direction: column; align-items: stretch; }
  .sc-thread-hero-media { min-height: 410px; }
  .sc-thread-hero-image-main { width: 82%; }
  .sc-thread-hero-image-detail { width: 46%; border-width: 8px; }
  .sc-thread-orbit { width: 280px; height: 280px; right: -110px; }
  .sc-thread-story-grid,.sc-thread-related-grid { grid-template-columns: 1fr; }
  .sc-thread-feature-card { min-height: 320px; }
  .sc-thread-section-heading h2,.sc-thread-story-copy h2,.sc-thread-related-header h2,.sc-thread-final-cta h2 { font-size: clamp(52px,15vw,76px); }
  .sc-thread-spec-table th,.sc-thread-spec-table td { display: block; width: 100%; padding: 12px 0; }
  .sc-thread-spec-table th { padding-top: 22px; border-bottom: 0; }
  .sc-thread-spec-table td { padding-top: 0; }
  .sc-thread-application-grid { grid-template-columns: 1fr; }
  .sc-thread-application { min-height: 220px; }
  .sc-thread-final-cta { align-items: flex-start; flex-direction: column; }
  .sc-thread-final-cta > a { width: 100%; justify-content: center; }
}
@media (prefers-reduced-motion: reduce) {
  .sc-thread-orbit { animation: none; }
}


/* Thread page v25: real product photography for the vibrant-color story. */
.sc-thread-color-section { position: relative; overflow: hidden; }
.sc-thread-color-section::after {
  content: "";
  position: absolute;
  right: -150px;
  bottom: -190px;
  width: 430px;
  height: 430px;
  border: 1px solid rgba(175,2,5,.2);
  border-radius: 50%;
  pointer-events: none;
}
.sc-thread-color-layout {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0,1.12fr) minmax(330px,.88fr);
  gap: clamp(42px,7vw,110px);
  align-items: center;
}
.sc-thread-color-copy { padding: 18px 0; }
.sc-thread-color-photo-card {
  position: relative;
  margin: 0;
  min-height: 520px;
  padding: clamp(24px,3vw,42px);
  background: #090909;
  color: #fff;
  overflow: hidden;
  box-shadow: 0 34px 80px rgba(0,0,0,.24);
}
.sc-thread-color-photo-frame {
  position: relative;
  z-index: 2;
  width: min(100%, 430px);
  margin-left: auto;
  background: #fff;
  border: 12px solid #fff;
  box-shadow: 0 26px 60px rgba(0,0,0,.35);
}
.sc-thread-color-photo-frame::before {
  content: "";
  position: absolute;
  inset: -12px;
  border: 1px solid rgba(175,2,5,.65);
  pointer-events: none;
}
.sc-thread-color-photo-frame img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1 / 1;
  object-fit: cover;
}
.sc-thread-color-photo-card figcaption {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
  margin-top: 32px;
  padding-top: 24px;
  border-top: 1px solid rgba(255,255,255,.24);
}
.sc-thread-color-photo-card figcaption span {
  font-family: Manrope,sans-serif;
  font-size: 12px;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: rgba(255,255,255,.62);
}
.sc-thread-color-photo-card figcaption strong {
  max-width: 260px;
  font-family: Thunder,sans-serif;
  font-size: clamp(34px,3vw,48px);
  line-height: .92;
  font-weight: 400;
  text-align: right;
  text-transform: uppercase;
}
.sc-thread-color-orbit {
  position: absolute;
  z-index: 1;
  left: -100px;
  bottom: -115px;
  width: 280px;
  height: 280px;
  border: 1px solid rgba(255,255,255,.22);
  border-radius: 50%;
  animation: scThreadOrbit 24s linear infinite reverse;
}
.sc-thread-color-orbit::before {
  content: "";
  position: absolute;
  inset: 50px;
  border: 1px solid rgba(175,2,5,.85);
  border-radius: 50%;
}
.sc-thread-feature-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 24px;
  margin-top: clamp(34px,5vw,70px);
}
.sc-thread-feature-grid .sc-thread-feature-card { min-height: 330px; }
@media (max-width: 991px) {
  .sc-thread-color-layout { grid-template-columns: 1fr; }
  .sc-thread-color-copy { padding: 0; }
  .sc-thread-color-photo-card { max-width: 680px; min-height: auto; }
  .sc-thread-color-photo-frame { margin: 0 auto; }
}
@media (max-width: 767px) {
  .sc-thread-color-photo-card { padding: 22px; }
  .sc-thread-color-photo-card figcaption { align-items: flex-start; flex-direction: column; }
  .sc-thread-color-photo-card figcaption strong { text-align: left; }
  .sc-thread-feature-grid { grid-template-columns: 1fr; }
  .sc-thread-feature-grid .sc-thread-feature-card { min-height: 300px; }
}
@media (prefers-reduced-motion: reduce) {
  .sc-thread-color-orbit { animation: none; }
}


/* Bobbins page v26: production-focused product storytelling and confirmed specifications. */
.sc-bobbin-page { background: #090909; color: #fff; overflow: hidden; }
.sc-bobbin-hero { position: relative; padding: 185px 0 105px; background: #af0205; overflow: hidden; }
.sc-bobbin-hero::after { content: ""; position: absolute; right: -250px; top: -280px; width: 680px; height: 680px; border: 1px solid rgba(255,255,255,.18); border-radius: 50%; pointer-events: none; }
.sc-bobbin-hero-grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0,1.05fr) minmax(390px,.95fr); gap: clamp(45px,7vw,110px); align-items: center; }
.sc-bobbin-heading { margin: 0; color: #fff; }
.sc-bobbin-heading-main { display: block; font-family: Thunder,sans-serif; font-size: clamp(110px,15vw,225px); line-height: .76; font-weight: 700; text-transform: uppercase; }
.sc-bobbin-heading-sub { display: block; max-width: 590px; margin-top: 28px; font-family: Manrope,sans-serif; font-size: clamp(21px,2.2vw,34px); line-height: 1.12; font-weight: 500; }
.sc-bobbin-intro { max-width: 720px; margin: 36px 0 0; font-family: Manrope,sans-serif; font-size: 19px; line-height: 1.65; color: rgba(255,255,255,.86); }
.sc-bobbin-hero-actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 34px; }
.sc-bobbin-primary-link,.sc-bobbin-secondary-link { display: inline-flex; min-height: 58px; align-items: center; justify-content: center; padding: 15px 24px; font-family: Manrope,sans-serif; font-size: 14px; text-decoration: none; transition: transform .25s ease,background .25s ease,color .25s ease; }
.sc-bobbin-primary-link { background: #fff; color: #af0205; }
.sc-bobbin-secondary-link { border: 1px solid rgba(255,255,255,.55); color: #fff; }
.sc-bobbin-primary-link:hover,.sc-bobbin-secondary-link:hover { transform: translateY(-3px); }
.sc-bobbin-secondary-link:hover { background: #fff; color: #af0205; }
.sc-bobbin-quick-specs { display: flex; flex-wrap: wrap; gap: 12px 24px; margin: 38px 0 0; padding: 24px 0 0; border-top: 1px solid rgba(255,255,255,.3); list-style: none; }
.sc-bobbin-quick-specs li { font-family: Manrope,sans-serif; font-size: 12px; letter-spacing: .13em; text-transform: uppercase; color: rgba(255,255,255,.75); }
.sc-bobbin-hero-media { position: relative; min-height: 590px; }
.sc-bobbin-hero-image { position: absolute; display: block; object-fit: cover; box-shadow: 0 30px 70px rgba(0,0,0,.32); }
.sc-bobbin-hero-image-main { top: 0; right: 0; width: 84%; height: 77%; }
.sc-bobbin-hero-image-detail { left: 0; bottom: 0; width: 48%; aspect-ratio: 1/1; border: 10px solid #af0205; }
.sc-bobbin-orbit { position: absolute; right: -95px; bottom: -80px; width: 315px; height: 315px; border: 1px solid rgba(255,255,255,.26); border-radius: 50%; animation: scThreadOrbit 24s linear infinite; }
.sc-bobbin-orbit::before { content: ""; position: absolute; inset: 62px; border: 1px solid rgba(255,255,255,.3); border-radius: 50%; }
.sc-bobbin-section { padding: clamp(90px,10vw,150px) 0; }
.sc-bobbin-section-light { background: #f3efe8; color: #090909; }
.sc-bobbin-section-dark { background: #090909; color: #fff; }
.sc-bobbin-kicker { margin: 0 0 18px; font-family: Manrope,sans-serif; font-size: 12px; letter-spacing: .16em; text-transform: uppercase; color: #af0205; }
.sc-bobbin-section-heading { display: grid; grid-template-columns: minmax(150px,.3fr) minmax(320px,1fr) minmax(270px,.62fr); gap: clamp(24px,5vw,75px); align-items: start; margin-bottom: 60px; }
.sc-bobbin-section-heading h2,.sc-bobbin-related-header h2,.sc-bobbin-final-cta h2 { margin: 0; font-family: Thunder,sans-serif; font-size: clamp(60px,7vw,106px); line-height: .83; font-weight: 700; text-transform: uppercase; }
.sc-bobbin-section-heading > p:last-child { margin: 0; font-family: Manrope,sans-serif; font-size: 17px; line-height: 1.65; }
.sc-bobbin-option-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; }
.sc-bobbin-option-card { display: grid; grid-template-columns: minmax(220px,.9fr) minmax(0,1.1fr); min-height: 510px; background: #090909; color: #fff; overflow: hidden; }
.sc-bobbin-option-featured { grid-column: 1/-1; grid-template-columns: minmax(330px,.9fr) minmax(0,1.1fr); }
.sc-bobbin-option-color { background: #af0205; }
.sc-bobbin-option-image { min-height: 100%; overflow: hidden; }
.sc-bobbin-option-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .7s cubic-bezier(.2,.7,.2,1); }
.sc-bobbin-option-card:hover .sc-bobbin-option-image img { transform: scale(1.045); }
.sc-bobbin-option-copy { display: flex; flex-direction: column; padding: clamp(28px,4vw,54px); }
.sc-bobbin-option-copy > span { font-family: Manrope,sans-serif; font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: rgba(255,255,255,.58); }
.sc-bobbin-option-copy h3 { margin: 48px 0 18px; font-family: Thunder,sans-serif; font-size: clamp(48px,5.4vw,82px); line-height: .86; font-weight: 700; text-transform: uppercase; }
.sc-bobbin-option-copy p,.sc-bobbin-option-copy li { font-family: Manrope,sans-serif; font-size: 15px; line-height: 1.65; color: rgba(255,255,255,.78); }
.sc-bobbin-option-copy ul { margin: 18px 0 0; padding-left: 20px; }
.sc-bobbin-option-copy a { align-self: flex-start; margin-top: auto; padding-top: 32px; color: #fff; font-family: Manrope,sans-serif; font-size: 13px; letter-spacing: .08em; text-transform: uppercase; text-underline-offset: 7px; }
.sc-bobbin-section-heading-dark .sc-bobbin-kicker { color: rgba(255,255,255,.55); }
.sc-bobbin-section-heading-dark > p:last-child { color: rgba(255,255,255,.68); }
.sc-bobbin-spec-wrap { border-top: 1px solid rgba(255,255,255,.22); }
.sc-bobbin-spec-table { width: 100%; border-collapse: collapse; font-family: Manrope,sans-serif; }
.sc-bobbin-spec-table th,.sc-bobbin-spec-table td { padding: 24px 14px; border-bottom: 1px solid rgba(255,255,255,.17); text-align: left; vertical-align: top; }
.sc-bobbin-spec-table th { width: 36%; padding-left: 0; font-size: 13px; letter-spacing: .12em; text-transform: uppercase; color: rgba(255,255,255,.58); }
.sc-bobbin-spec-table td { padding-right: 0; font-size: 19px; color: #fff; }
.sc-bobbin-benefits { background: #af0205; color: #fff; }
.sc-bobbin-benefits .sc-bobbin-kicker { color: rgba(255,255,255,.62); }
.sc-bobbin-section-heading-wide { display: block; max-width: 980px; }
.sc-bobbin-benefit-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); border-top: 1px solid rgba(255,255,255,.35); border-left: 1px solid rgba(255,255,255,.35); }
.sc-bobbin-benefit { min-height: 290px; padding: 34px; border-right: 1px solid rgba(255,255,255,.35); border-bottom: 1px solid rgba(255,255,255,.35); }
.sc-bobbin-benefit > span { font-family: Manrope,sans-serif; font-size: 12px; letter-spacing: .16em; opacity: .62; }
.sc-bobbin-benefit h3 { margin: 58px 0 14px; font-family: Thunder,sans-serif; font-size: clamp(44px,4.3vw,70px); line-height: .88; font-weight: 700; text-transform: uppercase; }
.sc-bobbin-benefit p { max-width: 580px; margin: 0; font-family: Manrope,sans-serif; font-size: 15px; line-height: 1.65; color: rgba(255,255,255,.8); }
.sc-bobbin-related { background: #f3efe8; color: #090909; }
.sc-bobbin-related-header { max-width: 950px; margin-bottom: 50px; }
.sc-bobbin-related-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); border-top: 1px solid rgba(0,0,0,.25); border-left: 1px solid rgba(0,0,0,.25); }
.sc-bobbin-related-link { display: flex; min-height: 190px; flex-direction: column; justify-content: space-between; padding: 28px; border-right: 1px solid rgba(0,0,0,.25); border-bottom: 1px solid rgba(0,0,0,.25); color: #090909; text-decoration: none; transition: background .25s ease,color .25s ease; }
.sc-bobbin-related-link:hover { background: #090909; color: #fff; }
.sc-bobbin-related-link span { font-family: Manrope,sans-serif; font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: #af0205; }
.sc-bobbin-related-link strong { max-width: 520px; font-family: Thunder,sans-serif; font-size: clamp(34px,3vw,48px); line-height: .96; font-weight: 400; text-transform: uppercase; }
.sc-bobbin-final-cta { display: flex; align-items: center; justify-content: space-between; gap: 30px; margin-top: 80px; padding-top: 48px; border-top: 1px solid rgba(0,0,0,.25); }
.sc-bobbin-final-cta > a { display: inline-flex; min-height: 58px; align-items: center; justify-content: center; padding: 15px 26px; background: #af0205; color: #fff; font-family: Manrope,sans-serif; text-decoration: none; transition: transform .25s ease,background .25s ease; }
.sc-bobbin-final-cta > a:hover { transform: translateY(-3px); background: #090909; }
@media (max-width: 991px) {
  .sc-bobbin-hero { padding-top: 150px; }
  .sc-bobbin-hero-grid { grid-template-columns: 1fr; }
  .sc-bobbin-hero-media { min-height: 560px; max-width: 720px; }
  .sc-bobbin-section-heading { grid-template-columns: 1fr; gap: 24px; }
  .sc-bobbin-option-card,.sc-bobbin-option-featured { grid-template-columns: 1fr; }
  .sc-bobbin-option-image { min-height: 400px; }
}
@media (max-width: 767px) {
  .sc-bobbin-hero { padding: 125px 0 78px; }
  .sc-bobbin-heading-main { font-size: clamp(82px,27vw,132px); }
  .sc-bobbin-heading-sub { max-width: 340px; margin-top: 18px; font-size: 21px; }
  .sc-bobbin-intro { font-size: 17px; line-height: 1.6; }
  .sc-bobbin-hero-actions { flex-direction: column; align-items: stretch; }
  .sc-bobbin-hero-media { min-height: 420px; }
  .sc-bobbin-hero-image-main { width: 84%; }
  .sc-bobbin-hero-image-detail { width: 48%; border-width: 8px; }
  .sc-bobbin-orbit { width: 280px; height: 280px; right: -120px; }
  .sc-bobbin-option-grid,.sc-bobbin-benefit-grid,.sc-bobbin-related-grid { grid-template-columns: 1fr; }
  .sc-bobbin-option-card { min-height: auto; }
  .sc-bobbin-option-image { min-height: 310px; }
  .sc-bobbin-option-copy h3 { margin-top: 36px; }
  .sc-bobbin-section-heading h2,.sc-bobbin-related-header h2,.sc-bobbin-final-cta h2 { font-size: clamp(52px,15vw,76px); }
  .sc-bobbin-spec-table th,.sc-bobbin-spec-table td { display: block; width: 100%; padding: 12px 0; }
  .sc-bobbin-spec-table th { padding-top: 22px; border-bottom: 0; }
  .sc-bobbin-spec-table td { padding-top: 0; }
  .sc-bobbin-benefit { min-height: 235px; }
  .sc-bobbin-final-cta { align-items: flex-start; flex-direction: column; }
  .sc-bobbin-final-cta > a { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  .sc-bobbin-orbit { animation: none; }
}

/* Products page routing fix. The original Webflow card layout is untouched.
   Product names stay on Stitchcraft; price and shop rows go to Print Stitch Supply. */
.page-template-page-products .sc-product-title-link,
.page-template-page-products .sc-product-price-link,
.page-template-page-products .sc-product-shop-link {
  color: inherit;
  text-decoration: none;
}
.page-template-page-products .sc-product-title-link {
  display: inline-flex;
  width: fit-content;
}
.page-template-page-products .sc-product-title-link:hover,
.page-template-page-products .sc-product-title-link:focus-visible,
.page-template-page-products .sc-product-price-link:hover,
.page-template-page-products .sc-product-price-link:focus-visible,
.page-template-page-products .sc-product-shop-link:hover,
.page-template-page-products .sc-product-shop-link:focus-visible {
  opacity: .72;
}
.page-template-page-products .sc-product-title-link:focus-visible,
.page-template-page-products .sc-product-price-link:focus-visible,
.page-template-page-products .sc-product-shop-link:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 5px;
}


/* Backing page SEO and usability upgrade. */
.sc-backing-page { background: #090909; color: #fff; overflow: hidden; }
.sc-backing-page * { box-sizing: border-box; }
.sc-backing-hero { position: relative; padding: 185px 0 110px; background: #af0205; }
.sc-backing-hero::before { content: ""; position: absolute; inset: 0; background: radial-gradient(circle at 88% 18%, rgba(255,255,255,.13), transparent 31%), linear-gradient(135deg, rgba(0,0,0,.08), transparent 55%); pointer-events: none; }
.sc-backing-hero-grid { position: relative; display: grid; grid-template-columns: minmax(0,1.08fr) minmax(360px,.92fr); gap: clamp(44px,7vw,108px); align-items: center; }
.sc-backing-heading { margin: 0 0 32px; color: #fff; line-height: .82; }
.sc-backing-heading-main { display: block; font-family: Thunder,sans-serif; font-size: clamp(100px,14vw,205px); letter-spacing: -.025em; }
.sc-backing-heading-sub { display: block; max-width: 690px; margin-top: 24px; font-family: Manrope,sans-serif; font-size: clamp(20px,2vw,32px); line-height: 1.15; letter-spacing: .02em; text-transform: none; }
.sc-backing-intro { max-width: 760px; margin: 0; font-family: Manrope,sans-serif; font-size: clamp(18px,1.5vw,23px); line-height: 1.65; color: rgba(255,255,255,.88); }
.sc-backing-hero-actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 34px; }
.sc-backing-primary-link,.sc-backing-secondary-link { display: inline-flex; min-height: 54px; align-items: center; justify-content: center; padding: 14px 24px; border: 1px solid #fff; font-family: Manrope,sans-serif; font-weight: 500; text-decoration: none; transition: transform .25s ease,background .25s ease,color .25s ease; }
.sc-backing-primary-link { background: #fff; color: #090909; }
.sc-backing-secondary-link { background: transparent; color: #fff; }
.sc-backing-primary-link:hover,.sc-backing-secondary-link:hover { transform: translateY(-3px); }
.sc-backing-secondary-link:hover { background: #fff; color: #090909; }
.sc-backing-quick-specs { display: flex; flex-wrap: wrap; gap: 12px 24px; margin: 34px 0 0; padding: 24px 0 0; border-top: 1px solid rgba(255,255,255,.32); list-style: none; }
.sc-backing-quick-specs li { font-family: Manrope,sans-serif; font-size: 12px; letter-spacing: .13em; text-transform: uppercase; color: rgba(255,255,255,.75); }
.sc-backing-hero-media { position: relative; min-height: 560px; }
.sc-backing-hero-image { position: absolute; display: block; object-fit: cover; box-shadow: 0 30px 70px rgba(0,0,0,.32); }
.sc-backing-hero-image-main { top: 0; right: 0; width: 83%; height: 82%; background: #f3efe8; }
.sc-backing-hero-image-detail { left: 0; bottom: 0; width: 46%; aspect-ratio: 1/1; border: 10px solid #af0205; object-position: 58% 60%; transform: scaleX(-1); }
.sc-backing-orbit { position: absolute; right: -92px; bottom: -82px; width: 310px; height: 310px; border: 1px solid rgba(255,255,255,.27); border-radius: 50%; animation: scThreadOrbit 24s linear infinite; }
.sc-backing-orbit::before { content: ""; position: absolute; inset: 63px; border: 1px solid rgba(255,255,255,.31); border-radius: 50%; }
.sc-backing-section { padding: clamp(90px,10vw,150px) 0; }
.sc-backing-light { background: #f3efe8; color: #090909; }
.sc-backing-dark { background: #090909; color: #fff; }
.sc-backing-red { background: #af0205; color: #fff; }
.sc-backing-section-heading { display: grid; grid-template-columns: minmax(150px,.28fr) minmax(340px,1fr) minmax(280px,.62fr); gap: clamp(24px,5vw,74px); align-items: start; margin-bottom: 58px; }
.sc-backing-kicker { margin: 0 0 18px; font-family: Manrope,sans-serif; font-size: 12px; letter-spacing: .16em; text-transform: uppercase; color: #af0205; }
.sc-backing-dark .sc-backing-kicker,.sc-backing-red .sc-backing-kicker { color: rgba(255,255,255,.62); }
.sc-backing-section-heading h2,.sc-backing-related-header h2,.sc-backing-final-cta h2 { margin: 0; font-family: Thunder,sans-serif; font-size: clamp(60px,7vw,104px); line-height: .84; font-weight: 700; text-transform: uppercase; }
.sc-backing-section-heading > p:last-child { margin: 0; font-family: Manrope,sans-serif; font-size: 17px; line-height: 1.65; }
.sc-backing-dark .sc-backing-section-heading > p:last-child,.sc-backing-red .sc-backing-section-heading > p:last-child { color: rgba(255,255,255,.75); }
.sc-backing-product-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); border-top: 1px solid rgba(0,0,0,.24); border-left: 1px solid rgba(0,0,0,.24); }
.sc-backing-product-card { display: flex; min-height: 370px; flex-direction: column; padding: clamp(28px,4vw,50px); border-right: 1px solid rgba(0,0,0,.24); border-bottom: 1px solid rgba(0,0,0,.24); background: #f3efe8; transition: background .25s ease,color .25s ease,transform .25s ease; }
.sc-backing-product-card:hover { background: #090909; color: #fff; transform: translateY(-3px); }
.sc-backing-product-card > span { font-family: Manrope,sans-serif; font-size: 12px; letter-spacing: .15em; text-transform: uppercase; color: #af0205; }
.sc-backing-product-card h3 { margin: 54px 0 18px; font-family: Thunder,sans-serif; font-size: clamp(48px,5vw,76px); line-height: .87; font-weight: 700; text-transform: uppercase; }
.sc-backing-product-card p { margin: 0; font-family: Manrope,sans-serif; font-size: 16px; line-height: 1.65; color: rgba(9,9,9,.75); }
.sc-backing-product-card:hover p { color: rgba(255,255,255,.78); }
.sc-backing-card-specs { display: flex; flex-wrap: wrap; gap: 10px 18px; margin: auto 0 0; padding: 32px 0 0; list-style: none; }
.sc-backing-card-specs li { font-family: Manrope,sans-serif; font-size: 11px; letter-spacing: .12em; text-transform: uppercase; }
.sc-backing-specialty-layout { display: grid; grid-template-columns: minmax(320px,.85fr) minmax(0,1.15fr); gap: clamp(35px,6vw,88px); align-items: center; }
.sc-backing-specialty-media { position: relative; min-height: 510px; background: #f3efe8; overflow: hidden; }
.sc-backing-specialty-media img { width: 100%; height: 100%; min-height: 510px; object-fit: cover; filter: grayscale(.08); transition: transform .7s cubic-bezier(.2,.7,.2,1); }
.sc-backing-specialty-media:hover img { transform: scale(1.04); }
.sc-backing-specialty-copy h2 { margin: 0 0 28px; font-family: Thunder,sans-serif; font-size: clamp(60px,7vw,104px); line-height: .84; text-transform: uppercase; }
.sc-backing-specialty-copy h3 { margin: 0 0 18px; font-family: Thunder,sans-serif; font-size: clamp(42px,4vw,64px); line-height: .9; text-transform: uppercase; }
.sc-backing-specialty-copy p { margin: 0 0 18px; font-family: Manrope,sans-serif; font-size: 17px; line-height: 1.68; color: rgba(255,255,255,.77); }
.sc-backing-specialty-copy a { display: inline-flex; margin-top: 15px; color: #fff; font-family: Manrope,sans-serif; font-size: 13px; letter-spacing: .08em; text-transform: uppercase; text-underline-offset: 7px; }
.sc-backing-guide { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); border-top: 1px solid rgba(255,255,255,.36); border-left: 1px solid rgba(255,255,255,.36); }
.sc-backing-guide-row { min-height: 250px; padding: 32px; border-right: 1px solid rgba(255,255,255,.36); border-bottom: 1px solid rgba(255,255,255,.36); }
.sc-backing-guide-row span { font-family: Manrope,sans-serif; font-size: 12px; letter-spacing: .15em; text-transform: uppercase; color: rgba(255,255,255,.64); }
.sc-backing-guide-row h3 { margin: 56px 0 12px; font-family: Thunder,sans-serif; font-size: clamp(42px,4vw,66px); line-height: .88; text-transform: uppercase; }
.sc-backing-guide-row p { max-width: 560px; margin: 0; font-family: Manrope,sans-serif; font-size: 15px; line-height: 1.65; color: rgba(255,255,255,.8); }
.sc-backing-related { background: #f3efe8; color: #090909; }
.sc-backing-related-header { max-width: 920px; margin-bottom: 50px; }
.sc-backing-related-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); border-top: 1px solid rgba(0,0,0,.24); border-left: 1px solid rgba(0,0,0,.24); }
.sc-backing-related-link { display: flex; min-height: 185px; flex-direction: column; justify-content: space-between; padding: 28px; border-right: 1px solid rgba(0,0,0,.24); border-bottom: 1px solid rgba(0,0,0,.24); color: #090909; text-decoration: none; transition: background .25s ease,color .25s ease; }
.sc-backing-related-link:hover { background: #090909; color: #fff; }
.sc-backing-related-link span { font-family: Manrope,sans-serif; font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: #af0205; }
.sc-backing-related-link strong { max-width: 530px; font-family: Thunder,sans-serif; font-size: clamp(34px,3vw,48px); line-height: .96; font-weight: 400; text-transform: uppercase; }
.sc-backing-final-cta { display: flex; align-items: center; justify-content: space-between; gap: 30px; margin-top: 78px; padding-top: 46px; border-top: 1px solid rgba(0,0,0,.24); }
.sc-backing-final-cta > a { display: inline-flex; min-height: 58px; align-items: center; justify-content: center; padding: 15px 26px; background: #af0205; color: #fff; font-family: Manrope,sans-serif; text-decoration: none; transition: transform .25s ease,background .25s ease; }
.sc-backing-final-cta > a:hover { transform: translateY(-3px); background: #090909; }
@media (max-width: 991px) {
  .sc-backing-hero { padding-top: 150px; }
  .sc-backing-hero-grid,.sc-backing-specialty-layout { grid-template-columns: 1fr; }
  .sc-backing-hero-media { min-height: 540px; max-width: 720px; }
  .sc-backing-section-heading { grid-template-columns: 1fr; gap: 24px; }
}
@media (max-width: 767px) {
  .sc-backing-hero { padding: 125px 0 78px; }
  .sc-backing-heading-main { font-size: clamp(80px,25vw,126px); }
  .sc-backing-heading-sub { max-width: 350px; margin-top: 18px; font-size: 21px; }
  .sc-backing-intro { font-size: 17px; line-height: 1.6; }
  .sc-backing-hero-actions { flex-direction: column; align-items: stretch; }
  .sc-backing-hero-media { min-height: 405px; }
  .sc-backing-hero-image-main { width: 84%; }
  .sc-backing-hero-image-detail { width: 48%; border-width: 8px; }
  .sc-backing-product-grid,.sc-backing-guide,.sc-backing-related-grid { grid-template-columns: 1fr; }
  .sc-backing-product-card { min-height: 320px; }
  .sc-backing-section-heading h2,.sc-backing-related-header h2,.sc-backing-final-cta h2,.sc-backing-specialty-copy h2 { font-size: clamp(52px,15vw,76px); }
  .sc-backing-specialty-media,.sc-backing-specialty-media img { min-height: 360px; }
  .sc-backing-guide-row { min-height: 220px; }
  .sc-backing-final-cta { align-items: flex-start; flex-direction: column; }
  .sc-backing-final-cta > a { width: 100%; }
}
@media (prefers-reduced-motion: reduce) { .sc-backing-orbit { animation: none; } }


/* Products page v34: preserve the original Webflow card appearance while
   separating internal product-name links from external purchase links. */
.sc-products-page .sc-product-name-row {
  display: flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  flex: 0 0 auto;
  min-width: 120px;
  position: relative;
  z-index: 5;
  color: #fff;
}
.sc-products-page .sc-product-title-link,
.sc-products-page .sc-product-price-link,
.sc-products-page .sc-product-shop-link {
  color: inherit;
  text-decoration: none;
}
.sc-products-page .sc-product-title-link {
  display: inline-flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  width: auto;
  color: #fff !important;
  white-space: nowrap;
  position: relative;
  z-index: 6;
}
.sc-products-page .sc-product-title-link:hover,
.sc-products-page .sc-product-title-link:focus-visible,
.sc-products-page .sc-product-price-link:hover,
.sc-products-page .sc-product-price-link:focus-visible,
.sc-products-page .sc-product-shop-link:hover,
.sc-products-page .sc-product-shop-link:focus-visible {
  opacity: .72;
}
.sc-products-page .sc-product-title-link:focus-visible,
.sc-products-page .sc-product-price-link:focus-visible,
.sc-products-page .sc-product-shop-link:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 5px;
}
@media (max-width: 991px) {
  .sc-products-page .pb-block {
    flex-wrap: wrap;
  }
  .sc-products-page .sc-product-name-row {
    display: flex !important;
    min-width: 115px;
  }
}
@media (max-width: 767px) {
  .sc-products-page .pb-block {
    display: grid;
    grid-template-columns: 80px minmax(0, 1fr);
    column-gap: 25px;
    row-gap: 14px;
    align-items: center;
  }
  .sc-products-page .pb-image {
    grid-column: 1;
    grid-row: 1 / 4;
  }
  .sc-products-page .sc-product-name-row {
    grid-column: 2;
    grid-row: 1;
    min-width: 0;
  }
  .sc-products-page .sc-product-price-link {
    grid-column: 2;
    grid-row: 2;
  }
  .sc-products-page .sc-product-shop-link {
    grid-column: 2;
    grid-row: 3;
  }
  .sc-products-page .sc-product-title-link {
    white-space: normal;
  }
  .sc-products-page .pb-wrapper.mb {
    display: none !important;
  }
}


/* v37: restrained 3D EVA Foam page polish — preserves original site layout */
.sc-foam-subtitle {
  display: block;
  margin-top: 14px;
  font-family: Manrope, sans-serif;
  font-size: clamp(18px, 2vw, 30px);
  line-height: 1.15;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: #fff;
}
.sc-foam-page .section-2 {
  align-items: stretch;
  gap: 22px;
}
.sc-foam-page .section-2 img {
  width: min(100%, 420px);
  height: auto;
  object-fit: cover;
}
.sc-foam-details {
  margin: 0 0 28px;
  padding: 0;
  list-style: none;
  font-family: Manrope, sans-serif;
  font-size: clamp(18px, 2vw, 25px);
  line-height: 1.65;
}
.sc-foam-details li { margin-bottom: 5px; }
.sc-foam-color-list {
  columns: 2;
  column-gap: 52px;
  margin: 0;
  padding: 0;
  list-style: none;
  font-family: Manrope, sans-serif;
  font-size: clamp(18px, 2vw, 25px);
  line-height: 1.65;
}
.sc-foam-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 22px;
}
.sc-foam-actions a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 52px;
  padding: 12px 22px;
  border-radius: 4px;
  text-decoration: none;
  font-family: Manrope, sans-serif;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .04em;
}
.sc-foam-actions .is-primary { background: #af0205; color: #fff; }
.sc-foam-actions .is-secondary { border: 1px solid rgba(255,255,255,.65); color: #fff; }
@media (max-width: 767px) {
  .sc-foam-color-list { columns: 1; }
  .sc-foam-actions { flex-direction: column; }
  .sc-foam-actions a { width: 100%; }
}


/* v38: Gallery page polish — preserves the existing Stitchcraft visual system. */
.sc-gallery-page { background: #090909; color: #fff; }
.sc-gallery-page * { box-sizing: border-box; }
.sc-gallery-page .sc-gallery-hero { padding-top: 170px; padding-bottom: 90px; }
.sc-gallery-page .ih-heading { text-transform: uppercase; }
.sc-gallery-page .sc-gallery-intro { max-width: 760px; }
.sc-gallery-grid-section { padding: 0 0 115px; background: #090909; }
.sc-gallery-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 28px; }
.sc-gallery-card { margin: 0; background: #111; border-top: 4px solid #af0205; overflow: hidden; }
.sc-gallery-card-media { position: relative; overflow: hidden; aspect-ratio: 1 / 1; background: #1a1a1a; }
.sc-gallery-card img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .6s cubic-bezier(.2,.7,.2,1); }
.sc-gallery-card:hover img { transform: scale(1.035); }
.sc-gallery-card figcaption { min-height: 128px; padding: 22px 22px 24px; font-family: Manrope,sans-serif; }
.sc-gallery-card h2 { margin: 0 0 9px; font-family: Thunder,sans-serif; font-size: clamp(34px,3vw,48px); line-height: .92; text-transform: uppercase; font-weight: 700; }
.sc-gallery-card p { margin: 0; color: rgba(255,255,255,.7); font-size: 14px; line-height: 1.55; }
.sc-gallery-links { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); border-top: 1px solid rgba(255,255,255,.2); border-left: 1px solid rgba(255,255,255,.2); margin-top: 62px; }
.sc-gallery-links a { display: flex; min-height: 135px; flex-direction: column; justify-content: space-between; padding: 22px; border-right: 1px solid rgba(255,255,255,.2); border-bottom: 1px solid rgba(255,255,255,.2); color: #fff; text-decoration: none; transition: background .25s ease,color .25s ease; }
.sc-gallery-links a:hover { background: #af0205; }
.sc-gallery-links span { font-family: Manrope,sans-serif; font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: rgba(255,255,255,.58); }
.sc-gallery-links strong { font-family: Thunder,sans-serif; font-size: clamp(30px,2.8vw,42px); line-height: .95; text-transform: uppercase; font-weight: 400; }
@media (max-width: 991px) {
  .sc-gallery-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .sc-gallery-links { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 600px) {
  .sc-gallery-page .sc-gallery-hero { padding-top: 125px; padding-bottom: 60px; }
  .sc-gallery-grid { grid-template-columns: 1fr; gap: 22px; }
  .sc-gallery-card figcaption { min-height: auto; }
  .sc-gallery-links { grid-template-columns: 1fr; }
}
