.technical-site {
    --tech-header-height: 72px;
    --tech-blue-soft: color-mix(in srgb,var(--primary) 7%,white);
    --tech-neutral: color-mix(in srgb,var(--secondary) 5%,white);
    --tech-rule: color-mix(in srgb,var(--ink) 14%,white);
    background: var(--paper);
}
.technical-site .tech-shell { width: min(1240px,calc(100% - 72px)); }
.technical-site .tech-header { background: var(--paper); border-color: var(--tech-rule); }
.technical-site .tech-header-inner { min-height: var(--tech-header-height); }
.technical-site .tech-header .tech-brand {
    gap: .6rem;
    font-size: 1.15rem;
    font-weight: 750;
    letter-spacing: -.035em;
}
.technical-site .tech-header .tech-brand-mark {
    width: 35px;
    height: 35px;
    flex-basis: 35px;
    border-radius: 9px;
    background: var(--primary);
    color: var(--on-primary);
}
.technical-site .tech-header .tech-desktop-nav > ul { gap: clamp(.75rem,2vw,2rem); }
.technical-site .tech-header .tech-desktop-nav > ul > li > a { font-size: .87rem; font-weight: 600; }
.technical-site .tech-header .tech-header-request {
    border-radius: 8px;
    background: var(--primary);
    color: var(--on-primary) !important;
}
.technical-site .tech-header .tech-mobile-menu > summary { border-color: var(--tech-rule); border-radius: 8px; }
.technical-site .tech-header .tech-language > summary { border: 0; }
.technical-site .tech-header .tech-desktop-nav li > ul { min-width: 208px; border-radius: 10px; }
.technical-site .tech-button, .technical-site .public-form button[type="submit"] { border-radius: 8px; }
.technical-site .tech-button.tech-outline { color: var(--ink); border-color: var(--tech-rule); }
.technical-site .tech-button.tech-outline:hover { background: var(--tech-neutral); }

.technical-site .tech-slider-shell {
    width: min(1240px,calc(100% - 72px));
    padding-top: 22px;
}
.technical-site .tech-slider-stage {
    border-radius: 16px;
    background: var(--tech-blue-soft);
    border: 1px solid var(--tech-rule);
}
.technical-site .tech-slide {
    grid-template-columns: minmax(0,.97fr) minmax(0,1.03fr);
    min-height: clamp(390px,32vw,448px);
    align-items: stretch;
    color: var(--ink);
    background: var(--tech-blue-soft);
}
.technical-site .tech-slide::after, .technical-site .tech-slide-media::after { display: none; }
.technical-site .tech-slide[hidden] { display: none; }
.technical-site .tech-slide-media {
    position: relative;
    inset: auto;
    z-index: auto;
    min-height: 100%;
    background: var(--tech-neutral);
}
.technical-site .tech-slide-media img, .technical-site .tech-slide-media video { object-position: center; }
.technical-site .tech-slide-copy {
    width: auto;
    margin: 0;
    padding: clamp(28px,3.6vw,54px);
    min-height: 0;
    justify-content: center;
}
.technical-site .tech-slide.align-right .tech-slide-copy { align-items: flex-end; text-align: end; }
.technical-site .tech-slide .tech-kicker {
    background: var(--paper);
    border: 1px solid var(--tech-rule);
    border-radius: 5px;
    color: var(--secondary);
    padding: .38rem .6rem;
    font-size: .68rem;
    letter-spacing: .09em;
    margin: 0 0 1.05rem;
}
.technical-site .tech-slide .tech-kicker::before { display: none; }
.technical-site .tech-slide h2 {
    font-size: clamp(2.6rem,4.55vw,4.7rem);
    line-height: 1.01;
    letter-spacing: -.057em;
    max-width: 14ch;
    font-weight: 800;
    text-wrap: initial;
}
.technical-site .tech-slide-summary { color: var(--muted); max-width: 41ch; margin: 1rem 0 1.35rem; }
.technical-site .tech-slide .tech-actions .tech-button { border-radius: 8px; }
.technical-site .tech-slide .tech-outline { color: var(--ink); background: transparent; border-color: var(--tech-rule); }
.technical-site .tech-slide .tech-outline:hover { background: var(--paper); }
.technical-site .tech-slider-controls {
    width: 100%;
    border: 0;
    margin-top: .25rem;
    padding-block: .35rem;
}
.technical-site .tech-slider-buttons button { width: 36px; height: 36px; border: 1px solid var(--tech-rule); border-radius: 7px; }
.technical-site .tech-slider-dots button[aria-current="true"] span { background: var(--primary); }

