/* v165 inner.css: internal/service/privacy/contact page styles only. Loaded on non-home pages. */

/* v19: service pages, cases, rich content blocks */
.ts-service-page .ts-content-card,
.ts-about-page .ts-content-card,
.ts-contact-page .ts-content-card,
.ts-cases-page .ts-content-card,
.ts-case-detail .ts-content-card { overflow: hidden; }

.ts-service-lead-card,
.ts-case-hero,
.ts-case-detail-hero {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1.4fr) minmax(280px, .75fr);
    gap: clamp(28px, 4vw, 70px);
    align-items: end;
    padding: clamp(30px, 5vw, 68px);
    border: 1px solid rgba(8,18,31,.10);
    border-radius: clamp(28px, 4vw, 48px);
    background:
        radial-gradient(circle at 82% 18%, rgba(24,214,177,.16), transparent 26rem),
        linear-gradient(135deg, #ffffff, #f5f8fb);
    box-shadow: var(--ts-shadow-soft);
    overflow: hidden;
}
.ts-service-lead-card:before,
.ts-case-hero:before,
.ts-case-detail-hero:before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg, rgba(8,18,31,.035) 1px, transparent 1px),
        linear-gradient(0deg, rgba(8,18,31,.035) 1px, transparent 1px);
    background-size: 74px 74px;
    mask-image: linear-gradient(90deg, transparent, #000 15%, #000 78%, transparent);
    pointer-events: none;
}
.ts-service-lead-card > *,
.ts-case-hero > *,
.ts-case-detail-hero > * { position: relative; z-index: 1; }
.ts-stack-chips,
.ts-case-hero__meta,
.ts-case-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}
.ts-stack-chip,
.ts-case-hero__meta span,
.ts-case-tags span {
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    padding: 0 14px;
    border-radius: 999px;
    border: 1px solid rgba(8,18,31,.11);
    background: rgba(255,255,255,.68);
    color: rgba(8,18,31,.72);
    font-family: var(--ts-font-condensed);
    font-weight: 700;
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: .05em;
}
.ts-inner-block { margin-top: clamp(38px, 5vw, 78px); }
.ts-process-card,
.ts-inline-kpi,
.ts-values-grid article,
.ts-case-grid article {
    position: relative;
    min-height: 210px;
    padding: clamp(24px, 3vw, 34px);
    border-radius: 30px;
    border: 1px solid rgba(8,18,31,.10);
    background: #fff;
    box-shadow: 0 18px 50px rgba(8,18,31,.06);
    overflow: hidden;
}
.ts-process-card:after,
.ts-inline-kpi:after,
.ts-values-grid article:after,
.ts-case-grid article:after {
    content: "";
    position: absolute;
    width: 140px;
    height: 140px;
    right: -70px;
    top: -70px;
    border-radius: 50%;
    border: 1px solid rgba(24,214,177,.22);
}
.ts-process-card span,
.ts-inline-kpi b {
    display: inline-flex;
    color: var(--ts-accent);
    font-family: var(--ts-font-condensed);
    font-size: 14px;
    font-weight: 900;
    letter-spacing: .12em;
}
.ts-process-card h3,
.ts-inline-kpi span,
.ts-values-grid b,
.ts-case-grid b {
    display: block;
    margin-top: 32px;
    color: var(--ts-ink);
    font-size: clamp(24px, 2.3vw, 34px);
    line-height: .98;
    letter-spacing: -.055em;
    font-weight: 700;
}
.ts-process-card p,
.ts-inline-kpi p,
.ts-values-grid p,
.ts-case-grid p { color: var(--ts-muted-dark); }
.ts-dark-cta {
    min-height: 100%;
    padding: clamp(28px, 4vw, 46px);
    border-radius: 34px;
    background:
        radial-gradient(circle at 80% 10%, rgba(24,214,177,.24), transparent 24rem),
        linear-gradient(135deg, #07111f, #0a1d2c);
    color: #fff;
    box-shadow: 0 24px 80px rgba(8,18,31,.22);
}
.ts-dark-cta h2 { color: #fff; font-size: clamp(32px, 4vw, 58px); line-height: .96; letter-spacing: -.065em; font-weight: 700; }
.ts-dark-cta p { color: rgba(234,242,255,.66); }
.ts-big-checklist { list-style: none; padding: 0; margin: 0; display: grid; gap: 14px; }
.ts-big-checklist li {
    position: relative;
    padding: 18px 18px 18px 52px;
    border-radius: 20px;
    background: #fff;
    border: 1px solid rgba(8,18,31,.10);
    box-shadow: 0 14px 38px rgba(8,18,31,.045);
    color: rgba(8,18,31,.76);
}
.ts-big-checklist li:before {
    content: "";
    position: absolute;
    left: 18px;
    top: 18px;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--ts-accent), var(--ts-warn));
    box-shadow: 0 0 0 5px rgba(24,214,177,.11);
}
.ts-service-table { display: grid; gap: 12px; }
.ts-service-table div {
    display: grid;
    grid-template-columns: minmax(160px,.36fr) 1fr;
    gap: 18px;
    padding: 22px 24px;
    border: 1px solid rgba(8,18,31,.10);
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 14px 38px rgba(8,18,31,.045);
}
.ts-service-table b { color: var(--ts-ink); font-size: 20px; letter-spacing: -.025em; }
.ts-service-table span { color: var(--ts-muted-dark); }
.ts-values-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 18px; }
.ts-contact-methods { display: grid; gap: 12px; }
.ts-contact-methods a {
    display: grid;
    gap: 5px;
    padding: 20px 22px;
    border-radius: 22px;
    background: #fff;
    border: 1px solid rgba(8,18,31,.10);
    text-decoration: none;
    box-shadow: 0 14px 38px rgba(8,18,31,.045);
}
.ts-contact-methods span { color: var(--ts-muted-dark); font-size: 13px; text-transform: uppercase; letter-spacing: .08em; }
.ts-contact-methods b { color: var(--ts-ink); font-size: 24px; letter-spacing: -.035em; }
.ts-brief-list h3 { font-size: 28px; line-height: 1.05; letter-spacing: -.05em; }
.ts-main-case {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(340px, .95fr);
    gap: clamp(28px, 4vw, 68px);
    align-items: stretch;
    padding: clamp(28px, 4vw, 52px);
    border-radius: clamp(30px, 4vw, 52px);
    background:
        radial-gradient(circle at 28% 20%, rgba(24,214,177,.20), transparent 25rem),
        linear-gradient(135deg, #07111f, #0b2233);
    color: #fff;
    box-shadow: 0 24px 90px rgba(8,18,31,.24);
}
.ts-main-case h2 { color:#fff; font-size: clamp(34px, 4vw, 62px); line-height: .96; letter-spacing: -.07em; font-weight: 700; }
.ts-main-case p { color: rgba(234,242,255,.70); }
.ts-case-browser { overflow: hidden; border-radius: 30px; background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.14); box-shadow: inset 0 1px 0 rgba(255,255,255,.08); }
.ts-case-browser__top { display:flex; align-items:center; gap:8px; height:46px; padding:0 16px; border-bottom:1px solid rgba(255,255,255,.11); color:rgba(234,242,255,.62); font-size:13px; }
.ts-case-browser__top i { width:9px; height:9px; border-radius:50%; background:var(--ts-accent); }
.ts-case-browser__top i:nth-child(2){ background:#58a6ff; } .ts-case-browser__top i:nth-child(3){ background:var(--ts-warn); }
.ts-case-browser__screen { padding: 18px; min-height: 360px; }
.ts-medical-layout { height: 330px; border-radius: 24px; background: linear-gradient(135deg,#f8fbff,#e9f8f5); padding:18px; display:grid; grid-template-columns: .35fr 1fr; gap:14px; }
.ts-medical-layout__nav { border-radius:18px; background:linear-gradient(180deg,#00a99e,#0f766e); opacity:.85; }
.ts-medical-layout__hero { border-radius:20px; background:linear-gradient(135deg,#dff7f1,#ffffff); box-shadow: inset 0 0 0 1px rgba(8,18,31,.08); }
.ts-medical-layout__cards { grid-column:1/3; display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
.ts-medical-layout__cards i { border-radius:18px; background:#fff; box-shadow:0 12px 30px rgba(8,18,31,.08); }
.ts-medical-layout__list { grid-column:1/3; display:grid; gap:9px; }
.ts-medical-layout__list i { border-radius:99px; background:rgba(8,18,31,.10); }
.ts-case-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
.ts-case-grid article span { display:inline-flex; margin-top:18px; color:var(--ts-accent); font-family:var(--ts-font-condensed); text-transform:uppercase; font-weight:800; }
.ts-case-detail-hero__panel {
    display:grid;
    grid-template-columns: .45fr 1fr;
    gap: 12px 18px;
    padding: 28px;
    border-radius: 28px;
    background: rgba(8,18,31,.94);
    color:#fff;
    box-shadow: 0 24px 80px rgba(8,18,31,.20);
}
.ts-case-detail-hero__panel span { color: rgba(234,242,255,.50); text-transform: uppercase; font-size: 12px; letter-spacing:.08em; }
.ts-case-detail-hero__panel b { color:#fff; }
.ts-back-link { color: var(--ts-accent); text-decoration:none; font-weight:800; }
.ts-timeline { display:grid; gap:16px; }
.ts-timeline article {
    display:grid;
    grid-template-columns: 54px minmax(180px,.35fr) 1fr;
    gap: 18px;
    align-items:start;
    padding: 24px;
    border-radius: 24px;
    border:1px solid rgba(8,18,31,.10);
    background:#fff;
    box-shadow:0 14px 38px rgba(8,18,31,.045);
}
.ts-timeline span { color:var(--ts-accent); font-family:var(--ts-font-condensed); font-weight:900; letter-spacing:.12em; }
.ts-timeline b { color:var(--ts-ink); font-size:22px; letter-spacing:-.035em; }
.ts-timeline p { margin:0; color:var(--ts-muted-dark); }
@media (max-width: 1199px) {
    .ts-service-lead-card,
    .ts-case-hero,
    .ts-case-detail-hero,
    .ts-main-case { grid-template-columns: 1fr; }
    .ts-case-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 767px) {
    .ts-service-table div,
    .ts-timeline article { grid-template-columns:1fr; }
    .ts-values-grid,
    .ts-case-grid { grid-template-columns:1fr; }
    .ts-contact-methods b { font-size:20px; }
}

/* v20: contact page redesign + reliable mobile menu */
.ts-contact-hero{position:relative;overflow:hidden;min-height:760px;padding-top:clamp(150px,13vw,210px);background:radial-gradient(circle at 78% 18%,rgba(24,214,177,.24),transparent 30rem),radial-gradient(circle at 18% 72%,rgba(88,166,255,.16),transparent 28rem),linear-gradient(135deg,#05080d 0%,#071521 52%,#062725 100%);color:#fff}
.ts-contact-hero__glow{position:absolute;inset:auto -12% -22% 40%;height:520px;background:radial-gradient(circle,rgba(24,214,177,.28),transparent 64%);filter:blur(20px);opacity:.85}
.ts-contact-hero__grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(360px,.72fr);gap:clamp(34px,6vw,92px);align-items:center}
.ts-contact-title{max-width:920px;margin:0;color:#fff;font-family:var(--ts-font-condensed);font-size:clamp(52px,7.4vw,118px);line-height:.86;font-weight:700;letter-spacing:-.065em}
.ts-contact-lead{max-width:760px;margin:30px 0 0;color:rgba(234,242,255,.76);font-size:clamp(18px,1.25vw,24px);line-height:1.55}
.ts-contact-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:36px}
.ts-contact-quick{margin-top:clamp(44px,6vw,84px)}
.ts-contact-mini{min-height:168px;padding:24px;border:1px solid rgba(255,255,255,.12);border-radius:28px;background:rgba(255,255,255,.045);backdrop-filter:blur(18px)}
.ts-contact-mini span,.ts-brief-card b{display:inline-flex;color:var(--ts-accent);font-family:var(--ts-font-condensed);font-size:15px;font-weight:800;letter-spacing:.13em}
.ts-contact-mini b{display:block;margin-top:16px;color:#fff;font-size:21px;font-weight:800}.ts-contact-mini p{margin:10px 0 0;color:rgba(234,242,255,.64);line-height:1.55}
.ts-contact-panel{position:relative;padding:clamp(28px,3vw,44px);border:1px solid rgba(255,255,255,.14);border-radius:38px;background:linear-gradient(135deg,rgba(255,255,255,.12),rgba(255,255,255,.045)),rgba(3,10,18,.72);box-shadow:0 40px 110px rgba(0,0,0,.34),inset 0 1px 0 rgba(255,255,255,.14);overflow:hidden}
.ts-contact-panel:before{content:"";position:absolute;inset:-35% -25% auto auto;width:330px;height:330px;border-radius:50%;background:radial-gradient(circle,rgba(24,214,177,.35),transparent 66%);filter:blur(8px)}.ts-contact-panel>*{position:relative;z-index:1}
.ts-contact-panel__top{display:flex;justify-content:space-between;align-items:center;margin-bottom:54px;color:rgba(234,242,255,.58);font-family:var(--ts-font-condensed);text-transform:uppercase;letter-spacing:.12em}.ts-contact-panel__top b{color:var(--ts-accent);font-weight:800}
.ts-contact-panel h2{max-width:420px;margin:0;color:#fff;font-family:var(--ts-font-condensed);font-size:clamp(42px,4.6vw,74px);line-height:.92;font-weight:700;letter-spacing:-.045em}.ts-contact-panel p{margin-top:20px;color:rgba(234,242,255,.72);font-size:17px;line-height:1.6}
.ts-contact-lines{display:grid;gap:12px;margin-top:34px}.ts-contact-lines div{padding:18px 18px 16px;border:1px solid rgba(255,255,255,.12);border-radius:20px;background:rgba(1,9,16,.54)}.ts-contact-lines span{display:block;margin-bottom:6px;color:rgba(234,242,255,.42);font-size:12px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.ts-contact-lines b{color:#fff;font-size:16px}
.ts-contact-go{display:inline-flex;align-items:center;gap:14px;margin-top:34px;color:#07111f!important;text-decoration:none!important;font-family:var(--ts-font-condensed);font-size:24px;font-weight:900;text-transform:uppercase}.ts-contact-go span{display:inline-flex;align-items:center;justify-content:center;width:92px;height:92px;border-radius:50%;background:linear-gradient(135deg,var(--ts-accent),var(--ts-warn));box-shadow:0 20px 60px rgba(24,214,177,.24);transition:transform .35s ease}.ts-contact-go:hover span{transform:rotate(-8deg) scale(1.06)}
.ts-section-light{background:#f5f7fb}.ts-contact-methods{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.ts-contact-method{display:block;min-height:210px;padding:26px;border:1px solid rgba(8,18,31,.08);border-radius:30px;background:#fff;color:var(--ts-ink)!important;text-decoration:none!important;box-shadow:0 20px 70px rgba(8,18,31,.07);transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease}.ts-contact-method:hover{transform:translateY(-5px);border-color:rgba(24,214,177,.35);box-shadow:0 30px 90px rgba(8,18,31,.12)}
.ts-contact-method__icon{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;margin-bottom:28px;border-radius:16px;color:var(--ts-accent);background:rgba(24,214,177,.10)}.ts-contact-method small{display:block;margin-bottom:8px;color:var(--ts-muted);font-size:12px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.ts-contact-method b{display:block;color:var(--ts-ink);font-size:clamp(20px,1.6vw,28px);line-height:1.15}.ts-contact-method em{display:block;margin-top:12px;color:var(--ts-muted);font-style:normal;line-height:1.55}
.ts-contact-brief__head{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,480px);gap:28px;align-items:end;margin-bottom:34px}.ts-brief-card{min-height:250px;padding:28px;border:1px solid rgba(255,255,255,.12);border-radius:30px;background:linear-gradient(135deg,rgba(255,255,255,.08),rgba(255,255,255,.035))}.ts-brief-card h3{margin:42px 0 12px;color:#fff;font-family:var(--ts-font-condensed);font-size:30px;line-height:1;font-weight:700}.ts-brief-card p{margin:0;color:rgba(234,242,255,.65);line-height:1.55}
.ts-contact-process{display:grid;grid-template-columns:minmax(260px,.38fr) minmax(0,1fr);gap:clamp(30px,5vw,76px)}.ts-contact-timeline{position:relative;display:grid;gap:14px}.ts-contact-timeline:before{content:"";position:absolute;top:28px;bottom:28px;left:27px;width:1px;background:linear-gradient(var(--ts-accent),rgba(8,18,31,.08))}.ts-contact-step{position:relative;display:grid;grid-template-columns:56px minmax(0,1fr);gap:22px;padding:24px;border-radius:28px;background:#fff;box-shadow:0 18px 60px rgba(8,18,31,.06)}.ts-contact-step span{position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:50%;color:#07111f;background:linear-gradient(135deg,var(--ts-accent),var(--ts-warn));font-family:var(--ts-font-condensed);font-size:20px;font-weight:900}.ts-contact-step h3{margin:0 0 8px;font-family:var(--ts-font-condensed);font-size:28px;font-weight:700}.ts-contact-step p{margin:0;color:var(--ts-muted);line-height:1.55}
.ts-contact-final{background:#f5f7fb;padding-bottom:clamp(70px,8vw,130px)}.ts-contact-final__box{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:clamp(30px,4vw,58px);border-radius:38px;color:#fff;background:radial-gradient(circle at 80% 10%,rgba(24,214,177,.24),transparent 24rem),linear-gradient(135deg,#07111f,#092926);box-shadow:0 30px 100px rgba(8,18,31,.18)}.ts-contact-final h2{margin:0;max-width:760px;color:#fff;font-family:var(--ts-font-condensed);font-size:clamp(42px,5vw,82px);line-height:.9;font-weight:700}.ts-contact-final p{max-width:720px;margin:18px 0 0;color:rgba(234,242,255,.68);font-size:18px;line-height:1.55}
.ts-menu-toggle{border:0;background:transparent;cursor:pointer}.ts-menu-toggle.uk-navbar-toggle{min-height:72px;color:#fff}.ts-mobile-offcanvas .uk-offcanvas-bar{width:min(88vw,390px)}.ts-offcanvas{background:radial-gradient(circle at 14% 0,rgba(24,214,177,.24),transparent 16rem),linear-gradient(180deg,#07111f,#05080d)}
.ts-offcanvas .ts-nav,.ts-offcanvas .uk-navbar-nav{display:flex!important;flex-direction:column!important;gap:4px;width:100%;margin:0;padding:0}.ts-offcanvas .ts-nav>li,.ts-offcanvas .uk-navbar-nav>li{display:block;width:100%}.ts-offcanvas .ts-nav>li>a,.ts-offcanvas .uk-navbar-nav>li>a{display:flex!important;align-items:center;justify-content:flex-start;min-height:52px!important;width:100%;padding:0!important;color:rgba(255,255,255,.82)!important;font-family:var(--ts-font-condensed);font-size:22px!important;line-height:1.1;font-weight:700;text-transform:uppercase}.ts-offcanvas .ts-nav>li>a:after,.ts-offcanvas .uk-navbar-nav>li>a:after{display:none!important}.ts-offcanvas .ts-nav>li.uk-active>a,.ts-offcanvas .uk-navbar-nav>li.uk-active>a,.ts-offcanvas .ts-nav>li>a:hover,.ts-offcanvas .uk-navbar-nav>li>a:hover{color:#fff!important}.ts-mobile-contact a{display:inline-flex;color:#fff;font-family:var(--ts-font-condensed);font-size:22px;font-weight:800;text-decoration:none}
@media (max-width:1199px){.ts-contact-hero__grid{grid-template-columns:1fr}.ts-contact-panel{max-width:680px}}
@media (max-width:959px){.ts-contact-hero{min-height:auto;padding-top:130px}.ts-contact-methods,.ts-contact-brief__head,.ts-contact-process{grid-template-columns:1fr}.ts-contact-final__box{align-items:flex-start;flex-direction:column}}
@media (max-width:639px){.ts-contact-title{font-size:clamp(42px,14vw,68px)}.ts-contact-actions{flex-direction:column}.ts-contact-actions .uk-button,.ts-contact-final .uk-button{width:100%}.ts-contact-method{min-height:auto}.ts-contact-step{grid-template-columns:44px minmax(0,1fr);gap:16px;padding:18px}.ts-contact-step span{width:44px;height:44px}}

/* v21: feedback form with JS validation */
.ts-contact-panel--form{align-self:stretch}
.ts-feedback-form{margin-top:30px}
.ts-feedback-form__trap{position:absolute!important;left:-9999px!important;opacity:0!important;pointer-events:none!important}
.ts-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.ts-field{display:block;position:relative}
.ts-field--wide{grid-column:1/-1}
.ts-field>span,.ts-check>span{display:block;margin-bottom:8px;color:rgba(234,242,255,.72);font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.ts-field input,.ts-field select,.ts-field textarea{width:100%;box-sizing:border-box;border:1px solid rgba(255,255,255,.13);border-radius:18px;background:rgba(2,10,18,.62);color:#fff;outline:none;min-height:54px;padding:0 16px;font:600 16px/1.35 var(--ts-font);transition:border-color .25s ease,box-shadow .25s ease,background .25s ease}
.ts-field textarea{min-height:132px;padding-top:15px;resize:vertical}
.ts-field select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,rgba(234,242,255,.55) 50%),linear-gradient(135deg,rgba(234,242,255,.55) 50%,transparent 50%);background-position:calc(100% - 20px) 24px,calc(100% - 14px) 24px;background-size:6px 6px,6px 6px;background-repeat:no-repeat}
.ts-field input::placeholder,.ts-field textarea::placeholder{color:rgba(234,242,255,.34)}
.ts-field.is-focused input,.ts-field.is-focused select,.ts-field.is-focused textarea{border-color:rgba(24,214,177,.62);background:rgba(2,10,18,.78);box-shadow:0 0 0 4px rgba(24,214,177,.10)}
.ts-field.is-valid input,.ts-field.is-valid select,.ts-field.is-valid textarea{border-color:rgba(24,214,177,.48)}
.ts-field.is-error input,.ts-field.is-error select,.ts-field.is-error textarea{border-color:rgba(255,90,110,.82);box-shadow:0 0 0 4px rgba(255,90,110,.10)}
.ts-field em,.ts-check em{display:block;min-height:17px;margin-top:6px;color:#ff7b8a;font-size:12px;font-style:normal;line-height:1.25}
.ts-check{display:grid;grid-template-columns:22px minmax(0,1fr);gap:12px;align-items:start;margin-top:2px;color:rgba(234,242,255,.68)}
.ts-check input{width:22px;height:22px;margin:1px 0 0;accent-color:var(--ts-accent)}
.ts-check span{margin:0;text-transform:none;letter-spacing:0;font-size:14px;font-weight:600;line-height:1.45}
.ts-check em{grid-column:2}
.ts-check.is-error span{color:#ffb4bf}
.ts-feedback-form__footer{display:flex;align-items:center;gap:18px;margin-top:18px}
.ts-feedback-form__footer .ts-button{min-width:210px}
.ts-feedback-form__footer .ts-button.is-loading{pointer-events:none;opacity:.72}
.ts-feedback-form__status{color:rgba(234,242,255,.72);font-size:14px;line-height:1.35}
.ts-feedback-form__status.is-success{color:var(--ts-accent)}
.ts-feedback-form__status.is-error{color:#ff7b8a}
@media (max-width:639px){.ts-form-grid{grid-template-columns:1fr}.ts-feedback-form__footer{align-items:stretch;flex-direction:column}.ts-feedback-form__footer .ts-button{width:100%}}



/* v165: contact/privacy/internal page patches. */
/* v23: contacts page background fix.
   Contacts page has its own full hero, so default inner page hero is disabled in header.php.
   This keeps the background continuous and removes the empty dark block above the form. */
.ts-body--inner .ts-contact-hero {
    padding-top: clamp(120px, 10vw, 170px);
    margin-top: 0;
}
.ts-contact-hero {
    background:
        radial-gradient(circle at 72% 18%, rgba(24,214,177,.24), transparent 32rem),
        radial-gradient(circle at 20% 28%, rgba(88,166,255,.14), transparent 28rem),
        linear-gradient(135deg, #05080d 0%, #071521 48%, #062725 100%) !important;
}
.ts-contact-hero + .ts-section-light {
    margin-top: 0;
}

/* v24: fix homepage "Напишите нам" decorative request card.
   The feedback-form styles from the Contacts page were too broad and affected the old
   homepage contact poster. These rules isolate the real form and restore homepage layout. */

/* Contact page form: apply heavy form panel styles only when panel contains the real form. */
.ts-contact-panel--form {
    max-width: 640px;
}

/* Homepage contact poster should keep its compact decorative layout. */
.ts-home-contact,
.ts-contact-cta,
.ts-contact-section {
    position: relative;
}

.ts-home-contact .ts-contact-panel:not(.ts-contact-panel--form),
.ts-contact-cta .ts-contact-panel:not(.ts-contact-panel--form),
.ts-contact-section .ts-contact-panel:not(.ts-contact-panel--form),
.ts-brief .ts-contact-panel:not(.ts-contact-panel--form) {
    max-width: 100%;
    min-height: 0;
    padding: clamp(24px, 2.8vw, 42px);
}

/* Prevent form title styles from making the decorative "Новая заявка" title huge/broken. */
.ts-home-contact .ts-contact-panel:not(.ts-contact-panel--form) h2,
.ts-home-contact .ts-contact-panel:not(.ts-contact-panel--form) h3,
.ts-contact-cta .ts-contact-panel:not(.ts-contact-panel--form) h2,
.ts-contact-cta .ts-contact-panel:not(.ts-contact-panel--form) h3,
.ts-contact-section .ts-contact-panel:not(.ts-contact-panel--form) h2,
.ts-contact-section .ts-contact-panel:not(.ts-contact-panel--form) h3,
.ts-brief .ts-contact-panel:not(.ts-contact-panel--form) h2,
.ts-brief .ts-contact-panel:not(.ts-contact-panel--form) h3 {
    max-width: none;
    margin: 0;
    color: #fff;
    font-family: var(--ts-font-condensed);
    font-size: clamp(32px, 3.2vw, 54px);
    line-height: .98;
    font-weight: 700;
    letter-spacing: -.035em;
}

/* Restore normal text rhythm in the homepage decorative card. */
.ts-home-contact .ts-contact-panel:not(.ts-contact-panel--form) p,
.ts-contact-cta .ts-contact-panel:not(.ts-contact-panel--form) p,
.ts-contact-section .ts-contact-panel:not(.ts-contact-panel--form) p,
.ts-brief .ts-contact-panel:not(.ts-contact-panel--form) p {
    margin-top: 14px;
    color: rgba(234,242,255,.68);
    font-size: 16px;
    line-height: 1.55;
}

/* If the homepage block uses the older v11/v12 contact visual classes, keep them inside the card. */
.ts-contact-visual,
.ts-contact-card,
.ts-contact-request,
.ts-request-card {
    position: relative;
    overflow: hidden;
}

.ts-contact-visual .ts-contact-panel,
.ts-contact-card .ts-contact-panel,
.ts-contact-request .ts-contact-panel,
.ts-request-card .ts-contact-panel {
    width: 100%;
    box-sizing: border-box;
}

/* Decorative chips/buttons inside homepage contact visual */
.ts-contact-panel:not(.ts-contact-panel--form) .ts-contact-lines {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin-top: 24px;
}

.ts-contact-panel:not(.ts-contact-panel--form) .ts-contact-lines div {
    min-height: 46px;
    padding: 12px 14px;
    border-radius: 16px;
}

.ts-contact-panel:not(.ts-contact-panel--form) .ts-contact-go {
    position: absolute;
    right: clamp(18px, 2vw, 34px);
    bottom: clamp(18px, 2vw, 34px);
    margin: 0;
}

.ts-contact-panel:not(.ts-contact-panel--form) .ts-contact-go span {
    width: clamp(70px, 6vw, 92px);
    height: clamp(70px, 6vw, 92px);
}

/* Very important: the real feedback form remains full and readable. */
.ts-contact-panel--form h2 {
    max-width: 420px;
    margin: 0;
    color: #fff;
    font-family: var(--ts-font-condensed);
    font-size: clamp(42px, 4.6vw, 74px);
    line-height: .92;
    font-weight: 700;
    letter-spacing: -.045em;
}

.ts-contact-panel--form p {
    margin-top: 20px;
    color: rgba(234,242,255,.72);
    font-size: 17px;
    line-height: 1.6;
}

/* On the homepage, keep the contact visual from overflowing into text. */
@media (min-width: 960px) {
    .ts-home-contact .uk-grid,
    .ts-contact-cta .uk-grid,
    .ts-contact-section .uk-grid {
        align-items: center;
    }
}

@media (max-width: 959px) {
    .ts-contact-panel:not(.ts-contact-panel--form) .ts-contact-go {
        position: static;
        margin-top: 22px;
    }
    .ts-contact-panel:not(.ts-contact-panel--form) .ts-contact-lines {
        grid-template-columns: 1fr;
    }
}

/* v25: replace broken decorative home contact graphic with real working form */
.ts-home-feedback {
    position: relative;
    overflow: hidden;
    padding: clamp(92px, 10vw, 150px) 0;
    background:
        radial-gradient(circle at 76% 26%, rgba(24,214,177,.22), transparent 34vw),
        radial-gradient(circle at 20% 80%, rgba(88,166,255,.15), transparent 32vw),
        linear-gradient(135deg, #071018 0%, #0b1520 50%, #101b22 100%);
}
.ts-home-feedback__grid {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: minmax(0, .92fr) minmax(440px, .74fr);
    gap: clamp(38px, 6vw, 92px);
    align-items: center;
}
.ts-home-feedback__copy {
    max-width: 800px;
}
.ts-home-feedback .ts-section-title {
    max-width: 880px;
}
.ts-home-feedback__panel {
    position: relative;
    width: 100%;
    box-sizing: border-box;
    padding: clamp(26px, 3vw, 40px);
    border: 1px solid rgba(255,255,255,.15);
    border-radius: 36px;
    color: #fff;
    background:
        radial-gradient(circle at 86% 8%, rgba(24,214,177,.22), transparent 18rem),
        linear-gradient(135deg, rgba(255,255,255,.11), rgba(255,255,255,.045)),
        rgba(3,10,18,.76);
    box-shadow: 0 42px 110px rgba(0,0,0,.34), inset 0 1px 0 rgba(255,255,255,.12);
    overflow: hidden;
}
.ts-home-feedback__panel:before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background-image:
        linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px);
    background-size: 42px 42px;
    opacity: .35;
    mask-image: linear-gradient(135deg, black, transparent 82%);
}
.ts-home-feedback__panel > * {
    position: relative;
    z-index: 1;
}
.ts-home-feedback__panel h3 {
    margin: 0;
    color: #fff;
    font-family: var(--ts-font-condensed);
    font-size: clamp(38px, 3.4vw, 58px);
    line-height: .92;
    font-weight: 700;
    letter-spacing: -.04em;
}
.ts-home-feedback__panel p {
    max-width: 520px;
    margin: 14px 0 0;
    color: rgba(234,242,255,.66);
    font-size: 16px;
    line-height: 1.55;
}
.ts-home-feedback .ts-feedback-form {
    margin-top: 24px;
}
.ts-home-feedback .ts-form-grid {
    gap: 12px;
}
.ts-home-feedback .ts-field input,
.ts-home-feedback .ts-field select {
    min-height: 50px;
}
.ts-home-feedback .ts-field textarea {
    min-height: 108px;
}
.ts-home-feedback .ts-feedback-form__footer {
    margin-top: 14px;
}
.ts-home-feedback .ts-feedback-form__footer .ts-button {
    min-width: 190px;
}

/* Kill the old v12 decorative card on homepage if cached markup still appears */
.ts-home-feedback .ts-brief-contact__visual,
.ts-home-feedback .ts-brief-card[data-ts-brief-card],
.ts-home-feedback .ts-brief-card__scheme,
.ts-home-feedback .ts-brief-card__fields {
    display: none !important;
}

@media (max-width: 1199px) {
    .ts-home-feedback__grid {
        grid-template-columns: 1fr;
    }
    .ts-home-feedback__panel {
        max-width: 760px;
    }
}
@media (max-width: 639px) {
    .ts-home-feedback {
        padding: 72px 0;
    }
    .ts-home-feedback__panel {
        padding: 22px;
        border-radius: 28px;
    }
}



/* v165: inner page polish. */
/* v149: inner pages polish, responsive typography, FAQ accordion, privacy page */
.ts-page-hero.uk-section-large,
.ts-page-hero {
    padding-top: clamp(108px, 8vw, 150px) !important;
    padding-bottom: clamp(68px, 7vw, 112px) !important;
    min-height: auto !important;
}

.ts-page-hero .uk-container {
    max-width: 1180px;
}

.ts-page-title {
    max-width: 1080px;
    font-size: clamp(46px, 4.9vw, 82px) !important;
    line-height: 1.02 !important;
    letter-spacing: -.055em !important;
}

.ts-section-title {
    font-size: clamp(38px, 4.3vw, 70px) !important;
    line-height: 1.04 !important;
    letter-spacing: -.052em !important;
}

.ts-service-page .ts-section--white,
.ts-policy-page {
    background: linear-gradient(180deg, #fff 0%, #f8fafc 100%);
}

.ts-service-page .ts-content-card,
.ts-about-page .ts-content-card,
.ts-contact-page .ts-content-card,
.ts-cases-page .ts-content-card,
.ts-case-detail .ts-content-card,
.ts-policy-card {
    border-color: rgba(8,18,31,.08);
    box-shadow: 0 24px 80px rgba(8,18,31,.08);
}

.ts-feature-card h3,
.ts-process-card h3,
.ts-inline-kpi span,
.ts-values-grid b,
.ts-case-grid b {
    overflow-wrap: anywhere;
}

.ts-service-page .ts-dark-cta {
    background:
        radial-gradient(circle at 82% 10%, rgba(24,214,177,.20), transparent 24rem),
        linear-gradient(135deg, #f9fcff 0%, #eef8f6 100%) !important;
    color: var(--ts-ink) !important;
    border: 1px solid rgba(8,18,31,.08);
    box-shadow: 0 22px 70px rgba(8,18,31,.08);
}

.ts-service-page .ts-dark-cta .ts-eyebrow,
.ts-service-page .ts-dark-cta h2 {
    color: var(--ts-ink) !important;
}

.ts-service-page .ts-dark-cta p {
    color: var(--ts-muted-dark) !important;
}

.ts-service-page .ts-dark-cta h2 {
    font-size: clamp(34px, 3.3vw, 56px) !important;
    line-height: 1.02 !important;
}

.ts-policy-content {
    display: grid;
    gap: 18px;
}

.ts-policy-content h3 {
    margin: 18px 0 0;
    color: var(--ts-ink);
    font-size: clamp(22px, 1.8vw, 30px);
    line-height: 1.15;
    letter-spacing: -.035em;
    font-weight: 800;
}

.ts-policy-content p {
    margin: 0;
    color: var(--ts-muted-dark);
    font-size: 18px;
    line-height: 1.65;
    max-width: 920px;
}

@media (max-width: 1199px) {
    .ts-page-title {
        font-size: clamp(40px, 6vw, 68px) !important;
    }
    .ts-section-title {
        font-size: clamp(34px, 5.4vw, 58px) !important;
    }
    .ts-service-page .ts-dark-cta h2 {
        font-size: clamp(32px, 4.2vw, 50px) !important;
    }
}

@media (max-width: 959px) {
    .ts-page-hero.uk-section-large,
    .ts-page-hero {
        padding-top: 104px !important;
        padding-bottom: 66px !important;
    }
    .ts-page-title {
        font-size: clamp(36px, 10vw, 54px) !important;
        line-height: 1.04 !important;
        letter-spacing: -.052em !important;
    }
    .ts-section-title {
        font-size: clamp(32px, 8vw, 48px) !important;
        line-height: 1.06 !important;
    }
    .ts-service-lead-card,
    .ts-case-hero,
    .ts-case-detail-hero {
        grid-template-columns: 1fr !important;
        padding: 28px !important;
        border-radius: 30px !important;
    }
    .ts-feature-card,
    .ts-process-card,
    .ts-inline-kpi,
    .ts-values-grid article,
    .ts-case-grid article {
        min-height: auto !important;
        padding: 24px !important;
        border-radius: 24px !important;
    }
    .ts-feature-card h3,
    .ts-process-card h3,
    .ts-inline-kpi span,
    .ts-values-grid b,
    .ts-case-grid b {
        margin-top: 26px !important;
        font-size: clamp(24px, 7vw, 34px) !important;
        line-height: 1.08 !important;
    }
    .ts-dark-cta {
        min-height: auto !important;
        border-radius: 28px !important;
    }
}

@media (max-width: 639px) {
    .ts-page-hero.uk-section-large,
    .ts-page-hero {
        padding-top: 92px !important;
        padding-bottom: 52px !important;
    }
    .ts-page-title {
        font-size: clamp(34px, 12vw, 46px) !important;
    }
    .ts-section {
        padding-top: 58px !important;
        padding-bottom: 58px !important;
    }
    .ts-content-card,
    .ts-policy-card {
        padding: 24px !important;
        border-radius: 26px !important;
    }
    .ts-service-page .ts-dark-cta h2 {
        font-size: clamp(30px, 9vw, 42px) !important;
    }
}


/* v150: inner hero alignment, composition layout, case browser */
.ts-page-hero .uk-container {
    max-width: 1400px !important;
}

.ts-page-hero.uk-section-large,
.ts-page-hero {
    padding-top: clamp(112px, 8vw, 150px) !important;
    padding-bottom: clamp(74px, 7vw, 112px) !important;
}

.ts-page-title {
    margin-top: 0 !important;
}

.ts-service-composition {
    padding: 0 !important;
    border: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
}

.ts-service-composition .ts-section-title {
    max-width: 960px;
}

.ts-service-page .ts-dark-cta h2 {
    font-size: clamp(34px, 3.3vw, 44px) !important;
    line-height: 1.03 !important;
}

.ts-portfolio-index--v150 {
    min-height: auto;
    padding: clamp(132px, 10vw, 180px) 0 clamp(82px, 9vw, 130px);
}

.ts-portfolio-index__head--v150 {
    margin-bottom: clamp(34px, 4vw, 58px);
}

.ts-case-showcase {
    position: relative;
    display: grid;
    grid-template-columns: minmax(300px, .46fr) minmax(0, .74fr);
    gap: clamp(28px, 5vw, 72px);
    align-items: center;
    padding: clamp(22px, 3vw, 34px);
    border: 1px solid rgba(255,255,255,.14);
    border-radius: clamp(30px, 4vw, 56px);
    background: rgba(255,255,255,.055);
    box-shadow: 0 38px 110px rgba(0,0,0,.28);
    overflow: hidden;
}

.ts-case-showcase:before {
    content: "";
    position: absolute;
    width: 420px;
    height: 420px;
    right: -140px;
    top: -180px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(24,214,177,.18), transparent 62%);
    pointer-events: none;
}

.ts-case-showcase__content {
    position: relative;
    z-index: 2;
    padding: clamp(12px, 2vw, 26px);
}

.ts-case-showcase__content h2 {
    margin: 26px 0 0;
    color: #fff;
    font-family: var(--ts-font-condensed);
    font-size: clamp(44px, 5.6vw, 86px);
    line-height: .9;
    letter-spacing: -.055em;
    font-weight: 700;
}

.ts-case-showcase__content p {
    color: rgba(234,242,255,.68);
    font-size: clamp(17px, 1.2vw, 20px);
    line-height: 1.58;
    margin: 22px 0 24px;
}

.ts-case-showcase__browser,
.ts-sx-device--interactive {
    position: relative;
    z-index: 2;
}

.ts-case-browser {
    position: relative;
    overflow: hidden;
    border-radius: clamp(24px, 3vw, 42px);
    border: 1px solid rgba(255,255,255,.16);
    background: linear-gradient(145deg, rgba(255,255,255,.12), rgba(255,255,255,.035)), #06111b;
    box-shadow: 0 38px 100px rgba(0,0,0,.36), inset 0 1px 0 rgba(255,255,255,.08);
}

.ts-case-browser__top {
    display: flex;
    align-items: center;
    gap: 8px;
    height: 54px;
    padding: 0 18px;
    border-bottom: 1px solid rgba(255,255,255,.10);
    background: rgba(255,255,255,.04);
}

.ts-case-browser__top i {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: var(--ts-accent);
}

.ts-case-browser__top span {
    margin-left: 10px;
    color: rgba(234,242,255,.58);
    font-weight: 800;
    font-size: 14px;
}

.ts-case-browser__top [data-ts-case-path] {
    margin-left: 0;
    color: rgba(234,242,255,.36);
}

.ts-case-browser__screen {
    position: relative;
    aspect-ratio: 16 / 9;
    min-height: 340px;
    overflow: hidden;
    background: #07111f;
}

.ts-case-browser__screen:after {
    content: "";
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at 50% 40%, transparent 45%, rgba(0,0,0,.16));
    pointer-events: none;
}

.ts-case-browser__shot {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0;
    transform: translateY(18px) scale(1.035);
    transition: opacity .35s ease, transform .35s ease;
}

.ts-case-browser__shot.is-active {
    opacity: 1;
    transform: translateY(0) scale(1);
}

.ts-case-browser__tabs {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
    padding: 16px;
    background: rgba(255,255,255,.035);
}

.ts-case-browser__tab {
    min-height: 52px;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 18px;
    background: rgba(255,255,255,.055);
    color: rgba(234,242,255,.78);
    font-family: var(--ts-font-condensed);
    font-size: 13px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .08em;
    cursor: pointer;
    transition: transform .25s ease, background .25s ease, color .25s ease, border-color .25s ease;
}

.ts-case-browser__tab:hover,
.ts-case-browser__tab.is-active {
    color: #061014;
    background: linear-gradient(135deg, var(--ts-accent), var(--ts-warn));
    border-color: transparent;
    transform: translateY(-2px);
}

.ts-sx-device--interactive {
    min-height: auto !important;
    padding: 0 !important;
    transform: none !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

.ts-sx-device--interactive .ts-case-browser {
    min-height: auto;
}

@media (max-width: 1199px) {
    .ts-case-showcase {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 767px) {
    .ts-page-hero.uk-section-large,
    .ts-page-hero {
        padding-top: 96px !important;
        padding-bottom: 54px !important;
    }

    .ts-page-title {
        font-size: clamp(34px, 11vw, 48px) !important;
    }

    .ts-case-showcase {
        padding: 16px;
        border-radius: 30px;
    }

    .ts-case-browser__tabs {
        grid-template-columns: repeat(2, 1fr);
    }

    .ts-case-browser__screen {
        min-height: 260px;
    }

    .ts-case-showcase__content h2 {
        font-size: clamp(40px, 13vw, 58px);
    }
}



/* v165: service-card hover hard-disable. */
/* v164: hard-disable hover effects for non-clickable service cards */
.ts-service-page .ts-feature-card,
.ts-service-page .ts-process-card,
.ts-service-page .ts-content-card,
.ts-service-page .ts-service-lead-card,
.ts-service-page .ts-dark-cta,
.ts-service-page .ts-big-checklist,
.ts-service-page .ts-inner-block article:not(a):not(button) {
    cursor: default !important;
    transition-property: none !important;
}


/* v165: inner pages reuse global tag/no-fake-hover rules from common.css. */


/* v166: non-clickable service cards have no hover selectors */
.ts-service-page .ts-feature-card,
.ts-service-page .ts-process-card,
.ts-service-page .ts-content-card,
.ts-service-page .ts-service-lead-card,
.ts-service-page .ts-dark-cta,
.ts-service-page .ts-big-checklist {
    cursor: default !important;
}

.ts-service-page .ts-feature-card,
.ts-service-page .ts-process-card {
    transition: none !important;
}


/* v167: inner page final typography/readability overrides */
.ts-service-page .ts-feature-card h3,
.ts-service-page .ts-process-card h3,
.ts-service-page .ts-content-card h3,
.ts-service-page .ts-service-lead-card h2,
.ts-service-page .ts-service-lead-card h3,
.ts-service-page .ts-dark-cta h2,
.ts-service-page .ts-price-card h3 {
    font-family: var(--ts-font-condensed) !important;
    font-weight: 800 !important;
    line-height: .98 !important;
    letter-spacing: -.045em !important;
}

.ts-service-page .ts-service-aside__card,
.ts-service-page .ts-service-aside__card.ts-price-card--accent,
.ts-service-page .ts-service-aside .ts-price-card--accent {
    background:
        radial-gradient(circle at 84% 8%, rgba(24,214,177,.20), transparent 32%),
        linear-gradient(145deg, rgba(255,255,255,.07), rgba(255,255,255,.025)),
        var(--ts-night) !important;
    color: #fff !important;
}

.ts-service-page .ts-service-aside__card .ts-eyebrow,
.ts-service-page .ts-service-aside__card h2,
.ts-service-page .ts-service-aside__card h3,
.ts-service-page .ts-service-aside__card p,
.ts-service-page .ts-service-aside__card li {
    opacity: 1 !important;
}

.ts-service-page .ts-service-aside__card h2,
.ts-service-page .ts-service-aside__card h3 {
    color: #fff !important;
    font-size: clamp(28px, 2.6vw, 38px) !important;
}

.ts-service-page .ts-service-aside__card p,
.ts-service-page .ts-service-aside__card li {
    color: rgba(234,242,255,.72) !important;
}


/* v168: redesigned contact brief block */
.ts-contact-brief-v168 {
    position: relative;
    overflow: hidden;
    padding: clamp(72px, 7vw, 118px) 0 clamp(86px, 8vw, 132px);
    background:
        radial-gradient(circle at 10% 24%, rgba(24,214,177,.12), transparent 30vw),
        radial-gradient(circle at 92% 20%, rgba(88,166,255,.08), transparent 34vw),
        linear-gradient(180deg, #f8fbff 0%, #eef8f6 100%);
    color: var(--ts-ink);
}

.ts-contact-brief-v168:before {
    content: "";
    position: absolute;
    inset: 0;
    opacity: .34;
    background:
        linear-gradient(90deg, rgba(8,18,31,.045) 1px, transparent 1px),
        linear-gradient(180deg, rgba(8,18,31,.04) 1px, transparent 1px);
    background-size: 72px 72px;
    pointer-events: none;
    mask-image: linear-gradient(180deg, transparent 0, #000 14%, #000 82%, transparent 100%);
}

.ts-contact-brief-v168 .uk-container {
    position: relative;
    z-index: 1;
}

.ts-contact-brief-v168__head {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(280px, 440px);
    gap: clamp(24px, 4vw, 62px);
    align-items: end;
    margin-bottom: clamp(32px, 4vw, 58px);
}

.ts-contact-brief-v168__head .ts-section-title {
    max-width: 880px;
    margin-top: 16px;
    color: var(--ts-ink) !important;
    font-size: clamp(48px, 5.4vw, 86px);
    line-height: .92;
}

.ts-contact-brief-v168__head p {
    margin: 0 0 8px;
    color: var(--ts-muted-dark);
    font-size: clamp(17px, 1.25vw, 21px);
    line-height: 1.58;
}

.ts-contact-brief-v168__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: clamp(16px, 1.8vw, 24px);
}

.ts-contact-brief-v168__card {
    position: relative;
    min-height: 245px;
    padding: clamp(24px, 2.4vw, 34px);
    border: 1px solid rgba(8,18,31,.10);
    border-radius: clamp(24px, 2.6vw, 34px);
    background:
        radial-gradient(circle at 100% 0, rgba(24,214,177,.10), transparent 34%),
        linear-gradient(145deg, rgba(255,255,255,.96), rgba(255,255,255,.74));
    box-shadow: 0 26px 76px rgba(8,18,31,.075), inset 0 1px 0 rgba(255,255,255,.82);
    color: var(--ts-ink);
    cursor: default;
}

.ts-contact-brief-v168__card:after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 104px;
    height: 104px;
    border-left: 1px solid rgba(24,214,177,.28);
    border-bottom: 1px solid rgba(24,214,177,.28);
    border-radius: 0 34px 0 100%;
    opacity: .72;
    pointer-events: none;
}

.ts-contact-brief-v168__card span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 44px;
    height: 32px;
    border-radius: 999px;
    color: #061014;
    background: linear-gradient(135deg, var(--ts-accent), var(--ts-warn));
    font-family: var(--ts-font-condensed);
    font-size: 15px;
    font-weight: 900;
    line-height: 1;
    letter-spacing: .12em;
}

.ts-contact-brief-v168__card h3 {
    margin: clamp(34px, 4vw, 54px) 0 12px;
    color: var(--ts-ink) !important;
    font-family: var(--ts-font-condensed);
    font-size: clamp(28px, 2.35vw, 38px);
    line-height: .98;
    font-weight: 800;
    letter-spacing: -.045em;
}

.ts-contact-brief-v168__card p {
    max-width: 330px;
    margin: 0;
    color: var(--ts-muted-dark) !important;
    font-size: 16px;
    line-height: 1.55;
}

@media (max-width: 1199px) {
    .ts-contact-brief-v168__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767px) {
    .ts-contact-brief-v168 {
        padding: 58px 0 74px;
    }

    .ts-contact-brief-v168__head {
        grid-template-columns: 1fr;
        align-items: start;
    }

    .ts-contact-brief-v168__head .ts-section-title {
        font-size: clamp(40px, 13vw, 58px);
    }

    .ts-contact-brief-v168__grid {
        grid-template-columns: 1fr;
    }

    .ts-contact-brief-v168__card {
        min-height: auto;
    }

    .ts-contact-brief-v168__card h3 {
        margin-top: 28px;
    }
}


/* v170: contacts page headings follow common inner-page style */
.ts-contact-hero {
    min-height: auto !important;
    padding-top: clamp(124px, 10vw, 168px) !important;
    padding-bottom: clamp(72px, 7vw, 118px) !important;
}

.ts-contact-title {
    max-width: 980px !important;
    font-family: var(--ts-font-condensed) !important;
    font-size: clamp(48px, 5.6vw, 86px) !important;
    line-height: .94 !important;
    font-weight: 800 !important;
    letter-spacing: -.055em !important;
}

.ts-contact-hero .ts-eyebrow,
.ts-contact-brief-v168 .ts-section-kicker,
.ts-contact-section .ts-section-kicker,
.ts-contact-section .ts-eyebrow {
    display: inline-flex !important;
    align-items: center;
    gap: 12px;
    color: var(--ts-accent) !important;
    font-family: var(--ts-font-condensed);
    font-size: 14px !important;
    font-weight: 900 !important;
    line-height: 1;
    letter-spacing: .10em !important;
    text-transform: uppercase !important;
}

.ts-contact-hero .ts-eyebrow:before,
.ts-contact-brief-v168 .ts-section-kicker:before,
.ts-contact-section .ts-section-kicker:before,
.ts-contact-section .ts-eyebrow:before {
    content: "";
    display: inline-block;
    width: 44px;
    height: 1px;
    background: currentColor;
    opacity: .9;
}

.ts-contact-brief-v168__head .ts-section-title,
.ts-contact-section .ts-section-title {
    color: var(--ts-ink) !important;
    font-family: var(--ts-font-condensed) !important;
    font-size: clamp(44px, 5vw, 76px) !important;
    line-height: .96 !important;
    font-weight: 800 !important;
    letter-spacing: -.055em !important;
}

.ts-contact-brief-v168__head p {
    color: var(--ts-muted-dark) !important;
}

@media (max-width: 767px) {
    .ts-contact-title,
    .ts-contact-brief-v168__head .ts-section-title,
    .ts-contact-section .ts-section-title {
        font-size: clamp(38px, 12vw, 54px) !important;
    }
}


/* v172: fixed mobile header/offcanvas layout */
@media (max-width: 1199px) {
    .ts-header {
        z-index: 990;
    }

    .ts-header .uk-container {
        padding-left: 16px !important;
        padding-right: 16px !important;
    }

    .ts-navbar {
        min-height: 72px !important;
        padding-inline: 0 !important;
    }

    .ts-logo,
    .uk-navbar-item.ts-logo {
        min-height: 72px !important;
        padding: 0 !important;
    }

    .ts-logo img {
        width: auto !important;
        max-width: 184px !important;
        max-height: 46px !important;
        object-fit: contain !important;
    }

    .ts-menu-toggle.uk-navbar-toggle {
        min-width: 46px !important;
        min-height: 46px !important;
        padding: 0 !important;
        color: #fff !important;
        border: 1px solid rgba(255,255,255,.12);
        border-radius: 999px;
        background: rgba(255,255,255,.055);
    }

    .ts-header--sticky .ts-menu-toggle.uk-navbar-toggle {
        color: var(--ts-ink) !important;
        border-color: rgba(8,18,31,.12);
        background: rgba(8,18,31,.04);
    }

    #ts-mobile-menu.uk-open {
        z-index: 2000;
    }

    #ts-mobile-menu .uk-offcanvas-bar,
    .ts-mobile-offcanvas .uk-offcanvas-bar,
    .ts-offcanvas {
        width: min(88vw, 390px) !important;
        max-width: 390px !important;
        min-width: min(88vw, 320px) !important;
        box-sizing: border-box !important;
        padding: 26px 24px 30px !important;
        overflow-x: hidden !important;
        color: #fff !important;
        background:
            radial-gradient(circle at 20% 0, rgba(24,214,177,.25), transparent 190px),
            linear-gradient(180deg, #07111f 0%, #05080d 100%) !important;
        box-shadow: -28px 0 80px rgba(0,0,0,.42);
    }

    .ts-offcanvas .uk-offcanvas-close {
        top: 18px !important;
        right: 18px !important;
        color: rgba(255,255,255,.72) !important;
    }

    .ts-offcanvas img {
        display: block !important;
        width: auto !important;
        max-width: 190px !important;
        max-height: 58px !important;
        object-fit: contain !important;
    }

    .ts-offcanvas .ts-nav,
    .ts-offcanvas .uk-navbar-nav {
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 6px !important;
        width: 100% !important;
        margin: 20px 0 0 !important;
        padding: 0 !important;
        list-style: none !important;
    }

    .ts-offcanvas .ts-nav > li,
    .ts-offcanvas .uk-navbar-nav > li {
        display: block !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .ts-offcanvas .ts-nav > li > a,
    .ts-offcanvas .uk-navbar-nav > li > a {
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        width: 100% !important;
        min-height: 42px !important;
        padding: 0 0 !important;
        color: rgba(255,255,255,.82) !important;
        font-family: var(--ts-font-condensed) !important;
        font-size: 18px !important;
        line-height: 1.1 !important;
        font-weight: 850 !important;
        letter-spacing: .025em !important;
        text-transform: uppercase !important;
        white-space: nowrap !important;
        background: transparent !important;
    }

    .ts-offcanvas .ts-nav > li > a:after,
    .ts-offcanvas .uk-navbar-nav > li > a:after,
    .ts-offcanvas .uk-navbar-nav > li > a:before {
        display: none !important;
    }

    .ts-offcanvas .ts-nav > li.uk-active > a,
    .ts-offcanvas .uk-navbar-nav > li.uk-active > a,
    .ts-offcanvas .ts-nav > li > a:hover,
    .ts-offcanvas .uk-navbar-nav > li > a:hover {
        color: #fff !important;
    }

    .ts-mobile-contact {
        margin-top: 22px !important;
    }

    .ts-mobile-contact a {
        display: inline-flex !important;
        color: #fff !important;
        font-family: var(--ts-font-condensed) !important;
        font-size: 19px !important;
        font-weight: 850 !important;
        text-decoration: none !important;
        white-space: nowrap !important;
    }

    .ts-offcanvas .ts-button {
        width: 100% !important;
        min-height: 48px !important;
        margin-top: 18px !important;
        padding-inline: 18px !important;
        font-size: 14px !important;
    }
}

@media (max-width: 420px) {
    #ts-mobile-menu .uk-offcanvas-bar,
    .ts-mobile-offcanvas .uk-offcanvas-bar,
    .ts-offcanvas {
        width: 82vw !important;
        min-width: 300px !important;
        padding-left: 22px !important;
        padding-right: 22px !important;
    }

    .ts-logo img {
        max-width: 166px !important;
        max-height: 42px !important;
    }

    .ts-offcanvas .ts-nav > li > a,
    .ts-offcanvas .uk-navbar-nav > li > a {
        font-size: 17px !important;
        min-height: 40px !important;
    }
}

@media (max-width: 360px) {
    #ts-mobile-menu .uk-offcanvas-bar,
    .ts-mobile-offcanvas .uk-offcanvas-bar,
    .ts-offcanvas {
        width: 86vw !important;
        min-width: 286px !important;
    }

    .ts-logo img {
        max-width: 150px !important;
    }
}


/* v173: compact mobile hamburger button */
@media (max-width: 1199px) {
    .ts-navbar .uk-navbar-right {
        display: flex !important;
        align-items: center !important;
    }

    .ts-menu-toggle,
    .ts-menu-toggle.uk-navbar-toggle,
    .uk-navbar-toggle.ts-menu-toggle {
        position: relative !important;
        align-self: center !important;
        flex: 0 0 52px !important;
        width: 52px !important;
        height: 52px !important;
        min-width: 52px !important;
        min-height: 52px !important;
        max-width: 52px !important;
        max-height: 52px !important;
        box-sizing: border-box !important;
        padding: 0 !important;
        margin: 0 0 0 12px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        border-radius: 18px !important;
        border: 1px solid rgba(255,255,255,.18) !important;
        background: rgba(255,255,255,.065) !important;
        box-shadow:
            inset 0 1px 0 rgba(255,255,255,.10),
            0 12px 28px rgba(0,0,0,.18) !important;
        color: #fff !important;
        overflow: hidden !important;
    }

    .ts-menu-toggle.uk-navbar-toggle svg,
    .uk-navbar-toggle.ts-menu-toggle svg {
        width: 24px !important;
        height: 24px !important;
        display: block !important;
        margin: 0 !important;
    }

    .ts-menu-toggle.uk-navbar-toggle svg line,
    .uk-navbar-toggle.ts-menu-toggle svg line {
        stroke-width: 2 !important;
    }

    .ts-header--sticky .ts-menu-toggle,
    .ts-header--sticky .ts-menu-toggle.uk-navbar-toggle,
    .ts-header--sticky .uk-navbar-toggle.ts-menu-toggle {
        color: var(--ts-ink) !important;
        border-color: rgba(8,18,31,.14) !important;
        background: rgba(8,18,31,.045) !important;
        box-shadow:
            inset 0 1px 0 rgba(255,255,255,.55),
            0 10px 24px rgba(8,18,31,.08) !important;
    }
}

@media (max-width: 420px) {
    .ts-menu-toggle,
    .ts-menu-toggle.uk-navbar-toggle,
    .uk-navbar-toggle.ts-menu-toggle {
        flex-basis: 48px !important;
        width: 48px !important;
        height: 48px !important;
        min-width: 48px !important;
        min-height: 48px !important;
        max-width: 48px !important;
        max-height: 48px !important;
        border-radius: 16px !important;
        margin-left: 10px !important;
    }

    .ts-menu-toggle.uk-navbar-toggle svg,
    .uk-navbar-toggle.ts-menu-toggle svg {
        width: 22px !important;
        height: 22px !important;
    }
}


/* v174: final header alignment + tablet padding + stable mobile menu button */
.ts-navbar,
.ts-navbar .uk-navbar-left,
.ts-navbar .uk-navbar-right,
.ts-navbar .uk-navbar-center {
    align-items: center !important;
}

.ts-header-contact {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 92px !important;
    line-height: 1 !important;
}

.ts-header-contact a {
    display: inline-flex !important;
    align-items: center !important;
    min-height: 48px !important;
    line-height: 1 !important;
    white-space: nowrap !important;
}

/* Desktop keeps all header elements vertically centered */
@media (min-width: 1200px) {
    .ts-header .uk-container {
        padding-left: clamp(28px, 3vw, 56px) !important;
        padding-right: clamp(28px, 3vw, 56px) !important;
    }

    .ts-navbar {
        min-height: 92px !important;
    }

    .ts-navbar .uk-navbar-right {
        gap: 18px !important;
    }

    .ts-header .ts-button--ghost {
        align-self: center !important;
    }
}

/* Tablet/mobile: keep comfortable side padding and only logo + hamburger */
@media (max-width: 1199px) {
    .ts-header .uk-container {
        box-sizing: border-box !important;
        max-width: none !important;
        width: 100% !important;
        padding-left: clamp(18px, 4.5vw, 38px) !important;
        padding-right: clamp(18px, 4.5vw, 38px) !important;
    }

    .ts-navbar {
        min-height: 76px !important;
        padding-inline: 0 !important;
    }

    .ts-navbar .uk-navbar-left,
    .ts-navbar .uk-navbar-right {
        min-height: 76px !important;
    }

    .ts-navbar .uk-navbar-right {
        margin-left: auto !important;
        padding-right: 0 !important;
    }

    .ts-logo,
    .uk-navbar-item.ts-logo {
        min-height: 76px !important;
        max-height: 76px !important;
        display: inline-flex !important;
        align-items: center !important;
    }

    .ts-logo img {
        display: block !important;
        width: auto !important;
        max-width: 190px !important;
        max-height: 48px !important;
        object-fit: contain !important;
    }

    .ts-menu-toggle,
    .ts-menu-toggle.uk-navbar-toggle,
    .uk-navbar-toggle.ts-menu-toggle {
        position: relative !important;
        top: auto !important;
        right: auto !important;
        bottom: auto !important;
        left: auto !important;
        transform: none !important;
        translate: none !important;
        align-self: center !important;
        flex: 0 0 48px !important;
        width: 48px !important;
        height: 48px !important;
        min-width: 48px !important;
        min-height: 48px !important;
        max-width: 48px !important;
        max-height: 48px !important;
        box-sizing: border-box !important;
        margin: 0 !important;
        padding: 0 !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        border-radius: 16px !important;
        color: #fff !important;
        border: 1px solid rgba(255,255,255,.20) !important;
        background: rgba(255,255,255,.075) !important;
        box-shadow: inset 0 1px 0 rgba(255,255,255,.10), 0 10px 24px rgba(0,0,0,.16) !important;
        overflow: hidden !important;
        opacity: 1 !important;
    }

    .ts-menu-toggle.uk-navbar-toggle > span,
    .uk-navbar-toggle.ts-menu-toggle > span {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 24px !important;
        height: 24px !important;
    }

    .ts-menu-toggle.uk-navbar-toggle svg,
    .uk-navbar-toggle.ts-menu-toggle svg {
        display: block !important;
        width: 24px !important;
        height: 24px !important;
        margin: 0 !important;
    }

    .ts-header--sticky .ts-menu-toggle,
    .ts-header--sticky .ts-menu-toggle.uk-navbar-toggle,
    .ts-header--sticky .uk-navbar-toggle.ts-menu-toggle {
        color: var(--ts-ink) !important;
        border-color: rgba(8,18,31,.16) !important;
        background: rgba(255,255,255,.86) !important;
        box-shadow: inset 0 1px 0 rgba(255,255,255,.75), 0 10px 24px rgba(8,18,31,.10) !important;
    }
}

@media (max-width: 639px) {
    .ts-header .uk-container {
        padding-left: 16px !important;
        padding-right: 16px !important;
    }

    .ts-navbar,
    .ts-navbar .uk-navbar-left,
    .ts-navbar .uk-navbar-right {
        min-height: 72px !important;
    }

    .ts-logo,
    .uk-navbar-item.ts-logo {
        min-height: 72px !important;
        max-height: 72px !important;
    }

    .ts-logo img {
        max-width: 176px !important;
        max-height: 44px !important;
    }

    .ts-menu-toggle,
    .ts-menu-toggle.uk-navbar-toggle,
    .uk-navbar-toggle.ts-menu-toggle {
        flex-basis: 46px !important;
        width: 46px !important;
        height: 46px !important;
        min-width: 46px !important;
        min-height: 46px !important;
        max-width: 46px !important;
        max-height: 46px !important;
        border-radius: 15px !important;
    }
}

@media (max-width: 380px) {
    .ts-logo img {
        max-width: 154px !important;
    }

    .ts-menu-toggle,
    .ts-menu-toggle.uk-navbar-toggle,
    .uk-navbar-toggle.ts-menu-toggle {
        flex-basis: 44px !important;
        width: 44px !important;
        height: 44px !important;
        min-width: 44px !important;
        min-height: 44px !important;
        max-width: 44px !important;
        max-height: 44px !important;
    }
}


/* v175: prevent duplicate logo images on mobile/tablet */
.ts-logo img.ts-logo__dark,
.uk-logo.ts-logo img.ts-logo__dark {
    display: none !important;
}

.ts-logo img.ts-logo__light,
.uk-logo.ts-logo img.ts-logo__light {
    display: block !important;
}

.ts-header--sticky .ts-logo img.ts-logo__light,
.ts-header--sticky .uk-logo.ts-logo img.ts-logo__light {
    display: none !important;
}

.ts-header--sticky .ts-logo img.ts-logo__dark,
.ts-header--sticky .uk-logo.ts-logo img.ts-logo__dark {
    display: block !important;
}

@media (max-width: 1199px) {
    .ts-logo,
    .uk-navbar-item.ts-logo {
        gap: 0 !important;
        overflow: hidden !important;
    }

    .ts-logo img.ts-logo__dark,
    .uk-logo.ts-logo img.ts-logo__dark {
        display: none !important;
    }

    .ts-logo img.ts-logo__light,
    .uk-logo.ts-logo img.ts-logo__light {
        display: block !important;
    }

    .ts-header--sticky .ts-logo img.ts-logo__light,
    .ts-header--sticky .uk-logo.ts-logo img.ts-logo__light {
        display: none !important;
    }

    .ts-header--sticky .ts-logo img.ts-logo__dark,
    .ts-header--sticky .uk-logo.ts-logo img.ts-logo__dark {
        display: block !important;
    }
}


/* v176: one-line mobile header: logo left, hamburger right, no phone in bar */
@media (max-width: 1199px) {
    .ts-header,
    .ts-header.uk-sticky-fixed {
        min-height: 72px !important;
        max-height: 72px !important;
        overflow: visible !important;
    }

    .ts-header > .uk-container {
        height: 72px !important;
        min-height: 72px !important;
        max-height: 72px !important;
        display: flex !important;
        align-items: center !important;
        box-sizing: border-box !important;
        padding-left: 16px !important;
        padding-right: 16px !important;
    }

    .ts-navbar,
    .uk-navbar-container.ts-navbar {
        width: 100% !important;
        height: 72px !important;
        min-height: 72px !important;
        max-height: 72px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        padding: 0 !important;
    }

    .ts-navbar .uk-navbar-left,
    .ts-navbar .uk-navbar-right {
        height: 72px !important;
        min-height: 72px !important;
        max-height: 72px !important;
        display: flex !important;
        align-items: center !important;
        flex-wrap: nowrap !important;
    }

    .ts-navbar .uk-navbar-left {
        flex: 0 1 auto !important;
        min-width: 0 !important;
    }

    .ts-navbar .uk-navbar-right {
        flex: 0 0 auto !important;
        margin-left: auto !important;
        justify-content: flex-end !important;
        gap: 0 !important;
    }

    .ts-header .ts-header-contact,
    .ts-navbar .ts-header-contact,
    .ts-header .uk-navbar-right > .ts-header-contact,
    .ts-header .uk-navbar-right > .uk-visible\@l.ts-header-contact {
        display: none !important;
        visibility: hidden !important;
        width: 0 !important;
        height: 0 !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: hidden !important;
    }

    .ts-header .uk-navbar-right > .ts-button--ghost,
    .ts-header .uk-navbar-right > .uk-button.ts-button--ghost {
        display: none !important;
    }

    .ts-logo,
    .uk-navbar-item.ts-logo {
        height: 72px !important;
        min-height: 72px !important;
        max-height: 72px !important;
        width: auto !important;
        min-width: 0 !important;
        display: inline-flex !important;
        align-items: center !important;
        flex: 0 1 auto !important;
        padding: 0 !important;
        margin: 0 !important;
        overflow: hidden !important;
    }

    .ts-logo img {
        width: auto !important;
        max-width: 170px !important;
        max-height: 42px !important;
        object-fit: contain !important;
    }

    .ts-logo img.ts-logo__dark {
        display: none !important;
    }

    .ts-logo img.ts-logo__light {
        display: block !important;
    }

    .ts-header--sticky .ts-logo img.ts-logo__light {
        display: none !important;
    }

    .ts-header--sticky .ts-logo img.ts-logo__dark {
        display: block !important;
    }

    .ts-menu-toggle,
    .ts-menu-toggle.uk-navbar-toggle,
    .uk-navbar-toggle.ts-menu-toggle {
        position: static !important;
        transform: none !important;
        translate: none !important;
        flex: 0 0 44px !important;
        width: 44px !important;
        height: 44px !important;
        min-width: 44px !important;
        min-height: 44px !important;
        max-width: 44px !important;
        max-height: 44px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        align-self: center !important;
        padding: 0 !important;
        margin: 0 !important;
        border-radius: 14px !important;
        border: 1px solid rgba(255,255,255,.20) !important;
        color: #fff !important;
        background: rgba(255,255,255,.075) !important;
        box-shadow: inset 0 1px 0 rgba(255,255,255,.10), 0 8px 20px rgba(0,0,0,.16) !important;
        opacity: 1 !important;
        overflow: hidden !important;
    }

    .ts-menu-toggle.uk-navbar-toggle > span,
    .uk-navbar-toggle.ts-menu-toggle > span,
    .ts-menu-toggle.uk-navbar-toggle svg,
    .uk-navbar-toggle.ts-menu-toggle svg {
        width: 22px !important;
        height: 22px !important;
        margin: 0 !important;
        display: block !important;
    }

    .ts-page-hero,
    .ts-contact-hero,
    .ts-case-v151-hero,
    .ts-cases-v158,
    .ts-service-page > .ts-section:first-child,
    .ts-main > section:first-child {
        scroll-margin-top: 72px !important;
    }
}

@media (max-width: 380px) {
    .ts-header > .uk-container {
        padding-left: 14px !important;
        padding-right: 14px !important;
    }

    .ts-logo img {
        max-width: 156px !important;
        max-height: 40px !important;
    }

    .ts-menu-toggle,
    .ts-menu-toggle.uk-navbar-toggle,
    .uk-navbar-toggle.ts-menu-toggle {
        flex-basis: 42px !important;
        width: 42px !important;
        height: 42px !important;
        min-width: 42px !important;
        min-height: 42px !important;
        max-width: 42px !important;
        max-height: 42px !important;
        border-radius: 13px !important;
    }
}


/* v177: mobile header must show only logo + hamburger */
@media (max-width: 1199px) {
    .ts-header .ts-navbar-menu,
    .ts-header .uk-visible\@l.ts-navbar-menu,
    .ts-navbar > .ts-navbar-menu,
    .ts-navbar > .uk-navbar-left.ts-navbar-menu {
        display: none !important;
        visibility: hidden !important;
        width: 0 !important;
        height: 0 !important;
        min-width: 0 !important;
        min-height: 0 !important;
        max-width: 0 !important;
        max-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: hidden !important;
        pointer-events: none !important;
    }

    .ts-navbar {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto !important;
        column-gap: 14px !important;
        align-items: center !important;
    }

    .ts-navbar > .uk-navbar-left:first-child {
        display: flex !important;
        min-width: 0 !important;
        overflow: hidden !important;
    }

    .ts-navbar > .uk-navbar-right {
        display: flex !important;
        justify-content: flex-end !important;
        min-width: 44px !important;
        grid-column: 2 !important;
    }

    .ts-logo,
    .uk-navbar-item.ts-logo {
        max-width: 100% !important;
        overflow: visible !important;
    }

    .ts-logo img {
        width: auto !important;
        max-width: min(218px, calc(100vw - 100px)) !important;
        max-height: 48px !important;
        object-fit: contain !important;
    }

    .ts-logo img.ts-logo__light {
        display: block !important;
    }

    .ts-logo img.ts-logo__dark {
        display: none !important;
    }

    .ts-header--sticky .ts-logo img.ts-logo__light {
        display: none !important;
    }

    .ts-header--sticky .ts-logo img.ts-logo__dark {
        display: block !important;
    }
}

@media (max-width: 380px) {
    .ts-navbar {
        column-gap: 10px !important;
    }

    .ts-logo img {
        max-width: min(198px, calc(100vw - 92px)) !important;
    }
}

@media (max-width: 340px) {
    .ts-logo img {
        max-width: min(176px, calc(100vw - 88px)) !important;
    }
}


/* v178: mobile sticky header keeps the light logo */
@media (max-width: 1199px) {
    .ts-header,
    .ts-header.ts-header--sticky,
    .ts-header.uk-sticky-fixed,
    .ts-header.uk-sticky-fixed.ts-header--sticky {
        background:
            linear-gradient(90deg, rgba(5, 8, 13, .94), rgba(6, 19, 28, .86)),
            rgba(5, 8, 13, .88) !important;
        border-bottom-color: rgba(255,255,255,.12) !important;
    }

    .ts-header .ts-logo img.ts-logo__light,
    .ts-header.uk-sticky-fixed .ts-logo img.ts-logo__light,
    .ts-header.ts-header--sticky .ts-logo img.ts-logo__light,
    .ts-header.uk-sticky-fixed.ts-header--sticky .ts-logo img.ts-logo__light {
        display: block !important;
    }

    .ts-header .ts-logo img.ts-logo__dark,
    .ts-header.uk-sticky-fixed .ts-logo img.ts-logo__dark,
    .ts-header.ts-header--sticky .ts-logo img.ts-logo__dark,
    .ts-header.uk-sticky-fixed.ts-header--sticky .ts-logo img.ts-logo__dark {
        display: none !important;
    }

    .ts-header.ts-header--sticky .ts-menu-toggle,
    .ts-header.ts-header--sticky .ts-menu-toggle.uk-navbar-toggle,
    .ts-header.uk-sticky-fixed .ts-menu-toggle,
    .ts-header.uk-sticky-fixed .ts-menu-toggle.uk-navbar-toggle {
        color: #fff !important;
        border-color: rgba(255,255,255,.20) !important;
        background: rgba(255,255,255,.075) !important;
        box-shadow: inset 0 1px 0 rgba(255,255,255,.10), 0 8px 20px rgba(0,0,0,.16) !important;
    }
}


/* v179: header always uses the light logo because the header background is dark on desktop and mobile */
.ts-header .ts-logo img.ts-logo__light,
.ts-header.uk-sticky-fixed .ts-logo img.ts-logo__light,
.ts-header.ts-header--sticky .ts-logo img.ts-logo__light,
.ts-header.uk-sticky-fixed.ts-header--sticky .ts-logo img.ts-logo__light,
.ts-header .uk-logo.ts-logo img.ts-logo__light,
.ts-header.uk-sticky-fixed .uk-logo.ts-logo img.ts-logo__light,
.ts-header.ts-header--sticky .uk-logo.ts-logo img.ts-logo__light,
.ts-header.uk-sticky-fixed.ts-header--sticky .uk-logo.ts-logo img.ts-logo__light {
    display: block !important;
}

.ts-header .ts-logo img.ts-logo__dark,
.ts-header.uk-sticky-fixed .ts-logo img.ts-logo__dark,
.ts-header.ts-header--sticky .ts-logo img.ts-logo__dark,
.ts-header.uk-sticky-fixed.ts-header--sticky .ts-logo img.ts-logo__dark,
.ts-header .uk-logo.ts-logo img.ts-logo__dark,
.ts-header.uk-sticky-fixed .uk-logo.ts-logo img.ts-logo__dark,
.ts-header.ts-header--sticky .uk-logo.ts-logo img.ts-logo__dark,
.ts-header.uk-sticky-fixed.ts-header--sticky .uk-logo.ts-logo img.ts-logo__dark {
    display: none !important;
}

.ts-header,
.ts-header.ts-header--sticky,
.ts-header.uk-sticky-fixed,
.ts-header.uk-sticky-fixed.ts-header--sticky {
    background:
        linear-gradient(90deg, rgba(5, 8, 13, .94), rgba(6, 19, 28, .86)),
        rgba(5, 8, 13, .88) !important;
    border-bottom-color: rgba(255,255,255,.12) !important;
}


/* v211: balanced typography for inner/service/contact pages */
.ts-page-title,
.ts-contact-title {
    font-size: clamp(38px, 4.4vw, 64px) !important;
    line-height: 1.04 !important;
    letter-spacing: -.04em !important;
}

.ts-section-title,
.ts-contact-brief-v168__head .ts-section-title,
.ts-contact-section .ts-section-title {
    font-size: clamp(34px, 3.8vw, 56px) !important;
    line-height: 1.06 !important;
    letter-spacing: -.04em !important;
}

.ts-service-lead-card h2,
.ts-service-lead-card h3,
.ts-service-page .ts-dark-cta h2,
.ts-service-page .ts-service-aside__card h2,
.ts-service-page .ts-service-aside__card h3,
.ts-contact-final h2 {
    font-size: clamp(30px, 3vw, 44px) !important;
    line-height: 1.05 !important;
    letter-spacing: -.035em !important;
}

.ts-service-page .ts-feature-card h3,
.ts-service-page .ts-process-card h3,
.ts-service-page .ts-content-card h3,
.ts-service-page .ts-price-card h3,
.ts-values-grid article h3,
.ts-case-grid article h3 {
    font-size: clamp(24px, 2vw, 32px) !important;
    line-height: 1.08 !important;
    letter-spacing: -.025em !important;
}

.ts-service-page .ts-dark-cta p,
.ts-service-page .ts-service-aside__card p,
.ts-service-page .ts-feature-card p,
.ts-service-page .ts-process-card p,
.ts-service-page .ts-content-card p {
    font-size: clamp(15px, 1.1vw, 18px) !important;
    line-height: 1.58 !important;
}

@media (max-width: 767px) {
    .ts-page-title,
    .ts-contact-title {
        font-size: clamp(34px, 10vw, 48px) !important;
    }

    .ts-section-title,
    .ts-contact-brief-v168__head .ts-section-title,
    .ts-contact-section .ts-section-title {
        font-size: clamp(30px, 8.8vw, 42px) !important;
    }
}

/* v238: prelaunch SEO/service trust blocks */
.ts-service-before-after {
    margin-top: clamp(52px, 7vw, 90px);
}

.ts-service-ba-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(16px, 2vw, 24px);
}

.ts-service-ba-card,
.ts-error-card {
    position: relative;
    overflow: hidden;
    border-radius: 28px;
    border: 1px solid rgba(8,18,31,.08);
    background:
        radial-gradient(circle at 100% 0, rgba(24,214,177,.12), transparent 34%),
        #fff;
    box-shadow: 0 24px 80px rgba(8,18,31,.07);
}

.ts-service-ba-card {
    min-height: 250px;
    padding: clamp(24px, 3vw, 34px);
}

.ts-service-ba-card.is-accent {
    color: #fff;
    background:
        radial-gradient(circle at 100% 0, rgba(24,214,177,.18), transparent 34%),
        linear-gradient(145deg, #071421, #0b1e2c);
    border-color: rgba(24,214,177,.22);
}

.ts-service-ba-card span {
    display: inline-flex;
    color: var(--ts-accent);
    font-family: var(--ts-font-condensed);
    font-size: 14px;
    font-weight: 900;
    letter-spacing: .10em;
    text-transform: uppercase;
}

.ts-service-ba-card p {
    margin: clamp(28px, 4vw, 46px) 0 0;
    color: var(--ts-muted-dark);
    font-size: clamp(17px, 1.25vw, 21px);
    line-height: 1.52;
}

.ts-service-ba-card.is-accent p {
    color: rgba(234,242,255,.72);
}

.ts-error-page {
    min-height: 68vh;
    display: flex;
    align-items: center;
}

.ts-error-card {
    max-width: 840px;
    padding: clamp(34px, 6vw, 72px);
}

.ts-error-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

@media (max-width: 959px) {
    .ts-service-ba-grid {
        grid-template-columns: 1fr;
    }

    .ts-service-ba-card {
        min-height: auto;
    }
}


/* v244: fix service before/after block layout */
.ts-service-before-after {
    margin-top: 0 !important;
    padding: clamp(72px, 8vw, 120px) 0 !important;
    overflow: hidden !important;
}

.ts-service-before-after > .uk-container {
    position: relative;
    z-index: 1;
}

.ts-service-before-after__head {
    max-width: 1180px;
}

.ts-service-before-after__head .ts-section-title {
    max-width: 100% !important;
    font-size: clamp(36px, 4.2vw, 66px) !important;
    line-height: 1.05 !important;
    letter-spacing: -.04em !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
}

.ts-service-before-after .ts-service-ba-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    align-items: stretch !important;
}

.ts-service-before-after .ts-service-ba-card {
    min-height: 220px !important;
    padding: clamp(24px, 2.4vw, 32px) !important;
}

.ts-service-before-after .ts-service-ba-card p {
    margin-top: clamp(24px, 3vw, 40px) !important;
    font-size: clamp(16px, 1.1vw, 19px) !important;
    line-height: 1.55 !important;
}

@media (max-width: 1199px) {
    .ts-service-before-after__head .ts-section-title {
        font-size: clamp(34px, 6vw, 54px) !important;
    }

    .ts-service-before-after .ts-service-ba-grid {
        grid-template-columns: 1fr !important;
    }
}

@media (max-width: 767px) {
    .ts-service-before-after {
        padding: 56px 0 !important;
    }

    .ts-service-before-after__head .ts-section-title {
        font-size: clamp(30px, 9vw, 42px) !important;
        letter-spacing: -.03em !important;
    }

    .ts-service-before-after .ts-service-ba-card {
        border-radius: 22px !important;
        min-height: auto !important;
    }
}


/* v249: larger SEO-ready copy on service pages */
.ts-service-page .ts-service-lead {
    max-width: 1120px;
    font-size: clamp(22px, 2.25vw, 34px) !important;
    line-height: 1.32 !important;
    letter-spacing: -.035em !important;
}

.ts-service-page .ts-feature-card p,
.ts-service-page .ts-process-card p,
.ts-service-page .ts-content-card p,
.ts-service-page .ts-service-aside__card p,
.ts-service-before-after .ts-service-ba-card p {
    font-size: clamp(16px, 1.18vw, 20px) !important;
    line-height: 1.62 !important;
}

.ts-service-page .ts-feature-card h3,
.ts-service-page .ts-process-card h3,
.ts-service-page .ts-content-card h3,
.ts-service-page .ts-service-aside__card h3 {
    font-size: clamp(25px, 2vw, 34px) !important;
    line-height: 1.08 !important;
}

.ts-service-page .ts-section-title {
    max-width: 1080px;
}

.ts-service-page .ts-stack-chip {
    font-size: 14px !important;
}

@media (max-width: 767px) {
    .ts-service-page .ts-service-lead {
        font-size: clamp(20px, 6vw, 28px) !important;
        line-height: 1.34 !important;
    }

    .ts-service-page .ts-feature-card p,
    .ts-service-page .ts-process-card p,
    .ts-service-page .ts-content-card p,
    .ts-service-page .ts-service-aside__card p {
        font-size: 16px !important;
    }
}


/* v252: privacy page and company requisites */
.ts-policy-card {
    max-width: 1180px;
    margin: 0 auto;
}

.ts-policy-card .ts-section-title {
    max-width: 980px;
}

.ts-policy-content h2 {
    margin: clamp(34px, 4vw, 54px) 0 14px;
    color: var(--ts-ink);
    font-family: var(--ts-font-condensed);
    font-size: clamp(28px, 2.6vw, 42px);
    line-height: 1.08;
    letter-spacing: -.035em;
}

.ts-policy-content p,
.ts-policy-content li {
    color: var(--ts-muted-dark);
    font-size: clamp(16px, 1.1vw, 18px);
    line-height: 1.68;
}

.ts-policy-content ul {
    display: grid;
    gap: 8px;
    margin: 18px 0 0;
    padding-left: 1.15em;
}

.ts-policy-alert,
.ts-company-requisites-card {
    position: relative;
    overflow: hidden;
    border-radius: 26px;
    border: 1px solid rgba(8,18,31,.08);
    background:
        radial-gradient(circle at 100% 0, rgba(24,214,177,.12), transparent 34%),
        #fff;
    box-shadow: 0 22px 72px rgba(8,18,31,.08);
}

.ts-policy-alert {
    margin-top: clamp(24px, 3vw, 38px);
    padding: clamp(22px, 3vw, 32px);
}

.ts-policy-alert b {
    display: block;
    color: var(--ts-ink);
    font-family: var(--ts-font-condensed);
    font-size: clamp(24px, 2vw, 34px);
    line-height: 1.08;
    letter-spacing: -.025em;
}

.ts-policy-alert span {
    display: block;
    margin-top: 10px;
    color: var(--ts-muted-dark);
    font-size: clamp(16px, 1.1vw, 18px);
    line-height: 1.62;
}

.ts-company-requisites-card {
    padding: clamp(22px, 3vw, 32px);
}

.ts-company-requisites {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin: 0;
}

.ts-company-requisites div {
    min-width: 0;
    padding: 14px 16px;
    border-radius: 18px;
    background: rgba(8,18,31,.035);
    border: 1px solid rgba(8,18,31,.06);
}

.ts-company-requisites dt {
    margin: 0 0 6px;
    color: rgba(8,18,31,.52);
    font-size: 12px;
    font-weight: 850;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.ts-company-requisites dd {
    margin: 0;
    color: var(--ts-ink);
    font-weight: 800;
    line-height: 1.32;
    overflow-wrap: anywhere;
}

.ts-contact-requisites-section {
    position: relative;
    overflow: hidden;
}

@media (max-width: 767px) {
    .ts-company-requisites {
        grid-template-columns: 1fr;
    }

    .ts-policy-content h2 {
        font-size: clamp(26px, 8vw, 36px);
    }
}


/* v253: privacy visibility + search page */
.ts-policy-page .ts-policy-card,
.ts-policy-page .ts-policy-card.ts-reveal,
.ts-policy-page .ts-policy-content,
.ts-policy-page .ts-policy-alert {
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
}

.ts-policy-page .ts-policy-card {
    color: var(--ts-ink) !important;
}

.ts-policy-page .ts-policy-content h2,
.ts-policy-page .ts-policy-content h3,
.ts-policy-page .ts-policy-content p,
.ts-policy-page .ts-policy-content li,
.ts-policy-page .ts-policy-content dd,
.ts-policy-page .ts-policy-content dt {
    visibility: visible !important;
}

/* Search */
.ts-search-page {
    position: relative;
    overflow: hidden;
    min-height: 70vh;
    padding-top: clamp(128px, 10vw, 176px) !important;
}

.ts-search-hero {
    position: relative;
    overflow: hidden;
    padding: clamp(34px, 5vw, 72px);
    border-radius: clamp(28px, 4vw, 52px);
    background:
        radial-gradient(circle at 86% 12%, rgba(24,214,177,.20), transparent 30rem),
        radial-gradient(circle at 10% 88%, rgba(88,166,255,.14), transparent 30rem),
        linear-gradient(135deg, #07111f 0%, #0a1b28 58%, #082a23 100%);
    color: #fff;
    box-shadow: 0 34px 110px rgba(8,18,31,.20);
}

.ts-search-hero:before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px),
        linear-gradient(180deg, rgba(255,255,255,.032) 1px, transparent 1px);
    background-size: 64px 64px;
    opacity: .52;
    pointer-events: none;
}

.ts-search-hero > * {
    position: relative;
    z-index: 1;
}

.ts-search-title {
    max-width: 980px;
    margin: 18px 0 0;
    color: #fff;
    font-family: var(--ts-font-condensed);
    font-size: clamp(44px, 6.2vw, 92px);
    font-weight: 900;
    line-height: .95;
    letter-spacing: -.055em;
}

.ts-search-lead {
    max-width: 720px;
    margin: 22px 0 0;
    color: rgba(234,242,255,.72);
    font-size: clamp(17px, 1.35vw, 22px);
    line-height: 1.55;
}

.ts-search-form {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 12px;
    max-width: 920px;
    margin-top: clamp(28px, 4vw, 46px);
}

.ts-search-field {
    min-height: 64px;
    padding: 0 22px;
    border-radius: 20px;
    border: 1px solid rgba(255,255,255,.16);
    background: rgba(255,255,255,.08);
    color: #fff;
    font-size: 18px;
    outline: none;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.08);
}

.ts-search-field::placeholder {
    color: rgba(234,242,255,.42);
}

.ts-search-field:focus {
    border-color: rgba(24,214,177,.50);
    box-shadow:
        0 0 0 4px rgba(24,214,177,.12),
        inset 0 1px 0 rgba(255,255,255,.08);
}

.ts-search-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 22px;
}

.ts-search-tags a {
    display: inline-flex;
    align-items: center;
    min-height: 36px;
    padding: 0 13px;
    border-radius: 999px;
    color: rgba(234,242,255,.72);
    background: rgba(255,255,255,.06);
    border: 1px solid rgba(255,255,255,.12);
    font-weight: 750;
    text-decoration: none;
}

.ts-search-tags a:hover {
    color: #07111f;
    background: linear-gradient(135deg, var(--ts-accent), var(--ts-warn));
    border-color: transparent;
}

.ts-search-body {
    margin-top: clamp(34px, 5vw, 72px);
}

.ts-search-summary {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 24px;
}

.ts-search-summary h2 {
    margin: 0;
    color: var(--ts-ink);
    font-family: var(--ts-font-condensed);
    font-size: clamp(34px, 4vw, 62px);
    line-height: 1;
    letter-spacing: -.045em;
}

.ts-search-summary p {
    margin: 10px 0 0;
    color: var(--ts-muted-dark);
    font-size: 17px;
}

.ts-search-results {
    display: grid;
    gap: 16px;
}

.ts-search-result {
    position: relative;
    display: grid;
    gap: 12px;
    padding: clamp(22px, 3vw, 34px);
    border-radius: 28px;
    color: var(--ts-ink);
    background:
        radial-gradient(circle at 100% 0, rgba(24,214,177,.10), transparent 34%),
        #fff;
    border: 1px solid rgba(8,18,31,.08);
    box-shadow: 0 18px 58px rgba(8,18,31,.06);
    text-decoration: none;
}

.ts-search-result:hover {
    color: var(--ts-ink);
    transform: translateY(-2px);
    box-shadow: 0 24px 76px rgba(8,18,31,.09);
}

.ts-search-result__top {
    display: flex;
    align-items: center;
    gap: 10px;
    color: rgba(10,146,122,.9);
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .10em;
    text-transform: uppercase;
}

.ts-search-result__title {
    margin: 0;
    color: var(--ts-ink);
    font-family: var(--ts-font-condensed);
    font-size: clamp(26px, 2.4vw, 38px);
    line-height: 1.06;
    letter-spacing: -.035em;
}

.ts-search-result__text {
    max-width: 980px;
    margin: 0;
    color: var(--ts-muted-dark);
    font-size: clamp(16px, 1.08vw, 18px);
    line-height: 1.62;
}

.ts-search-result__url {
    color: rgba(8,18,31,.48);
    font-size: 13px;
    overflow-wrap: anywhere;
}

.ts-search-empty,
.ts-search-start {
    padding: clamp(26px, 4vw, 46px);
    border-radius: 30px;
    background: #fff;
    border: 1px solid rgba(8,18,31,.08);
    box-shadow: 0 18px 58px rgba(8,18,31,.06);
}

.ts-search-start h2,
.ts-search-empty h2 {
    margin: 0;
    color: var(--ts-ink);
    font-family: var(--ts-font-condensed);
    font-size: clamp(32px, 3vw, 48px);
    line-height: 1.05;
    letter-spacing: -.04em;
}

.ts-search-start p,
.ts-search-empty p {
    max-width: 760px;
    margin: 14px 0 0;
    color: var(--ts-muted-dark);
    font-size: 17px;
    line-height: 1.62;
}

@media (max-width: 767px) {
    .ts-search-form {
        grid-template-columns: 1fr;
    }

    .ts-search-form .ts-button {
        width: 100%;
    }

    .ts-search-summary {
        display: block;
    }
}


/* v254: custom 404 page */
.ts-error-page--v254 {
    position: relative;
    overflow: hidden;
    min-height: 72vh;
    padding-top: clamp(128px, 10vw, 176px) !important;
}

.ts-error-page--v254 .ts-grid-bg {
    opacity: .24;
}

.ts-error-hero {
    position: relative;
    overflow: hidden;
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(360px, .7fr);
    gap: clamp(30px, 5vw, 76px);
    align-items: center;
    padding: clamp(34px, 5vw, 76px);
    border-radius: clamp(30px, 4vw, 58px);
    color: #fff;
    background:
        radial-gradient(circle at 86% 16%, rgba(24,214,177,.24), transparent 32rem),
        radial-gradient(circle at 16% 90%, rgba(88,166,255,.16), transparent 30rem),
        linear-gradient(135deg, #06111b 0%, #071827 55%, #09251f 100%);
    box-shadow: 0 34px 110px rgba(8,18,31,.22);
}

.ts-error-hero:before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px),
        linear-gradient(180deg, rgba(255,255,255,.032) 1px, transparent 1px);
    background-size: 58px 58px;
    opacity: .52;
    pointer-events: none;
}

.ts-error-hero > * {
    position: relative;
    z-index: 1;
}

.ts-error-hero h1 {
    max-width: 850px;
    margin: 16px 0 0;
    color: #fff;
    font-family: var(--ts-font-condensed);
    font-size: clamp(48px, 6.8vw, 104px);
    font-weight: 900;
    line-height: .92;
    letter-spacing: -.06em;
}

.ts-error-hero p {
    max-width: 720px;
    margin: 24px 0 0;
    color: rgba(234,242,255,.72);
    font-size: clamp(17px, 1.25vw, 21px);
    line-height: 1.58;
}

.ts-error-search {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 12px;
    max-width: 780px;
    margin-top: clamp(28px, 4vw, 44px);
}

.ts-error-search input {
    min-height: 62px;
    padding: 0 20px;
    border-radius: 20px;
    border: 1px solid rgba(255,255,255,.16);
    background: rgba(255,255,255,.08);
    color: #fff;
    font-size: 17px;
    outline: none;
}

.ts-error-search input::placeholder {
    color: rgba(234,242,255,.44);
}

.ts-error-search input:focus {
    border-color: rgba(24,214,177,.50);
    box-shadow: 0 0 0 4px rgba(24,214,177,.12);
}

.ts-error-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 20px;
}

.ts-error-visual {
    position: relative;
    min-height: 360px;
}

.ts-error-orbit {
    position: absolute;
    inset: 0;
    display: grid;
    place-items: center;
}

.ts-error-orbit:before,
.ts-error-orbit:after {
    content: "";
    position: absolute;
    border-radius: 999px;
    border: 1px solid rgba(24,214,177,.18);
    transform: rotate(-14deg);
}

.ts-error-orbit:before {
    width: 300px;
    height: 190px;
}

.ts-error-orbit:after {
    width: 380px;
    height: 250px;
    border-style: dashed;
    opacity: .62;
}

.ts-error-orbit span {
    position: relative;
    z-index: 2;
    display: grid;
    place-items: center;
    width: 180px;
    height: 180px;
    border-radius: 42px;
    color: #fff;
    font-family: var(--ts-font-condensed);
    font-size: 74px;
    font-weight: 900;
    letter-spacing: -.06em;
    background:
        radial-gradient(circle at 70% 12%, rgba(24,214,177,.22), transparent 42%),
        rgba(255,255,255,.08);
    border: 1px solid rgba(255,255,255,.16);
    box-shadow:
        0 30px 90px rgba(0,0,0,.28),
        0 0 70px rgba(24,214,177,.20),
        inset 0 1px 0 rgba(255,255,255,.12);
}

.ts-error-orbit i {
    position: absolute;
    width: 12px;
    height: 12px;
    border-radius: 99px;
    background: var(--ts-accent);
    box-shadow: 0 0 20px rgba(24,214,177,.75);
}

.ts-error-orbit i:nth-child(2) { left: 13%; top: 42%; }
.ts-error-orbit i:nth-child(3) { right: 13%; top: 30%; background: var(--ts-accent-2); }
.ts-error-orbit i:nth-child(4) { right: 21%; bottom: 18%; background: var(--ts-warn); }

.ts-error-terminal {
    position: absolute;
    left: 50%;
    bottom: 2%;
    width: min(360px, 96%);
    transform: translateX(-50%);
    border-radius: 24px;
    overflow: hidden;
    background: rgba(5,18,27,.72);
    border: 1px solid rgba(255,255,255,.12);
    box-shadow: 0 28px 80px rgba(0,0,0,.28);
    backdrop-filter: blur(16px);
}

.ts-error-terminal__top {
    display: flex;
    align-items: center;
    gap: 8px;
    min-height: 44px;
    padding: 0 16px;
    border-bottom: 1px solid rgba(255,255,255,.09);
}

.ts-error-terminal__top i {
    width: 10px;
    height: 10px;
    border-radius: 99px;
    background: var(--ts-accent);
}

.ts-error-terminal__top i:nth-child(2) { background: var(--ts-accent-2); }
.ts-error-terminal__top i:nth-child(3) { background: var(--ts-warn); }
.ts-error-terminal__top b {
    margin-left: 4px;
    color: rgba(234,242,255,.58);
    font-size: 12px;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.ts-error-terminal__body {
    display: grid;
    gap: 8px;
    padding: 16px;
}

.ts-error-terminal__body span {
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 38px;
    padding: 0 12px;
    border-radius: 14px;
    color: rgba(234,242,255,.72);
    background: rgba(255,255,255,.055);
}

.ts-error-terminal__body b {
    color: var(--ts-accent);
}

.ts-error-links {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
    margin-top: clamp(24px, 4vw, 42px);
}

.ts-error-links a {
    position: relative;
    display: grid;
    gap: 8px;
    min-height: 154px;
    padding: 22px;
    border-radius: 26px;
    color: var(--ts-ink);
    background: #fff;
    border: 1px solid rgba(8,18,31,.08);
    box-shadow: 0 18px 58px rgba(8,18,31,.06);
    text-decoration: none;
}

.ts-error-links a:hover {
    color: var(--ts-ink);
    transform: translateY(-2px);
    box-shadow: 0 24px 76px rgba(8,18,31,.09);
}

.ts-error-links span {
    color: var(--ts-accent);
    font-family: var(--ts-font-condensed);
    font-weight: 900;
    letter-spacing: .08em;
}

.ts-error-links b {
    color: var(--ts-ink);
    font-family: var(--ts-font-condensed);
    font-size: clamp(24px, 2vw, 34px);
    line-height: 1;
    letter-spacing: -.035em;
}

.ts-error-links em {
    color: var(--ts-muted-dark);
    font-style: normal;
    line-height: 1.45;
}

@media (max-width: 959px) {
    .ts-error-hero {
        grid-template-columns: 1fr;
    }

    .ts-error-visual {
        min-height: 280px;
    }

    .ts-error-links {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 639px) {
    .ts-error-search {
        grid-template-columns: 1fr;
    }

    .ts-error-links {
        grid-template-columns: 1fr;
    }

    .ts-error-visual {
        display: none;
    }
}


/* v257: contextual links between service pages */
.ts-service-related {
    padding-top: clamp(28px, 4vw, 52px);
    border-top: 1px solid rgba(5, 18, 27, .10);
}

.ts-service-related h3 {
    margin: 16px 0 0;
    color: var(--ts-ink);
    font-size: clamp(28px, 3.2vw, 44px);
    line-height: 1.04;
    font-weight: 700;
}

.ts-service-related__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}

.ts-service-related__card {
    min-height: 188px;
    display: flex;
    flex-direction: column;
    padding: 24px;
    border: 1px solid rgba(5, 18, 27, .10);
    border-radius: 15px;
    background: rgba(255, 255, 255, .76);
    color: var(--ts-ink);
    text-decoration: none;
    transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}

.ts-service-related__card:hover,
.ts-service-related__card:focus-visible {
    transform: translateY(-3px);
    border-color: rgba(24, 172, 162, .42);
    box-shadow: 0 18px 38px rgba(5, 18, 27, .08);
    color: var(--ts-ink);
    text-decoration: none;
}

.ts-service-related__card b {
    font-size: 20px;
    line-height: 1.18;
}

.ts-service-related__card span {
    margin-top: 12px;
    color: var(--ts-muted-dark);
    line-height: 1.55;
}

.ts-service-related__card em {
    margin-top: auto;
    padding-top: 20px;
    color: var(--ts-accent-dark, #087f78);
    font-style: normal;
    font-weight: 700;
}

@media (max-width: 959px) {
    .ts-service-related__grid {
        grid-template-columns: 1fr;
    }

    .ts-service-related__card {
        min-height: 0;
    }
}

/* v259: FAQ styles embedded in the guaranteed page bundle. */

.ts-faq {
    width: min(100%, 1120px);
    margin-inline: 0;
    display: grid;
    gap: 14px;
    border: 0;
    list-style: none;
    padding-left: 0;
}

.ts-faq-item {
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden;
    border: 1px solid rgba(8, 18, 31, .10) !important;
    border-radius: 15px;
    background: #fff;
    box-shadow: 0 14px 42px rgba(8, 18, 31, .055);
    transition: border-color .24s ease, box-shadow .24s ease, transform .24s ease;
}

.ts-faq-item:hover {
    border-color: rgba(24, 214, 177, .34) !important;
    box-shadow: 0 18px 48px rgba(8, 18, 31, .075);
}

.ts-faq-item.uk-open {
    border-color: rgba(24, 214, 177, .42) !important;
    box-shadow: 0 22px 56px rgba(8, 18, 31, .085);
}

.ts-faq .uk-accordion-title {
    position: relative;
    display: flex;
    align-items: center;
    min-height: 76px;
    margin: 0;
    padding: 22px 78px 22px 26px;
    color: var(--ts-ink) !important;
    font-size: clamp(20px, 1.65vw, 28px) !important;
    line-height: 1.18 !important;
    letter-spacing: -.035em;
    font-weight: 700;
    text-decoration: none;
    background-image: none !important;
}

.ts-faq .uk-accordion-title:hover,
.ts-faq .uk-accordion-title:focus-visible {
    color: var(--ts-ink) !important;
    text-decoration: none;
}

.ts-faq .uk-accordion-title::before {
    display: none !important;
}

.ts-faq .uk-accordion-title::after {
    content: "+";
    position: absolute;
    right: 24px;
    top: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    border: 1px solid rgba(24, 214, 177, .30);
    border-radius: 50%;
    background: rgba(24, 214, 177, .08);
    color: var(--ts-accent);
    font-size: 24px;
    line-height: 1;
    font-weight: 800;
    transform: translateY(-50%);
    transition: transform .25s ease, background .25s ease, color .25s ease, border-color .25s ease;
}

.ts-faq .uk-open > .uk-accordion-title::after {
    content: "−";
    border-color: transparent;
    background: linear-gradient(135deg, var(--ts-accent), var(--ts-warn));
    color: var(--ts-ink);
}

.ts-faq .uk-accordion-content {
    margin-top: 0 !important;
    padding: 0 78px 26px 26px;
}

.ts-faq .uk-accordion-content p {
    max-width: 860px;
    margin: 0;
    color: var(--ts-muted-dark) !important;
    font-size: 17px;
    line-height: 1.68;
}

@media (max-width: 639px) {
    .ts-faq {
        gap: 10px;
    }

    .ts-faq .uk-accordion-title {
        min-height: 66px;
        padding: 18px 62px 18px 20px;
        font-size: clamp(19px, 5.2vw, 24px) !important;
    }

    .ts-faq .uk-accordion-title::after {
        right: 16px;
        width: 34px;
        height: 34px;
    }

    .ts-faq .uk-accordion-content {
        padding: 0 20px 22px;
    }

    .ts-faq .uk-accordion-content p {
        font-size: 16px;
    }
}
