
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&family=Open+Sans:wght@400;500;600&display=swap');

:root{
  --pink:#b764a9;
  --pink2:#ca87bf;
  --dark:#252027;
  --dark2:#302931;
  --light:#f7f4f6;
  --text:#3d3940;
  --white:#fff;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:80px}
body{margin:0;font-family:"Open Sans",Arial,sans-serif;color:var(--text);line-height:1.75;background:#fff}
img{max-width:100%}
a{color:var(--pink);text-decoration:none}
.container{width:min(1120px,calc(100% - 40px));margin:auto}
.narrow{max-width:820px}
.center{text-align:center}

.site-header{position:sticky;top:0;z-index:50;background:var(--dark);box-shadow:0 2px 12px rgba(0,0,0,.12)}
.nav{height:80px;display:flex;align-items:center;justify-content:space-between;gap:30px}
.logo img{width:250px;display:block}
.menu{display:flex;gap:24px;align-items:center}
.menu a{color:white;font-family:Montserrat,sans-serif;font-size:14px;font-weight:500}
.menu a:hover{color:var(--pink2)}
.menu-button{display:none;background:none;border:0;color:#fff;font-size:28px}

.hero{min-height:610px;position:relative;display:flex;align-items:center;background:
linear-gradient(90deg,rgba(37,32,39,.94),rgba(37,32,39,.66)),
linear-gradient(135deg,#302931,#1f1a20)}
.hero:after{content:"";position:absolute;right:0;top:0;width:38%;height:100%;background:linear-gradient(145deg,transparent 8%,rgba(183,100,169,.30))}
.hero-overlay{position:absolute;inset:0;background:radial-gradient(circle at 72% 40%,rgba(183,100,169,.25),transparent 26%)}
.hero-content{position:relative;z-index:2;color:#fff}
.hero h1{font-family:Montserrat,sans-serif;font-size:clamp(48px,7vw,86px);line-height:1.04;margin:0 0 18px;max-width:800px;font-weight:600}
.hero h4{font-family:Montserrat,sans-serif;font-size:20px;font-weight:400;margin:0 0 30px;color:#e6dfe5}

.button{display:inline-block;background:var(--pink);color:#fff;border:0;padding:13px 28px;border-radius:2px;font-family:Montserrat,sans-serif;font-size:14px;font-weight:600;cursor:pointer}
.button:hover{background:#9e4f91;color:#fff}
.button-dark{background:var(--dark)}
.button-dark:hover{background:#111}

.section{padding:90px 0}
.intro h2,.page-section h2,.contact h2,.pink-callout h2{font-family:Montserrat,sans-serif;color:var(--dark);font-size:clamp(30px,4.5vw,50px);line-height:1.15;font-weight:500;margin:0 0 24px}
.intro .narrow p{font-size:18px}

.services{display:grid;grid-template-columns:repeat(2,1fr);gap:34px;margin-top:65px}
.service{background:#fff;border:1px solid #eee;box-shadow:0 8px 30px rgba(39,30,38,.06)}
.service-image{height:260px;display:flex;align-items:center;justify-content:center;color:#fff;font-family:Montserrat,sans-serif;font-size:36px;letter-spacing:.12em;font-weight:600;position:relative;overflow:hidden}
.service-image:after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(183,100,169,.18),rgba(37,32,39,.18))}
.service-image span{position:relative;z-index:2}
.service-image.web{background:linear-gradient(135deg,#433844,#a45b98)}
.service-image.seo{background:linear-gradient(135deg,#b764a9,#ded0db)}
.service-image.ads{background:linear-gradient(135deg,#302931,#8b557f)}
.service-image.analysis{background:linear-gradient(135deg,#6d5369,#c88aba)}
.service-body{padding:30px}
.service h3{font-family:Montserrat,sans-serif;font-size:28px;font-weight:500;color:var(--dark);margin:0 0 12px}
.service-body a{font-weight:600}

.pink-callout{background:var(--pink);color:#fff}
.pink-callout h2,.pink-callout p{color:#fff}
.pink-callout p{font-size:17px}

.page-section{background:#fff}
.page-section.alt{background:var(--light)}
.page-hero{background:var(--dark);color:#fff;padding:85px 0}
.page-hero.compact{padding:75px 0}
.page-hero h1,.page-hero h2{color:#fff;margin:0 0 15px}
.page-hero h1{font-family:Montserrat,sans-serif;font-size:18px;text-transform:uppercase;letter-spacing:.16em;color:var(--pink2)}
.page-hero h6{font-family:Montserrat,sans-serif;font-size:17px;font-weight:400;margin:0 0 25px;color:#e7e0e6;max-width:800px}

.content{padding-top:75px;padding-bottom:75px}
.two-column{display:grid;grid-template-columns:340px 1fr;gap:75px}
.two-column>div:first-child{position:sticky;top:120px;align-self:start}
.content h4{font-family:Montserrat,sans-serif;font-size:21px;color:var(--dark);font-weight:600;margin:10px 0 18px}
.text p,.content p{margin:0 0 22px}
.mt{margin-top:48px!important}
.content ul{padding-left:22px}
.image-strip{width:min(1120px,calc(100% - 40px));margin:0 auto 65px;display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.mini{height:190px;display:flex;align-items:center;justify-content:center;color:#fff;font-family:Montserrat,sans-serif;font-size:26px;letter-spacing:.1em}
.mini.web{background:linear-gradient(135deg,#403641,#9c5b92)}
.mini.ads{background:linear-gradient(135deg,#302931,#b764a9)}
.mini.seo{background:linear-gradient(135deg,#c683b9,#6b4e68)}
.bottom-cta{padding-bottom:80px}

.contact{background:var(--pink);padding:90px 0;color:#fff}
.contact h2{color:#fff}
.contact-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:70px}
.contact-info{display:flex;flex-direction:column;margin-top:30px}
.contact-info a{color:#fff}
form{background:#fff;color:var(--text);padding:32px}
form label{display:block;font-weight:600;margin-bottom:17px}
form input,form textarea{width:100%;margin-top:7px;padding:13px;border:1px solid #d9d3d8;font:inherit}
.name-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
form small{display:block;color:#777;margin-top:16px}

footer{background:#1b171c;padding:32px 0}
.footer-inner{display:flex;align-items:center;justify-content:space-between}
.footer-inner img{width:220px}
.footer-inner a{color:#fff}

.to-top{position:fixed;right:22px;bottom:22px;width:46px;height:46px;border:0;background:var(--pink);color:#fff;opacity:0;visibility:hidden;transition:.2s;cursor:pointer;font-size:20px}
.to-top.show{opacity:1;visibility:visible}

@media(max-width:900px){
  .menu-button{display:block}
  .menu{display:none;position:absolute;top:80px;left:0;right:0;background:var(--dark);padding:20px;flex-direction:column;align-items:flex-start}
  .menu.open{display:flex}
  .services{grid-template-columns:1fr}
  .two-column,.contact-grid{grid-template-columns:1fr}
  .two-column>div:first-child{position:static}
}
@media(max-width:600px){
  .container{width:min(100% - 28px,1120px)}
  .logo img{width:205px}
  .hero{min-height:500px}
  .hero h1{font-size:48px}
  .section{padding:65px 0}
  .service-image{height:210px}
  .image-strip{grid-template-columns:1fr}
  .name-grid{grid-template-columns:1fr}
  form{padding:22px}
}
