@font-face{font-family:'Onest';font-style:normal;font-weight:400 700;font-display:swap;src:url(/assets/onest-cyrillic-ext.268f03691b.woff2) format('woff2');unicode-range:U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F}
@font-face{font-family:'Onest';font-style:normal;font-weight:400 700;font-display:swap;src:url(/assets/onest-cyrillic.68e5e01d62.woff2) format('woff2');unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116}
@font-face{font-family:'Onest';font-style:normal;font-weight:400 700;font-display:swap;src:url(/assets/onest-latin-ext.14e7d3079b.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Onest';font-style:normal;font-weight:400 700;font-display:swap;src:url(/assets/onest-latin.052df74533.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
:root {
--navy: #10232E;
--page: #ECEEE9;
--muted: #8C8374;
--muted-text: #70695D;
--body: #4A4F52;
--yellow: #E8C93A;
--on-dark: #E3E8EB;
--on-dark-2: #C6D0D7;
--rule: rgba(16, 35, 46, .18);
--ph: #D8D0C0;
--foot: #5A6770;
--ease: cubic-bezier(.2, .7, .2, 1);
--gap-page: clamp(56px, 8vw, 128px);
color-scheme: light;
}
*, *::before, *::after { box-sizing: border-box; }
html, body {
margin: 0;
background: var(--page);
font-family: 'Onest', sans-serif;
-webkit-font-smoothing: antialiased;
color: var(--navy);
}
html { scroll-padding-top: 76px; -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
body { overflow-x: clip; }
@media (prefers-reduced-motion: no-preference) {
html { scroll-behavior: smooth; }
}
a { color: inherit; text-decoration: none; }
a:hover { opacity: .8; }
:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; border-radius: 4px; }
img { max-width: none; }
picture { position: absolute; inset: 0; }
address { font-style: normal; }
button { font: inherit; color: inherit; }
.sprite { position: absolute; width: 0; height: 0; overflow: hidden; }
.nowrap { white-space: nowrap; }
.hl { color: var(--yellow); }
.muted { color: var(--muted); }
.block { display: block; }
.cq { container-type: inline-size; }
.page {
position: relative;
padding: 12px;
display: flex;
flex-direction: column;
gap: var(--gap-page);
}
.page > main {
display: flex;
flex-direction: column;
gap: var(--gap-page);
}
.brand { display: flex; align-items: center; gap: 14px; }
.brand .mark { width: clamp(50px, 4.4vw, 58px); height: clamp(50px, 4.4vw, 58px); flex: none; }
.wordmark { font-weight: 700; font-size: clamp(19px, 1.7vw, 23px); letter-spacing: .18em; }
.brand--sm { gap: 10px; }
.brand--sm .mark { width: 30px; height: 30px; flex: none; }
.brand--sm .wordmark { font-size: 14px; }
.pill {
background: #FFFFFF;
color: var(--navy);
padding: 11px 20px;
border-radius: 999px;
font-size: 14px;
font-weight: 600;
white-space: nowrap;
}
.pill--lg { padding: 13px 22px; font-size: 15px; }
.lang { position: relative; }
.lang > summary {
list-style: none;
cursor: pointer;
display: flex;
align-items: center;
gap: 8px;
height: 46px;
padding: 0 16px;
border-radius: 999px;
background: rgba(255, 255, 255, .14);
-webkit-backdrop-filter: blur(12px);
backdrop-filter: blur(12px);
font-size: 14px;
font-weight: 600;
color: #FFFFFF;
user-select: none;
}
.lang > summary::-webkit-details-marker { display: none; }
.lang .caret { width: 10px; height: 6px; transition: transform .25s ease; }
.lang[open] .caret { transform: rotate(180deg); }
.lang__list {
position: absolute;
right: 0;
top: calc(100% + 8px);
z-index: 10;
min-width: 210px;
background: #FFFFFF;
color: var(--navy);
border-radius: 16px;
box-shadow: 0 16px 40px rgba(16, 35, 46, .22);
padding: 6px;
display: flex;
flex-direction: column;
gap: 2px;
}
.lang__list a {
display: flex;
justify-content: space-between;
align-items: center;
gap: 16px;
padding: 11px 14px;
border-radius: 10px;
font-size: 15px;
font-weight: 500;
}
.lang__list a:hover { background: var(--page); opacity: 1; }
.lang__list a[aria-current] { font-weight: 700; background: var(--page); }
.lang__list a span { font-size: 12px; font-weight: 600; color: var(--muted-text); }
.lang--bar > summary { height: 40px; padding: 0 12px; background: rgba(255, 255, 255, .12); -webkit-backdrop-filter: none; backdrop-filter: none; }
.lang--bar .lang__list { top: calc(100% + 14px); }
.burger {
width: 48px;
height: 48px;
border-radius: 999px;
border: none;
background: rgba(255, 255, 255, .18);
-webkit-backdrop-filter: blur(12px);
backdrop-filter: blur(12px);
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
gap: 5px;
cursor: pointer;
padding: 0;
}
.burger span { width: 18px; height: 2px; background: #FFFFFF; }
.burger--bar { width: 44px; height: 44px; background: rgba(255, 255, 255, .16); -webkit-backdrop-filter: none; backdrop-filter: none; }
.burger--bar span { width: 16px; }
.desk { display: none; }
@media (min-width: 1080px) {
.desk { display: flex; }
.mob { display: none; }
}
.bar {
position: fixed;
z-index: 50;
top: 0;
left: 0;
right: 0;
height: 64px;
display: flex;
align-items: center;
justify-content: space-between;
gap: 20px;
padding: 0 clamp(16px, 2.4vw, 36px) 0 clamp(24px, 3.2vw, 48px);
background: rgba(16, 35, 46, .9);
-webkit-backdrop-filter: blur(16px) saturate(1.3);
backdrop-filter: blur(16px) saturate(1.3);
color: #FFFFFF;
box-shadow: 0 1px 0 rgba(255, 255, 255, .08), 0 10px 30px rgba(16, 35, 46, .18);
transform: translateY(-140%);
opacity: 0;
visibility: hidden;
transition: transform .55s var(--ease), opacity .35s ease, visibility 0s linear .55s;
}
.bar.is-on {
transform: translateY(0);
opacity: 1;
visibility: visible;
transition: transform .55s var(--ease), opacity .35s ease, visibility 0s;
}
.bar__nav { gap: 2px; font-size: 14px; font-weight: 500; }
.bar__nav a { padding: 8px 12px; }
.bar__right { display: flex; align-items: center; gap: 16px; }
.bar__desk { align-items: center; gap: 16px; }
.menu {
position: fixed;
z-index: 60;
left: 12px;
right: 12px;
top: 76px;
max-height: calc(100vh - 100px);
overflow: auto;
background: #FFFFFF;
border-radius: 20px;
box-shadow: 0 16px 40px rgba(16, 35, 46, .2);
padding: 8px 20px 20px;
display: flex;
flex-direction: column;
font-size: 18px;
font-weight: 600;
}
.menu[hidden] { display: none; }
.menu__link { padding: 14px 0; border-bottom: 1px solid var(--page); }
.menu__link:last-of-type { border-bottom: 0; }
.menu__langs { display: flex; flex-wrap: wrap; gap: 8px; padding-top: 16px; border-top: 1px solid var(--page); }
.chip {
min-width: 52px;
height: 44px;
padding: 0 14px;
border-radius: 999px;
display: flex;
align-items: center;
justify-content: center;
font-size: 15px;
font-weight: 600;
background: var(--page);
color: var(--navy);
}
.chip[aria-current] { background: var(--navy); color: #FFFFFF; }
@media (min-width: 1080px) { .menu { display: none !important; } }
.hero {
position: relative;
overflow: hidden;
background: var(--navy);
color: #FFFFFF;
border-radius: 28px;
min-height: clamp(620px, 90vh, 880px);
display: flex;
flex-direction: column;
justify-content: space-between;
gap: 48px;
padding: clamp(20px, 3vw, 36px) clamp(24px, 4vw, 56px) clamp(24px, 4vw, 56px);
}
.hero__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.hero__shade {
position: absolute;
inset: 0;
background: linear-gradient(180deg, rgba(16, 35, 46, .55) 0%, rgba(16, 35, 46, .1) 22%, rgba(16, 35, 46, .35) 55%, rgba(16, 35, 46, .92) 100%);
}
.top { position: relative; z-index: 3; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.top__nav {
gap: 2px;
font-size: 15px;
font-weight: 500;
background: rgba(255, 255, 255, .14);
-webkit-backdrop-filter: blur(12px);
backdrop-filter: blur(12px);
border-radius: 999px;
padding: 4px;
}
.top__nav a { padding: 10px 18px; }
.top__right { align-items: center; gap: 18px; }
.hero__body { position: relative; display: flex; flex-direction: column; gap: clamp(24px, 3vw, 40px); }
.hero h1 { margin: 0; font-size: clamp(28px, 8vw, 124px); line-height: .92; letter-spacing: -.045em; font-weight: 700; }
.hero h1.is-long { font-size: clamp(24px, 5.6vw, 92px); }
.mask {
display: inline-block;
overflow: hidden;
vertical-align: top;
padding: 0 .07em .16em .02em;
margin: 0 -.07em -.16em -.02em;
}
.mask > span { display: inline-block; }
.hero__row { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: end; gap: 24px 48px; }
.hero__sub { margin: 0; font-size: clamp(17px, 1.5vw, 21px); line-height: 1.55; color: var(--on-dark); max-width: 560px; text-wrap: pretty; }
.hero__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 24px; }
.btn {
background: var(--yellow);
color: var(--navy);
padding: 18px 30px;
border-radius: 999px;
font-weight: 700;
font-size: 16px;
}
.hero__phone { font-size: 16px; font-weight: 600; white-space: nowrap; }
@media (prefers-reduced-motion: no-preference) {
.hero__img { animation: wk-zoom 2.8s var(--ease) both; }
.hero .brand .mark { animation: wk-spin 1.6s var(--ease) both, wk-fade .9s ease both; }
.mask > span { animation: wk-up 1.2s var(--ease) both; }
.mask:nth-of-type(1) > span { animation-delay: 180ms; }
.mask:nth-of-type(2) > span { animation-delay: 310ms; }
.mask:nth-of-type(3) > span { animation-delay: 440ms; }
.hero__sub { animation: wk-in 1s var(--ease) 740ms both; }
.hero__actions { animation: wk-in 1s var(--ease) 880ms both; }
}
@keyframes wk-zoom { from { transform: scale(1.08); } }
@keyframes wk-spin { from { transform: rotate(-90deg) scale(.7); } }
@keyframes wk-fade { from { opacity: 0; } }
@keyframes wk-up { from { transform: translateY(120%); } }
@keyframes wk-in { from { opacity: 0; transform: translateY(24px); } }
.sec { padding: clamp(24px, 4vw, 64px) clamp(20px, 4vw, 64px); display: flex; flex-direction: column; }
.sec--company { gap: clamp(36px, 4.5vw, 72px); }
.sec--services, .sec--steps { gap: clamp(32px, 4vw, 56px); }
.eyebrow { font-size: 13px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--muted-text); }
.stack { display: flex; flex-direction: column; gap: clamp(18px, 2vw, 24px); min-width: 0; }
.stack--20 { gap: 20px; }
.h2 { margin: 0; font-size: clamp(38px, 5vw, 84px); line-height: .94; letter-spacing: -.05em; font-weight: 700; color: var(--navy); }
.split { display: grid; grid-template-columns: minmax(0, 1fr); }
.split--head { align-items: end; gap: 24px clamp(32px, 4vw, 72px); }
.split--body { align-items: stretch; gap: clamp(32px, 4vw, 56px) clamp(32px, 4vw, 72px); }
@container (min-width: 900px) {
.split { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); }
}
.lead { margin: 0; font-size: clamp(18px, 1.5vw, 22px); line-height: 1.45; color: var(--navy); text-wrap: pretty; }
.photo {
position: relative;
overflow: hidden;
border-radius: 20px;
min-height: clamp(340px, 34vw, 560px);
background: var(--ph);
}
.photo img {
position: absolute;
inset: 0;
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
filter: saturate(.88) contrast(1.08) sepia(.1);
}
.grain {
position: absolute;
inset: 0;
pointer-events: none;
background-image: url(/assets/grain.a4f3fd0882.svg);
opacity: .45;
mix-blend-mode: overlay;
}
.points { display: flex; flex-direction: column; min-width: 0; }
.points__list { flex: 1; display: flex; flex-direction: column; border-bottom: 1px solid var(--rule); margin: 0; padding: 0; list-style: none; }
.point { flex: 1; display: flex; flex-direction: column; gap: 8px; padding: clamp(18px, 1.8vw, 26px) 0; border-top: 1px solid var(--navy); }
.point h3 { margin: 0; font-size: clamp(20px, 1.7vw, 26px); line-height: 1.15; letter-spacing: -.02em; font-weight: 700; color: var(--navy); }
.point p { margin: 0; font-size: clamp(15px, 1.15vw, 17px); line-height: 1.5; color: var(--body); max-width: 440px; text-wrap: pretty; }
.panel { position: relative; overflow: hidden; border-radius: 28px; color: #FFFFFF; display: flex; flex-direction: column; justify-content: space-between; }
.panel__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.panel__shade { position: absolute; inset: 0; pointer-events: none; }
.kicker {
position: relative;
display: flex;
justify-content: space-between;
gap: 16px;
font-size: 13px;
font-weight: 600;
letter-spacing: .1em;
text-transform: uppercase;
padding-bottom: 14px;
border-bottom: 1px solid rgba(255, 255, 255, .5);
}
.range { background: #2A2118; min-height: clamp(560px, 72vh, 800px); padding: clamp(28px, 5vw, 80px); gap: 48px; }
.range .panel__img { filter: saturate(.8) contrast(1.05) sepia(.12); }
.range .panel__shade { background: linear-gradient(180deg, rgba(16, 35, 46, .5) 0%, rgba(16, 35, 46, .35) 40%, rgba(16, 35, 46, .9) 100%); }
.range__grid {
position: relative;
display: grid;
grid-template-columns: repeat(auto-fit, minmax(min(100%, 400px), 1fr));
gap: 32px clamp(40px, 6vw, 112px);
align-items: end;
}
.range__intro { display: flex; flex-direction: column; gap: 20px; }
.range h2 { margin: 0; font-size: clamp(48px, 7vw, 124px); line-height: .9; letter-spacing: -.05em; font-weight: 700; text-wrap: balance; }
.range__lead { margin: 0; font-size: clamp(16px, 1.2vw, 18px); line-height: 1.6; text-wrap: pretty; color: var(--on-dark); max-width: 420px; }
.cats { display: flex; flex-direction: column; margin: 0; padding: 0; list-style: none; }
.cat {
display: grid;
grid-template-columns: 32px minmax(0, 1fr);
gap: 4px 16px;
align-items: baseline;
padding: 22px 0;
border-top: 1px solid rgba(255, 255, 255, .35);
}
.cat__n { font-size: 13px; font-weight: 600; color: var(--yellow); }
.cat__t { font-size: clamp(26px, 2.6vw, 42px); font-weight: 700; letter-spacing: -.04em; line-height: 1; }
.svc { display: flex; flex-direction: column; min-width: 0; }
.svc__list { flex: 1; display: flex; flex-direction: column; border-bottom: 1px solid var(--navy); margin: 0; padding: 0; list-style: none; }
.svc-item { flex: 1; display: flex; flex-direction: column; gap: 10px; padding: clamp(20px, 2vw, 28px) 0; border-top: 1px solid var(--navy); }
.svc-item h3 { margin: 0; font-size: clamp(22px, 2vw, 30px); line-height: 1.12; letter-spacing: -.03em; font-weight: 700; color: var(--navy); }
.svc-item p { margin: 0; max-width: 540px; font-size: clamp(15px, 1.15vw, 17px); line-height: 1.55; color: var(--body); text-wrap: pretty; }
.svc-col { display: flex; flex-direction: column; min-width: 0; container-type: inline-size; }
.svc-photo {
flex: 1;
min-height: max(300px, 62cqi);
position: relative;
overflow: hidden;
border-radius: 20px;
background: #2A2520;
container-type: size;
color: #FFFFFF;
}
.svc-photo__img {
--h: max(100cqh, 300px, 62cqw);
--w: max(calc(100cqw + 120px), calc((var(--h) + 60px) * 1.7768));
position: absolute;
aspect-ratio: 1672 / 941;
width: var(--w);
left: calc((100cqw - var(--w)) * .1);
top: calc((var(--h) - var(--w) / 1.7768) * .45);
}
.svc-photo__img img { position: absolute; inset: 0; width: 100%; height: 100%; display: block; }
.svc-photo__shade {
position: absolute;
inset: 0;
pointer-events: none;
background: linear-gradient(270deg, rgba(16, 35, 46, .72) 0%, rgba(16, 35, 46, .48) 34%, rgba(16, 35, 46, .12) 58%, rgba(16, 35, 46, 0) 70%);
}
.svc-photo .grain { background-size: 160px 160px; opacity: .34; mix-blend-mode: soft-light; }
.svc-photo__cap {
position: absolute;
top: 0;
right: 0;
bottom: 0;
width: 50%;
padding: clamp(22px, 5cqi, 40px) clamp(22px, 5cqi, 40px) clamp(22px, 5cqi, 40px) 0;
display: flex;
flex-direction: column;
justify-content: flex-end;
gap: clamp(12px, 2.2cqi, 18px);
text-shadow: 0 1px 18px rgba(16, 35, 46, .3);
}
.svc-photo__title { font-size: clamp(24px, 5.4cqi, 52px); line-height: .92; letter-spacing: -.05em; font-weight: 700; }
.svc-photo__text { font-size: clamp(14px, 2cqi, 16px); line-height: 1.5; color: #FFFFFF; text-wrap: pretty; }
.steps-head, .steps { display: grid; grid-template-columns: minmax(0, 1fr); column-gap: clamp(24px, 3vw, 48px); }
.steps-head { row-gap: 24px; align-items: end; }
.steps { row-gap: 40px; margin: 0; padding: 0; list-style: none; }
@container (min-width: 680px) {
.steps { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
.steps-head h2 { margin: 0; font-size: clamp(38px, 4.6vw, 76px); line-height: .94; letter-spacing: -.05em; font-weight: 700; text-wrap: balance; }
.step { display: flex; flex-direction: column; gap: 16px; min-width: 0; }
.step__bar { display: block; height: 6px; border-radius: 999px; }
.step:nth-child(1) .step__bar { background: linear-gradient(90deg, #E39A2E, #E6B936); }
.step:nth-child(2) .step__bar { background: linear-gradient(90deg, #E6B936, #E8C93A, #CFC23D); }
.step:nth-child(3) .step__bar { background: linear-gradient(90deg, #CFC23D, #9DB544); }
.step h3 { margin: clamp(8px, 1vw, 16px) 0 0; font-size: clamp(30px, 3.2vw, 52px); line-height: 1; letter-spacing: -.045em; font-weight: 700; color: var(--navy); }
.step p { margin: 0; max-width: 360px; font-size: clamp(16px, 1.2vw, 18px); line-height: 1.55; color: var(--body); text-wrap: pretty; }
.contact { background: var(--navy); min-height: clamp(600px, 78vh, 860px); padding: clamp(24px, 4vw, 56px); gap: clamp(48px, 6vw, 96px); }
.contact__bg { position: absolute; top: 0; bottom: 0; left: -47.8%; right: -29.2%; }
.contact__bg img {
position: absolute;
inset: 0;
width: 100%;
height: 100%;
object-fit: cover;
object-position: 62% 60%;
filter: saturate(.88) contrast(1.06) sepia(.08) blur(1.6px);
}
.contact__bg .grain { opacity: .35; }
.contact .panel__shade { background: linear-gradient(180deg, rgba(16, 35, 46, .35) 0%, rgba(16, 35, 46, .88) 100%); }
.contact > .grain { background-size: 200px; opacity: .55; }
.contact__body { position: relative; display: flex; flex-direction: column; gap: clamp(32px, 4vw, 56px); }
.contact__headrow { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 24px 64px; }
.contact h2 { margin: 0; font-size: clamp(52px, 8.4vw, 144px); line-height: .88; letter-spacing: -.055em; font-weight: 700; max-width: 1200px; text-wrap: balance; }
.cgrid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 460px), 1fr)); gap: 24px clamp(20px, 2.4vw, 40px); }
.cgrid__sub { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 210px), 1fr)); gap: 24px clamp(20px, 2.4vw, 40px); }
.cell { display: flex; flex-direction: column; gap: 10px; padding-top: 18px; border-top: 1px solid rgba(255, 255, 255, .35); min-width: 0; }
.cell__label { font-size: 13px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--yellow); }
.cell__big { font-size: clamp(20px, 1.7vw, 26px); font-weight: 700; letter-spacing: -.02em; line-height: 1.2; }
.cell__small { font-size: 14px; color: var(--on-dark-2); }
.cell__addr { font-size: 16px; line-height: 1.5; color: var(--on-dark); }
@media (hover: hover) and (prefers-reduced-motion: no-preference) {
[data-zoom] img { transition: transform 1.4s var(--ease); }
[data-zoom="1.05"]:hover img { transform: scale(1.05); }
[data-zoom="1.03"]:hover img { transform: scale(1.03); }
}
.foot { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px 24px; padding: 20px clamp(12px, 2vw, 24px) 12px; font-size: 13px; color: var(--foot); }
.foot__links { display: flex; flex-wrap: wrap; gap: 12px 24px; }
.foot__langs { display: flex; gap: 12px; }
.foot__langs a { color: var(--muted-text); }
.foot__langs a[aria-current] { color: var(--navy); font-weight: 700; }
@media (prefers-reduced-motion: no-preference) {
.rv-on [data-rv] { opacity: 0; transform: translateY(28px); }
.rv-on [data-rv].is-in {
opacity: 1;
transform: none;
transition: opacity 1s var(--ease) var(--d, 0ms), transform 1s var(--ease) var(--d, 0ms);
}
}
.lpage { padding: 12px; display: flex; flex-direction: column; gap: clamp(48px, 7vw, 112px); min-height: 100vh; }
.lhead {
display: flex;
align-items: center;
justify-content: space-between;
gap: 16px;
min-height: 64px;
padding: 10px clamp(10px, 2vw, 16px) 10px clamp(20px, 3.2vw, 48px);
border-radius: 18px;
background: var(--navy);
color: #FFFFFF;
}
.back {
display: flex;
align-items: center;
gap: 10px;
height: 44px;
padding: 0 18px;
border-radius: 999px;
background: rgba(255, 255, 255, .12);
font-size: 14px;
font-weight: 600;
white-space: nowrap;
}
.back__arrow { font-size: 16px; }
@media (max-width: 439px) {
.lhead .wordmark { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
}
.legal { width: 100%; max-width: 1280px; margin: 0 auto; padding: 0 clamp(12px, 4vw, 64px); display: flex; flex-direction: column; gap: clamp(32px, 4vw, 56px); }
.legal__kicker {
display: flex;
justify-content: space-between;
gap: 16px;
font-size: 13px;
font-weight: 600;
letter-spacing: .1em;
text-transform: uppercase;
padding-bottom: 14px;
border-bottom: 1px solid var(--navy);
}
.legal__kicker .muted { color: var(--muted-text); }
.legal h1 { margin: 0; font-size: clamp(48px, 9vw, 148px); line-height: .9; letter-spacing: -.05em; font-weight: 700; text-wrap: balance; }
.imp { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 380px), 1fr)); gap: clamp(32px, 4vw, 56px) clamp(32px, 5vw, 80px); }
.imp__block { display: flex; flex-direction: column; gap: 14px; padding-top: 18px; border-top: 1px solid rgba(16, 35, 46, .2); min-width: 0; }
.imp__block--wide { grid-column: 1 / -1; container-type: inline-size; }
.imp__block > h2 { margin: 0; }
.imp__addr { margin: 0; font-size: clamp(18px, 1.5vw, 21px); line-height: 1.5; }
.imp__rows {
margin: 0;
display: grid;
grid-template-columns: auto minmax(0, 1fr);
column-gap: 20px;
row-gap: 4px;
align-items: baseline;
font-size: clamp(18px, 1.5vw, 21px);
line-height: 1.5;
font-variant-numeric: tabular-nums;
}
.imp__block--wide .imp__rows { font-size: min(clamp(18px, 1.5vw, 21px), calc((100cqi - 26px) / 20)); }
.imp__rows dt { color: var(--muted-text); }
.imp__rows dd { margin: 0; min-width: 0; }
.dlead { margin: 0; max-width: 860px; font-size: clamp(20px, 1.8vw, 26px); line-height: 1.45; letter-spacing: -.01em; text-wrap: pretty; }
.dlist { display: flex; flex-direction: column; gap: clamp(36px, 4vw, 56px); }
.dsec { display: flex; flex-wrap: wrap; gap: 16px clamp(32px, 5vw, 80px); padding-top: 22px; border-top: 1px solid rgba(16, 35, 46, .2); }
.dsec h2 { flex: 1 1 240px; margin: 0; font-size: clamp(22px, 2vw, 30px); line-height: 1.15; letter-spacing: -.025em; font-weight: 700; text-wrap: balance; }
.dsec__body {
flex: 2 1 440px;
min-width: 0;
max-width: 760px;
display: flex;
flex-direction: column;
gap: 14px;
font-size: clamp(17px, 1.25vw, 19px);
line-height: 1.6;
color: var(--body);
}
.dsec__body p { margin: 0; text-wrap: pretty; }
.dsec__body a, .dsec__body strong { color: var(--navy); }
.dsec__body a { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .18em; }
.dsec__body .ink { color: var(--navy); }
.dsec__body .note { font-size: 15px; color: var(--muted-text); }
.optout {
cursor: pointer;
align-self: flex-start;
max-width: 100%;
display: flex;
align-items: center;
gap: 14px;
padding: 14px 18px;
border-radius: 14px;
background: #FFFFFF;
border: 1px solid rgba(16, 35, 46, .15);
color: var(--navy);
text-align: left;
}
.optout[hidden] { display: none; }
.switch { flex: none; position: relative; width: 44px; height: 26px; border-radius: 999px; background: var(--navy); transition: background .25s ease; }
.switch::after {
content: "";
position: absolute;
top: 3px;
left: 3px;
width: 20px;
height: 20px;
border-radius: 999px;
background: #FFFFFF;
box-shadow: 0 1px 3px rgba(16, 35, 46, .3);
transform: translateX(18px);
transition: transform .25s ease;
}
.optout[aria-pressed="true"] .switch { background: #C9CCC4; }
.optout[aria-pressed="true"] .switch::after { transform: translateX(0); }
.optout__txt { display: flex; flex-direction: column; gap: 2px; }
.optout__label { font-size: 16px; font-weight: 600; line-height: 1.35; }
.optout__hint { font-size: 14px; line-height: 1.35; color: var(--muted-text); }
.lfoot {
margin-top: auto;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
gap: 12px 24px;
padding: 20px clamp(12px, 2vw, 24px);
font-size: 14px;
color: var(--muted-text);
border-top: 1px solid rgba(16, 35, 46, .15);
}
.lfoot__links { display: flex; gap: 24px; }
.lfoot [aria-current] { color: var(--navy); font-weight: 600; }
.gate {
min-height: 100vh;
padding: 12px;
display: flex;
}
.gate__panel {
flex: 1;
border-radius: 28px;
background: var(--navy);
color: #FFFFFF;
padding: clamp(24px, 4vw, 56px);
display: flex;
flex-direction: column;
justify-content: space-between;
gap: 48px;
}
.gate__title { margin: 0; font-size: clamp(52px, 8.4vw, 144px); line-height: .88; letter-spacing: -.055em; font-weight: 700; }
.gate__langs { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 210px), 1fr)); gap: 24px clamp(20px, 2.4vw, 40px); margin: 0; padding: 0; list-style: none; }
.gate__langs a { display: flex; flex-direction: column; gap: 10px; padding-top: 18px; border-top: 1px solid rgba(255, 255, 255, .35); }
@media (prefers-reduced-motion: reduce) {
*, *::before, *::after { animation: none !important; transition: none !important; }
}
@media print {
.bar, .menu, .burger, .lang { display: none !important; }
[data-rv] { opacity: 1 !important; transform: none !important; }
.hero__img, .mask > span, .hero__sub, .hero__actions, .hero .brand .mark { animation: none !important; }
}
