:root {
  --lb-ink-950: #10171d;
  --lb-ink-900: #172028;
  --lb-ink-800: #24303a;
  --lb-stone-50: #f7f5f0;
  --lb-stone-100: #eeeae2;
  --lb-stone-200: #ded8ce;
  --lb-white: #fff;
  --lb-graphite-600: #667078;
  --lb-graphite-400: #98a0a6;
  --lb-brass-600: #9b713b;
  --lb-brass-500: #b48649;
  --lb-border: rgba(16, 23, 29, .12);
  --lb-container: 1280px;
  --lb-wide: 1440px;
  --lb-gutter: clamp(20px, 4vw, 48px);
  --lb-sans: "Manrope", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --lb-mono: "DM Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--lb-stone-50); color: var(--lb-ink-950); font-family: var(--lb-sans); text-rendering: optimizeLegibility; }
body > .wp-site-blocks { padding: 0; }
a { color: inherit; text-underline-offset: 5px; }
img { display: block; max-width: 100%; height: auto; }
p { max-width: 72ch; }
/* Step 4 mobile container rules: every grid/flex child must allow shrinking */
:where(.lb-section, .lb-home-hero__inner, .lb-product-hero, .lb-section-title, .lb-card, .lb-credibility__inner, .lb-industry-grid, .lb-value-grid, .lb-trade-grid, .lb-facts, .lb-card-grid, .lb-footer-identity, .lb-form-grid) > * { min-width: 0; }
/* Step 5 mobile typography: normal English word boundaries, only break-word for emergencies */
h1, h2, h3, h4, h5, h6, p, li, dd, dt, blockquote, figcaption { white-space: normal; word-break: normal; overflow-wrap: break-word; }

.lb-site-header { position: sticky; top: 0; z-index: 20; min-height: 80px; padding-inline: var(--lb-gutter); border-bottom: 1px solid var(--lb-border); background: rgba(247, 245, 240, .96); backdrop-filter: blur(14px); }
.lb-site-header__inner { width: min(100%, var(--lb-wide)); min-height: 80px; margin: 0 auto; gap: 32px; align-items: center; }
.lb-brand-lockup { gap: 12px; min-width: max-content; align-items: center; }
.lb-brand-lockup__link { display: inline-flex; align-items: center; text-decoration: none; line-height: 0; }
.lb-brand-lockup__link:focus-visible { outline: 3px solid var(--lb-brass-500); outline-offset: 6px; border-radius: 2px; }
.lb-brand-lockup__img { display: block; height: 44px; max-height: 44px; width: auto; max-width: none; aspect-ratio: 1200 / 256; }
.lb-brand-lockup__img--reversed { display: none; }
.lb-brand-lockup__img--symbol { display: none; aspect-ratio: 1 / 1; height: 40px; max-height: 40px; width: 40px; max-width: 40px; }
.lb-site-header--ink .lb-brand-lockup__img--primary { display: none; }
.lb-site-header--ink .lb-brand-lockup__img--reversed { display: block; }
.wp-block-site-title { font-size: 15px; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.wp-block-site-title a { text-decoration: none; }
.lb-site-nav { gap: clamp(12px, 1.7vw, 28px); font-size: 14px; font-weight: 500; align-items: center; }
.lb-site-nav a { text-decoration: none; }
.lb-site-nav a:hover { text-decoration: underline; text-decoration-color: var(--lb-brass-600); }
.lb-header-cta .wp-block-button__link { min-height: 44px; padding: 10px 18px; font-size: 14px; }

.lb-container, .lb-page-shell { width: min(calc(100% - (var(--lb-gutter) * 2)), var(--lb-container)); margin-inline: auto; }
.lb-page-shell { padding-block: clamp(64px, 9vw, 128px); }
.lb-page-shell--flush { padding-top: 0; }
.lb-section { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(40px, 8vw, 120px); padding-block: clamp(80px, 10vw, 144px); }
.lb-section--stack { display: block; }
.lb-section--stone-deep { background: var(--lb-stone-100); }
.lb-section--ink { background: var(--lb-ink-950); color: var(--lb-white); }
.lb-section-title { display: flex; justify-content: space-between; gap: 40px; align-items: end; margin-bottom: clamp(32px, 5vw, 64px); }
.lb-section-title h2 { max-width: 760px; margin: 0; }
.lb-section-title p { color: var(--lb-graphite-600); min-width: 0; }

.lb-eyebrow { margin: 0 0 18px; color: var(--lb-brass-600); font-family: var(--lb-mono); font-size: 12px; font-weight: 600; letter-spacing: .1em; line-height: 1.4; text-transform: uppercase; }
.lb-lead { max-width: 650px; color: var(--lb-graphite-600); font-size: clamp(18px, 2vw, 21px); line-height: 1.55; }
.lb-prose { color: var(--lb-graphite-600); font-size: 17px; line-height: 1.75; }
.lb-prose p:first-child { margin-top: 0; }
.lb-empty { padding: 24px 0; color: var(--lb-graphite-600); }

.lb-button, .wp-element-button, .wp-block-button__link { min-height: 50px; display: inline-flex; align-items: center; justify-content: center; padding: 12px 24px; border: 1px solid var(--lb-ink-950); border-radius: 4px; background: var(--lb-ink-950); color: var(--lb-white); font-weight: 600; text-decoration: none; transition: transform 180ms ease, background-color 180ms ease, border-color 180ms ease; }
.lb-button:hover, .wp-element-button:hover, .wp-block-button__link:hover { transform: translateY(-1px); background: var(--lb-ink-900); border-color: var(--lb-ink-900); }
.lb-button--light { background: var(--lb-white); border-color: var(--lb-white); color: var(--lb-ink-950); }
.lb-button--light:hover { background: var(--lb-stone-100); border-color: var(--lb-stone-100); }
.lb-text-link { display: inline-flex; align-items: center; gap: 8px; font-weight: 600; text-decoration: underline; text-decoration-color: transparent; transition: text-decoration-color 180ms ease; }
.lb-text-link:hover { text-decoration-color: var(--lb-brass-600); }
.lb-actions { display: flex; flex-wrap: wrap; gap: 24px; align-items: center; margin-top: 36px; }
:where(a, button, input, select, textarea):focus-visible { outline: 3px solid var(--lb-brass-500); outline-offset: 3px; }

.lb-home-hero { min-height: min(820px, calc(100vh - 80px)); padding: clamp(72px, 10vw, 144px) var(--lb-gutter); overflow: hidden; }
.lb-home-hero__inner { width: min(100%, var(--lb-wide)); margin: 0 auto; display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr); align-items: center; gap: clamp(56px, 9vw, 140px); }
.lb-home-hero h1 { max-width: 780px; margin: 0; font-size: clamp(32px, 7.2vw, 92px); line-height: 1.02; letter-spacing: -.045em; }
.lb-home-hero .lb-lead { margin: 32px 0 0; }
.lb-architectural-visual { position: relative; min-height: clamp(420px, 50vw, 650px); background: var(--lb-white); border: 1px solid var(--lb-border); }
.lb-architectural-visual::before { content: ""; position: absolute; inset: 9% 9% 16% 18%; background: linear-gradient(135deg, #d9d3c8 0 36%, #f5f2eb 36% 68%, #c9c2b6 68%); clip-path: polygon(0 0, 100% 0, 100% 100%, 42% 100%, 42% 72%, 0 72%); }
.lb-architectural-visual::after { content: ""; position: absolute; width: 36%; height: 22%; left: 31%; top: 37%; border: 12px solid var(--lb-ink-950); border-left-width: 28px; box-shadow: 10px 10px 0 rgba(16,23,29,.16); }
.lb-architectural-visual span { position: absolute; right: 9%; bottom: 7%; font-family: var(--lb-mono); font-size: 11px; letter-spacing: .08em; text-transform: uppercase; }
.lb-architectural-visual i { position: absolute; z-index: 2; width: 1px; top: 8%; bottom: 8%; right: 7%; background: var(--lb-brass-600); }
.lb-architectural-visual--asset { background: var(--lb-stone-100); }
.lb-architectural-visual--asset::before, .lb-architectural-visual--asset::after { display: none; }
.lb-architectural-visual--asset .lb-home-hero__image { width: 100%; height: 100%; min-height: inherit; object-fit: cover; }
.lb-credibility { border-block: 1px solid var(--lb-border); background: var(--lb-white); }
.lb-credibility__inner { width: min(calc(100% - (var(--lb-gutter) * 2)), var(--lb-container)); margin: 0 auto; display: grid; grid-template-columns: 1fr repeat(4, minmax(0, auto)); gap: 28px; align-items: center; padding-block: 22px; }
.lb-credibility span { color: var(--lb-graphite-600); font-family: var(--lb-mono); font-size: 11px; letter-spacing: .08em; text-transform: uppercase; min-width: 0; }

.lb-card-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(28px, 4vw, 56px) 24px; }
.lb-card { min-width: 0; }
.lb-card__media { display: block; aspect-ratio: 4 / 3; overflow: hidden; background: var(--lb-stone-100); position: relative; }
.lb-card__media img { width: 100%; height: 100%; object-fit: cover; object-position: center; transition: transform 220ms cubic-bezier(.2,.8,.2,1); }
.lb-card__media:hover img { transform: scale(1.02); }
.lb-card__media img[src$=".png"], .lb-card__media img[src$=".webp"], .lb-card__media img[src$=".jpg"] { background: var(--lb-stone-100); }
.lb-product-media__img--lb-card-size,
.lb-product-media__img.lb-card-size { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.lb-product-media__img--lb-product-hero-size,
.lb-product-media__img.lb-product-hero-size { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.lb-card__body { padding: 25px 0 0; }
.lb-card h3 { margin: 0 0 10px; font-size: clamp(20px, 3vw, 32px); }
.lb-card h3 a { text-decoration: none; }
.lb-card p:not(.lb-eyebrow):not(.lb-price-note) { color: var(--lb-graphite-600); }
.lb-price-note { margin: 20px 0 12px; font-family: var(--lb-mono); font-size: 12px; letter-spacing: .04em; text-transform: uppercase; }
.lb-material-placeholder { position: relative; display: block; width: 100%; height: 100%; overflow: hidden; background: linear-gradient(135deg, var(--lb-stone-100), #d8d3c9); }
.lb-material-placeholder::before { content: ""; position: absolute; inset: 12% 12% 19% 18%; border: 1px solid rgba(16,23,29,.22); background: rgba(255,255,255,.55); }
.lb-material-placeholder i { position: absolute; left: 34%; top: 37%; width: 34%; height: 22%; border: 7px solid var(--lb-ink-950); box-shadow: 8px 8px 0 rgba(16,23,29,.15); }
.lb-material-placeholder b { position: absolute; left: 9%; bottom: 8%; width: 28%; height: 1px; background: var(--lb-brass-600); }

.lb-story { display: grid; grid-template-columns: 1fr 1fr; gap: 0; background: var(--lb-ink-950); color: var(--lb-white); }
.lb-story__visual { min-height: 600px; background: linear-gradient(145deg, #d7d0c4 0 38%, #f3efe7 38% 70%, #bab2a5 70%); position: relative; }
.lb-story__visual::after { content: "LB"; position: absolute; left: 20%; top: 34%; padding: 18px 24px; border: 10px solid var(--lb-ink-950); color: var(--lb-ink-950); font-size: 56px; font-weight: 700; letter-spacing: -.06em; box-shadow: 12px 12px 0 rgba(16,23,29,.22); }
.lb-story__copy { display: flex; flex-direction: column; justify-content: center; padding: clamp(64px, 9vw, 128px); }
.lb-story__copy h2 { max-width: 600px; margin: 0; }
.lb-story__copy p:not(.lb-eyebrow) { color: rgba(255,255,255,.68); }

.lb-value-grid, .lb-trade-grid { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--lb-border); border-left: 1px solid var(--lb-border); }
.lb-value-grid article, .lb-trade-grid article { min-height: 260px; padding: clamp(24px, 3vw, 40px); border-right: 1px solid var(--lb-border); border-bottom: 1px solid var(--lb-border); }
.lb-value-grid span, .lb-trade-grid span { color: var(--lb-brass-600); font-family: var(--lb-mono); font-size: 12px; }
.lb-value-grid h3, .lb-trade-grid h3 { margin: 60px 0 12px; font-size: 21px; }
.lb-value-grid p, .lb-trade-grid p { color: var(--lb-graphite-600); font-size: 15px; }

.lb-process ol { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--lb-border); }
.lb-process li { display: grid; grid-template-columns: 54px 1fr; gap: 16px; align-items: center; min-height: 78px; border-bottom: 1px solid var(--lb-border); font-weight: 600; }
.lb-process li span { color: var(--lb-brass-600); font-family: var(--lb-mono); font-size: 12px; }

.lb-industry-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--lb-border); border-left: 1px solid var(--lb-border); }
.lb-industry-grid article { min-height: 310px; padding: clamp(28px, 4vw, 48px); border-right: 1px solid var(--lb-border); border-bottom: 1px solid var(--lb-border); }
.lb-industry-grid h3 { margin-top: 52px; }
.lb-industry-grid h3 a { text-decoration: none; }
.lb-industry-grid p:not(.lb-eyebrow) { color: var(--lb-graphite-600); }

.lb-editorial-hero { min-height: 540px; display: flex; flex-direction: column; justify-content: center; padding-block: clamp(80px, 12vw, 168px); border-bottom: 1px solid var(--lb-border); }
.lb-editorial-hero h1, .lb-product-hero h1 { max-width: 880px; margin: 0; font-size: clamp(30px, 7vw, 76px); line-height: 1.05; letter-spacing: -.04em; }
.lb-editorial-hero .lb-button { align-self: flex-start; margin-top: 28px; }
.lb-product-hero { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(48px, 8vw, 120px); align-items: center; min-height: 680px; padding-block: clamp(64px, 9vw, 120px); min-width: 0; }
.lb-product-hero > * { min-width: 0; }
.lb-product-detail { /* Step 10: ensure the product hero visual does not crop key product structure */ }
.lb-product-hero__visual { aspect-ratio: 4 / 3; background: var(--lb-stone-100); overflow: hidden; }
.lb-product-hero__visual > * { width: 100%; height: 100%; object-fit: cover; object-position: center; }
/* Step 10: per-product object-fit policy. The locked masters must remain visible in full subject:
   - Reception: contain (preserve acrylic + 4 standoffs at corners; object-position center)
   - Logo Mat: cover (mat is fully contained within the natural 4:3 master)
   - Tension: contain with object-position 50% 75% (preserve side depth + bottom support feet)
   - SEG: cover (frame + lightbox thickness visible within 4:3 master)
   - Hero: cover (Hero master is already designed for 3:2 cover framing)
*/
.lb-product-detail[data-product-slug="premium-reception-logo-signs"] .lb-product-hero__visual > *,
.lb-product-detail[data-product-slug="tension-fabric-trade-show-displays"] .lb-product-hero__visual > * { object-fit: contain; }
.lb-product-detail[data-product-slug="tension-fabric-trade-show-displays"] .lb-product-hero__visual > * { object-position: 50% 75%; }
/* On archive + homepage cards the master is constrained to a 4:3 card; use contain for
   Tension / Reception so the support feet and standoffs are not lost at narrow widths. */
.lb-product-media__img.lb-card-size { object-fit: cover; object-position: center; }
.lb-product-detail[data-product-slug="premium-reception-logo-signs"] .lb-product-media__img.lb-product-hero-size,
.lb-product-detail[data-product-slug="tension-fabric-trade-show-displays"] .lb-product-media__img.lb-product-hero-size { object-fit: contain; object-position: center; }
.lb-product-detail[data-product-slug="tension-fabric-trade-show-displays"] .lb-product-media__img.lb-product-hero-size { object-position: 50% 75%; }
/* Cards specifically tuned to preserve full master for Tension (vertical, needs feet + depth) */
.lb-product-card[data-product-slug="tension-fabric-trade-show-displays"] .lb-product-media__img,
.lb-product-card[data-product-slug="premium-reception-logo-signs"] .lb-product-media__img { object-fit: contain; }
.lb-product-card[data-product-slug="tension-fabric-trade-show-displays"] .lb-product-media__img { object-position: 50% 75%; }
.lb-facts { display: grid; grid-template-columns: repeat(4, 1fr); border-block: 1px solid var(--lb-border); }
.lb-facts > div { padding: 28px 24px; border-right: 1px solid var(--lb-border); }
.lb-facts > div:last-child { border-right: 0; }
.lb-facts span, .lb-spec-list > div > span { display: block; margin-bottom: 10px; color: var(--lb-graphite-600); font-family: var(--lb-mono); font-size: 11px; letter-spacing: .08em; text-transform: uppercase; }
.lb-facts strong { font-size: 15px; line-height: 1.5; }
.lb-spec-list { border-top: 1px solid var(--lb-border); }
.lb-spec-list > div { padding: 24px 0; border-bottom: 1px solid var(--lb-border); }
.lb-spec-list ul { margin: 0; padding-left: 20px; }
.lb-spec-list p { margin-bottom: 0; }
.lb-faq-list { margin: 0; }
.lb-faq-list dt { margin-top: 18px; font-weight: 700; }
.lb-faq-list dt:first-child { margin-top: 0; }
.lb-faq-list dd { margin: 7px 0 0; color: var(--lb-graphite-600); line-height: 1.55; }
.lb-final-cta { margin: 0; padding: clamp(72px, 10vw, 136px) var(--lb-gutter); background: var(--lb-ink-950); color: var(--lb-white); text-align: center; }
.lb-final-cta h2, .lb-final-cta p { margin-inline: auto; }
.lb-final-cta h2 { font-size: clamp(38px, 5vw, 60px); }
.lb-final-cta p:not(.lb-eyebrow) { color: rgba(255,255,255,.7); }
.lb-final-cta .lb-button { margin-top: 24px; }
/* Desktop ≥1100px: allow the dark background to bleed past page-shell max-width */
@media (min-width: 1101px) {
  .lb-final-cta { margin: 0 calc(var(--lb-gutter) * -1); }
}

.lb-project-form { max-width: 980px; margin: 48px auto 0; padding: clamp(24px, 5vw, 64px); background: var(--lb-white); border: 1px solid var(--lb-border); }
.lb-form-intro { margin: 0 0 32px; padding-bottom: 24px; border-bottom: 1px solid var(--lb-border); color: var(--lb-graphite-600); font-size: 17px; line-height: 1.55; }
.lb-form-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 24px; }
.lb-form-disclosure { margin-top: 16px; padding: 16px 20px; border: 1px solid var(--lb-border); border-radius: 4px; background: var(--lb-stone-50); }
.lb-form-disclosure > summary { cursor: pointer; font-weight: 600; font-size: 15px; color: var(--lb-ink-950); list-style: none; display: flex; align-items: center; gap: 8px; }
.lb-form-disclosure > summary::-webkit-details-marker { display: none; }
.lb-form-disclosure > summary::before { content: "+"; display: inline-flex; align-items: center; justify-content: center; width: 18px; height: 18px; border: 1px solid var(--lb-brass-600); border-radius: 50%; color: var(--lb-brass-600); font-size: 12px; line-height: 1; }
.lb-form-disclosure[open] > summary::before { content: "−"; }
.lb-form-disclosure > summary:focus-visible { outline: 3px solid var(--lb-brass-500); outline-offset: 3px; border-radius: 2px; }
.lb-form-disclosure .lb-form-grid { margin-top: 20px; }
.lb-form-uploads { display: grid; grid-template-columns: repeat(2, 1fr); gap: 24px; margin-top: 24px; }
.lb-project-form label { display: block; font-weight: 600; }
.lb-project-form label > span { display: block; margin-bottom: 8px; font-size: 14px; }
.lb-project-form input:not([type="checkbox"]), .lb-project-form select, .lb-project-form textarea { width: 100%; min-height: 52px; padding: 12px 14px; border: 1px solid rgba(16,23,29,.3); border-radius: 4px; background: var(--lb-white); color: var(--lb-ink-950); font: inherit; }
.lb-project-form input[type="file"] { padding-top: 13px; }
.lb-project-form small { display: block; margin-top: 7px; color: var(--lb-graphite-600); font-weight: 400; line-height: 1.45; }
.lb-form-wide { margin-top: 24px; }
.lb-consent { display: grid !important; grid-template-columns: 20px 1fr; gap: 12px; align-items: start; margin-top: 24px; }
.lb-consent input { width: 18px; height: 18px; margin-top: 2px; }
.lb-form-safety { color: var(--lb-graphite-600); font-size: 13px; }
.lb-form-notice { max-width: 980px; margin: 32px auto 0; padding: 18px 22px; border-left: 3px solid var(--lb-brass-600); background: var(--lb-white); }
.lb-honeypot { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.lb-trade-note { max-width: 780px; margin-top: 32px; color: var(--lb-graphite-600); font-size: 14px; }

.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce form .form-row select { min-height: 50px; padding: 12px 14px; border: 1px solid rgba(16,23,29,.3); border-radius: 4px; background: var(--lb-white); }
.woocommerce table.shop_table { border: 1px solid var(--lb-border); border-radius: 0; }
.woocommerce-info, .woocommerce-message { border-top-color: var(--lb-brass-600); background: var(--lb-white); }
.woocommerce-info::before, .woocommerce-message::before { color: var(--lb-brass-600); }

.lb-site-footer { padding: clamp(56px, 8vw, 96px) var(--lb-gutter) 32px; background: var(--lb-ink-950); color: var(--lb-white); }
.lb-footer-inner { width: min(100%, var(--lb-wide)); margin: 0 auto; }
.lb-footer-identity { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; padding-bottom: 56px; }
.lb-footer-identity strong { font-size: 22px; letter-spacing: .09em; }
.lb-footer-identity > div:last-child { text-align: right; }
.lb-footer-identity p { color: rgba(255,255,255,.62); }
.lb-footer-links { padding-top: 28px; border-top: 1px solid rgba(255,255,255,.16); font-size: 13px; color: rgba(255,255,255,.72); }
.lb-footer-links a { color: inherit; }

@media (max-width: 1100px) {
  .lb-site-nav { display: none; }
  .lb-home-hero__inner, .lb-product-hero { grid-template-columns: minmax(0, 1fr); }
  .lb-architectural-visual { min-height: 480px; }
  .lb-value-grid, .lb-trade-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .lb-industry-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .lb-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .lb-facts > div:nth-child(2) { border-right: 0; }
  .lb-facts > div:nth-child(-n+2) { border-bottom: 1px solid var(--lb-border); }
  .lb-brand-lockup__img { height: 40px; max-height: 40px; }
  .lb-section { grid-template-columns: minmax(0, 1fr); }
  .lb-section-title { flex-wrap: wrap; }
}

@media (max-width: 767px) {
  .lb-site-header, .lb-site-header__inner { min-height: 68px; }
  .lb-site-header__inner { gap: 16px; padding-inline: 0; }
  .lb-header-cta { display: none !important; }
  .lb-home-hero { min-height: auto; padding-top: 64px; padding-bottom: 48px; }
  .lb-home-hero__inner { display: block; }
  .lb-architectural-visual { min-height: 320px; margin-top: 48px; }
  .lb-credibility__inner { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); row-gap: 14px; column-gap: 16px; }
  .lb-credibility__inner span:first-child { grid-column: 1 / -1; }
  .lb-section, .lb-story { grid-template-columns: minmax(0, 1fr); }
  .lb-product-hero { min-height: auto; padding-block: 48px; padding-inline: var(--lb-gutter); gap: clamp(24px, 8vw, 48px); }
  .lb-product-hero__visual, .lb-product-detail .lb-product-hero__visual { min-width: 0; max-width: 100%; aspect-ratio: 4 / 3; }
  .lb-product-hero__visual > * { min-width: 0; max-width: 100%; }
  .lb-story__visual { min-height: 360px; }
  .lb-story__copy { padding: 48px 24px; }
  .lb-card-grid, .lb-industry-grid, .lb-form-grid, .lb-footer-identity { grid-template-columns: minmax(0, 1fr); }
  .lb-section-title { display: block; }
  .lb-value-grid, .lb-trade-grid { grid-template-columns: minmax(0, 1fr); }
  .lb-industry-grid article, .lb-value-grid article, .lb-trade-grid article { min-height: auto; }
  .lb-value-grid h3, .lb-trade-grid h3, .lb-industry-grid h3 { margin-top: 32px; }
  .lb-facts { grid-template-columns: minmax(0, 1fr); }
  .lb-facts > div { border-right: 0; border-bottom: 1px solid var(--lb-border); }
  .lb-facts > div:last-child { border-bottom: 0; }
  .lb-footer-identity > div:last-child { text-align: left; }
  /* Project intake form: stack the upload fields + disclosure summary tighter on mobile */
  .lb-form-uploads { grid-template-columns: minmax(0, 1fr); gap: 16px; }
  .lb-form-disclosure { padding: 12px 16px; }
  .lb-form-disclosure > summary { font-size: 14px; }
  /* Narrow mobile: the full Primary Logo still fits cleanly inside a 767px viewport (cap = 44px tall, 360px width at 2x for retina ~ 180 CSS px). Header height 68px accommodates max-height 36px logo with ~16px clear-space top/bottom. */
  .lb-brand-lockup__img--primary, .lb-brand-lockup__img--reversed { height: 36px; max-height: 36px; }
  .lb-product-hero__visual { aspect-ratio: 4 / 3; min-height: 240px; }
  .lb-architectural-visual--asset .lb-home-hero__image { min-height: 240px; }
  /* Hero / product CTA stack on mobile */
  .lb-home-hero .lb-actions,
  .lb-product-hero .lb-actions { flex-direction: column; align-items: stretch; gap: 14px; }
  .lb-home-hero .lb-actions .lb-button,
  .lb-product-hero .lb-actions .lb-button { width: 100%; }
  .lb-section-title { margin-bottom: clamp(24px, 5vw, 48px); }
  .lb-page-shell { padding-block: clamp(40px, 9vw, 80px); }
  .lb-final-cta h2 { font-size: clamp(26px, 5vw, 60px); }
  .lb-process li { grid-template-columns: 40px minmax(0, 1fr); gap: 12px; min-height: 64px; padding-inline: 16px; }
  .lb-editorial-hero { padding-block: clamp(56px, 10vw, 120px); min-height: auto; }
}

@media (max-width: 430px) {
  /* Narrowest mobile: shrink hero + product h1 a touch more so they fit comfortably */
  .lb-home-hero h1 { font-size: clamp(28px, 8vw, 56px); }
  .lb-editorial-hero h1, .lb-product-hero h1 { font-size: clamp(28px, 8vw, 56px); }
  .lb-card h3 { font-size: 19px; }
  .lb-lead { font-size: 17px; }
  /* Header at very narrow widths: keep logo compact, ensure gap is OK */
  .lb-site-header { padding-inline: 16px; }
  .lb-site-header__inner { gap: 12px; }
  .lb-brand-lockup__img--primary, .lb-brand-lockup__img--reversed { height: 30px; max-height: 30px; }
  .lb-credibility__inner { grid-template-columns: minmax(0, 1fr); row-gap: 8px; }
  .lb-credibility__inner span:first-child { grid-column: auto; font-size: 10px; }
  .lb-credibility__inner span:not(:first-child) { font-size: 10px; }
  .lb-home-hero { padding-top: 40px; padding-bottom: 32px; }
  .lb-home-hero .lb-lead { font-size: 16px; }
  .lb-credibility__inner { row-gap: 10px; column-gap: 12px; }
  .lb-architectural-visual--asset .lb-home-hero__image { min-height: 220px; }
  .lb-product-hero__visual { min-height: 220px; }
  .lb-facts { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .lb-facts > div { padding: 20px 14px; }
  .lb-facts strong { font-size: 14px; }
  .lb-product-hero .lb-actions { gap: 12px; }
  .lb-actions { margin-top: 24px; }
  .lb-card__body { padding: 20px 0 0; }
  .lb-card h3 { margin: 0 0 6px; line-height: 1.15; }
  .lb-site-footer { padding-inline: 16px; }
  .lb-footer-identity { padding-bottom: 32px; gap: 24px; }
  .lb-footer-identity strong { font-size: 18px; }
}

@media (max-width: 360px) {
  /* 320-360px: trim padding further */
  .lb-home-hero { padding-top: 32px; }
  .lb-home-hero h1 { font-size: 28px; }
  .lb-editorial-hero h1, .lb-product-hero h1 { font-size: 28px; line-height: 1.06; }
  .lb-card h3 { font-size: 18px; }
  .lb-site-header__inner { gap: 10px; }
  .lb-brand-lockup__img--primary, .lb-brand-lockup__img--reversed { height: 28px; max-height: 28px; }
}

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