@font-face{font-family:Poppins;font-weight:300;font-display:swap;src:url(/assets/fonts/poppins-latin-300-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Poppins;font-weight:400;font-display:swap;src:url(/assets/fonts/poppins-latin-400-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Poppins;font-weight:500;font-display:swap;src:url(/assets/fonts/poppins-latin-500-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Poppins;font-weight:600;font-display:swap;src:url(/assets/fonts/poppins-latin-600-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Poppins;font-weight:400;font-display:swap;src:url(/assets/fonts/poppins-latin-ext-400-normal.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:Poppins;font-weight:500;font-display:swap;src:url(/assets/fonts/poppins-latin-ext-500-normal.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:"Open Sans";font-weight:600;font-display:swap;src:url(/assets/fonts/open-sans-latin-600-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Open Sans";font-weight:600;font-display:swap;src:url(/assets/fonts/open-sans-latin-ext-600-normal.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:"Open Sans";font-weight:700;font-display:swap;src:url(/assets/fonts/open-sans-latin-700-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Open Sans";font-weight:700;font-display:swap;src:url(/assets/fonts/open-sans-latin-ext-700-normal.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}
:root{--ink:#1c1a33;--blue:#0e8de6;--violet:#4a22b4;--box:#b3e3f5}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;min-height:100vh;display:flex;flex-direction:column;color:var(--ink);font:600 15px/1.45 "Open Sans",Arial,sans-serif;background:linear-gradient(180deg,#cdd8f0 0%,#dadff4 55%,#e6e7f6 100%) #dadff4}
main{flex:1}
img{max-width:100%;height:auto}
h1,h2{font-family:Poppins,"Open Sans",sans-serif;font-weight:500;margin:0}
a{color:var(--violet)}
a:focus-visible,summary:focus-visible{outline:3px solid #f59e0b;outline-offset:3px}
.w{width:min(980px,100% - 32px);margin-inline:auto}
.narrow{width:min(900px,100% - 32px)}
.skip{position:absolute;left:-999px;top:8px;background:#000;color:#fff;padding:8px 12px;z-index:20}
.skip:focus{left:8px}
.top{padding:6px 0}
.bar{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:90px}
.brand img{display:block}
.menu ul{list-style:none;margin:0;padding:0;display:flex;gap:55px}
.menu a{font:600 16px/1 "Open Sans",sans-serif;color:var(--blue);text-decoration:none;padding:8px 0}
.menu a:hover{text-decoration:underline}
.menu a[aria-current]{color:#000}
.menu summary{display:none}
@media (max-width:860px){
 .menu summary{display:block;cursor:pointer;padding:8px 14px;border:1px solid #9aa9d6;border-radius:6px;list-style:none;color:var(--ink);background:#e9edf9}
 .menu summary::-webkit-details-marker{display:none}
 .menu{position:relative}
 .menu nav{position:absolute;right:0;top:44px;background:#eef0fa;border:1px solid #9aa9d6;border-radius:8px;padding:8px;min-width:200px;z-index:10}
 .menu ul{flex-direction:column;gap:0}
 .menu a{display:block;padding:12px}
}
.hero{background:#0e5560 url(/img/hero.svg) center/cover no-repeat;color:#fff;padding:70px 0 50px;position:relative;overflow:hidden}

.hero .w{position:relative;width:min(980px,100% - 32px)}
.tag{font:italic 700 clamp(18px,3vw,26px)/1.3 Georgia,"Times New Roman",serif;letter-spacing:.1em;margin:0 0 18px}
.hero h1{font-weight:300;font-size:clamp(26px,4.2vw,42px);line-height:1.2;letter-spacing:.07em;max-width:30ch}
.pill{display:inline-block;border:2px solid #fff;border-radius:999px;padding:12px 66px;color:#fff;text-decoration:none;font:600 14px/1 "Open Sans",sans-serif;letter-spacing:.12em;margin-top:32px}
.pill:hover{background:rgba(255,255,255,.15)}
.pill.dark{color:var(--ink);border-color:var(--ink);margin-top:0}
.pill.dark:hover{background:rgba(0,0,0,.07)}
.quote{margin:44px 0 40px;background:rgba(160,222,245,.85);border-radius:28px;padding:18px 40px;text-align:center}
.quote p{margin:0;font:italic 700 clamp(17px,2.4vw,25px)/1.35 Georgia,"Times New Roman",serif;letter-spacing:.08em;color:#2a2a3a}
.cards4{display:grid;gap:5px;grid-template-columns:repeat(4,1fr);margin-bottom:40px}
.cards4 article{background:rgba(236,232,238,.88);padding:50px 12px 24px;text-align:center;min-height:240px}
.cards4 h2{font-weight:400;font-size:26px;line-height:1.25;letter-spacing:.04em;margin-bottom:12px}
.cards4 p{margin:0;font:400 14.5px/1.45 Arial,sans-serif}
.why{background:#b1dbf2;border-radius:30px;padding:36px 62px 50px;margin-bottom:36px}
.why h2{display:flex;align-items:center;gap:14px;font-weight:600;font-size:34px;margin-bottom:34px;letter-spacing:.01em}
.why h2 svg{width:40px;height:40px;flex:none}
.why ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:34px 36px}
.why li{display:flex;align-items:center;gap:14px;font:400 23px/1.2 Poppins,sans-serif;letter-spacing:.03em}
.why li img{flex:none;width:48px;height:auto}
.title{font-size:38px;letter-spacing:.01em;text-transform:uppercase;margin:62px 0 18px;color:#1d1230}
.big{font-size:clamp(28px,5vw,52px);font-weight:600;line-height:1.15;margin:70px 0 36px;color:#2c2540}
.big.grey{color:#58565e}
.h2{font-size:28px;margin:48px 0 14px}
.intro{margin:0 0 28px;font-size:15px;line-height:1.35;max-width:920px}
.lg{font-size:17px;line-height:1.9}
.narrow .intro{line-height:1.9;font-size:15.5px}
.cards3{display:grid;gap:30px;grid-template-columns:repeat(3,1fr);margin:26px 0 70px}
.cards3 .im{display:flex;align-items:center;height:215px;border:1px solid #bbb;background:#fff}
.cards3 img{display:block;width:100%;height:auto}
.cards3 h2{font-size:20px;line-height:1.25;text-align:center;margin:36px 0 14px;font-weight:400}
.cards3 h2 a{color:var(--ink);text-decoration:none}
.cards3 h2 a:hover{text-decoration:underline}
.cards3 p{margin:0;font-size:13px;line-height:1.3}
.rows{margin:0 0 70px}
.rows>div{display:grid;grid-template-columns:150px 1fr;gap:30px;padding:36px 0;align-items:start}
.rows dt{font:400 21px/1.15 Poppins,sans-serif;letter-spacing:.02em}
.rows dd{margin:0;font-size:14px;line-height:1.55;max-width:640px}
.banner{position:relative;margin-top:34px}
.banner img{display:block;width:100%}
.banner p{position:absolute;right:20px;bottom:10px;margin:0;font:600 clamp(26px,5vw,54px)/1 Poppins,sans-serif;color:var(--violet);text-shadow:0 0 6px rgba(255,255,255,.4)}
.proj{display:grid;grid-template-columns:1fr 1fr;gap:20px 90px;padding:40px 40px 80px}
.proj article{min-height:170px}
.proj h2{font:400 20px/1.2 Poppins,sans-serif;margin-bottom:22px}
.proj p{margin:0 0 26px;font-size:14.5px;line-height:1.7}
.proj img{display:block;margin:10px 0 30px;max-width:100%}
.clients{display:grid;grid-template-columns:repeat(3,1fr);gap:0}
.clients article{background:#fff;padding:26px 11px 30px}
.clients article img{display:block;margin:0 auto 40px}
.clients article p{margin:0 0 16px;font:400 12.8px/1.2 Arial,sans-serif;color:#000}
.clients{margin-bottom:60px}
.clients article:nth-child(n+4){border-top:32px solid transparent;background-clip:padding-box}
.about{display:flex;gap:50px;align-items:flex-end;flex-wrap:wrap;margin:36px 0 50px}
.loc{display:flex;align-items:center;background:#a5adec;border-radius:0 40px 40px 0;overflow:hidden;width:440px;max-width:100%}
.loc img{display:block}
.loc p{margin:0;flex:1;text-align:center;padding:0 10px;color:#fff;font:600 17px/1.25 Poppins,sans-serif}
.map{width:450px;max-width:100%;height:300px;background:#e8e0d4}
.map iframe{width:100%;height:100%;border:0}
.foot{background:linear-gradient(90deg,#9d7cd0 0%,#5b34bb 28%,#4a24ab 70%,#7f68b8 100%);color:#fff;padding:34px 0}
.fgrid{display:grid;grid-template-columns:1.1fr 1.2fr 1fr 1fr;gap:20px;align-items:start}
.fi{display:flex;gap:14px;align-items:flex-start}
.fi svg{width:28px;height:36px;flex:none}
.fi>div{display:block}.fi p{margin:0;font:700 12.5px/1.2 "Open Sans",Arial,sans-serif}
.fi a{color:#fff;text-decoration:none}
.fi a:hover{text-decoration:underline}
.soc{display:flex;gap:6px;margin-top:8px!important}
.soc svg{width:16px;height:16px}
@media (max-width:900px){
 .cards4{grid-template-columns:1fr 1fr}
 .why{padding:28px 22px 36px}.why ul{grid-template-columns:1fr}.why h2{font-size:26px}.why li{font-size:19px}
 .cards3{grid-template-columns:1fr}
 .proj{grid-template-columns:1fr;padding:30px 0 60px}
 .clients{grid-template-columns:1fr}
 .clients article:nth-child(n+4){border-top:0}
 .fgrid{grid-template-columns:1fr 1fr}
 .rows>div{grid-template-columns:1fr;gap:8px}
 .quote{padding:16px 20px}
}
@media (max-width:520px){.cards4{grid-template-columns:1fr}.fgrid{grid-template-columns:1fr}.pill{padding:12px 40px}}
@media (prefers-reduced-motion:no-preference){.pill{transition:background-color .15s}}
