/* Freelancers — студия веб-дизайна */
html{-webkit-text-size-adjust:100%}
*{box-sizing:border-box}
body{margin:0;background:#fff;color:#555;font:13px/1.65 "Open Sans","Segoe UI",Arial,sans-serif}
a{color:#4f6f91}
a:hover{color:#2d4a69}
img{max-width:100%;height:auto;border:0}
h1,h2,h3,h4{font-family:"Segoe UI Light","Segoe UI","Open Sans",Arial,sans-serif;font-weight:300;color:#333;margin:0 0 .6em;line-height:1.2}
h1{font-size:44px}
h2{font-size:34px}
h3{font-size:22px}
h4{font-size:15px;font-weight:600;font-family:Georgia,"Times New Roman",serif;color:#333}
p{margin:0 0 1em}
.wrap{max-width:1040px;margin:0 auto;padding:0 20px}
.narrow{max-width:760px;margin:0 auto}
.center{text-align:center}
.small{font-size:11.5px;color:#888}
.muted{color:#888}
.serif{font-family:Georgia,"Times New Roman",serif}

/* header */
.top{background:#55595e;position:sticky;top:0;z-index:50;box-shadow:0 1px 0 rgba(0,0,0,.15)}
.top .wrap{display:flex;align-items:center;justify-content:space-between;height:62px}
.logo{display:flex;align-items:center;text-decoration:none;color:#fff}
.logo svg{width:38px;height:38px;flex:0 0 38px}
.logo b{display:block;font:700 19px/1 Arial,sans-serif;letter-spacing:.5px;color:#fff}
.logo span{display:block;font-size:10.5px;color:#d7dce1;margin-top:3px;letter-spacing:.2px}
.logo .lt{margin-left:9px}
.nav{display:flex;gap:2px;margin:0;padding:0;list-style:none}
.nav a{display:block;padding:8px 10px;color:#fff;text-decoration:none;font-size:13px}
.nav a:hover,.nav a.on{color:#c9d7e6;text-decoration:underline}
.burger{display:none;background:none;border:1px solid #888;color:#fff;font-size:18px;padding:3px 9px;cursor:pointer}

/* hero */
.hero{position:relative;height:430px;background:#8d98a4 url(/img/hero.svg) center/cover no-repeat;display:flex;align-items:center;text-align:center;color:#fff}
.hero h1{color:#fff;font-size:50px;max-width:900px;margin:0 auto 18px;text-shadow:0 1px 2px rgba(0,0,0,.18)}
.hero p{font-size:15px;max-width:720px;margin:0 auto;color:#f1f4f7}
.pagehead{background:#8d98a4 url(/img/hero.svg) center/cover no-repeat;color:#fff;padding:70px 0 60px;text-align:center}
.pagehead h1{color:#fff;margin:0 0 10px}
.pagehead p{max-width:700px;margin:0 auto;color:#eef2f6;font-size:14px}
.crumbs{font-size:11.5px;color:#999;padding:14px 0 0}
.crumbs a{color:#888}

/* sections */
.sec{padding:80px 0}
.sec.tall{padding:110px 0}
.sec.grey{background:#f3f4f5}
.sec.dark{background:#5f6d7c;color:#e9eef3}
.sec.dark h2,.sec.dark h3,.sec.dark h4{color:#fff}
.sec.dark a{color:#fff}
.sec.slate{background:#6f8299;color:#eef3f8}
.sec.slate h2,.sec.slate h3{color:#fff}
.sec .intro{max-width:470px;font-size:12px;color:#888}
.sec.dark .intro{color:#dfe6ec}
.half{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}
.half.right>div:first-child{order:2}
.cols3{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}
.cols4{display:grid;grid-template-columns:repeat(4,1fr);gap:30px}
.cols2{display:grid;grid-template-columns:1fr 1fr;gap:40px}
.types{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;text-align:center;margin:20px 0 36px}
.types div{font-size:11.5px}
.types b{display:block;font:700 12px Georgia,"Times New Roman",serif;color:#333}
.types a{font-size:11px}

/* buttons */
.btns{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}
.btns.left{justify-content:flex-start}
.btn{display:inline-block;min-width:180px;padding:11px 22px;font:700 10.5px Georgia,"Times New Roman",serif;letter-spacing:1px;text-transform:uppercase;text-align:center;text-decoration:none;border:1px solid #6d87a3;background:#6d87a3;color:#fff;cursor:pointer;transition:background .2s}
.btn:hover{background:#5a7391;color:#fff}
.btn.line{background:#fff;color:#333;border-color:#777}
.btn.line:hover{background:#f1f1f1;color:#333}
.sec.dark .btn{background:#7c95b1;border-color:#9fb3c9}
.sec.dark .btn.line{background:transparent;color:#fff;border-color:#d7dee6}

/* cards */
.card{background:#fff;border:1px solid #e3e5e8;padding:24px}
.card h3{font-size:19px}
.ico{width:46px;height:46px;border-radius:50%;background:#6d87a3;color:#fff;display:flex;align-items:center;justify-content:center;margin-bottom:14px}
.ico svg{width:22px;height:22px}
.sec.dark .ico{background:#fff;color:#5f6d7c}
.feat h4{margin-bottom:6px}
.feat p{font-size:12.5px;color:#777}
.sec.dark .feat p{color:#dbe3ea}
.steps{counter-reset:s;display:grid;grid-template-columns:repeat(3,1fr);gap:34px 40px}
.steps div{position:relative;padding-left:58px}
.steps div:before{counter-increment:s;content:counter(s,decimal-leading-zero);position:absolute;left:0;top:-4px;font:300 34px "Segoe UI Light","Open Sans",sans-serif;color:#9fb0c3}
.stats{display:grid;grid-template-columns:repeat(4,1fr);text-align:center}
.stats b{display:block;font:300 48px "Segoe UI Light","Open Sans",sans-serif;color:#fff}
.stats span{font-size:12px;color:#dbe3ea}

/* partners */
.partners{border-top:1px solid #eee}
.partner{display:grid;grid-template-columns:150px 1fr;gap:34px;align-items:center;max-width:860px;margin:30px auto 0;padding:28px;border:1px solid #e3e5e8;background:#fafbfc}
.partner .plogo{display:block;width:150px;height:150px;background:#fff;border:1px solid #e3e5e8;padding:10px}
.partner .plogo img{display:block;width:100%;height:100%;object-fit:contain}
.partner h3{font-size:22px;margin-bottom:8px}

/* portfolio */
.works{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.work{display:block;text-decoration:none;color:#555;background:#fff;border:1px solid #e3e5e8}
.work img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;background:#eef0f2}
.work div{padding:14px 16px}
.work b{display:block;font:700 13px Georgia,serif;color:#333}
.work span{font-size:11.5px;color:#888}
.work:hover{border-color:#9fb0c3}

/* price table */
table.price{width:100%;border-collapse:collapse;background:#fff}
table.price th,table.price td{border:1px solid #e1e4e7;padding:12px 14px;text-align:left;vertical-align:top}
table.price th{background:#f3f4f5;font:700 12px Georgia,serif;color:#333}
table.price td.c,table.price th.c{text-align:center}
.yes{color:#5a7391;font-weight:700}

/* lists */
ul.check{list-style:none;padding:0;margin:0 0 1em}
ul.check li{position:relative;padding:4px 0 4px 24px}
ul.check li:before{content:"";position:absolute;left:2px;top:10px;width:10px;height:6px;border-left:2px solid #6d87a3;border-bottom:2px solid #6d87a3;transform:rotate(-45deg)}
.sec.dark ul.check li:before{border-color:#fff}
.tags{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}
.tags span{border:1px solid #cfd6dd;padding:6px 14px;font-size:12px;background:#fff}

/* team / reviews */
.person{text-align:center}
.person img{width:130px;height:130px;border-radius:50%;display:block;margin:0 auto 14px}
.person b{display:block;font:700 13px Georgia,serif;color:#333}
.review{background:#fff;border:1px solid #e3e5e8;padding:26px;font-size:12.5px;position:relative}
.review:before{content:"\201C";position:absolute;top:4px;right:18px;font:60px Georgia,serif;color:#d6dde5}
.review b{display:block;margin-top:12px;font:700 12px Georgia,serif;color:#333}

/* faq */
.faq details{border-bottom:1px solid #e3e5e8;padding:14px 0}
.faq summary{cursor:pointer;font:600 14px "Open Sans",sans-serif;color:#333;list-style:none;position:relative;padding-right:30px}
.faq summary::-webkit-details-marker{display:none}
.faq summary:after{content:"+";position:absolute;right:4px;top:-3px;font-size:20px;color:#6d87a3}
.faq details[open] summary:after{content:"−"}
.faq details p{margin:10px 0 0;color:#777}

/* blog */
.posts{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.post{background:#fff;border:1px solid #e3e5e8;display:flex;flex-direction:column}
.post .pic{display:block;aspect-ratio:16/9;background:#6f8299}
.post .pic img{display:block;width:100%;height:100%;object-fit:cover}
.post div{padding:16px 18px 20px}
.post .cat{font-size:10.5px;text-transform:uppercase;letter-spacing:1px;color:#8a9aac}
.post h3{font-size:17px;margin:6px 0 8px}
.post h3 a{color:#333;text-decoration:none}
.post h3 a:hover{color:#4f6f91}
.post p{font-size:12px;color:#888;margin:0}
.rubrics{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin:0 0 34px}
.rubrics a{padding:6px 14px;border:1px solid #cfd6dd;text-decoration:none;color:#555;font-size:12px}
.rubrics a.on,.rubrics a:hover{background:#6d87a3;border-color:#6d87a3;color:#fff}
.layout{display:grid;grid-template-columns:1fr 280px;gap:50px;align-items:start}
.article{font-size:14.5px;line-height:1.75;color:#444}
.article h2{font-size:26px;margin:1.6em 0 .6em}
.article h3{font-size:19px;margin:1.3em 0 .5em}
.article .lead{font-size:16px;color:#555;border-left:3px solid #6d87a3;padding-left:16px}
.article blockquote{margin:1.5em 0;padding:16px 20px;background:#f3f4f5;border-left:3px solid #9fb0c3;color:#555}
.article ul,.article ol{padding-left:22px}
.article li{margin:.3em 0}
.meta{font-size:11.5px;color:#999;margin-bottom:22px}
.side .box{border:1px solid #e3e5e8;padding:20px;margin-bottom:24px;background:#fafbfc}
.side h4{margin-bottom:10px}
.side ul{list-style:none;padding:0;margin:0}
.side li{padding:5px 0;border-bottom:1px dotted #dde1e5;font-size:12.5px}
.side li:last-child{border:0}
.side a{text-decoration:none}

/* text pages */
.text{font-size:14px;line-height:1.75;color:#444}
.text h2{font-size:26px;margin:1.5em 0 .6em}
.text h3{font-size:19px;margin:1.2em 0 .5em}

/* form */
.form{max-width:620px;margin:0 auto;background:#fff;border:1px solid #e3e5e8;padding:32px}
.sec.dark .form{color:#555}
.form label{display:block;font-size:12px;color:#666;margin-bottom:4px}
.form input[type=text],.form input[type=email],.form select,.form textarea{width:100%;padding:10px 12px;border:1px solid #cfd6dd;font:13px "Open Sans",Arial,sans-serif;margin-bottom:14px;background:#fff;color:#333}
.form textarea{min-height:110px;resize:vertical}
.form .row2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.agree{display:flex;gap:10px;align-items:flex-start;font-size:11.5px;color:#777;margin:6px 0 18px;line-height:1.5}
.agree input{margin:2px 0 0;width:15px;height:15px;flex:0 0 15px}
.form .note{font-size:11px;color:#999;margin-top:12px}
.form .ok{display:none;background:#eef3f8;border:1px solid #c9d7e6;padding:14px;color:#3f5b78;margin-top:14px}
.form .err{display:none;color:#b03a3a;font-size:12px;margin:-8px 0 12px}

/* calc */
.calc{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:start}
.calc .res{background:#5f6d7c;color:#fff;padding:30px;text-align:center}
.calc .res b{display:block;font:300 40px "Segoe UI Light","Open Sans",sans-serif;margin:6px 0}
.calc label{display:flex;gap:8px;font-size:13px;margin:6px 0;color:#555}

/* map */
.map{height:340px;background:#e6e9ec url(/img/map.svg) center/cover no-repeat;border:1px solid #dde1e5}

/* footer */
.foot{background:#4a4e53;color:#c4cad0;padding:50px 0 20px;font-size:12.5px}
.foot a{color:#e3e8ed;text-decoration:none}
.foot a:hover{text-decoration:underline}
.foot .cols{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:30px}
.foot h4{color:#fff;font-size:13px}
.foot ul{list-style:none;padding:0;margin:0}
.foot li{padding:3px 0}
.foot .bottom{border-top:1px solid #5d6268;margin-top:34px;padding-top:16px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;font-size:11.5px}
.soc{display:flex;gap:8px;margin-top:14px}
.soc span{width:30px;height:30px;border-radius:50%;border:1px solid #7a8087;display:flex;align-items:center;justify-content:center;font-size:10px;color:#e3e8ed;cursor:default}

/* cookie */
.cookie{position:fixed;left:20px;right:20px;bottom:20px;max-width:760px;margin:0 auto;background:#33373b;color:#e3e8ed;padding:16px 20px;display:none;gap:16px;align-items:center;z-index:100;font-size:12.5px;box-shadow:0 4px 16px rgba(0,0,0,.25)}
.cookie a{color:#fff}
.cookie .btn{min-width:120px;padding:9px 16px}
.cookie.show{display:flex}

/* 404 */
.e404{text-align:center;padding:110px 0}
.e404 b{display:block;font:300 140px/1 "Segoe UI Light","Open Sans",sans-serif;color:#9fb0c3}

@media(max-width:900px){
 .nav{display:none;position:absolute;top:62px;left:0;right:0;background:#55595e;flex-direction:column;padding:8px 20px}
 .nav.open{display:flex}
 .burger{display:block}
 .half,.cols3,.cols2,.cols4,.steps,.works,.posts,.layout,.calc,.foot .cols{grid-template-columns:1fr}
 .half.right>div:first-child{order:0}
 .types{grid-template-columns:repeat(2,1fr)}
 .stats{grid-template-columns:repeat(2,1fr);gap:20px}
 .partner{grid-template-columns:1fr;text-align:center}
 .partner .plogo{margin:0 auto}
 .hero h1{font-size:34px}
 h1{font-size:34px} h2{font-size:28px}
 .form .row2{grid-template-columns:1fr}
}
.sec.tall{min-height:100vh;display:flex;flex-direction:column;justify-content:center}
.sec.tall>.wrap{width:100%}
@media(max-width:900px){.sec.tall{min-height:0}}
