:root{--blue:#1857c9;--navy:#0b2e73;--ink:#0e0f11;--muted:#5c5f66;--line:#dcdde0;--pale:#edf2fa;--blue-hover:#1449b0;--blue-pressed:#103b8f;--pale-hover:#dfe7f5;--pale-pressed:#cfdbf1;--disabled-text:#a3a7ae;--disabled-bg:#eceef1;--focus:#6f9cf0;
  /* Type scale: 9 steps + 2 display sizes. Breakpoints override the variables, not the components. */
  --text-xs:13px;--lh-xs:18px;--text-s:14px;--lh-s:21px;--text-m:16px;--lh-m:24px;--text-l:18px;--lh-l:27px;--text-xl:20px;--lh-xl:30px;
  --title-s:18px;--lh-title-s:24px;--title-m:24px;--lh-title-m:30px;--title-l:32px;--lh-title-l:38px;--title-xl:46px;--lh-title-xl:50px;--title-xxl:58px;--lh-title-xxl:60px;
  --display:88px;--lh-display:88px;--display-s:56px;--lh-display-s:60px;
  /* Radii: 8 for controls, 16 for cards, 24 for section boxes, pill for badges. */
  --radius-s:8px;--radius-m:16px;--radius-l:24px;--radius-pill:999px;
  /* Sticky header: the top row scrolls away, the navigation row stays. */
  --header-top:100px;--nav-height:51px;--anchor-offset:calc(var(--nav-height) + 20px)}