.technical-site .tech-section { padding-block: clamp(34px,5.6vw,79px); }
.technical-site .tech-section-heading { margin-bottom: 1.4rem; align-items: end; }
.technical-site .tech-section-heading h2 { font-size: clamp(1.9rem,3.65vw,3.35rem); max-width: 24ch; }
.technical-site .tech-section-heading > p { max-width: 40ch; line-height: 1.55; }
.technical-site .tech-section-heading .tech-kicker { color: var(--secondary); letter-spacing: .13em; }
.technical-site .tech-service-hub {
    padding-block: clamp(18px,2vw,28px) clamp(34px,5vw,70px);
    scroll-margin-top: calc(var(--tech-header-height) + 8px);
}
.tech-hub-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; }
.tech-hub-device {
    display: flex;
    gap: 16px;
    align-items: flex-start;
    padding: 18px;
    min-width: 0;
    border-radius: 12px;
    border: 1px solid var(--tech-rule);
    background: var(--paper);
    transition: border-color .2s ease;
}
.tech-hub-device:hover { border-color: var(--primary); }
.tech-hub-image { display: block; width: 91px; aspect-ratio: 1; overflow: hidden; border-radius: 8px; flex: 0 0 91px; background: var(--tech-neutral); }
.tech-hub-image img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.tech-hub-copy { min-width: 0; }
.technical-site .tech-hub-copy h3 { font-size: clamp(1rem,1.6vw,1.35rem); letter-spacing: -.035em; }
.tech-hub-copy > p, .tech-hub-copy ul { margin: .4rem 0; color: var(--muted); font-size: .81rem; line-height: 1.5; }
.tech-hub-copy ul { padding-inline-start: 1rem; }
.technical-site .tech-hub-action { display: inline-flex; align-items: center; gap: .38rem; color: var(--primary); font-weight: 750; font-size: .83rem; min-height: 34px; }
.tech-hub-action svg, .tech-feature-layout svg { width: 15px; height: 15px; flex: 0 0 15px; }
.technical-site .tech-section--soft, .technical-site .tech-process { background: var(--tech-blue-soft); }
.tech-process-steps {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 24px;
    padding: 0;
    margin: 0;
    list-style: none;
}
.tech-process-steps li { display: flex; gap: .85rem; border-top: 1px solid var(--tech-rule); padding-top: 1rem; }
.tech-process-steps li > span { color: var(--primary); font-size: .82rem; font-weight: 800; font-variant-numeric: tabular-nums; padding-top: .17rem; }
.tech-process-steps h3 { font-size: 1.17rem; }
.tech-process-steps p { margin: .43rem 0 0; color: var(--muted); line-height: 1.55; font-size: .88rem; }
.technical-site .tech-about img { border-radius: 13px; box-shadow: none; }

