.archive-page { --section-gap:120px; --archive-blue:var(--color-primary); color:#0b1b34; background:#fff; }
.archive-page .company-hero__inner { padding-top:72px; }
.archive-container,.archive-page .archive-contact .tm-container { width:min(1440px,calc(100% - 128px)); margin-inline:auto; }
.archive-local { border-bottom:1px solid #dfe8f2; background:#fff; }
.archive-local .archive-container { display:flex; overflow-x:auto; }
.archive-local a { flex-shrink:0; padding:26px; color:#607087; font-size:15px; font-weight:600; border-bottom:3px solid transparent; }
.archive-local a.is-active { color:var(--color-primary); border-color:var(--color-primary); }
.archive-section { padding-block:var(--section-gap); }
.archive-kicker { margin:0 0 26px; color:var(--archive-blue); font-size:12px; font-weight:700; letter-spacing:.06em; }
.archive-section h2 { margin:0; font-size:clamp(30px,3vw,44px); line-height:1.4; letter-spacing:-.035em; }
.archive-intro { margin:22px 0 0; color:#67788f; line-height:1.8; }
.archive-tabs { display:flex; gap:36px; overflow-x:auto; margin-top:44px; border-bottom:1px solid #dce6f0; }
.archive-tabs button { flex-shrink:0; padding:18px 4px; border:0; border-bottom:2px solid transparent; color:#68768b; background:transparent; font:inherit; cursor:pointer; }
.archive-tabs button[aria-selected=true] { color:var(--archive-blue); border-color:var(--archive-blue); }
.archive-row { position:relative; display:grid; grid-template-columns:100px minmax(0,1fr); gap:36px; align-items:start; padding:32px 36px; border-bottom:1px solid #dce6f0; cursor:default; transition:background .3s; animation:archive-in .3s ease both; }
.archive-row::before { content:""; position:absolute; inset:0 auto 0 0; width:3px; background:var(--archive-blue); opacity:0; transition:opacity .3s; }
.archive-row:hover { background:#f2f8ff; }
.archive-row:hover::before { opacity:1; }
.archive-index { font-size:34px; line-height:1.3; font-weight:400; color:#75869b; padding-top:20px; }
.archive-category { margin:0 0 12px; color:var(--archive-blue); font-size:12px; font-weight:700; }
.archive-row h3 { margin:0; font-size:24px; line-height:1.45; overflow-wrap:anywhere; word-break:keep-all; letter-spacing:-.025em; }
.archive-summary { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; margin:12px 0 0; color:#66768e; line-height:1.75; }
.archive-more { display:block; min-width:240px; margin:40px auto 0; padding:16px 30px; border:1px solid var(--archive-blue); background:#fff; color:var(--archive-blue); font:inherit; cursor:pointer; }
.archive-more[hidden] { display:none; }
.archive-clients { background:#f5f9fd; }
.archive-client-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border-left:1px solid #dce6f0; }
.archive-client { display:grid; place-items:center; min-height:130px; padding:24px; text-align:center; border-right:1px solid #dce6f0; border-bottom:1px solid #dce6f0; background:#fff; color:#728197; font-size:21px; font-weight:600; overflow-wrap:anywhere; transition:color .25s,opacity .25s; animation:archive-in .25s ease both; }
.archive-client:hover { color:var(--archive-blue); }
.archive-client img { display:block; width:auto; height:auto; max-width:min(190px,82%); max-height:58px; object-fit:contain; }
.archive-client--bluenix img { width:min(230px,88%); max-width:none; max-height:72px; image-rendering:auto; }
.archive-client__fallback { display:grid; min-height:58px; place-items:center; }
.archive-page .archive-contact { padding:var(--section-gap) 0; background:#fff; }
.archive-page button:focus-visible,.archive-page a:focus-visible { outline:3px solid var(--color-primary); outline-offset:4px; }
#archive-projects { scroll-margin-top:100px; }
@keyframes archive-in { from { opacity:0; } to { opacity:1; } }
@media(max-width:1000px) { .archive-client-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } .archive-row { grid-template-columns:65px minmax(0,1fr); gap:20px; padding-inline:20px; } }
@media(max-width:600px) {
 .archive-page { --section-gap:72px; }
 .archive-container,.archive-page .archive-contact .tm-container { width:calc(100% - 40px); }
 .archive-local a { font-size:14px; padding:22px 16px; }
 .archive-page .page-hero h1 { font-size:32px; max-width:calc(100vw - 48px); line-height:1.35; }
 .archive-page .page-hero span { display:block; max-width:calc(100vw - 48px); font-size:15px; line-height:1.75; }
 .archive-tabs { gap:24px; }
 .archive-row { grid-template-columns:1fr; gap:16px; padding:26px 14px; }
 .archive-index { padding:0; font-size:27px; }
 .archive-row h3 { font-size:21px; }
 .archive-summary { -webkit-line-clamp:3; font-size:15px; }
 .archive-client-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .archive-client { min-height:110px; padding:18px 12px; font-size:17px; }
 .archive-client img { max-width:min(140px,86%); max-height:48px; }
 .archive-client--bluenix img { width:min(165px,90%); max-width:none; max-height:54px; }
 .archive-client__fallback { min-height:48px; }
}
@media(prefers-reduced-motion:reduce) { .archive-row,.archive-client { animation:none; transition:none; } .archive-row::before { transition:none; } }
