:root { --lime:#b9c54d; --ice:#e3ebf4; --ink:#111; --footer:#2f303d; }
@font-face { font-family:'Inter'; src:url('assets/fonts/inter-cyrillic-400-normal.woff2') format('woff2'); font-style:normal; font-weight:400; font-display:swap; unicode-range:U+0400-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F; }
@font-face { font-family:'Inter'; src:url('assets/fonts/inter-latin-400-normal.woff2') format('woff2'); font-style:normal; font-weight:400; font-display:swap; 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; }
@font-face { font-family:'Inter'; src:url('assets/fonts/inter-cyrillic-600-normal.woff2') format('woff2'); font-style:normal; font-weight:600; font-display:swap; unicode-range:U+0400-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F; }
@font-face { font-family:'Inter'; src:url('assets/fonts/inter-latin-600-normal.woff2') format('woff2'); font-style:normal; font-weight:600; font-display:swap; 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; }
@font-face { font-family:'Poppins'; src:url('assets/fonts/poppins-latin-400-normal.woff2') format('woff2'); font-style:normal; font-weight:400; font-display:swap; 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; }
@font-face { font-family:'Poppins'; src:url('assets/fonts/poppins-latin-600-normal.woff2') format('woff2'); font-style:normal; font-weight:600; font-display:swap; 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; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:#fff; font-family:'Inter', Arial, Helvetica, sans-serif; font-size:14px; line-height:1.72; }
h1, h2, h3, h4, .hero-stat strong, .team-stats strong { font-family:'Poppins', Arial, Helvetica, sans-serif; }
img { display:block; max-width:100%; }
a { color:inherit; text-decoration:none; }
.narrow { width:min(1024px, calc(100% - 48px)); margin-inline:auto; }
.site-header { position:sticky; top:0; z-index:20; height:72px; margin-bottom:-72px; background:transparent; }
@supports (animation-timeline:scroll()) {
  .site-header { animation:header-fill linear both; animation-timeline:scroll(); animation-range:0 90px; }
}
@keyframes header-fill { from { background:transparent; } to { background:var(--ice); } }
.header-inner { height:72px; display:flex; align-items:center; }
.header-inner img { width:82px; height:52px; object-fit:contain; }

.hero { position:relative; min-height:100vh; height:1304px; color:#fff; background:url('assets/hero.webp') center center/cover no-repeat; overflow:hidden; }
.hero-tint { position:absolute; inset:0; background:linear-gradient(90deg, rgba(198,220,245,.70) 0%, rgba(173,205,237,.68) 44%, rgba(147,190,226,.10) 70%, rgba(0,0,0,0) 100%); }
.hero-inner { height:100%; position:relative; z-index:1; padding-top:292px; }
.hero h1 { margin:0; }
.hero h1 img { width:700px; filter:brightness(0) invert(1); }
.hero-lead { margin:15px 0 0; font-size:16px; line-height:1.68; font-weight:600; }
.hero-rule { position:absolute; top:554px; left:0; right:0; height:1px; background:rgba(255,255,255,.85); }
.hero-stat { position:absolute; display:flex; flex-direction:column; }
.hero-stat strong { font-size:80px; line-height:1; font-weight:400; white-space:nowrap; }
.hero-stat span { margin-top:14px; color:rgba(255,255,255,.76); font-size:14px; line-height:1.65; }
.stat-years { top:645px; left:405px; }
.stat-plans { top:847px; left:0; }
.stat-loss { top:1012px; left:368px; }

.about { min-height:884px; padding:92px 0 120px; }
.about-grid { display:grid; grid-template-columns:210px 350px 1fr; grid-template-rows:auto 1fr; column-gap:50px; }
.about-mark { width:120px; height:120px; object-fit:contain; }
.about h2 { grid-column:2 / 4; margin:4px 0 0; color:#000; font-size:42px; line-height:1.12; font-weight:400; }
.about-copy { grid-column:1 / 3; width:520px; margin-top:62px; color:#444; line-height:1.6; }
.about-copy p { margin:0 0 24px; }
.services { grid-column:3; grid-row:2; margin-top:30px; display:grid; grid-template-columns:calc(50% + 13px) calc(50% - 13px); transform:translateX(-77px); }
.services article { min-height:152px; padding:0 28px 25px 0; }
.services article:nth-child(odd) { border-right:1px solid #ccd6df; }
.services article:nth-child(even) { padding-left:53px; }
.services article:nth-child(even) p { width:170px; max-width:none; }
.services img { width:42px; height:42px; object-fit:contain; margin-bottom:15px; transform:scale(1.2); }
.services p { margin:0; color:#444; line-height:1.65; }

.team { width:calc(100% - 40px); max-width:1664px; margin-inline:auto; min-height:516px; display:grid; grid-template-columns:773px 1fr; column-gap:72px; align-items:start; }
.team-image { width:773px; height:516px; }
.team-art { display:block; width:100%; height:100%; }
.team-content { padding-top:33px; max-width:510px; }
.team h2 { margin:0 0 42px; color:#000; font-size:27px; line-height:1.18; font-weight:400; }
.team-content>p { margin:0; color:#444; font-size:14px; line-height:1.83; }
.team-stats { display:grid; grid-template-columns:repeat(3,1fr); gap:40px; margin-top:59px; }
.team-stats div { display:flex; flex-direction:column; }
.team-stats strong { font-size:29px; line-height:1; font-weight:400; color:#333; }
.team-stats span { margin-top:10px; font-size:12px; color:#333; }

.ecosystem { min-height:545px; padding:245px 0 100px; }
.ecosystem h2, .expertise h2 { margin:0; color:#000; font-size:40px; line-height:1.2; font-weight:400; }
.ecosystem p { margin:50px 0 0; color:#555; line-height:1.75; }
.company-grid { margin-top:39px; display:grid; grid-template-columns:repeat(4,1fr); align-items:center; column-gap:60px; }
.company-grid img { width:200px; height:68px; object-fit:contain; }

.statement { width:min(1378px, calc(100% - 80px)); height:630px; margin:70px auto 0; border-radius:8px; background:url('assets/statement.webp') center/cover no-repeat; display:flex; align-items:center; }
.statement-card { width:600px; min-height:317px; margin-left:176px; padding:61px 56px; border-radius:13px; background:var(--lime); color:#fff; display:flex; justify-content:space-between; align-items:center; }
.statement-copy { font-size:32px; line-height:1.62; }
.statement-card span { font-size:58px; line-height:1; font-weight:300; }

.expertise { padding:205px 0 200px; min-height:1030px; }
.expertise-copy { margin-top:28px; color:#444; line-height:1.83; }
.expertise-copy p { margin:0; }
.competency-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:96px; }
.competency-grid article { min-height:334px; padding:38px 35px; border:1px solid #d5dfe7; border-radius:14px; }
.competency-grid img { width:42px; height:42px; object-fit:contain; margin-bottom:43px; }
.competency-grid h3 { margin:0 0 26px; color:#111; font-size:18px; line-height:1.25; font-weight:600; }
.competency-grid p { margin:0; color:#444; font-size:14px; line-height:1.55; }

.closing-image { height:320px; background:url('assets/hero.webp') center 62%/cover no-repeat; }
footer { background:var(--footer); color:#fff; }
.footer-top { height:160px; display:grid; grid-template-columns:2fr 1fr; align-items:center; }
.footer-top img { width:95px; }
.footer-top strong { font-size:16px; }
.footer-main { min-height:204px; display:grid; grid-template-columns:2fr 1fr; padding-top:67px; border-top:1px solid rgba(255,255,255,.3); }
.footer-motto { margin:0; font-size:18px; line-height:1.25; font-weight:600; }
.footer-main address { font-style:normal; font-size:12px; display:flex; flex-direction:column; gap:26px; }
.footer-main address strong { font-size:12px; white-space:nowrap; }
.footer-main address a { font-weight:600; }
.copyright { height:58px; display:flex; align-items:center; background:#253033; font-size:12px; }
.to-top { position:fixed; right:26px; bottom:42px; z-index:30; width:30px; height:30px; border-radius:50%; display:grid; place-items:center; background:#bfc0c2; }
.to-top span { width:7px; height:7px; margin-top:4px; border-top:2px solid #fff; border-left:2px solid #fff; transform:rotate(45deg); }

@media (max-width:1100px) {
  /* Keep the desktop composition on tablets, but leave enough room for the
     final statistic and its caption. The former 900px box clipped the caption. */
  .hero { height:980px; min-height:980px; }
  .hero-inner { padding-top:220px; }
  .hero-rule { top:480px; }
  .stat-years { top:550px; } .stat-plans { top:720px; } .stat-loss { top:820px; }
  .team { grid-template-columns:1fr 1fr; gap:40px; }
  .team-image { width:100%; }
  .statement-card { margin-left:10%; }
}

@media (max-width:900px) {
  .about-grid { grid-template-columns:140px 1fr; column-gap:36px; }
  .about h2 { grid-column:2; font-size:36px; }
  .about-copy { grid-column:1 / 3; width:100%; }
  .services { grid-column:1 / 3; grid-row:auto; grid-template-columns:1fr 1fr; transform:none; }
  .services article:nth-child(even) p { width:auto; max-width:100%; }
}

@media (max-width:720px) {
  .desktop { display:none; }
  .narrow { width:calc(100% - 36px); }
  .site-header, .header-inner { height:60px; }
  .site-header { margin-bottom:-60px; }
  .header-inner img { width:70px; }
  .hero { height:auto; min-height:940px; }
  .hero-inner { padding-top:160px; }
  .hero h1 img { width:100%; }
  .hero-lead { font-size:15px; }
  .hero-rule { position:static; margin-top:15px; }
  .hero-stat { position:absolute; margin-top:0; }
  .hero-stat strong { font-size:54px; }
  .stat-years { top:420px; left:48%; }
  .stat-plans { top:580px; left:0; }
  .stat-loss { top:740px; left:38%; }
  .about { min-height:0; padding:75px 0; }
  .about-grid { display:grid; grid-template-columns:84px minmax(0,1fr); column-gap:24px; align-items:start; }
  .about-mark { width:84px; height:84px; }
  .about h2 { grid-column:2; margin:4px 0 0; font-size:30px; line-height:1.14; }
  .about-copy { grid-column:1 / -1; width:auto; margin-top:42px; }
  .services { grid-column:1 / -1; grid-row:auto; margin-top:45px; grid-template-columns:1fr; }
  .services article, .services article:nth-child(even) { min-height:0; padding:25px 0; border:0; border-top:1px solid #ccd6df; }
  .team { width:calc(100% - 36px); display:block; }
  .team-image { height:330px; }
  .team-content { padding:55px 0 0; }
  .team h2 { font-size:25px; }
  .team-stats { gap:15px; }
  .ecosystem { min-height:0; padding:120px 0 80px; }
  .ecosystem h2, .expertise h2 { font-size:31px; }
  .company-grid { grid-template-columns:1fr 1fr; gap:30px; }
  .statement { width:calc(100% - 36px); height:480px; margin-top:30px; }
  .statement-card { width:calc(100% - 36px); min-height:260px; margin:0 auto; padding:35px 30px; }
  .statement-copy { font-size:25px; }
  .statement-card span { font-size:42px; }
  .expertise { min-height:0; padding:110px 0; }
  .competency-grid { grid-template-columns:1fr; margin-top:55px; }
  .competency-grid article { min-height:0; }
  .closing-image { height:230px; }
  .footer-top, .footer-main { grid-template-columns:1fr; }
  .footer-top { height:140px; gap:18px; padding-block:25px; }
  .footer-main { padding:45px 0 55px; gap:42px; }
  .footer-main address strong { white-space:normal; }
}

@media (max-width:420px) {
  .hero-rule { margin-top:8px; }
  .stat-years { top:440px; left:33%; }
  .stat-plans { top:600px; }
  .stat-loss { top:760px; left:25%; }
  .about-grid { grid-template-columns:70px minmax(0,1fr); column-gap:18px; }
  .about-mark { width:70px; height:70px; }
  .about h2 { margin-top:2px; font-size:25px; }
}

@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