.tech-feature-layout { display: grid; grid-template-columns: minmax(0,1.32fr) minmax(0,1fr); gap: clamp(18px,3vw,38px); }
.tech-feature-lead {
    position: relative;
    display: grid;
    align-content: end;
    min-height: 320px;
    background: var(--secondary);
    border-radius: 12px;
    overflow: hidden;
    isolation: isolate;
}
.technical-site .tech-feature-lead { color: #fff; }
.tech-feature-lead::after { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(0deg,#101c27ef,transparent 70%); }
.tech-feature-lead > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; }
.tech-feature-lead > div { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 25px; }
.technical-site .tech-feature-lead h3 { font-size: clamp(1.4rem,2.6vw,2.65rem); }
.tech-feature-list a { display: flex; align-items: center; gap: 14px; padding: 16px 0; min-height: 95px; border-bottom: 1px solid var(--tech-rule); }
.tech-feature-list a:first-child { border-top: 1px solid var(--tech-rule); }
.tech-feature-list img { width: 91px; aspect-ratio: 1.3; height: auto; object-fit: cover; border-radius: 6px; flex-shrink: 0; }
.tech-feature-list h3 { font-size: clamp(1.05rem,1.7vw,1.45rem); }
.tech-feature-list p { margin: .3rem 0 0; font-size: .83rem; color: var(--muted); }
.tech-feature-list svg { margin-inline-start: auto; }

.technical-site .tech-cover {
    min-height: 240px;
    background: var(--tech-blue-soft);
    color: var(--ink);
    border-radius: 13px;
    border: 1px solid var(--tech-rule);
    box-shadow: none;
}
.technical-site .tech-cover h1 { font-size: clamp(2.15rem,4.2vw,3.85rem); }
.technical-site .tech-cover p { color: var(--muted); }
.technical-site .tech-cover .tech-breadcrumb { color: var(--muted); }
.technical-site .tech-form-panel, .technical-site .tech-card { border-radius: 12px; box-shadow: none; }
.technical-site .tech-form-panel fieldset { background: var(--tech-blue-soft); }
.technical-site .tech-contact-cover, .technical-site .tech-service-extra { padding-bottom: 0; }
.technical-site .tech-service-body, .technical-site .tech-service-extra { padding-top: 0; }

@media(max-width:980px) {
    .tech-hub-device { padding: 14px; gap: 10px; }
    .tech-hub-image { width: 64px; flex-basis: 64px; }
    .technical-site .tech-slider-shell, .technical-site .tech-shell { width: calc(100% - 44px); }
}
@media(max-width:680px) {
    .technical-site { --tech-header-height: 61px; }
    .technical-site .tech-header .tech-brand { font-size: 1rem; }
    .technical-site .tech-header .tech-brand-mark { width: 31px; height: 31px; flex-basis: 31px; }
    .technical-site .tech-slider-shell, .technical-site .tech-shell { width: calc(100% - 28px); }
    .technical-site .tech-slider-shell { padding-top: 12px; }
    .technical-site .tech-slide { grid-template-columns: minmax(0,1fr); min-height: 0; }
    .technical-site .tech-slide-media { grid-row: 1; min-height: 0; aspect-ratio: 1.74; }
    .technical-site .tech-slide-copy { padding: 23px 18px 24px; }
    .technical-site .tech-slide h2 { font-size: clamp(2.1rem,8.9vw,3rem); max-width: 17ch; }
    .technical-site .tech-slide .tech-kicker { margin-bottom: .72rem; }
    .technical-site .tech-slide-summary { margin-block: .68rem .96rem; }
    .technical-site .tech-slide .tech-actions .tech-button { font-size: .83rem; padding-inline: .84rem; }
    .technical-site .tech-slider-controls { padding-block: .28rem; }
    .tech-hub-grid, .tech-process-steps, .tech-feature-layout { grid-template-columns: 1fr; }
    .tech-hub-image { width: 82px; flex-basis: 82px; }
    .tech-hub-device { padding: 13px; gap: 12px; }
    .tech-feature-lead { min-height: 230px; }
    .tech-feature-lead > div { padding: 17px; }
    .technical-site .tech-cover { min-height: 0; }
    .technical-site .tech-cover-copy { padding: 25px 19px; }
}
@media(prefers-reduced-motion:reduce) { .tech-hub-device { transition: none; } }

.technical-site .tech-slide-media:not(:empty)::after {
    content: '';
    display: block;
    position: absolute;
    inset: 0;
    z-index: 2;
    pointer-events: none;
    background: rgb(0 0 0 / calc(var(--slide-overlay,.3) * .22));
}
.technical-site .tech-section--dark .tech-button.tech-outline { color: var(--on-secondary); border-color: currentColor; }