.technical-site {
    --tech-radius: 24px;
    --tech-depth: 0 18px 48px color-mix(in srgb, var(--secondary) 10%, transparent);
    --tech-subtle: color-mix(in srgb, var(--secondary) 6%, var(--paper));
}

.technical-site .tech-shell { width: min(1240px, calc(100% - 64px)); }
.technical-site .tech-header { background: var(--paper); }
.technical-site .tech-header-inner { min-height: 80px; gap: clamp(.7rem, 2vw, 1.65rem); }
.technical-site .tech-brand { font-size: 1.2rem; letter-spacing: -.048em; }
.technical-site .tech-brand-mark { background: var(--secondary); color: var(--primary); border-radius: 12px; }
.technical-site .tech-footer .tech-brand-mark { background: var(--primary); color: var(--on-primary); }
.technical-site .tech-desktop-nav > ul { gap: .25rem; }
.technical-site .tech-desktop-nav > ul > li > a {
    padding: .66rem .68rem;
    border-radius: 9px;
    white-space: nowrap;
}
.technical-site .tech-desktop-nav li > ul { padding: .45rem; min-width: 200px; }
.technical-site .tech-desktop-nav li li > a { border-radius: 7px; }
.technical-site .tech-header-request { border-radius: 999px; padding-inline: 1.12rem; }
.technical-site .tech-language > summary, .technical-site .tech-mobile-menu > summary {
    list-style: none;
    border: 1px solid var(--line);
    border-radius: 9px;
    font-size: .82rem;
    padding: .58rem .72rem;
    display: flex;
    align-items: center;
    gap: .35rem;
    min-height: 38px;
}
.tech-language > summary::after, .tech-mobile-menu > summary::after { content: '⌄'; color: var(--muted); }
.tech-language > summary::-webkit-details-marker, .tech-mobile-menu > summary::-webkit-details-marker { display:none; }
.technical-site .tech-button, .technical-site .public-form button[type="submit"] { border-radius: 999px; padding-inline: 1.16rem; }

.tech-slider-shell { position: relative; padding-top: 24px; }
.tech-slider-stage { overflow: hidden; border-radius: var(--tech-radius); background: var(--secondary); box-shadow: var(--tech-depth); }
.tech-slide {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.13fr);
    min-height: clamp(450px, 41vw, 552px);
    background: var(--secondary);
    color: var(--on-secondary);
}
.tech-slide[hidden], .tech-slider-controls[hidden] { display:none; }
.tech-slide-copy {
    padding: clamp(32px, 4.6vw, 72px);
    align-self: center;
    min-width: 0;
    animation: tech-slide-copy .32s ease-out both;
}
@keyframes tech-slide-copy {
    from { opacity: 0; transform: translateY(7px); }
    to { opacity: 1; transform: translateY(0); }
}
.technical-site .tech-slide h2 { font-size: clamp(2.6rem, 4.5vw, 4.7rem); line-height: 1.02; text-wrap: balance; }
.tech-slide .tech-kicker {
    display: inline-flex;
    align-items: center;
    gap: .52rem;
    margin-bottom: 1.15rem;
    color: var(--primary);
}
.tech-slide .tech-kicker::before { content: ''; width: 18px; height: 1px; background: currentColor; }
.tech-slide-summary { color: color-mix(in srgb,var(--on-secondary) 84%,var(--secondary)); max-width: 40ch; margin: 1rem 0 1.5rem; line-height: 1.65; }
.tech-slide .tech-outline { border-color: color-mix(in srgb,var(--on-secondary) 48%,transparent); }
.tech-slide-media { position: relative; min-width: 0; background: color-mix(in srgb,var(--on-secondary) 10%,var(--secondary)); }
.tech-slide-media picture, .tech-slide-media img, .tech-slide-media video { display: block; width: 100%; height: 100%; position: absolute; inset: 0; object-fit: cover; object-position: center; }
.tech-slider-controls { display: flex; justify-content: space-between; align-items: center; gap: .75rem; padding-block: .55rem; }
.tech-slider-dots, .tech-slider-buttons { display: flex; align-items: center; gap: .38rem; }
.tech-slider-dots { flex-wrap: wrap; }
.tech-slider-dots button, .tech-slider-buttons button {
    appearance: none;
    display: grid;
    place-items: center;
    color: var(--ink);
    background: transparent;
    cursor: pointer;
    width: 42px;
    height: 42px;
    border: 1px solid var(--line);
    border-radius: 50%;
    padding: 0;
    font: 700 1rem/1 var(--body-font),sans-serif;
}
.tech-slider-buttons button:hover { background: var(--primary); }
.tech-slider-dots button { width: 31px; border-color: transparent; }
.tech-slider-dots button span { width: 8px; height: 8px; border-radius: 999px; background: color-mix(in srgb,var(--ink) 30%,var(--paper)); }
.tech-slider-dots button[aria-current="true"] span { width: 22px; height: 5px; background: var(--secondary); }
.tech-slider-count { color: var(--muted); font-size: .78rem; white-space: nowrap; font-variant-numeric: tabular-nums; margin-inline-end: .35rem; }

