:root {
    --bg: #090b0c;
    --bg-2: #0d1012;
    --panel: #111518;
    --line: rgba(255,255,255,.12);
    --text: #f3f2ee;
    --muted: #a7aaad;
    --accent: #ff5a1f;
    --accent-soft: rgba(255,90,31,.18);
    --light: #f0eee8;
    --light-text: #101214;
    --max: 1480px;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
    margin: 0;
    background: var(--bg);
    color: var(--text);
    font-family: Inter, Arial, Helvetica, sans-serif;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}
body.ses-menu-open { overflow: hidden; }
a { color: inherit; text-decoration: none; }
button, input, textarea, select { font: inherit; }
.ses-container { width: min(calc(100% - 80px), var(--max)); margin: 0 auto; }

/* Header */
.ses-header {
    position: fixed;
    inset: 0 0 auto;
    z-index: 1000;
    height: 114px;
    display: flex;
    align-items: center;
    background: linear-gradient(to bottom, rgba(5,7,8,.92), rgba(5,7,8,.38), transparent);
    border-bottom: 1px solid transparent;
    transition: background .25s ease, border-color .25s ease;
}
.ses-header.is-scrolled {
    height: 114px;
    background: rgba(8,10,11,.92);
    backdrop-filter: blur(18px);
    border-bottom-color: var(--line);
}
.ses-header__inner {
    display: grid;
    grid-template-columns: 240px 1fr 230px;
    align-items: center;
    gap: 26px;
    padding-top: 10px;
    padding-bottom: 10px;
}
.ses-brand {
    display: inline-flex;
    align-items: center;
    width: max-content;
    transition: transform .22s ease;
}
.ses-brand:hover { transform: translateY(-1px); }
.ses-brand__logo {
    display: block;
    width: 160px;
    height: auto;
    overflow: visible;
}
.ses-nav {
    display: flex;
    justify-content: flex-start;
    gap: clamp(18px, 2vw, 40px);
    font-size: 13px;
    color: rgba(255,255,255,.82);
}
.ses-nav a {
    position: relative;
    transition: color .2s ease;
}
.ses-nav a:hover { color: #fff; }
.ses-nav a::after {
    content: "";
    position: absolute;
    left: 0;
    right: 100%;
    bottom: -8px;
    height: 1px;
    background: var(--accent);
    transition: right .25s ease;
}
.ses-nav a:hover::after { right: 0; }
.ses-header__actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 20px;
}
.ses-phone { font-weight: 700; font-size: 14px; }
.ses-menu-toggle {
    display: none;
    width: 42px;
    height: 42px;
    padding: 10px;
    border: 0;
    background: transparent;
    cursor: pointer;
}
.ses-menu-toggle span {
    display: block;
    height: 2px;
    background: var(--accent);
    margin: 5px 0;
}

/* Hero */
.ses-hero {
    position: relative;
    min-height: 100svh;
    overflow: hidden;
    background:
        radial-gradient(circle at 72% 45%, rgba(255,90,31,.10), transparent 30%),
        linear-gradient(90deg, #090b0c 0%, #090b0c 42%, #0c1012 100%);
    border-bottom: 1px solid rgba(255,90,31,.65);
}
.ses-hero__grid {
    position: absolute;
    inset: 0;
    opacity: .18;
    background-image:
        linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px);
    background-size: 50px 50px;
    mask-image: linear-gradient(to right, transparent 0%, #000 12%, #000 100%);
}
.ses-hero__board {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
    opacity: .9;
}
.ses-hero__board-soft {
    stroke: rgba(255,255,255,.085);
    fill: none;
    stroke-width: 1.15;
}
.ses-hero__board-soft circle {
    fill: rgba(255,255,255,.09);
    stroke: none;
}
.ses-hero__board-flow {
    stroke: rgba(255,90,31,.48);
    fill: none;
    stroke-width: 1.3;
    stroke-dasharray: 11 13;
    filter: drop-shadow(0 0 10px rgba(255,90,31,.16));
}
.ses-hero__board-flow path {
    animation: sesCircuit 22s linear infinite;
}
.ses-hero__board-flow path:nth-child(2) { animation-duration: 26s; animation-direction: reverse; }
.ses-hero__board-flow path:nth-child(3) { animation-duration: 18s; }
.ses-hero__board-flow path:nth-child(4) { animation-duration: 24s; animation-direction: reverse; }
.ses-hero__board-flow circle { fill: var(--accent); stroke: none; }
.ses-flow-dot { fill: var(--accent); filter: drop-shadow(0 0 8px var(--accent)); }
.ses-flow-dot--2, .ses-flow-dot--3 { opacity: .9; }
@keyframes sesCircuit { to { stroke-dashoffset: -260; } }

.ses-hero__metrics {
    position: absolute;
    inset: 0;
    z-index: 3;
    pointer-events: none;
}
.ses-hero__metric {
    position: absolute;
    min-width: 126px;
    padding: 9px 13px 9px 13px;
    border: 1px solid rgba(255,255,255,.12);
    background: rgba(8,10,11,.55);
    backdrop-filter: blur(8px);
    box-shadow: inset 2px 0 0 rgba(255,90,31,.35);
}
.ses-hero__metric::before {
    content: "";
    position: absolute;
    top: 50%;
    width: 44px;
    height: 1px;
    background: rgba(255,90,31,.46);
    box-shadow: 0 0 10px rgba(255,90,31,.16);
}
.ses-hero__metric em {
    display: block;
    margin-bottom: 3px;
    color: var(--accent);
    font-style: normal;
    font-weight: 900;
    font-size: 10px;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.ses-hero__metric strong {
    display: block;
    font-size: 16px;
    line-height: 1.05;
    font-weight: 800;
    color: #fff;
}
.ses-hero__metric span {
    display: block;
    margin-top: 4px;
    color: rgba(255,255,255,.64);
    font-size: 10px;
    line-height: 1;
    text-transform: uppercase;
    letter-spacing: .09em;
}
.ses-hero__metric--t1 { left: 56%; top: 25%; }
.ses-hero__metric--t1::before { right: 100%; }
.ses-hero__metric--t2 { left: 59%; top: 66%; }
.ses-hero__metric--t2::before { right: 100%; }
.ses-hero__metric--p { right: 8.5%; top: 21%; }
.ses-hero__metric--p::before { left: 100%; }
.ses-hero__metric--v { right: 5.8%; top: 43%; }
.ses-hero__metric--v::before { left: 100%; }
.ses-hero__metric--q { right: 7.8%; top: 70%; }
.ses-hero__metric--q::before { left: 100%; }
.ses-hero__metric--m { right: 25%; top: 77%; }
.ses-hero__metric--m::before { right: 100%; }

.ses-hero__inner {
    position: relative;
    z-index: 4;
    min-height: 100svh;
    display: grid;
    grid-template-columns: 1.04fr .96fr;
    align-items: center;
    gap: 50px;
    padding-top: 110px;
    padding-bottom: 90px;
}
.ses-kicker,
.ses-section__eyebrow {
    color: var(--accent);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.ses-hero h1 {
    margin: 22px 0 24px;
    max-width: 760px;
    font-size: clamp(58px, 5.3vw, 108px);
    line-height: .91;
    letter-spacing: -.045em;
    font-weight: 900;
}
.ses-hero__lead {
    max-width: 670px;
    margin: 0;
    color: #c6c8ca;
    font-size: clamp(16px, 1.15vw, 21px);
    line-height: 1.55;
}
.ses-hero__buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-top: 36px;
}
.ses-btn {
    min-height: 54px;
    padding: 0 24px;
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;
    gap: 14px;
    border: 1px solid rgba(255,255,255,.24);
    text-transform: uppercase;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .035em;
    transition: transform .2s ease, background .2s ease, border-color .2s ease;
}
.ses-btn:hover { transform: translateY(-2px); }
.ses-btn--primary {
    background: var(--accent);
    border-color: var(--accent);
    color: #fff;
    box-shadow: 0 0 36px rgba(255,90,31,.22);
}
.ses-btn--ghost:hover { border-color: var(--accent); }

.ses-hero__visual {
    min-height: 610px;
    position: relative;
    isolation: isolate;
}
.ses-orbit {
    position: absolute;
    width: min(37vw, 520px);
    aspect-ratio: 1;
    border-radius: 50%;
    display: grid;
    place-items: center;
}
.ses-orbit--hero {
    left: 50%;
    top: 50%;
    transform: translate(-46%, -48%);
}
.ses-orbit__ticks,
.ses-orbit__ring,
.ses-orbit__core,
.ses-orbit__arc,
.ses-orbit__radar,
.ses-orbit__scan {
    position: absolute;
    border-radius: 50%;
}
.ses-orbit__ticks {
    inset: -6%;
    border: 1px dashed rgba(255,255,255,.08);
}
.ses-orbit__ring {
    inset: 0;
    border: 1px solid rgba(255,90,31,.60);
    box-shadow: 0 0 15px rgba(255,90,31,.30), inset 0 0 18px rgba(255,90,31,.08);
}
.ses-orbit__ring::before,
.ses-orbit__ring::after {
    content: "";
    position: absolute;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: var(--accent);
    box-shadow: 0 0 18px var(--accent);
}
.ses-orbit__ring::before { left: 50%; top: -5px; }
.ses-orbit__ring::after { right: 7%; bottom: 18%; }
.ses-orbit__ring--1 { animation: sesRotate 18s linear infinite; }
.ses-orbit__ring--2 { inset: 9%; opacity: .80; animation: sesRotateReverse 12s linear infinite; }
.ses-orbit__ring--3 { inset: 21%; opacity: .55; animation: sesRotate 8s linear infinite; }
.ses-orbit__core {
    inset: 31%;
    border: 1px solid rgba(255,255,255,.14);
    background: radial-gradient(circle, rgba(255,90,31,.38) 0%, rgba(255,90,31,.08) 45%, transparent 72%);
    box-shadow: 0 0 90px rgba(255,90,31,.22);
}
.ses-orbit__arc {
    inset: 12%;
    border: 1px solid transparent;
    border-top-color: rgba(255,90,31,.48);
    border-left-color: rgba(255,90,31,.28);
}
.ses-orbit__arc--1 { transform: rotate(22deg); }
.ses-orbit__arc--2 { inset: 3%; transform: rotate(-34deg); opacity: .8; }
.ses-orbit__radar {
    inset: 31%;
    overflow: hidden;
    opacity: .42;
}
.ses-orbit__radar::before {
    content: "";
    position: absolute;
    inset: 0;
    background: conic-gradient(from 210deg, rgba(255,90,31,.32), rgba(255,90,31,.02) 70deg, transparent 120deg);
    animation: sesRotate 9s linear infinite;
}
.ses-orbit__scan {
    inset: 13%;
    overflow: hidden;
    opacity: .65;
    animation: sesScanTurn 7.5s linear infinite;
}
.ses-orbit__scan::before {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    width: 50%;
    height: 1px;
    transform-origin: 0 50%;
    background: linear-gradient(90deg, rgba(255,90,31,.95), transparent);
    box-shadow: 0 0 10px rgba(255,90,31,.75);
}
@keyframes sesRotate { to { transform: rotate(360deg); } }
@keyframes sesRotateReverse { to { transform: rotate(-360deg); } }
@keyframes sesScanTurn { to { transform: rotate(360deg); } }

.ses-tech-card {
    position: absolute;
    right: 0;
    width: min(264px, 48%);
    min-height: 64px;
    padding: 14px 16px;
    display: flex;
    align-items: center;
    gap: 10px;
    border: 1px solid rgba(255,255,255,.16);
    background: linear-gradient(90deg, rgba(12,14,15,.76), rgba(12,14,15,.52));
    backdrop-filter: blur(12px);
    box-shadow: inset 2px 0 0 rgba(255,90,31,.35), 0 18px 55px rgba(0,0,0,.18);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .04em;
}
.ses-tech-card--a { top: 16%; }
.ses-tech-card--b { top: 41%; right: 4%; }
.ses-tech-card--c { top: 66%; }
.ses-tech-card__dot {
    flex: 0 0 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--accent);
    box-shadow: 0 0 14px var(--accent);
}
.ses-tech-card small {
    display: block;
    margin-bottom: 4px;
    color: var(--accent);
    font-size: 10px;
}

.ses-marquee {
    position: absolute;
    inset: auto 0 0;
    z-index: 5;
    height: 48px;
    overflow: hidden;
    border-top: 1px solid rgba(255,90,31,.55);
    background: rgba(5,7,8,.84);
}
.ses-marquee__track {
    --ses-marquee-gap: 0px;
    width: max-content;
    min-width: 200%;
    height: 100%;
    display: flex;
    gap: var(--ses-marquee-gap);
    will-change: transform;
    backface-visibility: hidden;
    transform: translateZ(0);
    animation: sesMarquee 32s linear infinite;
}
.ses-marquee__group {
    flex: 0 0 auto;
    height: 100%;
    display: flex;
    align-items: center;
    gap: 24px;
    padding-right: 24px;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .035em;
    white-space: nowrap;
}
.ses-marquee i {
    flex: 0 0 5px;
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: var(--accent);
    box-shadow: 0 0 12px rgba(255,90,31,.8);
}
@keyframes sesMarquee {
    from { transform: translate3d(0,0,0); }
    to { transform: translate3d(-50%,0,0); }
}

/* Content */
.ses-section {
    position: relative;
    overflow: hidden;
    padding: clamp(90px, 9vw, 160px) 0;
    background: var(--bg);
    border-bottom: 1px solid var(--line);
}
.ses-section > .ses-container,
.ses-cta > .ses-container {
    position: relative;
    z-index: 2;
}
.ses-section::before,
.ses-cta::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    height: 1px;
    background: linear-gradient(90deg, transparent 0%, rgba(255,255,255,.08) 10%, rgba(255,255,255,.15) 50%, rgba(255,255,255,.08) 90%, transparent 100%);
    pointer-events: none;
}
.ses-section::after,
.ses-cta::after {
    content: "";
    position: absolute;
    top: 0;
    left: -24%;
    width: 24%;
    height: 2px;
    background: linear-gradient(90deg, transparent 0%, rgba(255,90,31,0) 8%, rgba(255,90,31,.92) 48%, rgba(255,196,146,.96) 54%, rgba(255,90,31,.92) 60%, rgba(255,90,31,0) 100%);
    box-shadow: 0 0 12px rgba(255,90,31,.88), 0 0 28px rgba(255,90,31,.36);
    pointer-events: none;
    animation: sesDividerImpulse 6.2s linear infinite;
}
@keyframes sesDividerImpulse {
    from { transform: translateX(0); }
    to { transform: translateX(620%); }
}

