:root {
  --ink: #151719;
  --ink-soft: #202326;
  --paper: #f3f1eb;
  --paper-muted: #dfddd6;
  --orange: #ff5a1f;
  --orange-light: #ff7a45;
  --white: #ffffff;
}

* { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: Arial, Helvetica, sans-serif;
  -webkit-font-smoothing: antialiased;
}

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

.announcement {
  min-height: 34px;
  padding: 8px 5vw;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  background: var(--orange);
  color: var(--ink);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .15em;
  text-transform: uppercase;
}

.announcement-separator { width: 3px; height: 3px; border-radius: 50%; background: currentColor; }

.site-header {
  height: 82px;
  padding: 0 4.5vw;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  color: var(--white);
  background: var(--ink);
  border-bottom: 1px solid rgba(255,255,255,.12);
}

.wordmark {
  width: max-content;
  position: relative;
  color: var(--white);
  font-size: 24px;
  font-weight: 850;
  letter-spacing: -.055em;
}

.wordmark span { color: var(--orange); }
.wordmark i {
  width: 6px;
  height: 6px;
  position: absolute;
  right: -10px;
  top: 1px;
  background: var(--orange);
  border-radius: 50%;
}

.site-header nav { display: flex; align-items: center; gap: clamp(20px, 3vw, 46px); }
.primary-menu { margin: 0; padding: 0; display: flex; align-items: center; gap: clamp(20px, 3vw, 46px); list-style: none; }
.site-header nav a {
  position: relative;
  color: rgba(255,255,255,.78);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .04em;
}
.site-header nav a::after {
  content: "";
  height: 2px;
  position: absolute;
  left: 0;
  right: 100%;
  bottom: -10px;
  background: var(--orange);
  transition: right .2s ease;
}
.site-header nav a:hover { color: var(--white); }
.site-header nav a:hover::after { right: 0; }