.technical-site .tech-section { padding-block: clamp(32px, 5.2vw, 76px); }
.technical-site .tech-section-heading { margin-bottom: 1.45rem; }
.technical-site .tech-section-heading h2 { max-width: 21ch; }
.technical-site .tech-section-heading .tech-kicker { color: var(--muted); }
.technical-site .tech-section--dark .tech-section-heading .tech-kicker { color: var(--primary); }
.technical-site .tech-cards { gap: clamp(14px, 1.7vw, 24px); }
.technical-site .tech-card {
    display: flex;
    flex-direction: column;
    border-radius: 19px;
    background: color-mix(in srgb, var(--paper) 62%, white);
    box-shadow: 0 10px 26px color-mix(in srgb, var(--secondary) 5%, transparent);
    transition: box-shadow .2s ease, border-color .2s ease;
}
.technical-site .tech-card:hover { border-color: color-mix(in srgb,var(--secondary) 33%,var(--paper)); box-shadow: var(--tech-depth); }
.technical-site .tech-card-image { position: relative; aspect-ratio: 1.7; }
.technical-site .tech-card-image img { display: block; }
.technical-site .tech-card-copy { display: flex; flex-direction: column; flex: 1; padding: clamp(17px, 2vw, 26px); }
.technical-site .tech-card-copy > p { margin-block: .65rem 1.15rem; }
.technical-site .tech-card-copy > .tech-card-link { margin-top: auto; min-height: 36px; }
.technical-site .tech-card-link > span, .technical-site .tech-card-link > svg { border-radius: 50%; background: var(--primary); color: var(--on-primary); display: grid; place-items: center; box-sizing: content-box; width: 16px; height: 16px; padding: 8px; }
.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-section--soft { background: var(--tech-subtle); }
.technical-site .tech-about { gap: clamp(24px, 6vw, 92px); }
.technical-site .tech-about img { border-radius: var(--tech-radius); box-shadow: var(--tech-depth); }
.technical-site .tech-cta { border-radius: var(--tech-radius); }
.technical-site .tech-faq { display: grid; gap: .55rem; border: 0; }
.technical-site .tech-faq details { border: 1px solid var(--line); border-radius: 12px; padding-inline: 1rem; background: var(--surface); }
.technical-site .tech-faq summary { color: var(--ink); }
.technical-site .tech-faq .prose { color: var(--muted); }
.technical-site .tech-cover { min-height: 255px; border-radius: var(--tech-radius); box-shadow: var(--tech-depth); }
.technical-site .tech-cover-copy { padding: clamp(25px, 4.7vw, 64px); }
.technical-site .tech-cover h1 { text-wrap: balance; }
.technical-site .tech-cover:not(.has-cover-image) { background: var(--tech-subtle); color: var(--ink); }
.technical-site .tech-cover:not(.has-cover-image) .tech-breadcrumb { color: var(--muted); }
.technical-site .tech-form-panel { background: color-mix(in srgb,var(--paper) 68%,white); border-radius: var(--tech-radius); box-shadow: var(--tech-depth); }
.technical-site .tech-form-panel fieldset { border-color: var(--line); background: var(--tech-subtle); }
.technical-site .tech-form-panel input:not([type="checkbox"]), .technical-site .tech-form-panel select, .technical-site .tech-form-panel textarea { border-radius: 10px; }
.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; }
.technical-site .tech-footer { margin-top: clamp(22px, 4vw, 58px); }

@media(max-width:1160px) {
    .technical-site .tech-desktop-nav, .technical-site .tech-header-request { display: none; }
    .technical-site .tech-mobile-menu { display:block; }
    .technical-site .tech-mobile-menu nav { position:absolute; inset-inline:0; top:100%; max-height:75vh; overflow:auto; padding:16px 24px 24px; border-bottom:1px solid var(--line); background:var(--paper); }
}
@media(max-width:680px) {
    .technical-site .tech-shell { width: calc(100% - 28px); }
    .technical-site .tech-header-inner { min-height: 64px; gap: .35rem; }
    .technical-site .tech-brand { font-size: 1rem; gap: .45rem; }
    .technical-site .tech-brand-mark { flex-basis: 32px; height: 32px; }
    .tech-slider-shell { padding-top: 12px; }
    .tech-slider-stage { border-radius: 17px; }
    .tech-slide { grid-template-columns: minmax(0,1fr); min-height: 0; }
    .tech-slide-copy { padding: 27px 20px 24px; }
    .technical-site .tech-slide h2 { font-size: clamp(2.05rem, 9vw, 3.15rem); }
    .tech-slide-summary { margin: .75rem 0 1rem; font-size: .92rem; }
    .tech-slide .tech-kicker { font-size: .65rem; margin-bottom: .75rem; }
    .tech-slide-media { min-height: 0; aspect-ratio: 1.65; }
    .tech-slider-controls { padding-block: .35rem; }
    .tech-slider-buttons button { width: 40px; height: 40px; }
    .tech-slider-count { margin-inline-end: .1rem; }
    .technical-site .tech-cover { min-height: 0; border-radius: 17px; }
    .technical-site .tech-cover-copy { padding: 25px 20px; }
}
@media(prefers-reduced-motion:reduce) {
    .tech-slide-copy { animation: none; }
    .technical-site .tech-card { transition:none; }
}

@media(max-width:1160px) {
    .technical-site .tech-mobile-menu nav ul ul { padding-inline-start: 18px; }
    .technical-site .tech-mobile-menu nav li > a { display: block; padding-block: .65rem; }
}