.ses-section--deep { background: #07090a; }
.ses-section--light { background: var(--light); color: var(--light-text); }
.ses-section h2,
.ses-cta h2 {
    margin: 16px 0 0;
    font-size: clamp(38px, 4vw, 72px);
    line-height: .98;
    letter-spacing: -.035em;
}
.ses-two-col {
    display: grid;
    grid-template-columns: 1.1fr .9fr;
    gap: 80px;
    align-items: end;
}
.ses-two-col p {
    margin: 0;
    font-size: 18px;
    line-height: 1.7;
    color: #555b5f;
}
.ses-section--services {
    padding-top: 62px;
    background:
        radial-gradient(circle at 18% 0%, rgba(255,90,31,.045), transparent 26%),
        #080a0b;
}
.ses-services {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 12px;
    margin-top: 50px;
}
.ses-service-card {
    min-width: 0;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 10px;
    background: linear-gradient(180deg, #101417 0%, #0b0e10 100%);
    box-shadow: 0 18px 55px rgba(0,0,0,.12);
    transition: transform .3s ease, border-color .3s ease, box-shadow .3s ease;
}
.ses-service-card:hover {
    transform: translateY(-7px);
    border-color: rgba(255,90,31,.48);
    box-shadow: 0 24px 70px rgba(0,0,0,.24), 0 0 0 1px rgba(255,90,31,.08);
}
.ses-service-card__media {
    position: relative;
    aspect-ratio: 1.55 / 1;
    overflow: hidden;
    background: #111518;
}
.ses-service-card__media::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 50%, rgba(8,10,11,.72) 100%);
    pointer-events: none;
}
.ses-service-card__media img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    transform: scale(1.01);
    filter: saturate(1.02) contrast(1.06) brightness(.97);
    transition: transform .55s cubic-bezier(.2,.8,.2,1), filter .4s ease;
}
.ses-service-card:hover .ses-service-card__media img {
    transform: scale(1.075);
    filter: saturate(1.08) contrast(1.08) brightness(1.03);
}
.ses-service-card__body {
    padding: 22px 20px 24px;
}
.ses-service-card__num {
    display: block;
    margin-bottom: 14px;
    color: var(--accent);
    font-size: 22px;
    line-height: 1;
    font-weight: 900;
}
.ses-service-card h3 {
    margin: 0;
    min-height: 72px;
    color: #fff;
    font-size: clamp(18px, 1.15vw, 23px);
    line-height: 1.08;
    letter-spacing: -.02em;
}
.ses-service-card p {
    margin: 16px 0 0;
    color: #aeb3b7;
    font-size: 13px;
    line-height: 1.55;
}


