.pantone-gated-article { color: #161616; letter-spacing: 0; }
.pantone-gated-article [hidden], [data-gate-catalog] { display: none !important; }
.gate-article-header, .gate-article-content { max-width: 1140px; margin: 0 auto; padding: 0 24px; }
.gate-article-header h1 { font-size: 36px; line-height: 1.25; margin: 32px 0; overflow-wrap: anywhere; letter-spacing: 0; }
.gate-article-hero { width: 100%; height: auto; max-height: 580px; object-fit: cover; margin-bottom: 32px; }
.gate-article-content { font-size: 18px; line-height: 1.7; overflow-wrap: anywhere; }
.gate-article-content img { max-width: 100%; height: auto; }
.gate-teaser { position: relative; padding-bottom: 60px; }
.gate-teaser:after { content: ''; pointer-events: none; position: absolute; left: 0; right: 0; bottom: 0; height: 90px; background: linear-gradient(180deg, rgba(255,255,255,0), #fff); }
.gate-surface { position: relative; isolation: isolate; overflow: hidden; padding: 64px 32px; margin: 24px auto 64px; max-width: 1320px; background: linear-gradient(180deg, #f5f5f5 0%, #e0e0e0 100%); }
.gate-background { position: absolute; z-index: -1; top: 0; left: 0; height: 100%; width: 100%; object-fit: cover; }
.gate-panel { position: relative; box-sizing: border-box; max-width: 960px; margin: 0 auto; padding: 40px; border-radius: 8px; background: rgba(255,255,255,.94); }
.gate-form h2, .gate-confirmation h2 { font-size: 30px; line-height: 1.25; margin: 0 0 16px; letter-spacing: 0; }
.gate-intro { font-size: 18px; line-height: 1.5; margin: 0 0 32px; }
.gate-fields { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 24px; }
.gate-field { display: flex; flex-direction: column; min-width: 0; gap: 8px; font-size: 16px; font-weight: 400; margin: 0; }
.gate-wide { grid-column: 1 / -1; }
.gate-field input, .gate-field select { box-sizing: border-box; width: 100%; min-width: 0; height: 48px; padding: 10px 12px; color: #161616; font: inherit; background: #fff; border: 1px solid #858585; border-radius: 3px; box-shadow: none; text-overflow: ellipsis; }
.gate-field input:focus-visible, .gate-field select:focus-visible, .gate-primary:focus-visible, .gate-secondary:focus-visible, .gate-checkboxes input:focus-visible { outline: 2px solid #161616; outline-offset: 3px; }
.gate-required, .gate-error { color: #be1e2d; }
.gate-checkboxes { display: flex; flex-direction: column; gap: 16px; margin: 28px 0; }
.gate-checkboxes label { display: flex; align-items: flex-start; gap: 12px; font-size: 16px; line-height: 1.6; font-weight: 400; margin: 0; }
.gate-checkboxes input { appearance: auto; position: static; opacity: 1; flex: 0 0 20px; width: 20px; height: 20px; margin: 3px 0 0; accent-color: #161616; }
.pantone-gated-article .gate-primary, .pantone-gated-article .gate-secondary { box-sizing: border-box; min-height: 48px; padding: 12px 24px; border-radius: 4px; font: inherit; line-height: 1.5; cursor: pointer; letter-spacing: 0; white-space: normal; overflow-wrap: anywhere; }
.pantone-gated-article .gate-primary { background: #161616; color: #fff; border: 1px solid #161616; min-width: 190px; }
.pantone-gated-article .gate-primary:hover { background: #343434; color: #fff; }
.gate-primary:disabled, .gate-secondary:disabled { cursor: wait; opacity: .6; }
.pantone-gated-article .gate-secondary { background: #fff; color: #161616; border: 1px solid #161616; min-width: 200px; }
.gate-notice { font-size: 13px; line-height: 1.6; color: #555; margin: 20px 0 0; }
.gate-notice a { color: inherit; text-decoration: underline; }
.gate-captcha { display: flex; align-items: end; gap: 16px; margin: 24px 0; }
.gate-captcha .gate-field { max-width: 230px; flex: 1; }
.gate-captcha-image { display: flex; align-items: center; gap: 8px; min-height: 50px; }
.gate-captcha-image img { width: 200px; height: 50px; object-fit: contain; }
.pantone-gated-article .gate-captcha-image button { background: transparent; color: #161616; border: 0; font-size: 28px; padding: 4px 8px; height: 44px; width: 44px; cursor: pointer; }
.gate-honeypot { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.gate-confirmation { min-height: 280px; display: flex; flex-direction: column; justify-content: center; align-items: flex-start; gap: 18px; max-width: 580px; margin: 0 auto; font-size: 18px; line-height: 1.6; }
.gate-confirmation p { margin: 0; }
.gate-confirmation:focus { outline: none; }
.gate-error, .gate-status { font-size: 16px; line-height: 1.5; }
.gate-badge-host { position: relative; }
.gate-badge { display: inline-flex; position: absolute; z-index: 1; top: 12px; left: 12px; align-items: center; gap: 6px; max-width: calc(100% - 24px); box-sizing: border-box; background: #fff; color: #161616; padding: 6px 9px; border-radius: 4px; font-size: 13px; line-height: 18px; overflow-wrap: anywhere; }
.gate-badge:before { content: ''; background: url('../images/envelope.svg') center / contain no-repeat; width: 16px; height: 16px; flex: 0 0 16px; }
@media (max-width: 640px) {
    .gate-article-header, .gate-article-content { padding-left: 16px; padding-right: 16px; }
    .gate-article-header h1 { font-size: 28px; }
    .gate-surface { margin: 16px 0 40px; padding: 24px 16px; }
    .gate-panel { padding: 24px 16px; }
    .gate-form h2, .gate-confirmation h2 { font-size: 24px; }
    .gate-fields { grid-template-columns: minmax(0,1fr); gap: 18px; }
    .gate-intro { font-size: 16px; }
    .pantone-gated-article .gate-primary, .pantone-gated-article .gate-secondary { width: 100%; min-width: 0; }
    .gate-captcha { flex-direction: column; align-items: stretch; }
    .gate-captcha .gate-field { max-width: none; }
    .gate-checkboxes label { font-size: 15px; }
    .gate-confirmation { min-height: 280px; font-size: 16px; }
}
