.technical-site {
    --tech-radius: 16px;
    --tech-surface: color-mix(in srgb,var(--secondary) 4%,var(--paper));
    --tech-border: color-mix(in srgb,var(--secondary) 13%,var(--paper));
    --tech-hover-shadow: 0 16px 36px color-mix(in srgb,var(--secondary) 10%,transparent);
}
.technical-site .tech-shell { width: min(1240px,calc(100% - 72px)); }
.tech-mast-page .tech-header {
    background: rgb(20 24 31 / .67);
    border-bottom: 1px solid #ffffff1c;
}
.tech-mast-page .tech-header .tech-desktop-nav > ul > li > a { font-weight: 600; }
.tech-mast-page .tech-header .tech-header-request { background: #ffffff18; }
.tech-mast-page .tech-header .tech-desktop-nav li > ul,
.tech-mast-page .tech-header .tech-language > ul { box-shadow: 0 15px 42px #10182828; border-color: var(--tech-border); }
.technical-site .tech-slider-shell { width: calc(100% - 2 * var(--mast-edge)); }
.technical-site .tech-slide { min-height: clamp(475px,34vw,640px); }
.technical-site .tech-slide-media img, .technical-site .tech-slide-media video {
    object-position: var(--slide-focus-x,50%) var(--slide-focus-y,50%);
}
.technical-site .tech-slide::after {
    background:
        linear-gradient(90deg,#101725ee 0%,#101725a8 33%,#10172533 68%,transparent 90%),
        linear-gradient(0deg,#10172550,transparent 35%),
        rgb(0 0 0 / calc(var(--slide-overlay,.3) * .32));
}
.technical-site .tech-slide.align-right::after {
    background:
        linear-gradient(270deg,#101725ee 0%,#101725a8 33%,#10172533 68%,transparent 90%),
        linear-gradient(0deg,#10172550,transparent 35%),
        rgb(0 0 0 / calc(var(--slide-overlay,.3) * .32));
}
.technical-site .tech-slide-copy {
    width: min(1460px,100%);
    margin-inline: auto;
    padding: calc(var(--mast-header-height) + 35px) clamp(30px,5.2vw,91px) clamp(74px,7vw,116px);
}
.technical-site .tech-slide .tech-kicker { padding: .45rem .74rem; letter-spacing: .14em; font-size: .68rem; }
.technical-site .tech-slide h2 {
    font-size: clamp(2.65rem,4.05vw,4.6rem);
    max-width: 14ch;
    text-wrap: balance;
    line-height: 1.04;
    letter-spacing: -.055em;
}
.technical-site .tech-slide-summary { margin-block: 1.05rem 1.45rem; line-height: 1.6; color: #f7f8fa; }
.technical-site .tech-slide .tech-actions .tech-button {
    border-radius: 7px;
    min-height: 46px;
    padding-inline: 1.03rem;
}
.technical-site .tech-slide .tech-actions .tech-button:not(.tech-outline) { background: #fff; color: var(--secondary); }
.technical-site .tech-slide .tech-actions .tech-outline { background: #15202c40; color: #fff; }
.technical-site .tech-slider-controls {
    inset-inline: auto clamp(22px,3vw,54px);
    bottom: 23px;
    gap: .55rem;
    padding: .35rem .48rem;
    background: #171d28a8;
    border: 1px solid #ffffff4a;
    border-radius: 10px;
    backdrop-filter: blur(13px);
}
.technical-site .tech-slider-dots { gap: .1rem; padding-inline: .22rem; }
.technical-site .tech-slider-dots button { width: 22px; height: 33px; }
.technical-site .tech-slider-dots button span { width: 5px; height: 5px; }
.technical-site .tech-slider-dots button[aria-current="true"] span { width: 16px; height: 4px; }
.technical-site .tech-slider-buttons { gap: .3rem; }
.technical-site .tech-slider-buttons button { width: 33px; height: 33px; border-radius: 6px; border-color: #ffffff3f; }
.technical-site .tech-slider-count { font-size: .72rem; opacity: .92; margin-inline: .15rem .4rem; }

.technical-site .tech-section-heading h2 { max-width: 23ch; font-size: clamp(1.95rem,3.2vw,3.25rem); }
.technical-site .tech-section-heading > p { color: var(--muted); }
.technical-site .tech-cards { gap: clamp(14px,1.7vw,24px); }
.technical-site .tech-card {
    background: var(--paper);
    border-radius: var(--tech-radius);
    border: 1px solid var(--tech-border);
    overflow: hidden;
    box-shadow: none;
}
.technical-site .tech-card:hover { box-shadow: var(--tech-hover-shadow); }
.technical-site .tech-card-image { display: block; aspect-ratio: 1.65; background: var(--tech-surface); }
.technical-site .tech-card-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .36s ease; }
.technical-site .tech-card:hover img { transform: scale(1.035); }
.technical-site .tech-device-card .tech-card-image { aspect-ratio: 1.66; }
.technical-site .tech-part-card .tech-card-image { background: #f7efe6; }
.technical-site .tech-part-card .tech-card-image img { object-fit: contain; }
.technical-site .tech-card-copy {
    min-width: 0;
    gap: .42rem;
    padding: clamp(18px,2vw,27px);
}
.technical-site .tech-card-copy h3 { font-size: clamp(1.25rem,1.8vw,1.72rem); line-height: 1.14; letter-spacing: -.04em; }
.technical-site .tech-card-copy > p { margin: .18rem 0 .45rem; line-height: 1.65; color: var(--muted); }
.technical-site .tech-card-copy > .tech-kicker { color: var(--primary); }
.technical-site .tech-card-copy > .tech-card-link {
    border-top: 1px solid var(--tech-border);
    padding-top: .66rem;
    min-height: 44px;
    color: var(--secondary);
}
.technical-site .tech-card-link > svg, .technical-site .tech-card-link > span {
    background: var(--tech-surface);
    border-radius: 8px;
    color: var(--primary);
    padding: 7px;
}
.tech-device-card-actions {
    border-top: 1px solid var(--tech-border);
    padding-top: .75rem;
    margin-top: auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: .65rem;
}
.technical-site .tech-card-detail { color: var(--secondary); font-size: .83rem; font-weight: 700; }
.technical-site .tech-device-request {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    border-radius: 7px;
    min-height: 39px;
    padding: .45rem .65rem;
    color: var(--primary);
    background: color-mix(in srgb,var(--primary) 8%,var(--paper));
    font-size: .8rem;
    font-weight: 760;
}
.technical-site .tech-device-request:hover { background: var(--primary); color: var(--on-primary); }
.tech-device-request svg { width: 14px; height: 14px; }
.tech-device-card-actions a { min-height: 40px; display: inline-flex; align-items: center; }

.technical-site .tech-process-steps { gap: clamp(14px,2vw,24px); }
.technical-site .tech-process-steps li { border: 1px solid var(--tech-border); background: var(--paper); padding: 20px; border-radius: 12px; }
.technical-site .tech-process-steps li > span { border: 1px solid var(--tech-border); width: 33px; height: 33px; border-radius: 8px; display: grid; place-items: center; padding: 0; flex-shrink: 0; }
.technical-site .tech-feature-lead { border-radius: var(--tech-radius); }
.technical-site .tech-feature-list img { border-radius: 8px; }
.technical-site .tech-faq details { border-color: var(--tech-border); border-radius: 11px; }
.technical-site .tech-faq summary { padding-block: 1rem; }
.technical-site .tech-filters input, .technical-site .tech-filters select { border-color: var(--tech-border); border-radius: 8px; }
.technical-site .tech-tags a { background: var(--tech-surface); border: 1px solid var(--tech-border); }
.technical-site .tech-form-panel {
    border: 1px solid var(--tech-border);
    border-radius: var(--tech-radius);
    background: var(--paper);
    box-shadow: 0 10px 34px color-mix(in srgb,var(--secondary) 6%,transparent);
}
.technical-site .tech-form-panel fieldset { background: var(--tech-surface); border-color: var(--tech-border); }
.technical-site .tech-form-panel input:not([type="checkbox"]), .technical-site .tech-form-panel select, .technical-site .tech-form-panel textarea { border-color: var(--tech-border); border-radius: 8px; }
.technical-site .tech-service-body aside { background: var(--tech-surface); border: 1px solid var(--tech-border); border-radius: 12px; }
.technical-site .tech-cta { border-radius: var(--tech-radius); }
.technical-site .tech-footer { margin-top: clamp(18px,4vw,48px); }
.technical-site .tech-footer-main nav a:hover { opacity: 1; color: color-mix(in srgb,var(--on-secondary) 72%,var(--primary)); }
.technical-site :focus-visible { outline-color: #575757; }
.tech-mast-page .tech-header :focus-visible,
.technical-site .tech-slide :focus-visible,
.technical-site .tech-slider-controls :focus-visible { outline-color: #fff; }

@media(max-width:980px) {
    .technical-site .tech-shell { width: calc(100% - 44px); }
    .technical-site .tech-slider-shell { width: calc(100% - 2 * var(--mast-edge)); }
}
@media(max-width:680px) {
    .technical-site .tech-shell { width: calc(100% - 28px); }
    .technical-site .tech-slider-shell { width: calc(100% - 2 * var(--mast-edge)); }
    .technical-site .tech-slide { min-height: clamp(455px,65svh,550px); }
    .technical-site .tech-slide-copy { padding: calc(var(--mast-header-height) + 56px) 19px 79px; }
    .technical-site .tech-slide h2 { font-size: clamp(2.1rem,9.2vw,3.05rem); max-width: 15ch; }
    .technical-site .tech-slide-summary { margin-block: .7rem 1rem; }
    .technical-site .tech-slide-media img, .technical-site .tech-slide-media video {
        object-position: var(--slide-focus-mobile,70%) var(--slide-focus-y,50%);
    }
    .technical-site .tech-slide::after, .technical-site .tech-slide.align-right::after {
        background: linear-gradient(0deg,#101725f5 0%,#101725c4 40%,#10172550 73%,#10172514 100%),
            rgb(0 0 0 / calc(var(--slide-overlay,.3) * .26));
    }
    .technical-site .tech-slider-controls { inset-inline: auto 14px; bottom: 13px; }
    .technical-site .tech-slider-buttons button { width: 36px; height: 36px; }
    .technical-site .tech-device-card .tech-card-image { aspect-ratio: 1.75; }
    .technical-site .tech-process-steps li { padding: 15px; }
}
@media(prefers-reduced-motion:reduce) { .technical-site .tech-card-image img { transition:none; } }

.technical-site {
    --tech-border: #d9d9d9;
    --tech-editorial-rule: #e8e8e8;
    --tech-rule: #e6e6e6;
    --line: #e6e6e6;
    --tech-surface: #f4f5f6;
    --tech-radius: 14px;
}
.technical-site .tech-shell { width: min(1320px,calc(100% - 80px)); }
.tech-mast-page .tech-header {
    border: 0;
    background: rgb(23 25 29 / .61);
}
.tech-mast-page .tech-header.is-stuck { background: rgb(23 25 29 / .98); }
.tech-mast-page .tech-header .tech-brand-mark,
.tech-mast-page .tech-header .tech-header-request,
.tech-mast-page .tech-header .tech-language > summary,
.tech-mast-page .tech-header .tech-mobile-menu > summary { border: 0; background: #ffffff19; }
.tech-mast-page .tech-header .tech-header-request:hover { background: #ffffff2b; }
.tech-mast-page .tech-header .tech-language > summary { padding-inline: .65rem; }
.tech-mast-page .tech-header .tech-desktop-nav li > ul,
.tech-mast-page .tech-header .tech-language > ul,
.tech-mast-page .tech-header .tech-mobile-menu nav { border: 0; }
.tech-mast-page .tech-header .tech-desktop-nav li > ul a:hover,
.tech-mast-page .tech-header .tech-language > ul a:hover { background: var(--tech-surface); }

.technical-site .tech-slider-shell { width: calc(100% - 2 * var(--mast-edge)); }
.technical-site .tech-slide { min-height: clamp(460px,31vw,610px); }
.technical-site .tech-slide-copy {
    width: min(1680px,100%);
    padding: calc(var(--mast-header-height) + 32px) clamp(26px,4.1vw,73px) clamp(70px,5.1vw,100px);
}
.technical-site .tech-slide h2 {
    font-size: clamp(2.6rem,3.35vw,4.05rem);
    font-weight: 720;
    letter-spacing: -.05em;
    max-width: 16ch;
}
.technical-site .tech-slide .tech-kicker {
    padding: 0;
    border: 0;
    border-radius: 0;
    background: none;
    letter-spacing: .15em;
    font-size: .69rem;
    backdrop-filter: none;
}
.technical-site .tech-slide .tech-kicker::before {
    display: inline-block;
    content: '';
    width: 23px;
    height: 1px;
    background: #fff;
}
.technical-site .tech-slide::after {
    background: linear-gradient(90deg,#151922d5,#15192285 38%,transparent 78%),linear-gradient(0deg,#10141b84,transparent 40%),rgb(0 0 0 / calc(var(--slide-overlay,.3) * .25));
}
.technical-site .tech-slide.align-right::after {
    background: linear-gradient(270deg,#151922d5,#15192285 38%,transparent 78%),linear-gradient(0deg,#10141b84,transparent 40%),rgb(0 0 0 / calc(var(--slide-overlay,.3) * .25));
}
.technical-site .tech-slide .tech-actions .tech-button { border: 0; }
.technical-site .tech-slide .tech-actions .tech-outline { background: #ffffff18; }
.technical-site .tech-slide .tech-actions .tech-outline:hover { background: #ffffff2d; }
.technical-site .tech-slider-controls {
    inset-inline: auto clamp(22px,4vw,73px);
    bottom: 22px;
    border: 0;
    background: none;
    backdrop-filter: none;
    gap: .75rem;
    padding: 0;
}
.technical-site .tech-slider-dots button { width: 27px; height: 38px; }
.technical-site .tech-slider-dots button span { width: 12px; height: 2px; border-radius: 1px; }
.technical-site .tech-slider-dots button[aria-current="true"] span { width: 22px; height: 2px; }
.technical-site .tech-slider-buttons button { border: 0; background: #161a2377; width: 37px; height: 37px; border-radius: 50%; }
.technical-site .tech-slider-buttons button:hover { background: #ffffff28; }
.technical-site .tech-slider-count { font-size: .74rem; letter-spacing: .04em; }
.tech-masthead .tech-cover-kicker { border: 0; background: #ffffff28; }
.tech-masthead .tech-cover-control { border: 0; }
.tech-masthead .tech-cover-control button { border: 0; background: #ffffff24; color: #fff; }

.technical-site .tech-section-heading h2 { letter-spacing: -.045em; }
.technical-site .tech-card {
    border: 0;
    border-radius: var(--tech-radius);
    background: var(--tech-surface);
    box-shadow: none;
}
.technical-site .tech-card:hover { box-shadow: 0 12px 30px #11151b12; }
.technical-site .tech-card-copy > .tech-card-link,
.technical-site .tech-device-card-actions { border-color: var(--tech-editorial-rule); }
.technical-site .tech-card-link > svg, .technical-site .tech-card-link > span { background: none; }
.technical-site .tech-device-card {
    background: var(--paper);
    box-shadow: 0 8px 24px #11151b10;
}
.technical-site .tech-device-card .tech-card-image { aspect-ratio: 1.7; }
.technical-site .tech-device-card .tech-card-copy { padding: 22px 24px; }
.technical-site .tech-device-request { border: 0; background: var(--secondary); color: var(--on-secondary); }
.technical-site .tech-device-request:hover { background: color-mix(in srgb,var(--secondary) 88%,black); color: var(--on-secondary); }
.technical-site .tech-device-card .tech-card-detail:hover { color: var(--primary); }
.technical-site .tech-part-card { background: var(--paper); box-shadow: 0 8px 26px #11151b0b; }
.technical-site .tech-part-card .tech-card-image { aspect-ratio: 1.32; background: #f7efe6; }
.technical-site .tech-part-card .tech-card-image img { padding: .6rem; box-sizing: border-box; }
.technical-site .tech-part-card:hover img { transform: scale(1.02); }

.tech-record-grid[data-record-type="projects"] { grid-template-columns: 1.24fr 1fr 1fr; }
.technical-site .tech-project-card {
    position: relative;
    isolation: isolate;
    min-height: clamp(258px,24vw,380px);
    justify-content: flex-end;
    background: var(--secondary);
    color: #fff;
}
.technical-site .tech-project-card .tech-card-image { position: absolute; inset: 0; z-index: -2; height: 100%; aspect-ratio: auto; }
.tech-project-card::after {
    content: '';
    position: absolute;
    inset: 0;
    z-index: -1;
    background: linear-gradient(0deg,#111721ec,#111721a2 34%,transparent 78%);
    pointer-events: none;
}
.technical-site .tech-project-card .tech-card-copy { flex: 0 0 auto; }
.technical-site .tech-project-card .tech-card-copy > p { color: #f1f2f4; }
.technical-site .tech-project-card .tech-card-copy > .tech-card-link { border-color: #ffffff4c; color: #fff; }
.technical-site .tech-project-card .tech-card-link > svg { color: #fff; }

.tech-record-grid[data-record-type="posts"], .tech-record-grid[data-record-type="documents"] { grid-template-columns: repeat(2,minmax(0,1fr)); }
.technical-site .tech-resource-card {
    display: grid;
    grid-template-columns: minmax(0,1fr);
    min-height: 152px;
    background: var(--paper);
    border-radius: 0;
    border-bottom: 1px solid var(--tech-editorial-rule);
}
.technical-site .tech-resource-card:has(.tech-card-image) { grid-template-columns: 140px minmax(0,1fr); align-items: center; }
.technical-site .tech-resource-card .tech-card-image { margin: 0; aspect-ratio: 1.25; border-radius: 9px; }
.technical-site .tech-resource-card .tech-card-copy { padding-block: 12px; }
.technical-site .tech-resource-card .tech-card-copy > .tech-card-link { border: 0; padding-top: 0; }
.technical-site .tech-resource-card:hover { box-shadow: none; background: var(--tech-surface); }
.technical-site .tech-catalog-card .tech-card-image { aspect-ratio: 1.45; }
.technical-site .tech-catalog-card .tech-card-copy { background: var(--tech-surface); }

.technical-site .tech-section--soft, .technical-site .tech-process { background: var(--tech-surface); }
.technical-site .tech-process-steps li, .technical-site .tech-process-steps li > span,
.technical-site .tech-tags a, .technical-site .tech-service-body aside,
.technical-site .tech-form-panel fieldset, .technical-site .tech-faq details { border: 0; }
.technical-site .tech-process-steps li > span { background: var(--tech-surface); color: var(--secondary); }
.technical-site .tech-faq details { background: var(--tech-surface); }
.technical-site .tech-form-panel { border: 0; box-shadow: 0 12px 34px #11151b0e; }
.technical-site .tech-form-panel input:not([type="checkbox"]),
.technical-site .tech-form-panel select, .technical-site .tech-form-panel textarea,
.technical-site .tech-filters input, .technical-site .tech-filters select {
    border-color: var(--tech-border);
}
.technical-site .tech-form-panel input:focus, .technical-site .tech-form-panel select:focus, .technical-site .tech-form-panel textarea:focus,
.technical-site .tech-filters input:focus, .technical-site .tech-filters select:focus { border-color: #757575; }
.technical-site .tech-button.tech-outline { border: 0; background: var(--tech-surface); }
.technical-site .tech-slide .tech-actions .tech-outline { background: #ffffff18; }
.technical-site :focus-visible { outline-color: #575757; outline-offset: 3px; }
.tech-mast-page .tech-header :focus-visible, .technical-site .tech-slide :focus-visible,
.technical-site .tech-slider-controls :focus-visible { outline-color: #fff; }
.tech-mast-page .tech-header :is(nav,.tech-language ul) :focus-visible { outline-color: #575757; }
.technical-site .tech-footer { background: var(--secondary); }
.technical-site .tech-footer-bottom { border-color: #ffffff2e; }

@media(max-width:1000px) {
    .technical-site .tech-shell { width: calc(100% - 46px); }
    .technical-site .tech-slider-shell { width: calc(100% - 2 * var(--mast-edge)); }
    .tech-record-grid[data-record-type="projects"] { grid-template-columns: repeat(3,minmax(0,1fr)); }
    .technical-site .tech-resource-card:has(.tech-card-image) { grid-template-columns: 100px minmax(0,1fr); }
}
@media(min-width:681px) and (max-width:900px) {
    .technical-site .tech-cards { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media(max-width:680px) {
    .technical-site .tech-shell { width: calc(100% - 28px); }
    .technical-site .tech-slider-shell { width: calc(100% - 2 * var(--mast-edge)); }
    .technical-site .tech-slide { min-height: clamp(445px,67svh,550px); }
    .technical-site .tech-slide-copy { padding: calc(var(--mast-header-height) + 65px) 18px 72px; }
    .technical-site .tech-slide h2 { font-size: clamp(1.9rem,8.6vw,2.75rem); max-width: 17ch; }
    .technical-site .tech-slide::after, .technical-site .tech-slide.align-right::after {
        background: linear-gradient(0deg,#151922f5 0%,#151922cc 43%,#15192245 75%,transparent),
            rgb(0 0 0 / calc(var(--slide-overlay,.3) * .2));
    }
    .technical-site .tech-slider-controls { inset-inline: auto 14px; bottom: 12px; gap: .3rem; }
    .technical-site .tech-slider-dots button { width: 23px; height: 40px; }
    .technical-site .tech-slider-buttons button { width: 40px; height: 40px; }
    .tech-record-grid[data-record-type] { grid-template-columns: 1fr; }
    .technical-site .tech-device-card .tech-card-copy { padding: 17px; }
    .technical-site .tech-resource-card:has(.tech-card-image) { grid-template-columns: 85px minmax(0,1fr); }
}

/* Separate public components with surfaces and space instead of strokes. */
.technical-site :is(#main,.tech-header,.tech-footer,.cookie-dialog,.cookie-noscript),
.technical-site :is(#main,.tech-header,.tech-footer,.cookie-dialog,.cookie-noscript) :where(:not(input[type="checkbox"],input[type="radio"])) {
    border-width: 0;
}
.technical-site :is(#main,.tech-header,.tech-footer,.cookie-dialog,.cookie-noscript) :where(:not(input[type="checkbox"],input[type="radio"])):hover,
.technical-site :is(#main,.tech-header,.tech-footer,.cookie-dialog,.cookie-noscript) :where(:not(input[type="checkbox"],input[type="radio"])):focus {
    border-width: 0;
}
.technical-site #main .tech-card,
.technical-site #main .tech-device-card,
.technical-site #main .tech-form-panel,
.technical-site #main .tech-resource-card { box-shadow: none; }
.technical-site #main .tech-device-card,
.technical-site #main .tech-form-panel,
.technical-site #main .tech-resource-card { background: var(--tech-surface); }
.technical-site #main .tech-resource-card:hover { background: #ebedef; }
.technical-site #main .tech-card:hover .tech-card-image img { filter: brightness(.96); }
.technical-site #main .tech-device-card-actions { padding-top: .85rem; }
.technical-site #main .tech-form-panel fieldset { padding: .85rem 0 .15rem; }
.technical-site #main .tech-form-panel :is(input:not([type="checkbox"],[type="radio"]),textarea,select),
.technical-site #main .tech-filters :is(input,select) { background: #eceef0; }
.technical-site #main :is(input:not([type="checkbox"],[type="radio"]),textarea,select):focus-visible {
    outline: 2px solid #575757;
    outline-offset: 2px;
}
.technical-site #main .tech-slide .tech-kicker::before { display: none; }
.technical-site .tech-footer-bottom { margin-top: 36px; }
.technical-site .cookie-dialog [data-cookie-custom] { background: var(--tech-surface); }
.technical-site .cookie-dialog :is(button,input,a):focus-visible { outline-color: #575757; }