@media(min-width:761px) and (max-width:1200px){
  :root{--title-xl:36px;--lh-title-xl:40px;--title-xxl:42px;--lh-title-xxl:46px}
}
@media(max-width:760px){
  :root{--text-l:16px;--lh-l:24px;--text-xl:18px;--lh-xl:27px;--title-s:17px;--lh-title-s:23px;--title-m:22px;--lh-title-m:28px;--title-l:24px;--lh-title-l:30px;--title-xl:30px;--lh-title-xl:34px;--title-xxl:34px;--lh-title-xxl:38px;--display:64px;--lh-display:68px;--display-s:48px;--lh-display-s:52px;--header-top:69px;--nav-height:0px;--anchor-offset:calc(var(--header-top) + 16px)}
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:var(--anchor-offset)}
body{margin:0;color:var(--ink);font:400 16px/1.5 Onest,Arial,sans-serif;background:#fff}
button,a{-webkit-tap-highlight-color:transparent}
button,input{font:inherit}
button{border:0;background:none;padding:0;color:inherit;cursor:pointer}
a{color:inherit;text-decoration:none}
button:disabled{cursor:default}
button:focus-visible,a:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--focus);outline-offset:5px}
img{display:block;max-width:100%}
p,h1,h2,h3{margin:0}
h1,h2,h3{font-weight:500}
h1{font-weight:600}
h1,.contact-info h2{font-size:var(--title-xl);line-height:var(--lh-title-xl);letter-spacing:-.02em}
hr{border:0;border-top:1px solid var(--line);margin:0;width:100%}
.wrap{width:100%;max-width:1440px;margin-inline:auto;padding-inline:64px}
.skip-link{position:fixed;top:12px;transform:translateY(-200%);left:20px;background:white;padding:12px;z-index:100}
.skip-link:focus{transform:translateY(0)}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
[hidden]{display:none!important}
.header-top{display:flex;align-items:center;gap:32px;height:var(--header-top);padding-top:28px;padding-bottom:20px}
.brand{display:flex;align-items:center;gap:16px;min-height:44px;font-size:var(--text-s);line-height:20px;font-weight:600;flex-shrink:0}
.brand-mark{display:grid;place-items:center;background:var(--blue);width:48px;height:52px;border-radius:var(--radius-s);flex-shrink:0}
.header-phone{margin-left:auto;display:inline-flex;align-items:center;gap:8px;padding-block:12px;font-size:var(--text-s);line-height:20px;font-weight:500;white-space:nowrap;text-decoration:underline;text-decoration-color:#a3a7ae;text-underline-offset:5px;text-decoration-thickness:1px}
.header-phone svg{width:18px;height:18px;flex-shrink:0;color:var(--blue)}
.header-phone:hover{color:var(--blue);text-decoration-color:currentColor}
.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:14px 22px;min-height:52px;border-radius:var(--radius-s);background:var(--pale);color:var(--blue);font-size:15px;line-height:20px;font-weight:500;--control-hover:var(--pale-hover);--control-pressed:var(--pale-pressed)}
.navigation{border-top:1px solid var(--line);display:flex;align-items:center;gap:28px;min-height:var(--nav-height)}
.navigation>a{padding:15px 0 14px;font-size:var(--text-s);font-weight:500;line-height:20px;white-space:nowrap}
.navigation>a[aria-current]{color:var(--blue);border-bottom:2px solid var(--blue)}
.navigation>a:hover{color:var(--blue)}
.text-link{position:relative;display:inline-flex;align-items:center;gap:6px;color:var(--blue);font-size:15px;font-weight:500;line-height:21px}
/* Invisible hit area brings text links to a 44px target without moving the text. */
.text-link::before,.breadcrumbs a::before{content:'';position:absolute;inset:-12px 0}
.nav-apply{margin-left:auto;white-space:nowrap}
.menu-toggle,.mobile-contacts{display:none}
/* Sticky header: negative top hides the brand row on scroll and keeps the navigation row with its CTA. */
.site-header{position:sticky;top:calc(-1 * var(--header-top));z-index:200}
.site-header::before{content:'';position:absolute;inset:0 auto 0 50%;width:100vw;transform:translateX(-50%);background:#fff;z-index:-1}
.site-header::after{content:'';position:absolute;left:50%;bottom:-1px;width:100vw;height:1px;transform:translateX(-50%);background:var(--line);opacity:0;pointer-events:none}
@supports (animation-timeline:scroll()){
  .site-header::after{animation:header-stuck linear both;animation-timeline:scroll(root);animation-range:0 160px}
  .site-header{animation:header-shadow linear both;animation-timeline:scroll(root);animation-range:0 160px}
}
@keyframes header-stuck{to{opacity:1}}
@keyframes header-shadow{to{box-shadow:0 8px 24px -12px #0e0f1133}}
.news-heading{border-top:1px solid var(--line);display:flex;flex-direction:column;gap:24px;padding-top:32px;padding-bottom:40px}
.breadcrumbs{display:flex;gap:8px;font-size:var(--text-xs);line-height:var(--lh-xs);color:var(--muted)}
.breadcrumbs a{position:relative;color:var(--blue)}
.breadcrumbs>span:first-of-type{color:#a3a7ae}
.heading-row{display:flex;align-items:flex-end;gap:48px}
.heading-row h1{flex:1}
.heading-row>p{width:440px;font-size:var(--text-m);line-height:var(--lh-m);color:var(--muted)}
.filters{display:flex;align-items:flex-start;gap:8px}
.filters button{border:1px solid var(--line);border-radius:var(--radius-pill);padding:11px 18px;font-size:var(--text-s);line-height:20px;font-weight:500;white-space:nowrap}
.filters button[aria-pressed=true]{background:var(--blue);border-color:var(--blue);color:#fff}
.news-feed{padding-top:8px;padding-bottom:80px;display:flex;flex-direction:column;gap:56px}
.featured{display:grid;grid-template-columns:760fr 496fr;gap:56px;align-items:center}
.photo-button{width:100%;display:block;overflow:hidden;border-radius:var(--radius-l)}
.featured-photo{width:100%;height:460px;object-fit:cover;border-radius:var(--radius-l)}
.featured-copy{display:flex;flex-direction:column;align-items:flex-start;gap:16px;min-width:0}
.meta{display:flex;align-items:center;gap:12px;white-space:nowrap}
.meta>span{font-size:var(--text-xs);line-height:var(--lh-xs);font-weight:500;text-transform:uppercase;color:var(--blue)}
.meta time{font-size:var(--text-xs);line-height:var(--lh-xs);color:var(--muted)}
.featured h2{font-size:var(--title-l);line-height:var(--lh-title-l);letter-spacing:-.01em}
.featured h2 button{text-align:left;font:inherit}
.featured-copy>p{font-size:var(--text-m);line-height:var(--lh-m);color:var(--muted)}
.read-more{margin-top:8px}
.news-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px 24px}
.news-card{min-width:0;display:flex;flex-direction:column;gap:16px}
.news-card .photo-button{border-radius:var(--radius-m)}
.news-card img{width:100%;height:280px;object-fit:cover;border-radius:var(--radius-m)}
.card-copy{display:flex;flex-direction:column;gap:8px}
.card-copy h2{font-size:var(--title-s);line-height:var(--lh-title-s)}
.card-copy h2 button{font:inherit;text-align:left}
.card-copy>p{font-size:var(--text-s);line-height:var(--lh-s);color:var(--muted)}
.news-card h2 button:hover,.featured h2 button:hover{color:var(--blue)}
.pagination{display:flex;align-items:center;justify-content:center;gap:8px}
.round{width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:50%;font-size:var(--text-s);line-height:20px;font-weight:500;color:var(--blue);--control-hover:var(--pale-hover);--control-pressed:var(--pale-pressed)}
.round.selected{background:var(--blue);color:white}
.previous{border:1px solid var(--line)}
.next{background:var(--pale)}
.load-more{display:none}
.site-footer{background:var(--navy);color:white}
.footer-inner{padding-top:48px;padding-bottom:28px;display:flex;flex-direction:column;gap:32px}
.footer-columns{display:flex;align-items:flex-start;gap:64px}
.contact-info{display:flex;flex:1;flex-direction:column;align-items:flex-start;gap:18px}
.contact-phone{font-size:var(--title-l);line-height:var(--lh-title-l);font-weight:500;padding-block:7px;margin-block:-7px}
.contact-mail{font-size:var(--text-l);line-height:var(--lh-l);font-weight:500;padding-block:10px;margin-block:-10px}
.legal{display:flex;flex-direction:column;gap:16px;width:560px;padding-top:10px}
.legal p:first-child{font-size:var(--text-m);line-height:var(--lh-m);font-weight:500}
.legal p:nth-child(2){font-size:var(--text-xs);line-height:var(--lh-xs)}
.legal p:nth-child(3){font-size:var(--text-s);line-height:var(--lh-s)}
.footer-bottom{display:flex;justify-content:space-between;align-items:center}
.footer-bottom p{font-size:var(--text-xs);line-height:var(--lh-xs)}
.footer-bottom :is(button,a){padding-block:13px;margin-block:-13px;font-size:var(--text-xs);line-height:var(--lh-xs);font-weight:500}
dialog{border:0;border-radius:var(--radius-l);width:min(640px,calc(100% - 32px));padding:36px;color:var(--ink);max-height:90dvh}
dialog::backdrop{background:#071b43aa;backdrop-filter:blur(4px)}
.dialog-close{position:absolute;right:12px;top:12px;font-size:32px;line-height:1;width:44px;height:44px;border-radius:50%;display:grid;place-items:center}
.dialog-close:hover{background:var(--pale)}
.dialog-content{display:grid;gap:18px;padding-top:8px}
.dialog-content h2{font-size:var(--title-m);line-height:var(--lh-title-m)}
.dialog-content img{width:100%;max-height:300px;object-fit:cover;border-radius:var(--radius-m)}
.dialog-content .preview-note{font-size:var(--text-xs);line-height:var(--lh-xs);color:var(--muted);border-top:1px solid var(--line);padding-top:16px}
@media(min-width:761px) and (max-width:1200px){
  .wrap{padding-inline:32px}
  .navigation{gap:18px}
  .navigation>a{font-size:var(--text-xs)}
  .featured{grid-template-columns:1.3fr 1fr;gap:32px}
  .featured-photo{height:380px}
  .news-card img{height:230px}
  .meta{flex-wrap:wrap;gap:4px 10px}
  .legal{width:45%}
  .brand{font-size:var(--text-xs)}
  .header-top{gap:20px}
}
@media(max-width:760px){
  .wrap{padding-inline:20px}
  .header-top{height:77px;padding:20px 0;gap:14px}
.site-header{top:0}
  .brand{gap:12px;font-size:var(--text-xs);line-height:17px}
  /* Let the title wrap beside the fixed-size menu button on narrow phones. */
  .site-header .brand{min-width:0;flex-shrink:1}
  .brand-mark{width:34px;height:37px}
  .brand-mark img{width:25.5px;height:27px}
  .header-phone,.cabinet{display:none}
  .menu-toggle{margin-left:auto;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;background:var(--pale);border-radius:50%;width:44px;height:44px;flex-shrink:0}
  .menu-toggle span{width:14px;height:1.5px;background:var(--blue)}
  .menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.25px) rotate(45deg)}
  .menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.25px) rotate(-45deg)}
  .navigation{display:none}
  .navigation.open{display:flex;flex-direction:column;align-items:stretch;gap:0;padding-bottom:28px;max-height:calc(100dvh - var(--header-top));overflow-y:auto;overscroll-behavior:contain}
  .navigation>a{border-bottom:1px solid var(--line);padding-block:17px;font-size:var(--text-m)}
  .navigation>a::after{content:'→';float:right;color:var(--blue)}
  .navigation>a[aria-current]{border-bottom:1px solid var(--line)}
  .nav-apply{margin:24px 0 0;background:var(--blue);border-radius:var(--radius-s);color:white;justify-content:center;padding:14px}
  .mobile-contacts{display:grid;gap:8px;padding-top:28px}
  .mobile-contacts>a{display:flex;align-items:center;min-height:44px}
.mobile-contacts>a:first-child{font-size:var(--title-m);line-height:var(--lh-title-m);font-weight:500}
  .mobile-contacts>a:nth-child(2){font-size:var(--text-m);line-height:var(--lh-m)}
  .mobile-contacts p{font-size:var(--text-xs);line-height:var(--lh-xs);color:var(--muted)}
  .news-heading{gap:0;border-top:0;padding-top:16px;padding-bottom:20px}
  .breadcrumbs{margin-bottom:12px}
  .heading-row{display:block}
  .heading-row h1{letter-spacing:-.02em}
  .heading-row>p{width:auto;margin-top:12px}
  .filters{margin:44px -20px 0;padding-inline:20px;overflow-x:auto;scrollbar-width:none;padding-bottom:0}
  .filters::-webkit-scrollbar{display:none}
  .filters button{flex-shrink:0}
  .news-feed{gap:32px;padding-top:8px;padding-bottom:32px}
  .featured{display:flex;flex-direction:column;gap:14px;align-items:stretch}
  .featured-photo{height:240px;border-radius:var(--radius-m)}
  .photo-button{border-radius:var(--radius-m)}
  .featured-copy{gap:14px}
  .featured h2{letter-spacing:-.01em}
  .featured-copy>p{font-size:var(--text-s);line-height:var(--lh-s)}
  .read-more{margin-top:0}
  .news-grid{grid-template-columns:1fr;gap:32px}
  .news-card{gap:14px}
  .news-card img{height:240px}
  .card-copy{gap:8px}
  .pagination{display:none}
  .load-more{display:flex;width:100%;border-radius:var(--radius-s)}
  .footer-inner{padding-top:32px;padding-bottom:24px;gap:16px}
  .site-footer .brand{font-size:var(--text-xs);line-height:var(--lh-xs);gap:14px}
  .site-footer .brand-mark{width:40px;height:43.333px}
  .site-footer .brand-mark img{width:30px;height:31.667px}
  .footer-columns{display:flex;flex-direction:column;gap:16px}
  .contact-info{gap:16px;width:100%}
  .contact-info h2{letter-spacing:-.02em}
  .legal{width:100%;border-top:1px solid var(--line);padding-top:16px;gap:16px}
  .desktop-break{display:none}
  .footer-bottom{gap:10px}
  .footer-bottom :is(button,a){white-space:nowrap}
  dialog{padding:32px 24px}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
}
/* Exact shared mobile metrics from Figma 4:1306 / 4:1727. */
@media(max-width:760px){
  .header-top{height:69px;padding:12px 0;gap:10px}
  .brand{gap:10px}
  .brand-mark{width:40px;height:43.333px}
  .brand-mark img{width:30px;height:31.667px}
  .news-heading{padding-top:24px}
  .filters{margin-top:20px}
  .news-card{gap:16px;min-height:360px}
  .news-card img{height:220px}
  .news-feed{padding-bottom:40px}
  .contact-phone{letter-spacing:-.01em}
  .site-footer .brand{gap:10px}
  .footer-bottom p{flex:0 1 142px}
  .footer-inner{padding-bottom:24px}
}
@media(max-width:360px){
  .brand-mark{width:34px;height:37px}
  .brand-mark img{width:25px;height:27px}
}
@media(max-width:760px){
  .menu-toggle:not([aria-expanded=true]){background:var(--pale) url(assets/menu.png) center/20px no-repeat}
  .menu-toggle:not([aria-expanded=true]) span{visibility:hidden}
}
.navigation>a.nav-apply{display:inline-flex;align-items:center;padding:0;color:var(--blue);font-size:var(--text-s);line-height:20px}
.navigation>a.nav-apply img{width:18px;height:18px}
@media(max-width:760px){
  .navigation>a.nav-apply{padding:14px;color:white;border-bottom:0;font-size:var(--text-m);line-height:var(--lh-m)}
  .navigation>a.nav-apply::after{content:none}
  .navigation>a.nav-apply img{filter:brightness(0) invert(1)}
}

/* Interaction tokens shared by buttons, carousels and navigation. */
.button,.round,.menu-toggle,.filters button{transition:background-color .15s,color .15s,border-color .15s}
.text-link,.breadcrumbs a,.site-footer a:not(.brand){text-underline-offset:4px;text-decoration-thickness:1px}
@media(hover:hover){
  .button:hover:not(:disabled),.round:hover:not(:disabled){background:var(--control-hover)}
  .menu-toggle:hover{background-color:var(--pale-hover)}
  .filters button:hover:not(:disabled):not([aria-pressed=true]){background:var(--pale-hover);border-color:var(--pale-hover)}
  .text-link:hover,.breadcrumbs a:hover,.site-footer a:not(.brand):hover{text-decoration-line:underline}
  .text-link:hover,.breadcrumbs a:hover{color:var(--blue-hover)}
}
.button:active:not(:disabled),.round:active:not(:disabled){background:var(--control-pressed)}
.menu-toggle:active{background-color:var(--pale-pressed)}
.filters button:active:not(:disabled):not([aria-pressed=true]){background:var(--pale-pressed);border-color:var(--pale-pressed)}
.text-link:active,.breadcrumbs a:active,.header-phone:active{color:var(--blue-pressed);text-decoration-line:underline}
.site-footer a:not(.brand):active{color:var(--pale-pressed);text-decoration-line:underline}
.button:disabled,.round:disabled,.filters button:disabled{background:var(--disabled-bg);border-color:var(--disabled-bg);color:var(--disabled-text)}
.button:disabled img,.round:disabled img{filter:grayscale(1);opacity:.4}
.round.selected{--control-hover:var(--blue-hover);--control-pressed:var(--blue-pressed)}
.navigation>a:active{color:var(--blue-pressed)}
@media(max-width:760px){
  .navigation>a:not(.nav-apply):active{background:var(--pale-hover)}
  .navigation>a.nav-apply{font-size:15px;line-height:20px;min-height:52px}
  .navigation>a.nav-apply:active{background:var(--blue-pressed);color:white}
}
@media(prefers-reduced-motion:reduce){
  .button,.round,.menu-toggle,.filters button{transition:none}
}