.mobile-nav { display: none; position: relative; justify-self: end; }
.mobile-nav summary { cursor: pointer; list-style: none; color: var(--white); font-size: 10px; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.mobile-nav summary::-webkit-details-marker { display: none; }
.mobile-nav[open] > div { min-width: 210px; padding: 18px; position: absolute; z-index: 20; right: 0; top: 32px; display: grid; gap: 2px; color: var(--white); background: var(--ink-soft); border: 1px solid rgba(255,255,255,.12); box-shadow: 0 20px 30px rgba(0,0,0,.3); }
.mobile-nav a { padding: 12px; font-size: 11px; font-weight: 750; }
.mobile-nav a:hover { color: var(--orange); background: rgba(255,255,255,.05); }

.header-actions { display: flex; justify-content: flex-end; align-items: center; gap: 22px; }
.header-actions button { border: 0; background: transparent; cursor: pointer; }
.language { color: rgba(255,255,255,.7); font-size: 11px; font-weight: 800; }
.language-switcher { display: flex; gap: 7px; color: rgba(255,255,255,.46); font-size: 9px; font-weight: 850; }
.language-switcher a { padding: 4px; }
.language-switcher .current-language,.language-switcher a:hover { color: var(--orange); }
.language-switcher li { display: inline; list-style: none; }
.cart { display: flex; align-items: center; gap: 8px; color: white; font-size: 12px; font-weight: 800; }
.cart span { min-width: 21px; height: 21px; display: grid; place-items: center; color: var(--ink); background: var(--orange); border-radius: 50%; font-size: 10px; }

.hero {
  min-height: calc(100vh - 116px);
  display: grid;
  grid-template-columns: 52% 48%;
  color: var(--white);
  background: var(--ink);
  overflow: hidden;
}

.hero-copy {
  padding: clamp(64px, 8vh, 110px) 5vw 54px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.eyebrow { margin: 0 0 28px; display: flex; align-items: center; gap: 10px; color: var(--orange-light); font-size: 10px; font-weight: 850; letter-spacing: .19em; text-transform: uppercase; }
.eyebrow span { width: 28px; height: 2px; background: var(--orange); }

h1 { margin: 0; max-width: 780px; font-size: clamp(47px, 5.65vw, 92px); font-weight: 800; letter-spacing: -.068em; line-height: .96; }
h1 em { color: var(--orange); font-style: normal; }

.hero-intro { max-width: 590px; margin: 30px 0 0; color: rgba(255,255,255,.63); font-size: clamp(15px, 1.25vw, 18px); line-height: 1.65; }
.hero-buttons { margin-top: 38px; display: flex; align-items: center; gap: 13px; flex-wrap: wrap; }
.button { min-height: 54px; padding: 0 24px; display: inline-flex; align-items: center; justify-content: center; gap: 24px; border: 1px solid rgba(255,255,255,.22); font-size: 11px; font-weight: 850; letter-spacing: .06em; transition: transform .2s ease, background .2s ease; }
.button:hover { transform: translateY(-2px); }
.button-primary { color: var(--ink); background: var(--orange); border-color: var(--orange); }
.button-secondary { color: var(--white); }
.button-secondary:hover { background: rgba(255,255,255,.08); }

.trust-list { margin: auto 0 0; padding: 42px 0 0; display: flex; gap: 26px; flex-wrap: wrap; list-style: none; color: rgba(255,255,255,.52); font-size: 10px; font-weight: 700; letter-spacing: .04em; }
.trust-list span { margin-right: 5px; color: var(--orange); }

.hero-product { min-height: 640px; position: relative; margin: 34px 34px 34px 0; overflow: hidden; color: var(--ink); background: #dedbd3; }
.topography { position: absolute; inset: -20%; opacity: .22; background: repeating-radial-gradient(ellipse at 67% 45%, transparent 0 26px, #777 27px 28px, transparent 29px 46px); transform: rotate(-9deg) scale(1.2); }
.product-label { position: absolute; z-index: 2; top: 38px; left: 38px; display: flex; flex-direction: column; gap: 7px; }
.product-label span { color: #65625c; font-size: 9px; font-weight: 850; letter-spacing: .15em; text-transform: uppercase; }
.product-label strong { font-size: 25px; letter-spacing: -.045em; }

.product-visual { position: absolute; inset: 100px 12% 115px; filter: drop-shadow(0 28px 18px rgba(20,20,20,.22)); }
.rail { width: 32px; height: 105%; position: absolute; top: -4%; background: linear-gradient(90deg,#1d2022 0,#565b5d 27%,#17191a 52%,#686d6e 80%,#111 100%); border: 1px solid rgba(255,255,255,.18); border-radius: 18px; transform: rotate(-8deg); }
.rail-one { left: 50%; }
.rail-two { left: 71%; opacity: .8; }
.clamp { width: 120px; height: 112px; position: absolute; left: calc(50% - 46px); top: 33%; border: 25px solid var(--orange); border-left-width: 19px; border-radius: 38px 38px 18px 38px; transform: rotate(-8deg); background: transparent; }
.clamp::before { content: ""; width: 48px; height: 46px; position: absolute; left: 64px; top: 34px; background: var(--orange); border-radius: 0 13px 13px 0; }
.clamp-joint { width: 14px; height: 14px; position: absolute; right: -18px; top: 11px; background: #202326; border: 3px solid #72777a; border-radius: 50%; }
.clamp-arm { width: 25px; height: 155px; position: absolute; left: 76px; top: 57px; background: linear-gradient(90deg,var(--orange),#dc3e08); border-radius: 9px; transform: rotate(19deg); transform-origin: top; }
.clamp-hook { width: 86px; height: 64px; position: absolute; left: 68px; top: 162px; border: 24px solid var(--orange); border-top: 0; border-right: 0; border-radius: 0 0 0 44px; transform: rotate(19deg); }

.product-note { position: absolute; z-index: 2; right: 28px; top: 36%; width: 150px; display: grid; gap: 20px; }
.product-note > div { display: grid; grid-template-columns: 27px 1fr; gap: 10px; }
.product-note span { color: var(--orange); font: 700 9px/1 var(--font-geist-mono), monospace; }
.product-note p { margin: 0; font-size: 10px; font-weight: 750; line-height: 1.45; }
.product-footer { height: 76px; padding: 0 28px; position: absolute; left: 0; right: 0; bottom: 0; display: flex; justify-content: space-between; align-items: center; color: var(--white); background: var(--ink-soft); }
.product-footer p { margin: 0; color: rgba(255,255,255,.56); font-size: 9px; font-weight: 750; letter-spacing: .12em; text-transform: uppercase; }
.product-footer strong { font-size: 14px; }

.collection-strip { display: grid; grid-template-columns: repeat(3, 1fr); background: var(--paper); }
.collection-strip a { min-height: 136px; padding: 27px 4vw; display: grid; grid-template-columns: auto 1fr auto; grid-template-rows: auto auto; column-gap: 18px; align-content: center; border-right: 1px solid #c9c6be; transition: color .2s ease, background .2s ease; }
.collection-strip a:last-child { border-right: 0; }
.collection-strip a:hover { color: var(--white); background: var(--orange); }
.collection-strip span { grid-row: 1 / span 2; align-self: start; color: var(--orange); font: 700 9px/1 var(--font-geist-mono), monospace; }
.collection-strip a:hover span { color: var(--ink); }
.collection-strip strong { font-size: 21px; letter-spacing: -.035em; }
.collection-strip small { color: #73716c; font-size: 10px; font-weight: 650; }
.collection-strip a:hover small { color: rgba(255,255,255,.72); }
.collection-strip a > b { grid-column: 3; grid-row: 1 / span 2; align-self: center; color: currentColor; font-size: 18px; font-weight: 500; }

.products-section { padding: 120px 4.5vw 130px; background: var(--paper); }
.section-heading { margin-bottom: 62px; display: grid; grid-template-columns: 1.4fr .6fr; gap: 6vw; align-items: end; }
.section-index { margin: 0 0 20px; color: var(--orange); font: 750 9px/1.2 var(--font-geist-mono), monospace; letter-spacing: .13em; text-transform: uppercase; }
h2 { margin: 0; font-size: clamp(42px, 5.2vw, 76px); font-weight: 820; letter-spacing: -.065em; line-height: .96; }
.section-heading > p { max-width: 440px; margin: 0 0 4px; color: #6b6963; font-size: 14px; line-height: 1.75; }

.product-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.shop-card { min-width: 0; background: #e5e2db; }
.shop-card-visual { height: 410px; position: relative; overflow: hidden; background: #d9d6cf; }
.shop-card-visual > p { position: absolute; left: 24px; bottom: 18px; margin: 0; color: rgba(21,23,25,.52); font: 750 8px/1 var(--font-geist-mono), monospace; letter-spacing: .15em; }
.status { position: absolute; z-index: 3; top: 18px; left: 18px; padding: 8px 10px; color: var(--ink); background: rgba(243,241,235,.85); backdrop-filter: blur(10px); font-size: 8px; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.status-orange { color: var(--ink); background: var(--orange); }
.status-light { background: var(--white); }
.shop-card-info { min-height: 240px; padding: 26px 26px 24px; display: flex; flex-direction: column; background: var(--white); }
.shop-card-info > div:first-child > p { margin: 0 0 3px; color: var(--orange); font-size: 9px; font-weight: 850; letter-spacing: .13em; text-transform: uppercase; }
.shop-card-info h3 { margin: 0; font-size: 28px; letter-spacing: -.045em; }
.card-description { max-width: 340px; margin: 19px 0 30px; color: #74716c; font-size: 12px; line-height: 1.6; }
.price-line { margin-top: auto; padding-top: 18px; display: flex; justify-content: space-between; align-items: center; border-top: 1px solid #ddd9d1; }
.price-line strong { font-size: 15px; }
.price-line a { display: inline-flex; align-items: center; gap: 10px; color: #54514c; font-size: 9px; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
.price-line a:hover { color: var(--orange); }

.raildock-card { background: radial-gradient(circle at 48% 35%,#e8e5de 0,#ccc8c0 64%,#b8b4ac 100%); }
.mini-rail { width: 38px; height: 440px; position: absolute; left: 50%; top: 3%; background: linear-gradient(90deg,#181a1b,#777c7e 35%,#1a1c1d 58%,#666b6c); border-radius: 19px; transform: rotate(28deg); box-shadow: 24px 28px 34px rgba(20,20,20,.22); }
.mini-rail i { width: 94px; height: 88px; position: absolute; left: -31px; top: 112px; border: 24px solid var(--orange); border-radius: 34px 34px 15px 34px; }
.mini-rail b { width: 28px; height: 138px; position: absolute; left: 50px; top: 178px; background: var(--orange); border-radius: 12px; transform: rotate(-23deg); }
.mini-rail b::after { content: ""; width: 72px; height: 52px; position: absolute; left: -43px; bottom: -35px; border: 22px solid var(--orange); border-top: 0; border-right: 0; border-radius: 0 0 0 36px; }

.casedock-card { background: var(--ink-soft); }
.casedock-card::before { content: ""; position: absolute; inset: -35%; background: repeating-radial-gradient(ellipse at 50% 50%,transparent 0 22px,rgba(255,255,255,.06) 23px 24px,transparent 25px 42px); transform: rotate(22deg); }
.casedock-card > p { color: rgba(255,255,255,.4); }
.case-grid-visual { width: 73%; height: 66%; position: absolute; left: 14%; top: 20%; display: grid; grid-template-columns: 1.1fr .9fr; grid-template-rows: 1fr .75fr; gap: 8px; transform: perspective(800px) rotateY(-13deg) rotateX(5deg); }
.case-grid-visual i { display: block; border: 8px solid var(--orange); background: rgba(255,90,31,.08); box-shadow: inset 0 0 0 1px rgba(255,255,255,.12), 14px 18px 20px rgba(0,0,0,.25); }
.case-grid-visual i:nth-child(2) { border-color: #555a5d; }
.case-grid-visual i:nth-child(3) { border-color: #555a5d; }

.custom-card-visual { background: var(--orange); }
.custom-lines { position: absolute; inset: 18% 15%; transform: rotate(-8deg); }
.custom-lines i { height: 2px; position: absolute; left: 0; right: 0; background: rgba(21,23,25,.72); }
.custom-lines i:nth-child(1) { top: 6%; transform: rotate(20deg); }
.custom-lines i:nth-child(2) { top: 29%; transform: rotate(-13deg); }
.custom-lines i:nth-child(3) { top: 52%; transform: rotate(15deg); }
.custom-lines i:nth-child(4) { top: 73%; transform: rotate(-24deg); }
.custom-lines i:nth-child(5) { width: 45%; height: 45%; left: 28%; top: 25%; border: 2px solid rgba(21,23,25,.72); background: transparent; border-radius: 50%; }

.feature-section { display: grid; grid-template-columns: 53% 47%; background: var(--ink); color: var(--white); }
.feature-image { min-height: 760px; position: relative; overflow: hidden; background: #dcd9d1; }
.feature-image::after { content: ""; position: absolute; inset: 0; background: linear-gradient(135deg,transparent 60%,rgba(255,90,31,.19)); pointer-events: none; }
.feature-image img { width: 100%; height: 100%; position: absolute; inset: 0; object-fit: cover; mix-blend-mode: multiply; }
.feature-image > span { position: absolute; z-index: 2; left: 28px; bottom: 26px; padding: 9px 12px; color: var(--white); background: var(--ink); font: 700 8px/1 var(--font-geist-mono), monospace; letter-spacing: .12em; text-transform: uppercase; }
.feature-copy { padding: 110px 7vw; display: flex; flex-direction: column; justify-content: center; }
.feature-copy > p:not(.section-index,.feature-warning) { max-width: 500px; margin: 30px 0 10px; color: rgba(255,255,255,.6); font-size: 14px; line-height: 1.8; }
.feature-copy dl { margin: 32px 0 0; }
.feature-copy dl > div { padding: 21px 0; display: grid; grid-template-columns: 40px 1fr; border-top: 1px solid rgba(255,255,255,.14); }
.feature-copy dt { color: var(--orange); font: 700 9px/1.4 var(--font-geist-mono), monospace; }
.feature-copy dd { margin: 0; display: flex; justify-content: space-between; gap: 30px; }
.feature-copy dd strong { font-size: 14px; }
.feature-copy dd span { max-width: 220px; color: rgba(255,255,255,.48); font-size: 11px; }
.feature-warning { margin: 30px 0 0; color: rgba(255,255,255,.36); font-size: 8px; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; }

.custom-section { padding: 130px 6vw; display: grid; grid-template-columns: .85fr 1.15fr; gap: 8vw; color: var(--white); background: var(--orange); }
.section-index-light { color: var(--ink); }
.custom-intro > p:not(.section-index) { max-width: 470px; margin: 30px 0; color: rgba(21,23,25,.72); font-size: 14px; line-height: 1.75; }
.custom-intro ol { margin: 40px 0 0; padding: 0; list-style: none; }
.custom-intro li { padding: 14px 0; display: flex; gap: 16px; align-items: center; border-top: 1px solid rgba(21,23,25,.24); color: var(--ink); font-size: 11px; font-weight: 750; }
.custom-intro li span { width: 23px; height: 23px; display: grid; place-items: center; color: var(--orange); background: var(--ink); border-radius: 50%; font: 700 8px/1 var(--font-geist-mono), monospace; }

.quote-form { padding: 42px; color: var(--ink); background: var(--paper); box-shadow: 18px 18px 0 rgba(21,23,25,.16); }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; }
.quote-form label { margin-bottom: 22px; display: grid; gap: 9px; color: #54514c; font-size: 9px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.quote-form input,.quote-form textarea,.quote-form select { width: 100%; border: 0; border-bottom: 1px solid #bdb9b0; border-radius: 0; padding: 10px 0 12px; color: var(--ink); background: transparent; outline: none; font: 500 13px/1.5 Arial,sans-serif; text-transform: none; }
.quote-form textarea { resize: vertical; }
.quote-form input:focus,.quote-form textarea:focus,.quote-form select:focus { border-color: var(--orange); }
.file-field { min-height: 90px; padding: 18px 20px; grid-template-columns: 1fr auto; align-items: center; border: 1px dashed #aaa69e; cursor: pointer; }
.file-field input { width: 1px; height: 1px; position: absolute; opacity: 0; }
.file-field span { display: grid; gap: 5px; }
.file-field strong { color: var(--ink); font-size: 11px; }
.file-field small { color: #85817b; font-size: 9px; font-weight: 550; letter-spacing: 0; text-transform: none; }
.file-field b { font-size: 24px; font-weight: 300; }
.form-submit { display: flex; justify-content: space-between; align-items: center; gap: 20px; }
.form-submit small { color: #88847d; font-size: 9px; }
.form-submit button { min-height: 52px; padding: 0 20px; display: inline-flex; gap: 20px; align-items: center; border: 0; color: var(--white); background: var(--ink); font-size: 9px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; cursor: pointer; }

.service-strip { display: grid; grid-template-columns: repeat(4,1fr); background: var(--paper); }
.service-strip > div { min-height: 160px; padding: 34px 3vw; display: grid; grid-template-columns: 28px 1fr; align-content: center; border-right: 1px solid #cbc7be; }
.service-strip > div:last-child { border-right: 0; }
.service-strip span { grid-row: 1 / span 2; color: var(--orange); font: 700 8px/1.5 var(--font-geist-mono), monospace; }
.service-strip strong { font-size: 13px; }
.service-strip p { margin: 6px 0 0; color: #817d76; font-size: 10px; line-height: 1.5; }

.newsletter { padding: 100px 6vw; display: grid; grid-template-columns: 1.15fr .85fr; gap: 10vw; align-items: end; background: #dedbd3; }
.newsletter h2 { font-size: clamp(38px,4.5vw,66px); }
.newsletter-form > p { max-width: 450px; margin: 0 0 30px; color: #6e6b65; font-size: 13px; line-height: 1.7; }
.newsletter-form label { display: grid; grid-template-columns: 1fr auto; border-bottom: 2px solid var(--ink); }
.newsletter-form input { min-width: 0; padding: 17px 0; border: 0; outline: 0; background: transparent; font-size: 14px; }
.newsletter-form button { padding: 0 4px 0 22px; display: flex; align-items: center; gap: 18px; border: 0; background: transparent; font-size: 9px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; cursor: pointer; }
.newsletter-form > small { display: block; margin-top: 13px; color: #8b877f; font-size: 8px; }
.sr-only { width: 1px; height: 1px; position: absolute; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; }

footer { padding: 75px 5vw 28px; color: var(--white); background: #101214; }
.footer-main { display: grid; grid-template-columns: 2fr repeat(3,1fr); gap: 5vw; }
.footer-main > div { display: flex; flex-direction: column; align-items: flex-start; gap: 11px; }
.footer-wordmark { margin-bottom: 14px; }
.footer-main p { margin: 0; color: rgba(255,255,255,.42); font-size: 11px; line-height: 1.65; }
.footer-main strong { margin-bottom: 8px; color: rgba(255,255,255,.36); font-size: 8px; letter-spacing: .13em; text-transform: uppercase; }
.footer-main > div:not(:first-child) a { color: rgba(255,255,255,.72); font-size: 10px; }
.footer-main > div:not(:first-child) a:hover { color: var(--orange); }
.footer-bottom { margin-top: 66px; padding-top: 22px; display: flex; justify-content: space-between; gap: 20px; border-top: 1px solid rgba(255,255,255,.12); color: rgba(255,255,255,.35); font-size: 8px; letter-spacing: .04em; }

@media (max-width: 1040px) {
  .site-header { grid-template-columns: 1fr auto auto; gap: 24px; }
  .site-header nav { display: none; }
  .mobile-nav { display: block; }
  .hero { grid-template-columns: 1fr; }
  .hero-copy { min-height: 690px; }
  .hero-product { min-height: 630px; margin: 0 4vw 4vw; }
  .product-grid { grid-template-columns: 1fr 1fr; }
  .custom-card { grid-column: 1 / -1; }
  .feature-section { grid-template-columns: 1fr; }
  .feature-image { min-height: 640px; }
  .custom-section { grid-template-columns: 1fr; }
  .service-strip { grid-template-columns: 1fr 1fr; }
  .service-strip > div:nth-child(2) { border-right: 0; }
  .service-strip > div { border-bottom: 1px solid #cbc7be; }
  .newsletter { grid-template-columns: 1fr; }
  .footer-main { grid-template-columns: 2fr 1fr 1fr; }
  .footer-main > div:last-child { grid-column: 2; }
}

@media (max-width: 680px) {
  .announcement { gap: 8px; font-size: 8px; letter-spacing: .1em; }
  .announcement span:last-child { display: none; }
  .announcement-separator { display: none; }
  .site-header { height: 66px; padding: 0 20px; }
  .wordmark { font-size: 21px; }
  .site-header { gap: 16px; }
  .mobile-nav summary { font-size: 9px; }
  .language { display: none; }
  .hero-copy { min-height: auto; padding: 64px 20px 52px; }
  h1 { font-size: clamp(44px, 13vw, 62px); }
  .hero-intro { margin-top: 24px; }
  .hero-buttons { align-items: stretch; flex-direction: column; }
  .button { width: 100%; }
  .trust-list { margin-top: 34px; gap: 12px 20px; }
  .hero-product { min-height: 550px; margin: 0; }
  .product-label { top: 28px; left: 22px; }
  .product-visual { inset: 84px 5% 115px; transform: translateX(-12px) scale(.84); }
  .product-note { right: 15px; top: 38%; width: 125px; }
  .product-footer { padding: 0 20px; }
  .collection-strip { grid-template-columns: 1fr; }
  .collection-strip a { min-height: 110px; border-right: 0; border-bottom: 1px solid #c9c6be; }
  .products-section { padding: 80px 20px; }
  .section-heading { grid-template-columns: 1fr; gap: 24px; }
  .product-grid { grid-template-columns: 1fr; }
  .custom-card { grid-column: auto; }
  .shop-card-visual { height: 370px; }
  .feature-image { min-height: 500px; }
  .feature-copy { padding: 80px 20px; }
  .feature-copy dd { flex-direction: column; gap: 6px; }
  .custom-section { padding: 80px 20px; }
  .quote-form { padding: 28px 20px; box-shadow: 9px 9px 0 rgba(21,23,25,.16); }
  .form-row { grid-template-columns: 1fr; gap: 0; }
  .form-submit { align-items: stretch; flex-direction: column; }
  .form-submit button { justify-content: center; }
  .service-strip { grid-template-columns: 1fr; }
  .service-strip > div { min-height: 125px; border-right: 0; }
  .newsletter { padding: 80px 20px; gap: 50px; }
  .newsletter-form label { grid-template-columns: 1fr; }
  .newsletter-form button { padding: 14px 0; }
  footer { padding: 65px 20px 24px; }
  .footer-main { grid-template-columns: 1fr 1fr; gap: 38px 20px; }
  .footer-main > div:first-child { grid-column: 1 / -1; }
  .footer-main > div:last-child { grid-column: auto; }
  .footer-bottom { align-items: flex-start; flex-direction: column; }
}

/* WordPress and WooCommerce integration */
.skip-link { position: fixed; z-index: 10000; left: 18px; top: -80px; padding: 12px 16px; color: var(--white); background: var(--ink); }
.skip-link:focus { top: 18px; }
.button-dark { color: var(--white); background: var(--ink); border-color: var(--ink); }
.shop-card-image { width: 100%; height: 100%; position: relative; z-index: 1; display: block; object-fit: cover; }
.quote-form-shell { align-self: center; }
.quote-form-fallback { min-height: 300px; display: flex; flex-direction: column; justify-content: center; align-items: flex-start; gap: 24px; }
.quote-form-fallback p { margin: 0; color: #65625c; font-size: 13px; line-height: 1.7; }
.lr-honeypot { width: 1px !important; height: 1px !important; position: absolute !important; left: -10000px !important; overflow: hidden !important; }
.quote-form .consent-field { margin: 13px 0; display: grid; grid-template-columns: 18px 1fr; gap: 10px; align-items: start; color: #6e6b65; font-size: 9px; font-weight: 600; letter-spacing: 0; line-height: 1.45; text-transform: none; }
.quote-form .consent-field input { width: 15px; height: 15px; margin: 0; padding: 0; accent-color: var(--orange); }
.quote-message { margin-bottom: 18px; padding: 18px 20px; border-left: 4px solid var(--orange); background: var(--white); }
.quote-message p { margin: 5px 0 0; color: #68645e; font-size: 11px; }
.quote-error { border-color: #a52d22; }

.content-shell,.commerce-shell { min-height: 65vh; padding: 100px 5vw 120px; background: var(--paper); }
.page-heading { max-width: 1180px; margin: 0 auto 60px; }
.page-heading h1,.quote-page-hero h1 { margin: 0; font-size: clamp(48px,7vw,100px); font-weight: 820; letter-spacing: -.07em; line-height: .94; }
.page-heading h1 em,.quote-page-hero h1 em { color: var(--orange); font-style: normal; }
.entry-content { max-width: 850px; margin: 0 auto; color: #54514c; font-size: 15px; line-height: 1.8; }
.entry-content h2,.entry-content h3 { margin: 2em 0 .7em; color: var(--ink); letter-spacing: -.04em; }
.entry-content a { color: var(--orange); text-decoration: underline; text-underline-offset: 3px; }
.content-grid { max-width: 1180px; margin: 0 auto; display: grid; grid-template-columns: repeat(3,1fr); gap: 24px; }
.journal-card { padding: 24px; background: var(--white); }
.journal-card img { width: 100%; height: 240px; margin-bottom: 22px; object-fit: cover; }
.journal-card h2 { font-size: 28px; }
.journal-card > p { color: #6e6b65; font-size: 12px; line-height: 1.7; }
.not-found { min-height: 70vh; padding: 120px 6vw; display: flex; align-items: flex-start; justify-content: center; flex-direction: column; color: var(--white); background: var(--ink); }
.not-found h1 { max-width: 900px; margin: 0; font-size: clamp(52px,8vw,112px); letter-spacing: -.07em; line-height: .92; }
.not-found > p:not(.section-index) { margin: 30px 0; color: rgba(255,255,255,.55); }

.quote-page-hero { padding: 110px 6vw 120px; color: var(--white); background: var(--ink); }
.quote-page-hero > p:last-child { max-width: 630px; margin: 34px 0 0; color: rgba(255,255,255,.58); font-size: 15px; line-height: 1.75; }
.quote-page-content { padding: 100px 6vw 120px; display: grid; grid-template-columns: .68fr 1.32fr; gap: 7vw; background: var(--paper); }
.quote-page-content aside { align-self: start; padding: 32px; border: 1px solid #c8c4bb; }
.quote-page-content aside h2 { font-size: 30px; }
.quote-page-content aside ul { margin: 30px 0; padding-left: 18px; color: #615e58; font-size: 12px; line-height: 1.75; }
.quote-note { margin: 0; padding-top: 22px; border-top: 1px solid #d1cdc4; color: #8b4b34; font-size: 10px; line-height: 1.6; }
.quote-page-content .quote-form { box-shadow: none; border: 1px solid #d1cdc4; }

.woocommerce-products-header,.woocommerce .woocommerce-breadcrumb,.woocommerce .woocommerce-result-count,.woocommerce .woocommerce-ordering,.woocommerce ul.products,.woocommerce div.product,.woocommerce-cart-form,.cart-collaterals,.woocommerce-checkout,.woocommerce-account .woocommerce { max-width: 1380px; margin-left: auto; margin-right: auto; }
.woocommerce .woocommerce-breadcrumb { margin-bottom: 30px; color: #7a766f; font-size: 10px; }
.woocommerce .woocommerce-breadcrumb a { color: var(--ink); }
.woocommerce-products-header__title.page-title { margin: 0 0 50px; font-size: clamp(48px,7vw,96px); letter-spacing: -.07em; }
.woocommerce .woocommerce-result-count,.woocommerce .woocommerce-ordering { margin-bottom: 30px; color: #77736d; font-size: 11px; }
.woocommerce .woocommerce-ordering select { padding: 10px 32px 10px 12px; border: 1px solid #c7c3ba; background: transparent; }
.woocommerce ul.products { width: 100%; display: grid; grid-template-columns: repeat(3,1fr); gap: 20px; clear: both; }
.woocommerce ul.products::before,.woocommerce ul.products::after { display: none; }
.woocommerce ul.products li.product { width: auto !important; margin: 0 !important; padding: 0 0 24px; float: none !important; background: var(--white); }
.woocommerce ul.products li.product a img { height: 390px; margin: 0 0 24px; object-fit: cover; background: #ddd9d1; }
.woocommerce ul.products li.product .woocommerce-loop-product__title,.woocommerce ul.products li.product .price,.woocommerce ul.products li.product .button { margin-left: 22px; margin-right: 22px; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { padding: 0; color: var(--ink); font-size: 22px; letter-spacing: -.035em; }
.woocommerce ul.products li.product .price { margin-top: 10px; color: var(--ink); font-size: 14px; font-weight: 800; }
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit { min-height: 48px; padding: 0 20px; display: inline-flex; align-items: center; justify-content: center; border-radius: 0; color: var(--white); background: var(--ink); font-size: 10px; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover,.woocommerce #respond input#submit:hover { color: var(--ink); background: var(--orange); }
.woocommerce span.onsale { min-width: 0; min-height: 0; padding: 9px 11px; left: 15px; top: 15px; border-radius: 0; color: var(--ink); background: var(--orange); font-size: 9px; line-height: 1; }
.woocommerce div.product { display: grid; grid-template-columns: 1.05fr .95fr; gap: 6vw; }
.woocommerce div.product div.images,.woocommerce div.product div.summary { width: auto; float: none; }
.woocommerce div.product .product_title { margin: 12px 0 20px; font-size: clamp(42px,5vw,72px); letter-spacing: -.065em; line-height: .95; }
.woocommerce div.product p.price,.woocommerce div.product span.price { color: var(--ink); font-size: 22px; font-weight: 800; }
.woocommerce div.product .woocommerce-product-details__short-description { color: #68645e; font-size: 14px; line-height: 1.75; }
.layerride-product-status { width: max-content; margin: 0 0 14px; padding: 8px 10px; color: var(--ink); background: var(--orange); font-size: 9px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.woocommerce div.product form.cart { margin: 28px 0; display: flex; gap: 10px; }
.woocommerce .quantity .qty { min-height: 48px; border: 1px solid #bdb9b0; background: transparent; }
.woocommerce div.product .woocommerce-tabs { grid-column: 1 / -1; margin-top: 60px; }
.woocommerce div.product .woocommerce-tabs ul.tabs { padding: 0; }
.woocommerce div.product .woocommerce-tabs ul.tabs li { border-radius: 0; background: transparent; }
.woocommerce-message,.woocommerce-info,.woocommerce-error { border-top-color: var(--orange); background: var(--white); }
.woocommerce-message::before,.woocommerce-info::before { color: var(--orange); }
.woocommerce table.shop_table { border-radius: 0; border-color: #cbc7be; background: var(--white); }
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.select2-container--default .select2-selection--single { min-height: 48px; padding: 10px 12px; border: 1px solid #bdb9b0; border-radius: 0; background: var(--white); }
.woocommerce form.checkout_coupon,.woocommerce form.login,.woocommerce form.register { border-radius: 0; background: var(--white); }

@media (max-width: 1040px) {
  .content-grid,.woocommerce ul.products { grid-template-columns: 1fr 1fr; }
  .quote-page-content { grid-template-columns: 1fr; }
  .woocommerce div.product { grid-template-columns: 1fr; }
}

@media (max-width: 680px) {
  .content-shell,.commerce-shell { padding: 70px 20px 90px; }
  .content-grid,.woocommerce ul.products { grid-template-columns: 1fr; }
  .quote-page-hero { padding: 80px 20px; }
  .quote-page-content { padding: 70px 20px 90px; }
  .quote-page-content aside { padding: 24px 20px; }
  .woocommerce ul.products li.product a img { height: 340px; }
  .woocommerce div.product .product_title { font-size: 46px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  * { transition: none !important; }
}

/* Commercial information pages */
.info-page { background: var(--paper); }
.info-hero { padding: 110px 6vw 120px; color: var(--white); background: var(--ink); }
.info-hero h1 { max-width: 1050px; font-size: clamp(52px,7.5vw,112px); }
.info-hero > p:last-child { max-width: 690px; margin: 34px 0 0; color: rgba(255,255,255,.6); font-size: 16px; line-height: 1.75; }
.info-section { padding: 105px 6vw 115px; }
.info-section > * { max-width: 1280px; margin-left: auto; margin-right: auto; }
.info-section h2,.info-cta h2 { margin: 0; font-size: clamp(38px,4.7vw,68px); letter-spacing: -.06em; line-height: .98; }
.info-section h3 { margin: 0; font-size: 23px; letter-spacing: -.04em; }
.info-section p { color: #65615b; font-size: 14px; line-height: 1.8; }
.info-split { display: grid; grid-template-columns: .86fr 1.14fr; gap: 8vw; align-items: start; }
.info-split > * { width: 100%; max-width: none; margin: 0; }
.info-split > div:first-child > p:last-child { max-width: 570px; margin: 28px 0 0; }
.info-section-muted { background: var(--paper-muted); }
.info-section-dark { color: var(--white); background: var(--ink); }
.info-section-dark .section-index { color: var(--orange); }
.info-section-dark p { color: rgba(255,255,255,.55); }
.info-section-heading { margin-bottom: 55px; display: grid; grid-template-columns: .65fr 1.35fr; gap: 5vw; align-items: end; }

.process-list { margin: 0; padding: 0; list-style: none; border-top: 1px solid #c7c3ba; }
.process-list li { padding: 24px 0; display: grid; grid-template-columns: 46px 1fr; gap: 18px; border-bottom: 1px solid #c7c3ba; }
.process-list li > span { padding-top: 5px; color: var(--orange); font: 750 9px/1.4 var(--font-geist-mono), monospace; }
.process-list strong { display: block; font-size: 18px; letter-spacing: -.025em; }
.process-list p { margin: 7px 0 0; font-size: 11px; line-height: 1.65; }
.process-list-compact li { padding: 20px 0; }

.info-card-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 1px; background: #c7c3ba; border: 1px solid #c7c3ba; }
.info-card-grid article { min-height: 300px; padding: 36px; background: var(--paper); }
.info-card-grid article > span { display: block; margin-bottom: 60px; color: var(--orange); font: 750 9px/1.4 var(--font-geist-mono), monospace; }
.info-card-grid article h2 { font-size: clamp(31px,3.2vw,48px); }
.info-card-grid article h3 { font-size: 24px; }
.info-card-grid article strong { margin-top: 18px; display: block; color: var(--orange); font-size: 13px; letter-spacing: .02em; }
.info-card-grid article p { margin: 20px 0 0; font-size: 12px; }
.info-card-grid-two { grid-template-columns: repeat(2,1fr); }
.info-card-grid-two article { min-height: 350px; }
.info-card-grid .info-card-accent { color: var(--white); background: var(--ink); }
.info-card-grid .info-card-accent p { color: rgba(255,255,255,.58); }
.info-section-dark .info-card-grid { background: rgba(255,255,255,.14); border-color: rgba(255,255,255,.14); }
.info-section-dark .info-card-grid article { background: var(--ink-soft); }

.info-check-list { border-top: 1px solid #bdb9b0; }
.info-check-list > div { padding: 23px 0; display: grid; grid-template-columns: 38px 1fr; gap: 16px; border-bottom: 1px solid #bdb9b0; }
.info-check-list span { width: 27px; height: 27px; display: grid; place-items: center; color: var(--ink); background: var(--orange); border-radius: 50%; font-size: 10px; font-weight: 850; }
.info-check-list p { margin: 0; font-size: 11px; }
.info-check-list strong { margin-bottom: 5px; display: block; color: var(--ink); font-size: 15px; }
.info-check-list-numbered span { width: auto; height: auto; display: block; color: var(--orange); background: transparent; border-radius: 0; font-family: var(--font-geist-mono), monospace; }

.info-notice { margin-top: 28px; padding: 22px 25px; border-left: 4px solid var(--orange); background: var(--white); font-size: 11px !important; }
.info-legal-note { max-width: none; color: var(--white); background: var(--ink); }
.info-legal-note > * { max-width: 900px; margin-left: auto; margin-right: auto; }
.info-legal-note h2 { margin-bottom: 30px; }
.info-legal-note p { color: rgba(255,255,255,.62); }
.info-legal-note strong { color: var(--orange); }
.info-trademark-note { padding-top: 48px; padding-bottom: 48px; background: var(--orange); }
.info-trademark-note p { max-width: 1050px; margin: 0 auto; color: var(--ink); font-size: 12px; font-weight: 700; }
.info-cta { padding: 84px 6vw; display: grid; grid-template-columns: 1fr auto; gap: 50px; align-items: end; color: var(--white); background: var(--ink-soft); }
.info-cta > div { max-width: 900px; }
.info-cta .section-index { color: var(--orange); }
.info-cta .button { align-self: end; white-space: nowrap; }

.layerride-product-details { margin: 24px 0 28px; padding: 20px 22px; border: 1px solid #c7c3ba; background: rgba(255,255,255,.42); }
.layerride-product-details > div { display: grid; grid-template-columns: 125px 1fr; gap: 20px; }
.layerride-product-details > div + div { margin-top: 15px; padding-top: 15px; border-top: 1px solid #d2cec5; }
.layerride-product-details dt { color: var(--ink); font-size: 9px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.layerride-product-details dd { margin: 0; color: #66625c; font-size: 11px; line-height: 1.65; }
.woocommerce ul.products li.product .layerride-product-status { margin: 13px 22px 0; }

@media (max-width: 1040px) {
  .info-split,.info-section-heading { grid-template-columns: 1fr; }
  .info-card-grid { grid-template-columns: 1fr 1fr; }
  .info-card-grid article:last-child:nth-child(odd) { grid-column: 1 / -1; }
  .info-cta { grid-template-columns: 1fr; }
  .info-cta .button { justify-self: start; }
}

@media (max-width: 680px) {
  .info-hero { padding: 80px 20px 90px; }
  .info-hero > p:last-child { font-size: 14px; }
  .info-section { padding: 75px 20px 85px; }
  .info-card-grid,.info-card-grid-two { grid-template-columns: 1fr; }
  .info-card-grid article,.info-card-grid-two article { min-height: 0; padding: 28px 24px; }
  .info-card-grid article:last-child:nth-child(odd) { grid-column: auto; }
  .info-card-grid article > span { margin-bottom: 40px; }
  .info-cta { padding: 70px 20px; }
  .info-cta .button { width: 100%; white-space: normal; }
  .layerride-product-details > div { grid-template-columns: 1fr; gap: 6px; }
}