.ses-section--about {
    padding-top: 56px;
    padding-bottom: 90px;
    background: linear-gradient(180deg, #0a0d10 0%, #090b0c 100%);
}
.ses-section--about .ses-container {
    width: min(calc(100% - 56px), 1536px);
}
.ses-about {
    display: grid;
    grid-template-columns: minmax(360px, 430px) 1fr;
    align-items: center;
    gap: clamp(34px, 4vw, 68px);
    transform: translateX(-28px);
}
.ses-about__content h2 {
    max-width: 820px;
    margin-bottom: 24px;
}
.ses-about__content p {
    max-width: 860px;
    margin: 0;
    color: #c0c4c8;
    font-size: clamp(16px, 1.15vw, 20px);
    line-height: 1.7;
}
.ses-about__stats {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 22px;
    align-items: stretch;
    margin-top: 34px;
    padding-top: 26px;
    border-top: 1px solid rgba(255,255,255,.12);
}
.ses-about__stat {
    display: grid;
    grid-template-columns: 76px minmax(0,1fr);
    align-items: center;
    gap: 16px;
    min-height: 88px;
}
.ses-about__stat strong {
    display: flex;
    align-items: flex-end;
    min-height: 40px;
    color: #fff;
    font-size: clamp(24px, 2vw, 40px);
    line-height: 1;
    letter-spacing: -.03em;
}
.ses-about__stat small {
    display: block;
    min-height: 36px;
    margin-top: 6px;
    color: #c0c4c8;
    font-size: 14px;
    line-height: 1.35;
}
.ses-about__icon {
    position: relative;
    flex: 0 0 76px;
    width: 76px;
    height: 76px;
    border-radius: 50%;
    border: 1px solid rgba(255,90,31,.68);
    box-shadow: inset 0 0 0 8px rgba(255,90,31,.07), 0 0 22px rgba(255,90,31,.10);
    background-position: center;
    background-repeat: no-repeat;
    background-size: 62% auto;
}
.ses-about__icon::before,
.ses-about__icon::after {
    content: none;
}
.ses-about__icon--years { background-image: url('../img/ses-icon-years.webp'); }
.ses-about__icon--projects { background-image: url('../img/ses-icon-projects.webp'); }
.ses-about__icon--sro { background-image: url('../img/ses-icon-sro.webp'); }
.ses-about__icon--shield { background-image: url('../img/ses-icon-shield.webp'); }
.ses-about__icon--years::before { display:none; 
    inset: 18px;
    border: 2px solid var(--accent);
    border-radius: 50%;
}
.ses-about__icon--years::after { display:none; 
    width: 18px; height: 2px; background: var(--accent); left: 31px; top: 31px; transform-origin: 0 50%; transform: rotate(-40deg);
    box-shadow: -8px -9px 0 0 var(--accent);
}
.ses-about__icon--projects::before { display:none; 
    width: 12px; height: 12px; border-radius: 50%; background: var(--accent); left: 26px; top: 10px; box-shadow: -16px 24px 0 0 var(--accent), 16px 24px 0 0 var(--accent), 0 40px 0 0 var(--accent);
}
.ses-about__icon--projects::after { display:none; 
    inset: 17px 20px; border: 2px solid rgba(255,90,31,.8); border-radius: 14px; transform: rotate(45deg);
}
.ses-about__icon--sro::before { display:none; 
    left: 17px; top: 13px; width: 28px; height: 34px; border: 2px solid var(--accent); border-bottom-left-radius: 16px; border-bottom-right-radius: 16px; border-top-left-radius: 16px; border-top-right-radius: 16px 12px; transform: rotate(45deg);
}
.ses-about__icon--sro::after { display:none; 
    left: 28px; top: 26px; width: 8px; height: 16px; border-right: 2px solid var(--accent); border-bottom: 2px solid var(--accent); transform: rotate(35deg);
}
.ses-about__icon--shield::before { display:none; 
    left: 18px; top: 12px; width: 28px; height: 34px; border: 2px solid var(--accent); border-radius: 14px 14px 18px 18px; clip-path: polygon(0 0,100% 0,100% 58%,50% 100%,0 58%);
}
.ses-about__icon--shield::after { display:none; 
    left: 27px; top: 24px; width: 10px; height: 14px; border-right: 2px solid var(--accent); border-bottom: 2px solid var(--accent); transform: rotate(40deg);
}
.ses-about__visual {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    min-height: 500px;
}
.ses-about__visual::before {
    content: "";
    position: absolute;
    inset: 8% 10% 12% 0;
    background: radial-gradient(circle at 35% 38%, rgba(31,122,255,.22), transparent 35%), radial-gradient(circle at 55% 52%, rgba(255,90,31,.14), transparent 30%), linear-gradient(135deg, rgba(255,255,255,.06), transparent 55%);
    filter: blur(14px);
    opacity: .9;
}
.ses-thermal {
    position: relative;
    width: min(100%, 360px);
    aspect-ratio: 0.8;
    animation: sesFloat 5s ease-in-out infinite;
    filter: drop-shadow(0 25px 45px rgba(0,0,0,.35));
}
@keyframes sesFloat {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-8px); }
}
.ses-thermal__body {
    position: absolute;
    inset: 0 8% 6% 0;
    border-radius: 42px;
    background: linear-gradient(180deg, #1a2027 0%, #06080a 100%);
    border: 1px solid rgba(255,255,255,.06);
    box-shadow: inset -20px -22px 36px rgba(255,255,255,.03), inset 12px 14px 20px rgba(255,255,255,.04);
}
.ses-thermal__screen-frame {
    position: absolute;
    left: 9%; top: 10%; width: 76%; height: 66%;
    border-radius: 24px;
    background: linear-gradient(180deg, #11161b, #020305);
    padding: 14px;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.05), 0 0 0 1px rgba(255,255,255,.04);
}
.ses-thermal__screen {
    position: relative;
    width: 100%; height: 100%; overflow: hidden;
    border-radius: 16px;
    background: #0b1d35;
}
.ses-thermal__heatmap {
    position: absolute; inset: 0;
    background: radial-gradient(circle at 50% 58%, rgba(255,255,0,.95) 0 18%, rgba(255,145,0,.95) 26%, rgba(255,60,0,.9) 38%, rgba(0,186,255,.76) 58%, rgba(30,70,255,.9) 100%);
    animation: sesThermalPulse 4.5s ease-in-out infinite alternate;
}
@keyframes sesThermalPulse {
    from { transform: scale(1); filter: saturate(1); }
    to { transform: scale(1.06); filter: saturate(1.18) brightness(1.06); }
}
.ses-thermal__screen::after {
    content: "";
    position: absolute; inset: 0;
    background: linear-gradient(180deg, rgba(255,255,255,.12), transparent 18%, transparent 82%, rgba(255,255,255,.06));
    mix-blend-mode: screen;
}
.ses-thermal__scan {
    position: absolute; inset: 0;
    background: linear-gradient(180deg, transparent 0%, rgba(255,255,255,.0) 42%, rgba(255,255,255,.18) 50%, rgba(255,255,255,.0) 58%, transparent 100%);
    animation: sesScanY 3.8s linear infinite;
}
@keyframes sesScanY {
    from { transform: translateY(-100%); }
    to { transform: translateY(100%); }
}
.ses-thermal__house {
    position: absolute;
    left: 16%; right: 12%; bottom: 14%; top: 20%;
}
.ses-thermal__roof {
    position: absolute;
    left: 10%; top: 2%; width: 80%; height: 28%;
    background: linear-gradient(180deg, rgba(255,232,0,.95), rgba(255,88,0,.92));
    clip-path: polygon(50% 0,100% 54%,88% 58%,88% 64%,12% 64%,12% 58%,0 54%);
}
.ses-thermal__wall {
    position: absolute;
    bottom: 0; width: 38%; height: 54%;
    background: linear-gradient(180deg, rgba(255,222,0,.95), rgba(255,90,31,.93) 36%, rgba(24,170,255,.78) 100%);
}
.ses-thermal__wall--left { left: 15%; clip-path: polygon(0 0,100% 0,100% 100%,0 100%); }
.ses-thermal__wall--right { right: 8%; clip-path: polygon(0 0,100% 0,100% 100%,0 100%); }
.ses-thermal__door {
    position: absolute;
    left: 45%; bottom: 0; width: 14%; height: 34%;
    background: linear-gradient(180deg, rgba(0,179,255,.86), rgba(33,77,255,.96));
}
.ses-thermal__window {
    position: absolute;
    width: 14%; height: 14%;
    background: linear-gradient(180deg, rgba(255,255,0,.95), rgba(255,110,0,.94));
    box-shadow: 0 0 10px rgba(255,200,0,.25);
}
.ses-thermal__window--a { left: 25%; top: 42%; }
.ses-thermal__window--b { right: 18%; top: 42%; }
.ses-thermal__lens {
    position: absolute;
    right: 0; top: 38%; width: 22%; height: 20%;
    border-radius: 50%;
    background: radial-gradient(circle at 40% 35%, #414850, #090b0c 62%, #000 100%);
    box-shadow: inset 0 0 0 10px #171c22, inset 0 0 0 18px #0f1216;
}
.ses-thermal__controls {
    position: absolute;
    left: 24%; bottom: 10%; width: 42%;
    display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px;
}
.ses-thermal__controls span {
    aspect-ratio: 1; border-radius: 50%;
    background: linear-gradient(180deg, #242b33, #0b0e12);
    box-shadow: inset 0 2px 2px rgba(255,255,255,.06), 0 6px 14px rgba(0,0,0,.25);
    border: 1px solid rgba(255,255,255,.06);
}


/* About: photorealistic thermal render */
.ses-about__visual {
    position: relative;
    min-height: 470px;
    display: flex;
    align-items: center;
    justify-content: flex-start;
}
.ses-about__visual::before {
    content: "";
    position: absolute;
    inset: 10% 4% 4% 2%;
    background: radial-gradient(circle at 48% 48%, rgba(255,90,31,.10), transparent 44%);
    filter: blur(22px);
    opacity: .9;
}
.ses-about__render {
    position: relative;
    width: min(100%, 430px);
    overflow: hidden;
    border-radius: 12px;
    border: 1px solid rgba(255,255,255,.12);
    background: #060809;
    box-shadow: 0 28px 80px rgba(0,0,0,.30);
    transform: perspective(1100px) rotateY(2deg);
    animation: sesAboutFloat 6s ease-in-out infinite;
}
.ses-about__render img {
    display: block;
    width: 100%;
    height: auto;
    filter: saturate(1.02) contrast(1.05) brightness(.96);
}
.ses-about__render::after {
    content: "";
    position: absolute;
    inset: 0;
    box-shadow: inset 0 0 60px rgba(0,0,0,.25);
    pointer-events: none;
}
.ses-about__render-scan {
    position: absolute;
    left: 6%;
    right: 6%;
    height: 1px;
    top: 18%;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,.68), rgba(255,90,31,.78), transparent);
    box-shadow: 0 0 14px rgba(255,90,31,.34);
    opacity: .34;
    animation: sesAboutScan 4.8s ease-in-out infinite;
}
.ses-about__render-glow {
    position: absolute;
    left: 35%;
    top: 25%;
    width: 38%;
    height: 42%;
    border-radius: 18px;
    background: radial-gradient(circle, rgba(255,90,31,.12), transparent 68%);
    mix-blend-mode: screen;
    animation: sesAboutGlow 3.8s ease-in-out infinite alternate;
}
@keyframes sesAboutFloat {
    0%,100% { transform: perspective(1100px) rotateY(2deg) translateY(0); }
    50% { transform: perspective(1100px) rotateY(1deg) translateY(-7px); }
}
@keyframes sesAboutScan {
    0% { top: 18%; opacity: 0; }
    12% { opacity: .36; }
    78% { opacity: .28; }
    100% { top: 78%; opacity: 0; }
}
@keyframes sesAboutGlow {
    from { opacity: .45; transform: scale(.98); }
    to { opacity: .9; transform: scale(1.04); }
}


/* SRO / expertise */
.ses-section--sro {
    padding-top: 92px;
    padding-bottom: 100px;
    background:
        radial-gradient(circle at 80% 42%, rgba(255,90,31,.055), transparent 28%),
        linear-gradient(180deg, #080a0c 0%, #0a0d0f 100%);
}
.ses-sro {
    position: relative;
    overflow: hidden;
    display: grid;
    grid-template-columns: minmax(0,1fr) 330px;
    gap: clamp(48px, 7vw, 110px);
    align-items: center;
    padding: clamp(34px, 4vw, 66px);
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 4px;
    background: linear-gradient(120deg, rgba(255,255,255,.024), rgba(255,255,255,.006));
}
.ses-sro::before,
.ses-sro::after {
    content: "";
    position: absolute;
    pointer-events: none;
}
.ses-sro::before {
    inset: 0;
    opacity: .26;
    background-image:
        linear-gradient(90deg, transparent 0 15%, rgba(255,90,31,.12) 15% 15.08%, transparent 15.08% 100%),
        linear-gradient(0deg, transparent 0 68%, rgba(255,255,255,.05) 68% 68.12%, transparent 68.12% 100%);
}
.ses-sro::after {
    width: 420px;
    height: 420px;
    right: -150px;
    top: -190px;
    border: 1px solid rgba(255,90,31,.18);
    border-radius: 50%;
    box-shadow: 0 0 90px rgba(255,90,31,.08);
}
.ses-sro__copy { position: relative; z-index: 2; }
.ses-sro__copy h2 {
    margin: 15px 0 24px;
    font-size: clamp(40px, 4.4vw, 76px);
    line-height: .98;
    letter-spacing: -.035em;
}
.ses-sro__copy > p {
    max-width: 800px;
    margin: 0;
    color: #c2c6ca;
    font-size: 17px;
    line-height: 1.65;
}
.ses-sro__facts {
    display: grid;
    grid-template-columns: repeat(2, minmax(0,1fr));
    gap: 24px 28px;
    max-width: 820px;
    margin-top: 34px;
    padding-top: 30px;
    border-top: 1px solid rgba(255,255,255,.12);
}
.ses-sro__facts article {
    display: grid;
    grid-template-columns: 56px minmax(0,1fr);
    gap: 14px;
    align-items: center;
}
.ses-sro__facts strong {
    display: block;
    color: #fff;
    font-size: 17px;
    line-height: 1.2;
}
.ses-sro__facts small {
    display: block;
    margin-top: 4px;
    color: #9ca2a7;
    font-size: 12px;
    line-height: 1.35;
}
.ses-sro__icon {
    position: relative;
    width: 56px;
    height: 56px;
    border-radius: 50%;
    border: 1px solid rgba(255,90,31,.75);
    box-shadow: inset 0 0 0 5px rgba(255,90,31,.05), 0 0 18px rgba(255,90,31,.06);
}
.ses-sro__icon::before,
.ses-sro__icon::after { content: ""; position: absolute; }
.ses-sro__icon--doc::before { left: 17px; top: 13px; width: 20px; height: 27px; border: 2px solid var(--accent); border-radius: 3px; }
.ses-sro__icon--doc::after { left: 22px; top: 23px; width: 11px; height: 6px; border-bottom: 2px solid var(--accent); border-top: 2px solid var(--accent); }
.ses-sro__icon--energy::before { left: 21px; top: 11px; width: 15px; height: 31px; background: var(--accent); clip-path: polygon(52% 0,100% 0,70% 38%,100% 38%,25% 100%,45% 56%,17% 56%); }
.ses-sro__icon--gear::before { inset: 16px; border: 2px solid var(--accent); border-radius: 50%; box-shadow: 0 -8px 0 -5px var(--accent), 0 8px 0 -5px var(--accent), 8px 0 0 -5px var(--accent), -8px 0 0 -5px var(--accent); }
.ses-sro__icon--quality::before { left: 17px; top: 12px; width: 22px; height: 28px; border: 2px solid var(--accent); clip-path: polygon(50% 0,100% 16%,88% 74%,50% 100%,12% 74%,0 16%); }
.ses-sro__icon--quality::after { left: 24px; top: 22px; width: 9px; height: 14px; border-right: 2px solid var(--accent); border-bottom: 2px solid var(--accent); transform: rotate(40deg); }
.ses-sro__number {
    margin-top: 26px;
    color: rgba(255,255,255,.48);
    font-size: 11px;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.ses-sro__certificate {
    position: relative;
    z-index: 2;
    justify-self: center;
    display: block;
    width: min(100%, 286px);
    padding: 10px;
    border: 1px solid rgba(255,255,255,.16);
    background: rgba(255,255,255,.035);
    box-shadow: 0 28px 70px rgba(0,0,0,.38);
    transform: rotate(1deg);
    transition: transform .35s ease, border-color .35s ease, box-shadow .35s ease;
}
.ses-sro__certificate:hover {
    transform: rotate(0deg) translateY(-5px) scale(1.015);
    border-color: rgba(255,90,31,.62);
    box-shadow: 0 34px 90px rgba(0,0,0,.42), 0 0 45px rgba(255,90,31,.08);
}
.ses-sro__certificate img {
    display: block;
    width: 100%;
    height: auto;
}
.ses-sro__certificate-glow {
    position: absolute;
    inset: 12% -18%;
    z-index: -1;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(255,90,31,.12), transparent 65%);
    filter: blur(24px);
}
.ses-sro__certificate-label {
    position: absolute;
    left: 50%;
    bottom: -36px;
    transform: translateX(-50%);
    width: max-content;
    color: rgba(255,255,255,.58);
    font-size: 10px;
    letter-spacing: .1em;
}
.ses-sro__certificate-label b { color: var(--accent); font-size: 15px; }

/* CTA */
.ses-cta {
    position: relative;
    overflow: hidden;
    padding: clamp(100px, 10vw, 170px) 0;
    background: radial-gradient(circle at 50% 50%, rgba(255,90,31,.09), transparent 36%), #080a0b;
}
.ses-cta__inner {
    min-height: 420px;
    display: grid;
    grid-template-columns: 1fr 420px 1fr;
    align-items: center;
    gap: 55px;
}
.ses-cta__copy p {
    max-width: 560px;
    color: var(--muted);
    font-size: 17px;
    line-height: 1.6;
}
.ses-orbit--cta {
    position: relative;
    width: 360px;
    justify-self: center;
    cursor: pointer;
    transition: transform .35s ease;
}
.ses-orbit--cta:hover { transform: scale(1.04); }
.ses-orbit--cta::before {
    content: "";
    position: absolute;
    inset: -15%;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(255,90,31,.16), transparent 64%);
    filter: blur(12px);
    animation: sesPulse 2.2s ease-in-out infinite alternate;
}
@keyframes sesPulse {
    from { transform: scale(.92); opacity: .5; }
    to { transform: scale(1.08); opacity: 1; }
}
.ses-orbit__label {
    position: relative;
    z-index: 3;
    text-align: center;
    font-size: 18px;
    line-height: 1.15;
    font-weight: 900;
    letter-spacing: .02em;
}
.ses-orbit__label b {
    display: block;
    margin-top: 12px;
    color: var(--accent);
    font-size: 26px;
}
.ses-contacts {
    display: flex;
    flex-direction: column;
    gap: 18px;
    font-size: 16px;
}
.ses-contacts a:hover { color: var(--accent); }

/* Footer */
.ses-footer {
    padding: 34px 0;
    border-top: 1px solid var(--line);
    background: #050607;
}
.ses-footer__inner {
    display: flex;
    justify-content: space-between;
    gap: 40px;
}
.ses-footer__muted,
.ses-footer__right {
    color: #8d9296;
    font-size: 12px;
}
.ses-footer__right {
    display: flex;
    gap: 24px;
    align-items: center;
}

/* Responsive */
@media (max-width: 1280px) {
    .ses-services { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .ses-header__inner { grid-template-columns: 220px 1fr 210px; }
    .ses-brand__logo { width: 142px; }
    .ses-services { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .ses-cta__inner { grid-template-columns: 1fr 330px; }
    .ses-sro { grid-template-columns: minmax(0,1fr) 280px; gap: 42px; }
    .ses-sro__facts { gap: 20px; }
    .ses-contacts {
        grid-column: 1 / -1;
        flex-direction: row;
        flex-wrap: wrap;
    }
    .ses-orbit--cta { width: 310px; }
    .ses-hero__metric--p { right: 5.5%; }
    .ses-hero__metric--v { right: 6.5%; }
    .ses-hero__metric--q { right: 5%; }
}

@media (max-width: 980px) {
    .ses-services { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .ses-container { width: min(calc(100% - 40px), var(--max)); }
    .ses-header { height: 84px; }
    .ses-header.is-scrolled { height: 84px; }
    .ses-header__inner { grid-template-columns: 1fr auto; }
    .ses-brand__logo { width: 126px; }
    .ses-phone { display: none; }
    .ses-nav {
        position: fixed;
        inset: 82px 0 0;
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
        gap: 0;
        padding: 30px 20px;
        background: rgba(7,9,10,.98);
        transform: translateX(100%);
        transition: transform .3s ease;
    }
    body.ses-menu-open .ses-nav { transform: translateX(0); }
    .ses-nav a {
        padding: 20px 0;
        border-bottom: 1px solid var(--line);
        font-size: 18px;
    }
    .ses-menu-toggle { display: block; }

    .ses-hero__inner {
        grid-template-columns: 1fr;
        align-content: center;
        padding-top: 110px;
        padding-bottom: 90px;
    }
    .ses-hero__visual {
        position: absolute;
        inset: 0;
        min-height: 0;
        opacity: .50;
        pointer-events: none;
    }
    .ses-hero__content { position: relative; z-index: 5; }
    .ses-orbit--hero {
        width: min(76vw, 520px);
        left: auto;
        right: -20%;
        top: 54%;
        transform: translateY(-50%);
    }
    .ses-tech-card { display: none; }
    .ses-hero__metrics { opacity: .8; }
    .ses-hero__metric { min-width: 108px; padding: 8px 10px; }
    .ses-hero__metric strong { font-size: 13px; }
    .ses-hero__metric span { font-size: 9px; }
    .ses-hero__metric--t1 { left: auto; right: 28%; top: 18%; }
    .ses-hero__metric--t2 { left: auto; right: 34%; top: 63%; }
    .ses-hero__metric--m { right: 32%; top: 74%; }
    .ses-hero__metric--p { right: 4%; top: 21%; }
    .ses-hero__metric--v { right: 6%; top: 42%; }
    .ses-hero__metric--q { right: 4%; top: 68%; }
    .ses-two-col { grid-template-columns: 1fr; gap: 30px; }
    .ses-about { transform: none; grid-template-columns: 1fr; }
    .ses-section--about .ses-container { width: min(calc(100% - 40px), var(--max)); }
    .ses-cta__inner { grid-template-columns: 1fr; text-align: center; }
    .ses-cta__copy p { margin-left: auto; margin-right: auto; }
    .ses-contacts { justify-content: flex-start; }
}

@media (max-width: 560px) {
    .ses-services { grid-template-columns: 1fr; }
    .ses-container { width: min(calc(100% - 28px), var(--max)); }
    .ses-section--about .ses-container { width: min(calc(100% - 28px), var(--max)); }
    .ses-brand__logo { width: 116px; }
    .ses-hero h1 { font-size: clamp(47px, 15vw, 72px); }
    .ses-hero__lead { font-size: 15px; }
    .ses-hero__buttons { flex-direction: column; }
    .ses-btn { width: 100%; }
    .ses-services { grid-template-columns: 1fr; }
   .ses-about__stats { grid-template-columns: 1fr; }
    .ses-about__visual { min-height: 320px; }
    .ses-thermal { width: min(100%, 260px); }
    .ses-orbit--cta { width: min(82vw, 330px); }
    .ses-contacts { flex-direction: column; }
    .ses-footer__inner,
    .ses-footer__right {
        flex-direction: column;
        align-items: flex-start;
    }
    .ses-hero__board { opacity: .72; }
    .ses-hero__metrics { display: none; }
}

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    *, *::before, *::after {
        animation-duration: .001ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .001ms !important;
    }
}


/* =========================================================
   SES 1.7 — final polish
   ========================================================= */

/* Разделители: статичная линия с импульсом раз в 3–4 секунды */
.ses-section::after,
.ses-cta::after {
    left: 0;
    width: 100%;
    height: 2px;
    transform: none !important;
    background: linear-gradient(90deg,
        transparent 0%,
        rgba(255,90,31,.16) 8%,
        rgba(255,90,31,.48) 28%,
        rgba(255,140,72,.86) 50%,
        rgba(255,90,31,.48) 72%,
        rgba(255,90,31,.16) 92%,
        transparent 100%);
    box-shadow: 0 0 0 rgba(255,90,31,0);
    opacity: .14;
    animation: sesLinePulse 3.8s ease-in-out infinite;
}
@keyframes sesLinePulse {
    0%, 68%, 100% { opacity: .12; filter: brightness(.8); box-shadow: 0 0 0 rgba(255,90,31,0); }
    76% { opacity: .52; filter: brightness(1.15); box-shadow: 0 0 8px rgba(255,90,31,.24); }
    82% { opacity: 1; filter: brightness(1.85); box-shadow: 0 0 16px rgba(255,90,31,.85), 0 0 38px rgba(255,90,31,.28); }
    89% { opacity: .34; filter: brightness(1); box-shadow: 0 0 5px rgba(255,90,31,.14); }
}

/* Бегущая строка: границы пульсируют целиком, текст идёт бесшовно */
.ses-marquee {
    border-top: 1px solid rgba(255,90,31,.28);
    border-bottom: 1px solid rgba(255,90,31,.22);
}
.ses-marquee::before,
.ses-marquee::after {
    content: none;
}
.ses-marquee__track {
    min-width: 0;
    animation-name: sesMarqueeInfinite;
    animation-duration: var(--ses-marquee-duration, 30s);
    animation-timing-function: linear;
    animation-iteration-count: infinite;
}
@keyframes sesMarqueeInfinite {
    from { transform: translate3d(0,0,0); }
    to { transform: translate3d(calc(-1 * var(--ses-marquee-distance, 900px)),0,0); }
}

/* Как мы работаем */
.ses-section--process {
    padding-top: 76px;
    padding-bottom: 94px;
    background:
        radial-gradient(circle at 50% 0%, rgba(255,90,31,.035), transparent 30%),
        #090b0c;
}
.ses-section--process h2 { max-width: 1040px; }
.ses-process {
    display: grid;
    grid-template-columns: repeat(6, minmax(0,1fr));
    gap: 0;
    margin-top: 48px;
}
.ses-process__step {
    position: relative;
    min-width: 0;
    padding: 0 24px 14px 0;
}
.ses-process__step:not(:last-child) { padding-right: 28px; }
.ses-process__top {
    display: flex;
    align-items: center;
    gap: 10px;
    height: 30px;
    margin-bottom: 12px;
}
.ses-process__num {
    flex: 0 0 auto;
    color: var(--accent);
    font-weight: 900;
    font-size: 20px;
    line-height: 1;
}
.ses-process__arrow {
    position: relative;
    flex: 1 1 auto;
    height: 1px;
    background: linear-gradient(90deg, rgba(255,90,31,.82), rgba(255,90,31,.42));
}
.ses-process__arrow::after {
    content: "";
    position: absolute;
    right: 0;
    top: 50%;
    width: 7px;
    height: 7px;
    border-top: 1px solid var(--accent);
    border-right: 1px solid var(--accent);
    transform: translateY(-50%) rotate(45deg);
}
.ses-process__step > img {
    display: block;
    width: 48px;
    height: 48px;
    margin: 0 0 14px;
    padding: 8px;
    border: 1px solid rgba(255,90,31,.48);
    border-radius: 50%;
    background: rgba(255,90,31,.035);
    box-shadow: inset 0 0 0 5px rgba(255,90,31,.025), 0 0 22px rgba(255,90,31,.04);
}
.ses-process__step h3 {
    margin: 0;
    min-height: 44px;
    color: #fff;
    font-size: 16px;
    line-height: 1.18;
}
.ses-process__step p {
    max-width: 205px;
    margin: 10px 0 0;
    color: #949ba0;
    font-size: 12px;
    line-height: 1.52;
}

/* Финальный CTA / подвал */
.ses-cta--final {
    padding-top: 88px;
    padding-bottom: 82px;
    background:
        radial-gradient(circle at 51% 48%, rgba(255,90,31,.12), transparent 25%),
        linear-gradient(90deg, #090b0c 0%, #0a0d0f 50%, #080a0b 100%);
}
.ses-cta--final::before {
    background: linear-gradient(90deg, transparent, rgba(255,255,255,.09) 12%, rgba(255,255,255,.15) 50%, rgba(255,255,255,.09) 88%, transparent);
}
.ses-cta--final .ses-cta__inner {
    min-height: 390px;
    grid-template-columns: minmax(0,1fr) 390px minmax(0,1fr);
    gap: 48px;
}
.ses-cta--final .ses-cta__copy h2 {
    max-width: 520px;
    font-size: clamp(44px, 4.2vw, 72px);
}
.ses-cta--final .ses-cta__copy p { max-width: 500px; }
.ses-cta__button { margin-top: 24px; }
.ses-orbit--cta {
    width: 330px;
    box-shadow: 0 0 90px rgba(255,90,31,.08);
}
.ses-orbit--cta .ses-orbit__ring { border-color: rgba(255,90,31,.74); }
.ses-orbit--cta .ses-orbit__label small {
    display: block;
    margin-top: 5px;
    color: rgba(255,255,255,.68);
    font-size: 10px;
    line-height: 1.1;
    font-weight: 700;
    letter-spacing: .04em;
}
.ses-contacts {
    justify-self: end;
    width: min(100%, 360px);
    gap: 20px;
}
.ses-contact-row {
    display: grid;
    grid-template-columns: 28px minmax(0,1fr);
    align-items: center;
    gap: 12px;
    color: #e2e5e7;
    font-size: 15px;
}
.ses-contact-icon {
    position: relative;
    display: block;
    width: 24px;
    height: 24px;
    opacity: .86;
}
.ses-contact-icon--pin::before {
    content: ""; position: absolute; left: 6px; top: 2px; width: 11px; height: 14px;
    border: 2px solid #b9bec2; border-radius: 8px 8px 9px 9px; transform: rotate(45deg);
}
.ses-contact-icon--pin::after { content:""; position:absolute; left:10px; top:7px; width:4px; height:4px; border:1px solid #b9bec2; border-radius:50%; }
.ses-contact-icon--phone::before { content:"☎"; position:absolute; inset:0; display:grid; place-items:center; color:#b9bec2; font-size:22px; line-height:1; }
.ses-contact-icon--mail::before { content:""; position:absolute; left:2px; top:5px; width:19px; height:14px; border:1.7px solid #b9bec2; border-radius:2px; }
.ses-contact-icon--mail::after { content:""; position:absolute; left:4px; top:6px; width:15px; height:10px; border-bottom:1.7px solid #b9bec2; transform:rotate(-38deg) skewX(12deg); }
.ses-contact-icon--web::before { content:"◎"; position:absolute; inset:0; display:grid; place-items:center; color:#b9bec2; font-size:24px; line-height:1; }

.ses-footer {
    padding: 28px 0;
    border-top: 1px solid rgba(255,255,255,.10);
    background: #050607;
}
.ses-footer__inner {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 30px;
}
.ses-footer__brand { color:#fff; font-weight:900; letter-spacing:.015em; }
.ses-footer__muted { color:#7f858a; font-size:12px; }
.ses-footer__right { justify-self:end; }

@media (max-width: 1280px) {
    .ses-process { grid-template-columns: repeat(3, minmax(0,1fr)); row-gap: 38px; }
    .ses-process__step:nth-child(3) .ses-process__arrow { display:none; }
    .ses-cta--final .ses-cta__inner { grid-template-columns: 1fr 300px; }
    .ses-cta--final .ses-contacts { grid-column:1 / -1; justify-self:start; width:100%; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width: 980px) {
    .ses-process { grid-template-columns: repeat(2, minmax(0,1fr)); }
    .ses-process__step:nth-child(2n) .ses-process__arrow { display:none; }
    .ses-cta--final .ses-cta__inner { grid-template-columns:1fr; text-align:left; }
    .ses-cta--final .ses-orbit--cta { justify-self:center; }
    .ses-cta--final .ses-contacts { grid-template-columns:1fr; }
    .ses-footer__inner { grid-template-columns:1fr; gap:8px; }
    .ses-footer__right { justify-self:start; }
}
@media (max-width: 560px) {
    .ses-process { grid-template-columns:1fr; }
    .ses-process__arrow { display:none; }
    .ses-process__step { padding-right:0; }
    .ses-process__step h3 { min-height:0; }
    .ses-process__step p { max-width:none; }
    .ses-cta--final .ses-cta__copy h2 { font-size:clamp(42px,13vw,62px); }
}

/* =========================================================
   SES 1.8 — header refinement, footer nav, modal form, cookies, legal
   ========================================================= */

/* Верхняя панель: логотип меньше, меню крупнее и строго по центру */
.ses-header__inner {
    min-height: 100%;
    padding-top: 0;
    padding-bottom: 0;
    align-items: center;
}
.ses-brand__logo { width: 136px; }
.ses-nav {
    align-self: stretch;
    align-items: center;
    font-size: 14.3px;
    font-weight: 600;
}
.ses-header__actions {
    align-self: stretch;
    align-items: center;
    justify-content: flex-end;
}
.ses-phone {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    line-height: 1;
}

/* Footer */
.ses-footer {
    position: relative;
    padding: 42px 0;
    border-top: 1px solid rgba(255,255,255,.11);
    background: #050607;
}
.ses-footer__grid {
    display: grid;
    grid-template-columns: minmax(210px,.8fr) minmax(420px,1.5fr) minmax(250px,.9fr);
    gap: 40px;
    align-items: center;
}
.ses-footer__identity { min-width: 0; }
.ses-footer__brand {
    display: inline-block;
    color: #fff;
    font-size: 15px;
    font-weight: 900;
    letter-spacing: .015em;
}
.ses-footer__muted {
    margin-top: 7px;
    color: #7f858a;
    font-size: 12px;
}
.ses-footer__nav {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 10px 22px;
    color: rgba(255,255,255,.72);
    font-size: 12px;
}
.ses-footer__nav a,
.ses-footer__legal a { transition: color .2s ease; }
.ses-footer__nav a:hover,
.ses-footer__legal a:hover { color: var(--accent); }
.ses-footer__legal {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 6px;
    color: #7f858a;
    font-size: 11px;
    text-align: right;
}

/* Modal */
body.ses-modal-open { overflow: hidden; }
.ses-modal {
    position: fixed;
    inset: 0;
    z-index: 3000;
    display: grid;
    place-items: center;
    padding: 20px;
    visibility: hidden;
    opacity: 0;
    transition: opacity .25s ease, visibility .25s ease;
}
.ses-modal.is-open { visibility: visible; opacity: 1; }
.ses-modal__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(1,3,4,.78);
    backdrop-filter: blur(10px);
}
.ses-modal__panel {
    position: relative;
    z-index: 1;
    width: min(720px, 100%);
    max-height: min(860px, calc(100vh - 40px));
    overflow-y: auto;
    padding: clamp(28px, 4vw, 48px);
    border: 1px solid rgba(255,255,255,.15);
    border-radius: 12px;
    background:
        radial-gradient(circle at 90% 8%, rgba(255,90,31,.12), transparent 28%),
        linear-gradient(145deg, #101416 0%, #080a0b 76%);
    box-shadow: 0 40px 120px rgba(0,0,0,.58), 0 0 70px rgba(255,90,31,.08);
    transform: translateY(18px) scale(.985);
    transition: transform .28s cubic-bezier(.2,.8,.2,1);
}
.ses-modal.is-open .ses-modal__panel { transform: translateY(0) scale(1); }
.ses-modal__close {
    position: absolute;
    top: 16px;
    right: 18px;
    width: 40px;
    height: 40px;
    border: 1px solid rgba(255,255,255,.14);
    background: rgba(255,255,255,.02);
    color: #fff;
    font-size: 27px;
    line-height: 1;
    cursor: pointer;
}
.ses-modal__panel h2 {
    margin: 14px 0 12px;
    font-size: clamp(36px, 4vw, 58px);
    line-height: .98;
    letter-spacing: -.035em;
}
.ses-modal__lead {
    max-width: 580px;
    margin: 0 0 28px;
    color: #b8bdc1;
    line-height: 1.6;
}
.ses-request-form {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px;
}
.ses-field { display: grid; gap: 8px; }
.ses-field > span {
    color: #d5d8da;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .03em;
}
.ses-field input,
.ses-field textarea {
    width: 100%;
    border: 1px solid rgba(255,255,255,.15);
    outline: 0;
    background: rgba(255,255,255,.035);
    color: #fff;
    padding: 15px 16px;
    border-radius: 4px;
    transition: border-color .2s ease, box-shadow .2s ease, background .2s ease;
}
.ses-field textarea { resize: vertical; min-height: 112px; }
.ses-field input:focus,
.ses-field textarea:focus {
    border-color: rgba(255,90,31,.75);
    background: rgba(255,255,255,.05);
    box-shadow: 0 0 0 3px rgba(255,90,31,.08);
}
.ses-field--wide { grid-column: 1 / -1; }
.ses-consent {
    display: grid;
    grid-template-columns: 18px 1fr;
    gap: 11px;
    align-items: start;
    color: #959b9f;
    font-size: 11px;
    line-height: 1.5;
}
.ses-consent input { margin: 2px 0 0; accent-color: var(--accent); }
.ses-consent a { color: #d8dbdd; text-decoration: underline; text-underline-offset: 2px; }
.ses-form__actions {
    display: flex;
    align-items: center;
    gap: 18px;
    flex-wrap: wrap;
}
.ses-form__submit:disabled { opacity: .6; cursor: wait; }
.ses-form__status {
    max-width: 310px;
    color: #c4c8cb;
    font-size: 12px;
    line-height: 1.45;
}
.ses-request-form.is-success .ses-form__status { color: #fff; }
.ses-form-hp {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    clip: rect(0 0 0 0) !important;
    white-space: nowrap !important;
}

/* Cookie notice */
.ses-cookie {
    position: fixed;
    z-index: 2800;
    left: 22px;
    right: 22px;
    bottom: 22px;
    margin: 0 auto;
    width: min(880px, calc(100% - 44px));
    display: flex;
    align-items: center;
    gap: 22px;
    padding: 16px 18px;
    border: 1px solid rgba(255,255,255,.15);
    border-radius: 8px;
    background: rgba(9,12,14,.96);
    backdrop-filter: blur(16px);
    box-shadow: 0 22px 70px rgba(0,0,0,.48), 0 0 26px rgba(255,90,31,.06);
    opacity: 0;
    transform: translateY(18px);
    transition: opacity .28s ease, transform .28s ease;
}
.ses-cookie.is-visible { opacity: 1; transform: translateY(0); }
.ses-cookie__text {
    min-width: 0;
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 5px 9px;
    color: #aeb3b7;
    font-size: 12px;
    line-height: 1.45;
}
.ses-cookie__text strong { color: var(--accent); text-transform: uppercase; letter-spacing: .08em; }
.ses-cookie__text a { color: #fff; text-decoration: underline; text-underline-offset: 2px; }
.ses-cookie .ses-btn { min-height: 42px; flex: 0 0 auto; padding: 0 20px; }

/* Legal pages */
.ses-legal {
    min-height: 100vh;
    padding: 168px 0 110px;
    background:
        radial-gradient(circle at 80% 12%, rgba(255,90,31,.07), transparent 28%),
        #090b0c;
}
.ses-legal__wrap { max-width: 1040px; }
.ses-legal h1 {
    max-width: 950px;
    margin: 16px 0 26px;
    font-size: clamp(46px, 5vw, 82px);
    line-height: .96;
    letter-spacing: -.04em;
}
.ses-legal__lead {
    max-width: 860px;
    margin: 0 0 52px;
    color: #bdc2c6;
    font-size: 18px;
    line-height: 1.65;
}
.ses-legal section {
    padding: 26px 0;
    border-top: 1px solid rgba(255,255,255,.10);
}
.ses-legal section h2 {
    margin: 0 0 14px;
    font-size: 25px;
    letter-spacing: -.02em;
}
.ses-legal section p,
.ses-legal section li {
    color: #aeb4b8;
    font-size: 15px;
    line-height: 1.72;
}
.ses-legal section a { color: #fff; text-decoration: underline; text-underline-offset: 3px; }
.ses-legal ul { padding-left: 22px; }
.ses-legal__date { color: #747b80 !important; font-size: 12px !important; }

@media (max-width: 1280px) {
    .ses-brand__logo { width: 121px; }
    .ses-nav { font-size: 13.5px; }
    .ses-footer__grid { grid-template-columns: 1fr 1.4fr 1fr; gap: 26px; }
}

@media (max-width: 980px) {
    .ses-brand__logo { width: 108px; }
    .ses-nav { align-items: stretch; font-size: 18px; }
    .ses-header__actions { align-self: center; }
    .ses-footer__grid { grid-template-columns: 1fr 1fr; }
    .ses-footer__nav { justify-content: flex-start; }
    .ses-footer__legal { grid-column: 1 / -1; align-items: flex-start; text-align: left; }
    .ses-request-form { grid-template-columns: 1fr; }
    .ses-field--wide { grid-column: auto; }
}

@media (max-width: 620px) {
    .ses-brand__logo { width: 99px; }
    .ses-footer__grid { grid-template-columns: 1fr; }
    .ses-footer__nav { display: grid; grid-template-columns: 1fr 1fr; }
    .ses-footer__legal { grid-column: auto; }
    .ses-modal { padding: 10px; }
    .ses-modal__panel { max-height: calc(100vh - 20px); padding: 30px 18px 22px; }
    .ses-cookie {
        left: 10px;
        right: 10px;
        bottom: 10px;
        width: calc(100% - 20px);
        align-items: stretch;
        flex-direction: column;
        gap: 12px;
    }
    .ses-cookie .ses-btn { width: 100%; }
    .ses-legal { padding-top: 128px; }
}

/* =========================================================
   SES 1.9 — SRO lightbox + adaptive polish 1920 → 430
   ========================================================= */

/* SRO certificate opens in an in-page lightbox */
.ses-sro__certificate {
    appearance: none;
    -webkit-appearance: none;
    font: inherit;
    color: inherit;
    text-align: inherit;
    cursor: zoom-in;
}
body.ses-sro-modal-open { overflow: hidden; }
.ses-sro-modal {
    position: fixed;
    inset: 0;
    z-index: 3400;
    display: grid;
    place-items: center;
    padding: 20px;
    visibility: hidden;
    opacity: 0;
    transition: opacity .24s ease, visibility .24s ease;
}
.ses-sro-modal.is-open { visibility: visible; opacity: 1; }
.ses-sro-modal__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(1,3,4,.86);
    backdrop-filter: blur(12px);
}
.ses-sro-modal__panel {
    position: relative;
    z-index: 1;
    width: min(920px, calc(100vw - 40px));
    max-height: calc(100vh - 40px);
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.15);
    border-radius: 12px;
    background: #090c0e;
    box-shadow: 0 40px 120px rgba(0,0,0,.68), 0 0 80px rgba(255,90,31,.08);
    transform: translateY(14px) scale(.988);
    transition: transform .26s cubic-bezier(.2,.8,.2,1);
}
.ses-sro-modal.is-open .ses-sro-modal__panel { transform: translateY(0) scale(1); }
.ses-sro-modal__bar {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    padding: 16px 18px 15px 22px;
    border-bottom: 1px solid rgba(255,255,255,.10);
    background: rgba(8,10,11,.98);
}
.ses-sro-modal__bar strong {
    display: block;
    margin-top: 5px;
    color: #fff;
    font-size: 16px;
}
.ses-sro-modal__close {
    flex: 0 0 44px;
    width: 44px;
    height: 44px;
    border: 1px solid rgba(255,255,255,.16);
    border-radius: 4px;
    background: rgba(255,255,255,.025);
    color: #fff;
    font-size: 30px;
    line-height: 1;
    cursor: pointer;
    transition: border-color .2s ease, background .2s ease, transform .2s ease;
}
.ses-sro-modal__close:hover {
    border-color: rgba(255,90,31,.72);
    background: rgba(255,90,31,.08);
    transform: rotate(4deg);
}
.ses-sro-modal__document {
    min-height: 0;
    overflow: auto;
    padding: 24px;
    text-align: center;
    overscroll-behavior: contain;
}
.ses-sro-modal__document img {
    display: block;
    width: min(100%, 720px);
    height: auto;
    margin: 0 auto;
    background: #fff;
    box-shadow: 0 20px 70px rgba(0,0,0,.46);
}

/* Footer mini-navigation is always a real set of section links */
.ses-footer__nav a {
    position: relative;
    padding: 5px 0;
    white-space: nowrap;
}
.ses-footer__nav a::after {
    content: "";
    position: absolute;
    left: 0;
    right: 100%;
    bottom: 0;
    height: 1px;
    background: var(--accent);
    transition: right .22s ease;
}
.ses-footer__nav a:hover::after { right: 0; }

/* Desktop / large screens */
@media (min-width: 1681px) {
    .ses-container { width: min(calc(100% - 120px), 1560px); }
    .ses-hero__inner { gap: 72px; }
    .ses-hero h1 { font-size: clamp(72px, 5.1vw, 104px); }
    .ses-hero__visual { min-height: 650px; }
    .ses-orbit--hero { width: min(35vw, 560px); }
    .ses-section { padding-top: 112px; padding-bottom: 112px; }
    .ses-section--about { padding-top: 66px; padding-bottom: 96px; }
    .ses-section--services { padding-top: 72px; }
    .ses-services { gap: 16px; }
    .ses-service-card__body { padding: 24px 22px 28px; }
    .ses-footer__grid { grid-template-columns: minmax(230px,.8fr) minmax(560px,1.6fr) minmax(280px,.9fr); }
}

/* 1680–1441 */
@media (max-width: 1680px) and (min-width: 1441px) {
    .ses-container { width: min(calc(100% - 88px), 1480px); }
    .ses-header__inner { grid-template-columns: 210px 1fr 210px; }
    .ses-hero h1 { font-size: clamp(66px, 5.2vw, 94px); }
    .ses-hero__inner { gap: 42px; }
    .ses-orbit--hero { width: min(36vw, 520px); }
    .ses-tech-card { width: min(250px, 46%); }
    .ses-about { grid-template-columns: minmax(330px, 410px) 1fr; }
    .ses-about__stats { gap: 16px; }
    .ses-about__stat { grid-template-columns: 68px minmax(0,1fr); gap: 12px; }
    .ses-about__icon { width: 68px; height: 68px; flex-basis: 68px; }
    .ses-service-card h3 { font-size: 20px; }
}

/* 1440–1281 */
@media (max-width: 1440px) and (min-width: 1281px) {
    .ses-container { width: min(calc(100% - 64px), 1360px); }
    .ses-header__inner { grid-template-columns: 190px 1fr 190px; gap: 18px; }
    .ses-brand__logo { width: 116px; }
    .ses-nav { gap: clamp(14px, 1.5vw, 25px); font-size: 13px; }
    .ses-phone { font-size: 13px; }
    .ses-hero__inner { grid-template-columns: 1.02fr .98fr; gap: 30px; }
    .ses-hero h1 { font-size: clamp(62px, 5.2vw, 82px); }
    .ses-hero__lead { max-width: 590px; font-size: 17px; }
    .ses-orbit--hero { width: min(37vw, 490px); }
    .ses-tech-card { width: 235px; }
    .ses-hero__metric { min-width: 112px; }
    .ses-about { transform: translateX(-12px); grid-template-columns: minmax(310px, 380px) 1fr; gap: 38px; }
    .ses-about__render { width: min(100%, 380px); }
    .ses-about__stats { grid-template-columns: repeat(4,minmax(0,1fr)); gap: 14px; }
    .ses-about__stat { grid-template-columns: 62px minmax(0,1fr); gap: 10px; }
    .ses-about__icon { width: 62px; height: 62px; flex-basis: 62px; }
    .ses-about__stat strong { font-size: 32px; }
    .ses-about__stat small { font-size: 12px; }
    .ses-services { grid-template-columns: repeat(5,minmax(0,1fr)); gap: 10px; }
    .ses-service-card__body { padding: 19px 16px 22px; }
    .ses-service-card h3 { font-size: 18px; min-height: 78px; }
    .ses-service-card p { font-size: 12px; }
    .ses-sro { grid-template-columns: minmax(0,1fr) 280px; gap: 42px; }
    .ses-sro__copy h2 { font-size: clamp(44px,4.5vw,62px); }
    .ses-process__step { padding-right: 18px; }
    .ses-process__step:not(:last-child) { padding-right: 20px; }
    .ses-process__step h3 { font-size: 15px; }
    .ses-cta--final .ses-cta__inner { grid-template-columns: minmax(0,1fr) 310px minmax(0,.9fr); gap: 32px; }
    .ses-orbit--cta { width: 290px; }
}

/* 1280–1101: desktop condensed */
@media (max-width: 1280px) and (min-width: 1101px) {
    .ses-container { width: min(calc(100% - 54px), 1200px); }
    .ses-header__inner { grid-template-columns: 170px 1fr 178px; gap: 12px; }
    .ses-brand__logo { width: 108px; }
    .ses-nav { gap: 15px; font-size: 12.5px; }
    .ses-phone { font-size: 12.5px; }
    .ses-hero__inner { grid-template-columns: 1fr .92fr; gap: 24px; }
    .ses-hero h1 { font-size: clamp(58px, 5.3vw, 72px); }
    .ses-hero__lead { font-size: 16px; max-width: 540px; }
    .ses-orbit--hero { width: min(39vw, 450px); }
    .ses-tech-card { width: 215px; min-height: 58px; }
    .ses-tech-card--b { right: 0; }
    .ses-hero__metric { transform: scale(.9); transform-origin: center; }
    .ses-about { transform: none; grid-template-columns: 360px 1fr; gap: 34px; }
    .ses-about__render { width: 350px; }
    .ses-about__stats { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px 24px; }
    .ses-services { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; }
    .ses-service-card h3 { min-height: 54px; }
    .ses-sro { grid-template-columns: minmax(0,1fr) 250px; padding: 36px; gap: 32px; }
    .ses-sro__facts { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .ses-process { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 30px 18px; }
    .ses-process__step:nth-child(3n) .ses-process__arrow { display: none; }
    .ses-cta--final .ses-cta__inner { grid-template-columns: 1fr 300px; gap: 30px; }
    .ses-cta--final .ses-contacts { grid-column: 1 / -1; grid-template-columns: repeat(3,minmax(0,1fr)); }
    .ses-footer__grid { grid-template-columns: .8fr 1.5fr 1fr; gap: 24px; }
}

/* Tablet header starts at 1100 to prevent menu collisions */
@media (max-width: 1100px) {
    .ses-header { height: 82px; }
    .ses-header.is-scrolled { height: 82px; }
    .ses-header__inner { grid-template-columns: auto 1fr auto; gap: 18px; }
    .ses-brand__logo { width: 106px; }
    .ses-nav {
        position: fixed;
        inset: 82px 0 0;
        z-index: 1050;
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
        align-items: stretch;
        gap: 0;
        padding: 24px max(28px, calc((100vw - 900px)/2));
        background: rgba(7,9,10,.985);
        backdrop-filter: blur(18px);
        transform: translateX(100%);
        transition: transform .3s ease;
        font-size: 18px;
    }
    body.ses-menu-open .ses-nav { transform: translateX(0); }
    .ses-nav a { padding: 17px 0; border-bottom: 1px solid rgba(255,255,255,.10); }
    .ses-nav a::after { display: none; }
    .ses-menu-toggle { display: block; }
    .ses-header__actions { gap: 14px; }
    .ses-phone { font-size: 13px; }

    .ses-hero__inner { min-height: 820px; padding-top: 112px; padding-bottom: 76px; grid-template-columns: 1fr .82fr; gap: 18px; }
    .ses-hero h1 { font-size: clamp(56px,7vw,74px); }
    .ses-hero__lead { font-size: 16px; }
    .ses-orbit--hero { width: min(45vw,430px); }
    .ses-tech-card { display: none; }
    .ses-hero__metric--p, .ses-hero__metric--v, .ses-hero__metric--q { right: 2%; }
    .ses-hero__metric--t1 { left: 54%; }
    .ses-hero__metric--t2 { left: 57%; }

    .ses-section--about .ses-container { width: min(calc(100% - 48px), var(--max)); }
    .ses-about { transform: none; grid-template-columns: 340px 1fr; gap: 32px; }
    .ses-about__render { width: 330px; }
    .ses-about__content h2 { font-size: clamp(44px,5.5vw,62px); }
    .ses-about__content p { font-size: 16px; }
    .ses-about__stats { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .ses-services { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }
    .ses-service-card h3 { min-height: 48px; }
    .ses-sro { grid-template-columns: minmax(0,1fr) 240px; gap: 28px; padding: 32px; }
    .ses-sro__copy h2 { font-size: clamp(42px,5.4vw,58px); }
    .ses-sro__facts { grid-template-columns: 1fr 1fr; }
    .ses-process { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 30px 22px; }
    .ses-process__step:nth-child(2n) .ses-process__arrow { display:none; }
    .ses-cta--final .ses-cta__inner { grid-template-columns: 1fr; text-align: left; }
    .ses-cta--final .ses-orbit--cta { justify-self: center; }
    .ses-cta--final .ses-contacts { grid-template-columns: repeat(2,minmax(0,1fr)); width:100%; justify-self:start; }
    .ses-footer__grid { grid-template-columns: 1fr 1.6fr; gap: 28px; }
    .ses-footer__legal { grid-column: 1 / -1; align-items:flex-start; text-align:left; flex-direction:row; flex-wrap:wrap; gap:8px 18px; }
}

/* 900 and below: mobile composition */
@media (max-width: 900px) {
    .ses-container { width: min(calc(100% - 40px), var(--max)); }
    .ses-phone { font-size: 12.5px; }
    .ses-hero { min-height: 780px; }
    .ses-hero__inner { min-height: 780px; grid-template-columns: 1fr; align-content:center; padding-top: 104px; padding-bottom: 82px; }
    .ses-hero__content { max-width: 690px; }
    .ses-hero h1 { font-size: clamp(52px,10vw,76px); max-width: 690px; }
    .ses-hero__visual { position:absolute; inset:0; opacity:.34; pointer-events:none; }
    .ses-orbit--hero { left:auto; right:-15%; top:50%; width:min(66vw,500px); transform:translateY(-50%); }
    .ses-hero__metrics { display:none; }
    .ses-hero__board { opacity:.48; }
    .ses-about { grid-template-columns:1fr; gap:28px; }
    .ses-about__visual { order:-1; min-height:auto; justify-content:center; }
    .ses-about__render { width:min(100%,520px); }
    .ses-about__content { max-width:760px; margin:0 auto; }
    .ses-about__stats { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .ses-services { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .ses-sro { grid-template-columns:1fr; }
    .ses-sro__certificate { width:min(100%,260px); margin-top:10px; }
    .ses-sro__facts { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .ses-process { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .ses-process__step:nth-child(2n) .ses-process__arrow { display:none; }
    .ses-footer__grid { grid-template-columns:1fr; gap:24px; }
    .ses-footer__nav { justify-content:flex-start; }
    .ses-footer__legal { grid-column:auto; }
}

/* 768 and below */
@media (max-width: 768px) {
    .ses-header__inner { gap: 10px; }
    .ses-brand__logo { width: 98px; }
    .ses-phone { font-size: 12px; }
    .ses-hero { min-height: 740px; }
    .ses-hero__inner { min-height:740px; padding-top: 96px; }
    .ses-hero h1 { font-size: clamp(48px,12vw,68px); }
    .ses-hero__lead { max-width:580px; font-size:15px; }
    .ses-hero__buttons { gap:10px; }
    .ses-section { padding-top:72px; padding-bottom:72px; }
    .ses-section--about { padding-top:50px; }
    .ses-section--services { padding-top:54px; }
    .ses-about__stats { gap:16px; }
    .ses-about__stat { grid-template-columns:64px minmax(0,1fr); gap:12px; }
    .ses-about__icon { width:64px; height:64px; flex-basis:64px; }
    .ses-about__stat strong { font-size:32px; }
    .ses-services { grid-template-columns:1fr 1fr; }
    .ses-service-card__body { padding:20px 18px 22px; }
    .ses-service-card h3 { min-height:0; font-size:20px; }
    .ses-sro { padding:26px; }
    .ses-sro__facts { grid-template-columns:1fr 1fr; gap:18px; }
    .ses-process__step h3 { min-height:0; }
    .ses-cta--final { padding-top:72px; padding-bottom:72px; }
    .ses-cta--final .ses-cta__copy h2 { font-size:clamp(42px,8.5vw,60px); }
    .ses-orbit--cta { width:min(72vw,310px); }
    .ses-cta--final .ses-contacts { grid-template-columns:1fr; }
    .ses-footer { padding:34px 0; }
    .ses-footer__nav { display:grid; grid-template-columns:repeat(3,max-content); gap:9px 20px; }
    .ses-sro-modal { padding:10px; }
    .ses-sro-modal__panel { width:calc(100vw - 20px); max-height:calc(100vh - 20px); }
    .ses-sro-modal__document { padding:14px; }
}

/* 560 and below */
@media (max-width: 560px) {
    .ses-container { width:min(calc(100% - 28px),var(--max)); }
    .ses-header { height:72px; }
    .ses-header.is-scrolled { height:72px; }
    .ses-header__inner { grid-template-columns:auto 1fr auto; }
    .ses-brand__logo { width:90px; }
    .ses-phone { display:none; }
    .ses-nav { inset:72px 0 0; padding:20px 20px 34px; }
    .ses-menu-toggle { width:40px; height:40px; }

    .ses-hero { min-height:700px; }
    .ses-hero__inner { min-height:700px; padding-top:84px; padding-bottom:72px; }
    .ses-kicker { font-size:10px; }
    .ses-hero h1 { margin-top:16px; font-size:clamp(44px,14vw,61px); line-height:.92; }
    .ses-hero__lead { font-size:14px; line-height:1.55; }
    .ses-hero__buttons { flex-direction:column; margin-top:26px; }
    .ses-btn { width:100%; min-height:50px; }
    .ses-orbit--hero { right:-34%; width:min(92vw,430px); opacity:.88; }
    .ses-hero__board { opacity:.36; }
    .ses-marquee { height:42px; }
    .ses-marquee__group { gap:18px; font-size:9px; }

    .ses-section { padding-top:62px; padding-bottom:62px; }
    .ses-section--about .ses-container { width:min(calc(100% - 28px),var(--max)); }
    .ses-about__render { width:100%; }
    .ses-about__content h2 { font-size:clamp(38px,11vw,52px); }
    .ses-about__content p { font-size:15px; line-height:1.6; }
    .ses-about__stats { grid-template-columns:1fr 1fr; gap:14px 10px; }
    .ses-about__stat { grid-template-columns:54px minmax(0,1fr); gap:10px; min-height:72px; }
    .ses-about__icon { width:54px; height:54px; flex-basis:54px; }
    .ses-about__stat strong { font-size:27px; min-height:auto; }
    .ses-about__stat small { min-height:0; font-size:11px; }

    .ses-services { grid-template-columns:1fr; gap:14px; }
    .ses-service-card__media { aspect-ratio:16 / 9; }
    .ses-service-card h3 { font-size:21px; }
    .ses-service-card p { font-size:13px; }

    .ses-sro { padding:22px 18px 30px; border-radius:8px; }
    .ses-sro__copy h2 { font-size:clamp(38px,11vw,50px); }
    .ses-sro__copy > p { font-size:14px; }
    .ses-sro__facts { grid-template-columns:1fr; gap:16px; }
    .ses-sro__facts article { grid-template-columns:52px minmax(0,1fr); }
    .ses-sro__certificate { width:min(82%,245px); }
    .ses-sro__certificate-label { bottom:-28px; font-size:9px; }

    .ses-process { grid-template-columns:1fr; margin-top:34px; gap:24px; }
    .ses-process__arrow { display:none !important; }
    .ses-process__step { padding-right:0 !important; display:grid; grid-template-columns:52px 1fr; column-gap:14px; }
    .ses-process__top { grid-column:1 / -1; margin-bottom:4px; }
    .ses-process__step > img { grid-column:1; grid-row:2 / span 2; width:48px; height:48px; margin:0; }
    .ses-process__step h3 { grid-column:2; margin-top:2px; }
    .ses-process__step p { grid-column:2; margin-top:7px; max-width:none; }

    .ses-cta--final .ses-cta__copy h2 { font-size:clamp(38px,11vw,52px); }
    .ses-orbit--cta { width:min(82vw,290px); }
    .ses-contact-row { font-size:14px; }

    .ses-footer__nav { grid-template-columns:1fr 1fr; gap:8px 18px; }
    .ses-footer__legal { flex-direction:column; gap:7px; }

    .ses-sro-modal__bar { padding:12px 12px 11px 14px; }
    .ses-sro-modal__bar strong { font-size:13px; }
    .ses-sro-modal__close { width:40px; height:40px; flex-basis:40px; }
    .ses-sro-modal__document { padding:10px; }
    .ses-modal__panel { border-radius:8px; }
}

/* 430px target */
@media (max-width: 430px) {
    .ses-container { width:calc(100% - 24px); }
    .ses-brand__logo { width:86px; }
    .ses-hero { min-height:680px; }
    .ses-hero__inner { min-height:680px; padding-top:80px; }
    .ses-hero h1 { font-size:clamp(42px,13.4vw,56px); }
    .ses-hero__lead { font-size:13.5px; }
    .ses-orbit--hero { right:-44%; width:100vw; }
    .ses-marquee__group { gap:15px; padding-right:16px; }
    .ses-about__stats { grid-template-columns:1fr; gap:10px; }
    .ses-about__stat { grid-template-columns:58px 1fr; }
    .ses-about__icon { width:58px; height:58px; flex-basis:58px; }
    .ses-section h2, .ses-cta h2 { font-size:clamp(36px,11vw,47px); }
    .ses-sro { padding-left:15px; padding-right:15px; }
    .ses-sro__certificate { width:min(88%,230px); }
    .ses-footer__nav { grid-template-columns:1fr; }
    .ses-footer__identity, .ses-footer__legal { max-width:100%; }
    .ses-cookie__text { font-size:11px; }
    .ses-sro-modal { padding:6px; }
    .ses-sro-modal__panel { width:calc(100vw - 12px); max-height:calc(100vh - 12px); border-radius:8px; }
}


/* =========================================================
   SES 1.9.1 — dual SRO / project + energy audit
   ========================================================= */
.ses-sro--dual {
    grid-template-columns: minmax(0,1fr) minmax(410px,520px);
    gap: clamp(42px,5vw,78px);
}
.ses-sro--dual .ses-sro__copy > p { max-width: 760px; }
.ses-sro--dual .ses-sro__facts { max-width: 820px; }
.ses-sro__certificates {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 20px;
    align-items: start;
}
.ses-sro__certificates .ses-sro__certificate {
    width: 100%;
    max-width: none;
    min-width: 0;
    margin: 0;
    padding: 9px 9px 52px;
    transform: none;
    border-radius: 8px;
    background: linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.018));
}
.ses-sro__certificates .ses-sro__certificate:nth-child(2) { transform: translateY(20px); }
.ses-sro__certificates .ses-sro__certificate:hover { transform: translateY(-5px); }
.ses-sro__certificates .ses-sro__certificate:nth-child(2):hover { transform: translateY(15px); }
.ses-sro__certificate-kind {
    position: absolute;
    z-index: 3;
    top: 18px;
    left: 18px;
    padding: 6px 8px;
    border: 1px solid rgba(255,90,31,.38);
    background: rgba(7,9,10,.78);
    color: var(--accent);
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .11em;
    backdrop-filter: blur(8px);
}
.ses-sro__certificates .ses-sro__certificate img {
    aspect-ratio: 0.707 / 1;
    object-fit: cover;
    object-position: top center;
    border: 1px solid rgba(255,255,255,.08);
    background: #fff;
}
.ses-sro__certificate-meta {
    position: absolute;
    left: 14px;
    right: 14px;
    bottom: 14px;
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 10px;
    color: #fff;
}
.ses-sro__certificate-meta strong { font-size: 13px; line-height: 1; }
.ses-sro__certificate-meta small { color: rgba(255,255,255,.52); font-size: 9px; text-align: right; }
.ses-sro__certificates .ses-sro__certificate-label {
    bottom: -28px;
    font-size: 9px;
}
.ses-sro-modal__panel--project { width: min(980px,calc(100vw - 40px)); }
.ses-sro-modal__document--pages {
    display: grid;
    gap: 24px;
}
.ses-sro-modal__document--pages img { width: min(100%,760px); }
.ses-sro-modal__pdf {
    flex: 0 0 auto;
    align-self: center;
    margin: 0 0 16px;
    padding: 9px 14px;
    border: 1px solid rgba(255,90,31,.35);
    color: #fff;
    font-size: 11px;
    letter-spacing: .05em;
    transition: border-color .2s ease,background .2s ease;
}
.ses-sro-modal__pdf:hover { border-color: rgba(255,90,31,.72); background: rgba(255,90,31,.07); }

@media (max-width:1280px) {
    .ses-sro--dual { grid-template-columns:minmax(0,1fr) 430px; gap:36px; }
    .ses-sro__certificates { gap:14px; }
}
@media (max-width:1024px) {
    .ses-sro--dual { grid-template-columns:1fr; }
    .ses-sro__certificates { width:min(100%,560px); justify-self:center; gap:20px; }
    .ses-sro__certificates .ses-sro__certificate:nth-child(2) { transform:translateY(0); }
    .ses-sro__certificates .ses-sro__certificate:nth-child(2):hover { transform:translateY(-5px); }
}
@media (max-width:560px) {
    .ses-sro__certificates { grid-template-columns:1fr 1fr; gap:10px; }
    .ses-sro__certificates .ses-sro__certificate { padding:6px 6px 45px; }
    .ses-sro__certificate-kind { top:12px; left:12px; font-size:7px; padding:4px 5px; }
    .ses-sro__certificate-meta { left:10px; right:10px; bottom:11px; display:block; }
    .ses-sro__certificate-meta strong { font-size:11px; }
    .ses-sro__certificate-meta small { display:block; margin-top:3px; font-size:7px; text-align:left; }
    .ses-sro__certificates .ses-sro__certificate-label { display:none; }
    .ses-sro-modal__document--pages { gap:14px; }
    .ses-sro-modal__pdf { margin-bottom:10px; }
}
@media (max-width:430px) {
    .ses-sro__certificates { gap:8px; }
    .ses-sro__certificate-kind { font-size:6px; }
}


/* =========================================================
   SES 1.9.2 — final header centering / footer menu / SRO registry
   ========================================================= */

/* Desktop header: menu is centered relative to viewport, not the side columns. */
@media (min-width: 1101px) {
    .ses-header__inner {
        position: relative;
        display: flex;
        align-items: center;
        justify-content: space-between;
        min-height: 100%;
        gap: 24px;
        transform: translateY(10px);
    }
    .ses-brand {
        position: relative;
        z-index: 3;
        flex: 0 0 auto;
    }
    .ses-brand__logo {
        width: 116px;
    }
    .ses-nav {
        position: absolute;
        z-index: 2;
        left: 50%;
        top: 50%;
        transform: translate(-50%, -50%);
        display: flex;
        align-items: center;
        justify-content: center;
        align-self: auto;
        gap: clamp(20px, 2vw, 38px);
        width: max-content;
        max-width: calc(100% - 430px);
        font-size: clamp(14.5px, .82vw, 15.8px);
        font-weight: 650;
        white-space: nowrap;
    }
    .ses-header__actions {
        position: relative;
        z-index: 3;
        flex: 0 0 auto;
        margin-left: auto;
        align-self: center;
        display: flex;
        align-items: center;
        justify-content: flex-end;
    }
    .ses-phone {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-height: 0;
        line-height: 1.15;
    }
}

@media (max-width: 1440px) and (min-width: 1281px) {
    .ses-brand__logo { width: 104px; }
    .ses-nav {
        gap: 19px;
        max-width: calc(100% - 380px);
        font-size: 14.2px;
    }
}

@media (max-width: 1280px) and (min-width: 1101px) {
    .ses-brand__logo { width: 98px; }
    .ses-nav {
        gap: 13px;
        max-width: calc(100% - 330px);
        font-size: 13.5px;
    }
    .ses-phone { font-size: 12.5px; }
}

/* Footer links are a distinct, always-visible row. */
.ses-footer {
    padding: 38px 0 30px;
}
.ses-footer__grid {
    display: grid;
    grid-template-columns: minmax(220px, .7fr) minmax(0, 1.5fr);
    grid-template-areas:
        "identity nav"
        "legal legal";
    gap: 24px 46px;
    align-items: center;
}
.ses-footer__identity { grid-area: identity; }
.ses-footer__nav {
    grid-area: nav;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 10px 26px;
    width: 100%;
    color: rgba(255,255,255,.88);
    font-size: 13.5px;
    font-weight: 600;
}
.ses-footer__nav a {
    display: inline-flex;
    align-items: center;
    min-height: 34px;
}
.ses-footer__legal {
    grid-area: legal;
    width: 100%;
    padding-top: 17px;
    border-top: 1px solid rgba(255,255,255,.10);
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
    flex-wrap: wrap;
    gap: 8px 22px;
    color: #7f858a;
    font-size: 11px;
    text-align: left;
}

@media (max-width: 1100px) {
    .ses-footer__grid {
        grid-template-columns: 1fr;
        grid-template-areas:
            "identity"
            "nav"
            "legal";
        gap: 18px;
    }
    .ses-footer__nav {
        justify-content: flex-start;
        font-size: 13px;
        gap: 8px 22px;
    }
    .ses-footer__legal {
        grid-column: auto;
        align-items: flex-start;
        justify-content: flex-start;
        text-align: left;
    }
}

@media (max-width: 560px) {
    .ses-footer__nav {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 4px 16px;
    }
    .ses-footer__nav a { min-height: 32px; }
}

@media (max-width: 430px) {
    .ses-footer__nav { grid-template-columns: 1fr; }
}


/* =========================================================
   SES 1.9.3 — footer composition, CTA contacts, V metric fix
   ========================================================= */

/* Hero: keep the V / volume card on the right side at desktop widths. */
@media (min-width: 1681px) {
    .ses-hero__metric--v { right: 1.2% !important; }
}
@media (max-width: 1680px) and (min-width: 1441px) {
    .ses-hero__metric--v { right: .8% !important; }
}
@media (max-width: 1440px) and (min-width: 1281px) {
    .ses-hero__metric--v { right: .35% !important; }
}
@media (max-width: 1280px) and (min-width: 1101px) {
    .ses-hero__metric--v { right: .4% !important; }
}

/* Final CTA: make the right-side contact information more legible. */
.ses-cta--final .ses-contacts {
    width: min(100%, 410px);
    gap: 25px;
}
.ses-cta--final .ses-contact-row {
    grid-template-columns: 34px minmax(0,1fr);
    gap: 15px;
    align-items: start;
    font-size: 17px;
}
.ses-cta--final .ses-contact-icon {
    width: 28px;
    height: 28px;
    margin-top: 4px;
}
.ses-contact-row__body {
    min-width: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 5px;
}
.ses-contact-row__body small {
    color: var(--accent);
    font-size: 10px;
    line-height: 1;
    font-weight: 850;
    letter-spacing: .10em;
    text-transform: uppercase;
}
.ses-contact-row__body > a {
    color: #fff;
    font-size: 17px;
    line-height: 1.35;
    font-weight: 650;
    transition: color .2s ease;
}
.ses-contact-row__body > a:hover { color: var(--accent); }
.ses-contact-row__body > a b {
    color: var(--accent);
    font-size: 13px;
}
.ses-contact-row__body > span {
    color: rgba(255,255,255,.48);
    font-size: 11px;
    line-height: 1.2;
}

/* Footer: logo left, section menu centered, legal row split edge-to-edge. */
.ses-footer {
    padding: 36px 0 28px;
}
.ses-footer__main {
    position: relative;
    min-height: 88px;
    display: flex;
    align-items: center;
}
.ses-footer__identity {
    position: relative;
    z-index: 2;
    width: 210px;
    flex: 0 0 210px;
}
.ses-footer__logo-link {
    display: inline-flex;
    align-items: center;
    width: max-content;
}
.ses-footer__logo {
    display: block;
    width: 126px;
    height: auto;
}
.ses-footer__muted {
    max-width: 200px;
    margin-top: 9px;
    color: #7f858a;
    font-size: 11px;
    line-height: 1.35;
}
.ses-footer__nav {
    position: absolute;
    z-index: 1;
    left: 50%;
    top: 50%;
    transform: translate(-50%,-50%);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 10px 28px;
    width: max-content;
    max-width: calc(100% - 440px);
    color: rgba(255,255,255,.88);
    font-size: 13.5px;
    font-weight: 600;
}
.ses-footer__bottom {
    width: 100%;
    margin-top: 22px;
    padding-top: 18px;
    border-top: 1px solid rgba(255,255,255,.10);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    color: #737a7f;
    font-size: 11px;
}
.ses-footer__copyright { flex: 0 0 auto; }
.ses-footer__legal-links {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 10px 22px;
    text-align: right;
}
.ses-footer__legal-links a {
    color: #858c91;
    transition: color .2s ease;
}
.ses-footer__legal-links a:hover { color: var(--accent); }

@media (max-width: 1280px) {
    .ses-footer__nav { gap: 8px 18px; font-size: 12.5px; max-width: calc(100% - 350px); }
    .ses-footer__identity { width: 170px; flex-basis: 170px; }
    .ses-footer__logo { width: 112px; }
}
@media (max-width: 1100px) {
    .ses-footer__main {
        min-height: 0;
        display: grid;
        grid-template-columns: 1fr;
        gap: 22px;
    }
    .ses-footer__identity {
        width: auto;
        flex-basis: auto;
        text-align: center;
    }
    .ses-footer__logo-link { margin: 0 auto; }
    .ses-footer__muted { margin-left: auto; margin-right: auto; }
    .ses-footer__nav {
        position: static;
        transform: none;
        width: 100%;
        max-width: none;
        justify-content: center;
        font-size: 13px;
    }
    .ses-footer__bottom { margin-top: 24px; }
}
@media (max-width: 768px) {
    .ses-footer__nav {
        display: grid;
        grid-template-columns: repeat(3,max-content);
        justify-content: center;
        gap: 8px 20px;
    }
    .ses-footer__bottom {
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 10px;
        text-align: center;
    }
    .ses-footer__legal-links { justify-content: center; text-align: center; }
}
@media (max-width: 560px) {
    .ses-cta--final .ses-contact-row { font-size: 15px; }
    .ses-contact-row__body > a { font-size: 15px; overflow-wrap: anywhere; }
    .ses-footer__nav { grid-template-columns: repeat(2,max-content); gap: 7px 18px; }
    .ses-footer__logo { width: 104px; }
}
@media (max-width: 430px) {
    .ses-footer__nav { grid-template-columns: 1fr; width: 100%; text-align: center; }
    .ses-footer__nav a { justify-content: center; }
    .ses-footer__legal-links { flex-direction: column; gap: 7px; }
}


/* =========================================================
   SES 1.9.4 — final visual polish
   ========================================================= */

/* Header navigation: pure white, same visual language as footer navigation. */
@media (min-width: 1101px) {
    .ses-nav {
        color: #fff !important;
        font-weight: 650 !important;
    }
    .ses-nav a { color: #fff !important; }
}

/* Slightly larger final contact information. */
.ses-cta--final .ses-contacts {
    width: min(100%, 440px);
    gap: 27px;
}
.ses-cta--final .ses-contact-row {
    grid-template-columns: 36px minmax(0,1fr);
    gap: 16px;
}
.ses-cta--final .ses-contact-icon {
    width: 30px;
    height: 30px;
}
.ses-contact-row__body small {
    font-size: 10.5px;
}
.ses-contact-row__body > a {
    font-size: 18.5px;
    line-height: 1.32;
}
.ses-contact-row__body > span {
    font-size: 11.5px;
}

/* Footer: no tagline, menu typography mirrors the desktop header. */
.ses-footer__muted { display: none !important; }
.ses-footer__nav {
    color: #fff !important;
    font-size: clamp(14.5px, .82vw, 15.8px) !important;
    font-weight: 650 !important;
}
.ses-footer__nav a { color: #fff !important; }

/* Bottom legal divider: fixed line that softly pulses orange; it never travels. */
.ses-footer__bottom {
    position: relative;
    border-top: 0 !important;
    padding-top: 20px;
}
.ses-footer__bottom::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    height: 1px;
    background: rgba(255,255,255,.11);
    box-shadow: 0 0 0 rgba(255,90,31,0);
    animation: sesFooterLinePulse 3.8s ease-in-out infinite;
    pointer-events: none;
}
@keyframes sesFooterLinePulse {
    0%, 64%, 100% {
        background: rgba(255,255,255,.11);
        box-shadow: 0 0 0 rgba(255,90,31,0);
    }
    76% {
        background: rgba(255,90,31,.70);
        box-shadow: 0 0 12px rgba(255,90,31,.55), 0 0 30px rgba(255,90,31,.18);
    }
    84% {
        background: rgba(255,122,67,.92);
        box-shadow: 0 0 18px rgba(255,90,31,.78), 0 0 42px rgba(255,90,31,.24);
    }
    94% {
        background: rgba(255,255,255,.12);
        box-shadow: 0 0 4px rgba(255,90,31,.08);
    }
}

/* Project SRO / extract icon: clean document + check instead of clipped shield. */
.ses-sro__icon--quality::before {
    content: "" !important;
    display: block !important;
    position: absolute !important;
    left: 17px !important;
    top: 12px !important;
    width: 22px !important;
    height: 29px !important;
    border: 2px solid var(--accent) !important;
    border-radius: 4px !important;
    clip-path: none !important;
    background: transparent !important;
    box-sizing: border-box !important;
}
.ses-sro__icon--quality::after {
    content: "" !important;
    display: block !important;
    position: absolute !important;
    left: 24px !important;
    top: 23px !important;
    width: 10px !important;
    height: 6px !important;
    border: 0 !important;
    border-left: 2px solid var(--accent) !important;
    border-bottom: 2px solid var(--accent) !important;
    transform: rotate(-45deg) !important;
    box-sizing: border-box !important;
}
.ses-sro__icon--quality {
    overflow: visible !important;
}

@media (max-width: 1280px) {
    .ses-footer__nav {
        font-size: 14px !important;
    }
}
@media (max-width: 1100px) {
    .ses-footer__nav {
        font-size: 14px !important;
        font-weight: 650 !important;
    }
}
@media (max-width: 560px) {
    .ses-contact-row__body > a { font-size: 16px; }
    .ses-footer__nav { font-size: 13.5px !important; }
}

/* SES 1.9.5 — fixed header geometry: scrolling changes only the backdrop. */
@media (max-width: 1100px) {
    .ses-header__inner { transform: none; }
}

/* =========================================================
   SES 1.9.6 — mobile stability fixes
   ========================================================= */

/* Mobile menu must look identical whether opened at page top or after scroll. */
@media (max-width: 1100px) {
    body.ses-menu-open .ses-header,
    body.ses-menu-open .ses-header.is-scrolled {
        background: linear-gradient(to bottom, rgba(5,7,8,.98), rgba(5,7,8,.96)) !important;
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
        border-bottom-color: rgba(255,255,255,.10) !important;
        box-shadow: 0 10px 30px rgba(0,0,0,.20);
    }

    body.ses-menu-open .ses-nav {
        position: fixed !important;
        left: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        width: 100% !important;
        max-width: none !important;
        transform: translateX(0) !important;
        background: #07090a !important;
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
        overflow-y: auto;
        overscroll-behavior: contain;
        border-top: 1px solid rgba(255,255,255,.07);
    }

    body.ses-menu-open .ses-nav a {
        color: #fff !important;
        opacity: 1 !important;
    }
}

@media (max-width: 560px) {
    body.ses-menu-open .ses-header,
    body.ses-menu-open .ses-header.is-scrolled {
        height: 72px !important;
    }
    body.ses-menu-open .ses-nav {
        top: 72px !important;
        padding: 22px 20px 38px !important;
    }
}

/* About title: keep the long brand name fully inside small screens. */
@media (max-width: 560px) {
    .ses-about__content h2 {
        max-width: 100%;
        font-size: clamp(34px, 9.4vw, 43px) !important;
        line-height: .98 !important;
        letter-spacing: -.042em !important;
    }
}
@media (max-width: 430px) {
    .ses-about__content h2 {
        font-size: clamp(32px, 8.9vw, 38px) !important;
        line-height: 1 !important;
        letter-spacing: -.038em !important;
    }
}

/* Footer mobile: logo and section menu are separate vertical rows, never overlap. */
@media (max-width: 768px) {
    .ses-footer__main {
        position: relative !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: 30px !important;
        min-height: 0 !important;
    }
    .ses-footer__identity {
        position: relative !important;
        z-index: 2 !important;
        display: flex !important;
        justify-content: center !important;
        width: 100% !important;
        flex: 0 0 auto !important;
        margin: 0 !important;
        padding: 0 !important;
        text-align: center !important;
    }
    .ses-footer__logo-link {
        display: inline-flex !important;
        margin: 0 auto !important;
    }
    .ses-footer__nav {
        position: relative !important;
        z-index: 1 !important;
        left: auto !important;
        top: auto !important;
        transform: none !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        justify-content: center !important;
    }
}

@media (max-width: 560px) {
    .ses-footer {
        padding-top: 38px !important;
    }
    .ses-footer__main {
        gap: 28px !important;
    }
    .ses-footer__logo {
        width: 98px !important;
    }
    .ses-footer__nav {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0,1fr)) !important;
        gap: 10px 14px !important;
        text-align: center !important;
    }
    .ses-footer__nav a {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        min-height: 38px !important;
        padding: 4px 3px !important;
    }
}

@media (max-width: 430px) {
    .ses-footer__main {
        gap: 24px !important;
    }
    .ses-footer__logo {
        width: 92px !important;
    }
    .ses-footer__nav {
        grid-template-columns: 1fr !important;
        gap: 6px !important;
    }
    .ses-footer__nav a {
        min-height: 34px !important;
    }
}
