:root {
    --cncpdl-ink: #11120f;
    --cncpdl-muted: #676962;
    --cncpdl-line: #dedfd9;
    --cncpdl-soft: #f4f5f1;
    --cncpdl-accent: #93c72b;
    --cncpdl-accent-dark: #5f8812;
    --cncpdl-container: 1440px;
    --cncpdl-gutter: clamp(28px, 4.5vw, 72px);
}

.cncpdl-product-page .cnc-page-shell { padding: 0; }
.cncpdl-product-detail { overflow: hidden; color: var(--cncpdl-ink); background: #fff; font-family: "CNC Text", Arial, sans-serif; }
.cncpdl-container { width: min(100%, var(--cncpdl-container)); margin-inline: auto; padding-inline: var(--cncpdl-gutter); }
.cncpdl-eyebrow { margin: 0 0 14px; color: var(--cncpdl-accent-dark); font-family: "CNC Mono", Arial, sans-serif; font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.cncpdl-breadcrumb { min-height: 54px; display: flex; align-items: center; gap: 10px; border-bottom: 1px solid var(--cncpdl-line); color: var(--cncpdl-muted); font-size: 11px; letter-spacing: .035em; text-transform: uppercase; }
.cncpdl-breadcrumb a:hover { color: var(--cncpdl-accent-dark); }

.cncpdl-product-hero { min-height: 720px; display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(420px, .7fr); border-bottom: 1px solid var(--cncpdl-line); background: #fafbf8; }
.cncpdl-product-hero__media { min-width: 0; display: grid; place-items: center; overflow: hidden; background: #0a0b09; }
.cncpdl-product-hero__image { width: 100%; height: 100%; max-width: none; object-fit: contain; }
.cncpdl-product-hero__content { min-width: 0; padding: clamp(68px, 7.5vw, 116px) clamp(48px, 6vw, 100px); display: flex; flex-direction: column; justify-content: center; align-items: flex-start; }
.cncpdl-product-hero h1, .cncpdl-process h2, .cncpdl-technical h2, .cncpdl-inquiry h2 { margin: 0; color: var(--cncpdl-ink); font-family: "CNC Display", Arial, sans-serif; font-weight: 400; line-height: .98; letter-spacing: -.045em; }
.cncpdl-product-hero h1 { max-width: 7.6em; font-size: clamp(54px, 5vw, 78px); }
.cncpdl-product-hero__model { margin: 24px 0 0; font-family: "CNC Mono", Arial, sans-serif; font-size: 13px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.cncpdl-product-hero__summary { max-width: 560px; margin: 20px 0 0; color: var(--cncpdl-muted); font-size: 17px; line-height: 1.7; }
.cncpdl-button { min-height: 50px; margin-top: 32px; padding: 13px 24px; display: inline-flex; align-items: center; gap: 24px; background: var(--cncpdl-accent); color: var(--cncpdl-ink); font-family: "CNC Mono", Arial, sans-serif; font-size: 12px; font-weight: 700; letter-spacing: .035em; text-transform: uppercase; }
.cncpdl-button:hover { background: var(--cncpdl-accent-dark); color: #fff; }
.cncpdl-product-facts { width: 100%; margin: clamp(48px, 6vw, 76px) 0 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.cncpdl-product-facts div { min-width: 0; padding: 0 14px; border-left: 1px solid var(--cncpdl-line); }
.cncpdl-product-facts div:first-child { padding-left: 0; border-left: 0; }
.cncpdl-product-facts dt { color: var(--cncpdl-muted); font-size: 10px; line-height: 1.35; }
.cncpdl-product-facts dd { margin: 6px 0 0; font-size: 11px; font-weight: 700; line-height: 1.45; }

.cncpdl-identity-bar { border-bottom: 1px solid var(--cncpdl-line); }
.cncpdl-identity-bar .cncpdl-container { min-height: 62px; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 28px; }
.cncpdl-identity-bar strong { font-family: "CNC Mono", Arial, sans-serif; }
.cncpdl-identity-bar span { color: var(--cncpdl-muted); font-size: 13px; }
.cncpdl-identity-bar a { min-height: 42px; padding: 10px 22px; display: inline-flex; align-items: center; gap: 20px; background: var(--cncpdl-accent); font-family: "CNC Mono", Arial, sans-serif; font-size: 11px; font-weight: 700; text-transform: uppercase; }

.cncpdl-process { position: relative; min-height: 740px; overflow: hidden; background: #090a09; }
.cncpdl-process::after { content: ""; position: absolute; inset: 0 52% 0 0; background: rgba(8,9,7,.68); }
.cncpdl-process__image { width: 100%; height: 740px; max-width: none; object-fit: cover; }
.cncpdl-process__copy { position: absolute; z-index: 1; top: 50%; left: max(var(--cncpdl-gutter), calc((100vw - var(--cncpdl-container)) / 2 + var(--cncpdl-gutter))); width: min(520px, 39vw); transform: translateY(-50%); color: #fff; }
.cncpdl-process h2 { color: #fff; font-size: clamp(50px, 5vw, 76px); }
.cncpdl-process__copy > p:last-child { max-width: 480px; margin: 24px 0 0; color: rgba(255,255,255,.78); font-size: 17px; line-height: 1.72; }

.cncpdl-technical { padding-block: clamp(86px, 8vw, 128px); border-bottom: 1px solid var(--cncpdl-line); }
.cncpdl-technical h2, .cncpdl-inquiry h2 { max-width: 850px; font-size: clamp(48px, 5vw, 74px); }
.cncpdl-technical__table { margin-top: 48px; border: 1px solid var(--cncpdl-line); border-bottom: 0; }
.cncpdl-technical__table h3 { margin: 0; padding: 14px 20px; border-bottom: 1px solid var(--cncpdl-line); background: #eceee9; font-family: "CNC Mono", Arial, sans-serif; font-size: 12px; letter-spacing: .05em; text-transform: uppercase; }
.cncpdl-technical__table dl { margin: 0; }
.cncpdl-technical__table dl div { min-height: 48px; padding: 10px 20px; display: grid; grid-template-columns: minmax(240px, 1fr) 2fr; align-items: center; border-bottom: 1px solid var(--cncpdl-line); }
.cncpdl-technical__table dt { font-size: 12px; font-weight: 700; }
.cncpdl-technical__table dd { margin: 0; color: var(--cncpdl-muted); font-size: 12px; }
.cncpdl-technical__note { margin: 18px 0 0; color: var(--cncpdl-muted); font-size: 11px; }

.cncpdl-buyer-prompts { padding-block: 46px; border-bottom: 1px solid var(--cncpdl-line); background: var(--cncpdl-soft); }
.cncpdl-buyer-prompts h2 { margin: 0; font-family: "CNC Display", Arial, sans-serif; font-size: 28px; font-weight: 400; }
.cncpdl-buyer-prompts ul { margin: 24px 0 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; list-style: none; }
.cncpdl-buyer-prompts li { min-height: 68px; padding: 20px 22px; display: flex; align-items: center; border: 1px solid var(--cncpdl-line); border-left: 4px solid var(--cncpdl-accent); background: #fff; font-size: 12px; }

.cncpdl-inquiry { padding-block: clamp(88px, 9vw, 138px); scroll-margin-top: 88px; }
.cncpdl-inquiry__heading > p:last-child { max-width: 640px; margin: 24px 0 0; color: var(--cncpdl-muted); font-size: 16px; }
.cncpdl-inquiry__grid { margin-top: 48px; display: grid; grid-template-columns: minmax(410px, .88fr) minmax(0, 1.12fr); gap: clamp(42px, 6vw, 92px); align-items: stretch; }
.cncpdl-inquiry__media { min-height: 720px; overflow: hidden; background: #090a09; }
.cncpdl-inquiry__image { width: 100%; height: 100%; object-fit: cover; }
.cncpdl-inquiry__form .cnc-rfq-form { display: grid; grid-template-columns: 1fr; gap: 15px; }
.cncpdl-inquiry__form .cnc-rfq-form > * { grid-column: 1; }
.cncpdl-inquiry__form .cnc-rfq-form label { display: grid; gap: 8px; color: var(--cncpdl-ink); font-size: 13px; font-weight: 700; }
.cncpdl-inquiry__form .cnc-rfq-form input:not([type="hidden"]), .cncpdl-inquiry__form .cnc-rfq-form textarea { width: 100%; min-height: 50px; padding: 12px 14px; border: 1px solid #b8bab2; border-radius: 0; background: #fff; color: var(--cncpdl-ink); }
.cncpdl-inquiry__form .cnc-rfq-form textarea { min-height: 140px; resize: vertical; }
.cncpdl-inquiry__form .cnc-rfq-form button[type="submit"] { width: fit-content; min-width: 180px; min-height: 50px; padding: 13px 24px; border: 1px solid var(--cncpdl-accent); border-radius: 0; background: var(--cncpdl-accent); color: var(--cncpdl-ink); font-family: "CNC Mono", Arial, sans-serif; font-size: 12px; font-weight: 700; letter-spacing: .035em; text-transform: uppercase; cursor: pointer; }
.cncpdl-inquiry__form .cnc-rfq-error-summary, .cncpdl-inquiry__form .cnc-field-error { color: #b42318; font-size: 12px; }
.cncpdl-inquiry-unavailable { padding: 24px; border: 1px solid var(--cncpdl-line); background: var(--cncpdl-soft); }

@media (max-width: 1020px) {
    .cncpdl-product-hero { grid-template-columns: 1fr 1fr; }
    .cncpdl-product-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px 0; }
    .cncpdl-inquiry__grid { grid-template-columns: 1fr; }
}

