/* HAMMER identity: precision-cut typography, dark surfaces, photographic packaging. */
:root { --black: #0a0a0a; --panel: #111112; --white: #f3f1eb; --red: #f12a2e; --muted: #a3a09c; --muted-2: #8b8884; --line: #ffffff1c; --max: 1320px; --gut: 48px; }
body::after { opacity: .018; }
h1, h2, h3 { letter-spacing: -.015em; }
h2 { font-size: clamp(38px, 4.5vw, 66px); line-height: 1.04; }
p { line-height: 1.75; }
.section { padding-block: 100px; }
.eyebrow { font: 500 10px var(--body); letter-spacing: .2em; }
.eyebrow::before { width: 19px; height: 1px; }
.btn { min-height: 52px; border-radius: 0; font: 600 11px var(--body); letter-spacing: .09em; padding-inline: 24px; gap: 28px; }
.btn::after { font-size: 18px; }
.btn-red { background: var(--red); }
.text-link { font: 600 10px var(--body); letter-spacing: .14em; }
.announce { background: #101010; border-bottom: 1px solid var(--line); color: #aaa7a3; font: 500 9px var(--body); letter-spacing: .12em; }
.announce .container { min-height: 31px; }
.announce span:last-child { opacity: 1; color: #d0ccc5; }
.site-header { background: #0a0a0af2; }
.nav-wrap { min-height: 86px; }
.brand { display: flex; flex-direction: column; align-items: flex-start; gap: 4px; }
.brand-logo { width: 186px; height: 35px; }
.brand-sub { margin: 0 0 0 43px; font: 500 7px var(--body); letter-spacing: .26em; color: #b4b0a9; text-transform: uppercase; }
.site-nav { gap: 34px; }
.site-nav a:not(.btn) { font: 500 10px var(--body); letter-spacing: .11em; }
.site-nav .btn { font-size: 10px; min-height: 40px; padding-inline: 19px; }
.site-nav .btn::after { content: '↗'; }
.nav-toggle { color: var(--white); }
.nav-toggle[aria-expanded="true"] span { background: transparent; }
.nav-toggle[aria-expanded="true"] span::before { top: 0; transform: rotate(45deg); }
.nav-toggle[aria-expanded="true"] span::after { top: 0; transform: rotate(-45deg); }

/* Homepage */
.campaign { position: relative; isolation: isolate; overflow: hidden; background: #0b0a09; }
.campaign-grid { display: grid; grid-template-columns: 45% 55%; min-height: 690px; align-items: center; }
.campaign-copy { position: relative; z-index: 3; padding: 65px 0 70px; }
.campaign-copy .eyebrow { color: #c3beb5; margin-bottom: 30px; font-size: 9px; }
.campaign h1 { font-size: clamp(70px, 7.7vw, 112px); line-height: .99; letter-spacing: -.025em; }
.campaign h1 em { font-style: normal; color: var(--red); }
.campaign .lead { font-size: 14px; max-width: 33ch; margin: 27px 0 30px; color: #a9a6a0; line-height: 1.85; }
.campaign .hero-actions { gap: 10px; }
.campaign .btn-ghost { border-color: #ffffff26; }
.campaign-note { display: flex; gap: 8px; align-items: center; margin-top: 31px; color: #85817c; font-size: 9px; letter-spacing: .05em; }
.campaign-note svg { width: 13px; height: 15px; color: #bdb8b0; }
.campaign-visual { position: absolute; width: 66%; right: -6%; top: 0; height: 100%; margin: 0; z-index: -1; }
.campaign-visual::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, #0b0a09 0%, transparent 24%), linear-gradient(0deg, #0b0a09 0%, transparent 18%); }
.campaign-visual img { width: 100%; height: 100%; object-fit: cover; object-position: 51% center; }
.campaign-caption { position: absolute; right: 11%; bottom: 37px; z-index: 2; display: flex; gap: 17px; align-items: center; }
.campaign-caption .series-chip { border: 1px solid #ffffff40; color: #f3f1eb; height: 38px; width: 38px; display: grid; place-items: center; font: 24px var(--label); }
.campaign-caption strong { display: block; font: 500 10px var(--body); text-transform: uppercase; letter-spacing: .1em; }
.campaign-caption small { display: block; font-size: 9px; color: #b3ada6; margin-top: 5px; }
.collection-bar { border-block: 1px solid var(--line); background: #101010; }
.collection-bar .container { display: flex; align-items: center; justify-content: space-between; min-height: 80px; gap: 25px; }
.collection-bar span { display: flex; gap: 12px; align-items: center; font: 500 9px var(--body); letter-spacing: .13em; text-transform: uppercase; color: #9b9690; }
.collection-bar b { font: 24px var(--label); color: #f3f1eb; letter-spacing: -.02em; }
.collection-bar i { width: 4px; height: 4px; background: var(--red); }
.collection-heading { display: flex; justify-content: space-between; gap: 30px; align-items: end; margin-bottom: 37px; }
.collection-heading h2 { margin-top: 17px; }
.collection-heading p { font-size: 12px; max-width: 35ch; margin-top: 16px; }
.collection-heading > .text-link { padding-bottom: 6px; color: var(--white); white-space: nowrap; }
.collection-footer { display: flex; justify-content: space-between; gap: 20px; margin-top: 28px; padding-top: 22px; border-top: 1px solid var(--line); }
.collection-footer p { font-size: 10px; }
.collection-footer span { color: #ddd8d0; }
.detail-story { border-block: 1px solid var(--line); background: #101011; }
.detail-story .split { gap: 70px; padding-block: 78px; }
.detail-photo { position: relative; margin: 0; aspect-ratio: 1; overflow: hidden; }
.detail-photo img { width: 100%; height: 100%; object-fit: cover; }
.photo-label { position: absolute; bottom: 22px; left: 22px; color: #d4c9b9; font: 500 9px var(--body); letter-spacing: .15em; text-transform: uppercase; }
.detail-copy h2 { margin: 23px 0; }
.detail-copy > p { font-size: 13px; max-width: 43ch; }
.detail-copy .feature-list { margin-top: 25px; }
.detail-copy .feature-list li { padding-block: 15px; font-size: 12px; }
.detail-copy .text-link { margin-top: 29px; }
.authentication { position: relative; padding: 78px 0; overflow: hidden; border-bottom: 1px solid var(--line); }
.authentication .container { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: center; }
.authentication h2 { margin: 20px 0; }
.authentication p { font-size: 13px; max-width: 44ch; }
.authentication .code-panel { border-color: #ffffff2b; box-shadow: 0 25px 65px #0008; background: linear-gradient(135deg, #1c1b1b, #101010); position: relative; padding: 32px; }
.authentication .code-panel::before { content: ''; position: absolute; top: -1px; left: 32px; width: 54px; height: 2px; background: var(--red); }
.authentication .code-panel .btn { margin-top: 22px; }
.authentication .code-panel .code-note { font-size: 10px; max-width: none; }
.authentication .code-field { background: #090909; }
.authentication .code-field strong { font-family: var(--label); font-size: 25px; }
.authentication .text-link { margin-top: 25px; }
.brand-statement { padding-block: 90px; text-align: center; border-bottom: 1px solid var(--line); }
.brand-statement h2 { margin: 24px auto 20px; max-width: 16ch; }
.brand-statement p { max-width: 54ch; margin-inline: auto; font-size: 13px; }
.brand-statement .text-link { margin-top: 24px; }

/* Catalog and shared page language */
.range-grid { gap: 22px; }
.product-card { min-height: 0; background: #121212; border-color: #ffffff17; }
.product-card-media { flex: none; min-height: 0; aspect-ratio: 1.1; background: #131211; }
.product-card-media img { padding: 0; object-fit: cover; object-position: center; }
.product-card-media::after { background: linear-gradient(0deg, #121212 0%, transparent 15%); }
.product-code { font: 500 11px var(--body); left: 20px; top: 19px; color: #e3ded6; border: 1px solid #ffffff40; padding: 7px 10px; background: #08080866; }
.product-card-body { margin: 0; padding: 22px 22px 24px; }
.product-card h3 { font: 500 clamp(18px, 1.65vw, 24px) var(--label); line-height: 1.25; padding-right: 30px; text-transform: uppercase; }
.product-card h3 span { color: #a8a39c; }
.product-meta-line { font: 500 9px var(--body); letter-spacing: .04em; border-top: none; margin-top: 8px; padding-top: 0; }
.product-meta-line b { font-weight: 500; color: #beb7ad; }
.product-card .arrow { top: auto; bottom: 67px; right: 20px; width: 27px; height: 27px; border: none; font-size: 20px; color: var(--red); }
.product-card:hover { transform: translateY(-5px); border-color: #ffffff4a; }
.product-card:hover .arrow { background: transparent; color: white; }
.range-cta { background: #191717; border: 1px solid #f12a2e66; padding: 32px; }
.range-cta .big-mark { opacity: 1; width: 52px; height: 52px; color: var(--red); }
.range-cta h3 { max-width: 17ch; }
.range-cta p { max-width: 50ch; color: var(--muted); }
.range-cta .btn { margin-top: 22px; background: var(--red); }
.page-hero { background: #0d0d0e; }
.page-hero::before { background: url('/assets/img/mark.svg') no-repeat right -45px center / 340px; opacity: .035; }
.page-hero .container { padding-block: 52px 64px; }
.page-hero h1 { font-size: clamp(52px, 6.5vw, 94px); max-width: 15ch; line-height: 1.02; margin-top: 25px; }
.page-hero .lead { font-size: 15px; max-width: 60ch; margin-top: 25px; }
.page-hero .eyebrow { margin-top: 30px !important; }
.breadcrumb { font: 500 9px var(--body); letter-spacing: .1em; }
.section-heading { gap: 50px; }
.section-heading p { font-size: 13px; }
.stat-strip { border-inline: 0; background: transparent; gap: 0; }
.stat-cell { padding: 23px 30px; border-right: 1px solid var(--line); background: transparent; }
.stat-cell:first-child { padding-left: 0; }
.stat-cell:last-child { border-right: 0; }
.stat-cell b { font: 500 37px var(--label); }
.stat-cell span { font: 500 9px var(--body); margin-top: 9px; letter-spacing: .1em; }
.product-hero-grid { grid-template-columns: 1fr 1fr; gap: 60px; align-items: center; }
.product-hero-copy h1 { font-size: clamp(43px, 4.5vw, 66px); }
.product-hero-copy .eyebrow { margin-top: 0 !important; }
.product-hero-media { padding: 0; border-color: #ffffff1a; }
.product-hero-media img { filter: none; }
.product-hero-media::before { display: none; }
.product-letter { opacity: .5; }
.product-strength b { font: 400 35px var(--label); }
.product-strength span { font-size: 9px; }
.spec-cell small { font: 500 8px var(--body); letter-spacing: .1em; }
.spec-cell strong { font-size: 12px; }
.spec-row { grid-template-columns: 175px 1fr; gap: 20px; }
.spec-row dt { font: 500 10px var(--body); letter-spacing: .06em; }
.spec-row dd { font-size: 13px; }
.related-card { background: #121212; }
.related-card img { height: auto; aspect-ratio: 1.15; object-fit: cover; }
.related-card h3 { font: 500 20px var(--label); line-height: 1.2; }
.related-card span { font: 500 9px var(--body); letter-spacing: .07em; }
.pillar { min-height: 280px; }
.pillar .num { color: var(--red); -webkit-text-stroke: 0; font: 500 30px var(--label); }
.pillar .rule { height: 1px; background: var(--line); width: 100%; }
.pillar h3 { margin-top: 35px; font: 500 25px var(--label); }
.pillar p { font-size: 13px; }
.verify-steps, .value-card, .contact-card, .result-card { background: #121212; border-top-color: #ffffff30; }
.verify-card { background: #ece9e1; box-shadow: 0 24px 70px #0005; }
.field input { font-family: var(--label); }
.contact-card h3, .value-card h3, .result-card h3 { font-family: var(--label); font-weight: 500; }
.contact-card a { overflow-wrap: anywhere; }
.about-mark { background: #0a0a0a; min-height: 380px; }
.about-mark::before { border-radius: 0; width: 65%; height: 65%; transform: rotate(-12deg); border-color: #f12a2e40; }
.about-mark::after { border-radius: 0; width: 85%; height: 85%; transform: rotate(-12deg); border-color: #ffffff0d; }
.about-mark .big-mark { width: 190px; height: 190px; }
.cta-strip { background: #131212; }
.cta-strip .eyebrow { margin-bottom: 17px; }
.cta-strip p { font-size: 13px; margin-top: 15px; }
.site-footer { background: #080808; padding-top: 60px; }
.footer-top { grid-template-columns: 1.4fr .8fr .8fr 1fr; gap: 45px; }
.footer-links { font-size: 12px; }
.footer-title { color: #d2cec7; font: 500 9px var(--body); letter-spacing: .13em; }
.footer-brand p { font-size: 12px; max-width: 29ch; }
.footer-bottom { margin-top: 48px; font-size: 9px; }
.footer-word { -webkit-text-stroke: 0; color: #1b1b1b; font-size: clamp(80px, 17.7vw, 255px); letter-spacing: .025em; text-align: center; }

@media (min-width: 1600px) { .campaign-visual { width: 60%; right: 0; } }
@media (max-width: 1080px) {
  :root { --gut: 32px; }
  .campaign-grid { min-height: 620px; grid-template-columns: 48% 52%; }
  .campaign h1 { font-size: 84px; }
  .campaign-visual { width: 69%; right: -10%; }
  .campaign .hero-actions { flex-direction: column; align-items: start; }
  .campaign .btn { min-width: 190px; }
  .campaign-caption { right: 17%; }
  .collection-bar span { font-size: 8px; gap: 9px; }
  .collection-bar b { font-size: 22px; }
  .home-range { grid-template-columns: repeat(3, 1fr); gap: 14px; }
  .home-range .product-card-body { padding: 17px 14px; }
  .home-range .product-card h3 { font-size: 18px; }
  .home-range .product-meta-line { flex-direction: column; align-items: start; gap: 5px; }
  .detail-story .split { grid-template-columns: 1fr 1fr; gap: 38px; }
  .authentication .container { gap: 45px; }
  .product-hero-grid { grid-template-columns: 1fr 1fr; gap: 30px; }
  .product-hero-media { order: 0; }
  .product-hero-copy h1 { font-size: 46px; }
  .product-strength { flex-wrap: wrap; }
  .spec-grid { grid-template-columns: 1fr 1fr; }
  .footer-top { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 760px) {
  :root { --gut: 24px; }
  .section { padding-block: 64px; }
  .announce span:last-child { display: none; }
  .announce .container { justify-content: center; font-size: 7px; letter-spacing: .07em; text-align: center; }
  .nav-wrap { min-height: 74px; }
  .brand-logo { width: 163px; height: 31px; }
  .brand-sub { font-size: 6px; margin-left: 38px; }
  .campaign-grid { display: block; min-height: 0; }
  .campaign-copy { padding: 45px 0 0; }
  .campaign-copy .eyebrow { font-size: 8px; margin-bottom: 23px; }
  .campaign h1 { font-size: clamp(63px, 12vw, 88px); }
  .campaign .lead { margin-top: 22px; max-width: 40ch; font-size: 13px; }
  .campaign .hero-actions { flex-direction: row; gap: 9px; }
  .campaign .btn { min-width: 0; font-size: 9px; padding-inline: 17px; gap: 15px; min-height: 48px; }
  .campaign-note { margin-top: 23px; }
  .campaign-visual { position: relative; z-index: 0; width: calc(100% + 48px); right: auto; margin: -4px -24px 0; height: auto; aspect-ratio: 1.16; }
  .campaign-visual img { object-fit: cover; }
  .campaign-visual::after { background: linear-gradient(180deg, #0b0a09 0%, transparent 14%, transparent 77%, #0b0a09 100%); }
  .campaign-caption { right: 24px; bottom: 14px; gap: 10px; }
  .campaign-caption strong { font-size: 8px; }
  .campaign-caption small { font-size: 8px; }
  .campaign-caption .series-chip { width: 28px; height: 28px; font-size: 18px; }
  .collection-bar .container { display: grid; grid-template-columns: 1fr 1fr; gap: 0; padding-block: 10px; }
  .collection-bar span { padding: 12px 0; font-size: 8px; }
  .collection-bar span:nth-child(even) { justify-content: end; }
  .collection-bar b { font-size: 22px; }
  .collection-heading { align-items: start; flex-direction: column; gap: 20px; }
  .collection-heading h2 { font-size: 45px; }
  .collection-heading p { font-size: 12px; }
  .home-range { grid-template-columns: 1fr; gap: 20px; }
  .product-card-media { aspect-ratio: 1.15; }
  .home-range .product-card-body { padding: 22px; }
  .home-range .product-card h3 { font-size: 23px; }
  .home-range .product-meta-line { flex-direction: row; }
  .collection-footer { flex-direction: column; gap: 4px; }
  .detail-story .split { grid-template-columns: 1fr; gap: 35px; padding-block: 45px; }
  .detail-photo { aspect-ratio: 1.15; }
  .detail-copy h2 { font-size: 46px; }
  .authentication { padding-block: 60px; }
  .authentication .container { grid-template-columns: 1fr; gap: 35px; }
  .authentication h2 { font-size: 46px; }
  .authentication .code-panel { padding: 24px; }
  .authentication .code-row { grid-template-columns: 1fr 1fr; }
  .authentication .code-field strong { font-size: 19px; }
  .brand-statement { padding-block: 65px; }
  .page-hero .container { padding-block: 35px 45px; }
  .page-hero h1 { font-size: 53px; }
  .page-hero .lead { font-size: 14px; }
  .page-hero::before { background-size: 220px; }
  .product-hero-grid { grid-template-columns: 1fr; gap: 35px; }
  .product-hero-copy h1 { font-size: 49px; }
  .product-hero-media { max-width: 500px; }
  .product-hero-copy .lead { font-size: 14px; }
  .product-hero-copy .spec-grid { grid-template-columns: 1fr 1fr; }
  .spec-row { grid-template-columns: 1fr; gap: 5px; }
  .section-heading { gap: 20px; }
  .stat-cell { padding: 20px; }
  .stat-cell:nth-child(3) { padding-left: 0; }
  .stat-cell:nth-child(2) { border-right: 0; }
  .stat-cell b { font-size: 30px; }
  .footer-top { grid-template-columns: 1fr 1fr; gap: 35px 20px; }
  .footer-brand { grid-column: 1 / -1; }
  .footer-top > :last-child { grid-column: 1 / -1; }
  .footer-bottom { line-height: 1.9; gap: 8px; }
  .footer-word { font-size: 19vw; }
}
@media (prefers-reduced-motion: reduce) { .product-card:hover { transform: none; } }
