@font-face { font-family:'Oxygen'; font-style:normal; font-weight:300; font-display:swap; src:url('../fonts/oxygen-300.woff2') format('woff2'); }
@font-face { font-family:'Oxygen'; font-style:normal; font-weight:400; font-display:swap; src:url('../fonts/oxygen-400.woff2') format('woff2'); }
@font-face { font-family:'Oxygen'; font-style:normal; font-weight:700; font-display:swap; src:url('../fonts/oxygen-700.woff2') format('woff2'); }

:root {
  --color-text:#000;
  --color-muted:#555;
  --color-heading:#000;
  --color-bg:#fff;
  --color-band:#f4f2ee;
  --color-accent:#ef476f;
  --color-accent-hover:#d63a5f;
  --color-teal:#2ec4b6;
  --color-border:#e7e3dc;
  --color-frame:#ececec;

  --font-body:'Oxygen',-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --fs-base:1.0625rem;
  --lh-body:1.8;
  --fs-lead:1.875rem;
  --fw-light:300; --fw-normal:400; --fw-bold:700;

  --container:1200px;
  --gap-col:48px;
  --pad-x:24px;
  --section-y:clamp(3.5rem,7vw,5.5rem);
  --radius:3px;
}

*,*::before,*::after{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;overflow-x:hidden;}
body{
  margin:0; font-family:var(--font-body); font-size:var(--fs-base);
  font-weight:var(--fw-normal); line-height:var(--lh-body);
  color:var(--color-text); background:var(--color-bg);
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
}
img{max-width:100%;height:auto;display:block;}
a{color:var(--color-accent);text-decoration:none;transition:color .2s ease;}
a:hover,a:focus{color:var(--color-accent-hover);}
.prose a{text-decoration:underline;text-underline-offset:2px;}
p{margin:0 0 var(--space,1rem);}
:focus-visible{outline:3px solid var(--color-accent);outline-offset:2px;}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto;}*{transition:none!important;}}

.container{width:100%;max-width:var(--container);margin-inline:auto;padding-inline:var(--pad-x);}
.section{padding-block:var(--section-y);}
.section--band{background:var(--color-band);}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;}
.two-col>*{min-width:0;}
.center{text-align:center;}
.prose{max-width:38em;}
.prose p{margin-bottom:1.5em;}

.eyebrow{
  position:relative; margin:0 0 10px; padding-top:1.5rem;
  text-transform:uppercase; letter-spacing:.1em; font-size:17px;
  font-weight:var(--fw-bold); color:var(--color-text); line-height:1.4;
}
.eyebrow::before{content:"";position:absolute;top:.5rem;left:0;width:34px;height:3px;background:var(--color-teal);}
.eyebrow--center{text-align:center;}
.eyebrow--center::before{left:50%;transform:translateX(-50%);}

h1.eyebrow{font-size:18px;}
h2{font-family:var(--font-body);font-weight:var(--fw-light);font-size:var(--fs-lead);line-height:1.5;color:var(--color-heading);margin:0 0 20px;}
.tagline{font-size:var(--fs-lead);font-weight:var(--fw-light);line-height:1.5;margin:0 0 40px;}

.site-header{padding:20px 0;background:var(--color-bg);}
.site-header .container{padding-inline:40px;}
.site-logo{display:inline-block;line-height:0;}
.site-logo img{width:350px;height:auto;}

.hero{background:var(--color-band);overflow:hidden;padding:20px 0 120px;position:relative;}
.hero .container{position:relative;z-index:2;}
.hero .col-media{display:flex;justify-content:flex-start;}
.framed{display:inline-block;margin:0;}
.framed img{display:block;width:500px;max-width:100%;box-shadow:-10px 10px 0 rgba(7,59,76,.1);}
.section-shape{left:0;line-height:0;overflow:hidden;pointer-events:none;position:absolute;right:0;z-index:1;}
.section-shape svg{display:block;fill:#fff;width:100%;}
.section-shape--hero-top{top:0;transform:scale(-1,-1);}
.section-shape--hero-top svg,.section-shape--hero-bottom svg{height:200px;}
.section-shape--hero-bottom{bottom:0;}

.brands{padding:20px 0 100px;}
.brands .eyebrow{margin-bottom:40px;}
.brand-grid{
  list-style:none;margin:0 auto;padding:0;max-width:1120px;
  display:grid;grid-template-columns:repeat(4,1fr);gap:80px 40px;
  align-items:center;justify-items:center;
}
.brand-grid img{max-width:100%;height:auto;}
.brand-grid a{display:inline-block;transition:opacity .2s ease;}
.brand-grid a:hover,.brand-grid a:focus{opacity:.75;}
.more{
  position:relative;margin:40px 0 0;padding-bottom:1.5rem;text-align:center;
  text-transform:uppercase;letter-spacing:.12em;font-size:.875rem;font-weight:var(--fw-bold);
}
.more::after{content:"";position:absolute;bottom:.5rem;left:50%;transform:translateX(-50%);width:34px;height:3px;background:var(--color-teal);}

.what{
  background:linear-gradient(to left,rgba(255,255,255,.4),rgba(255,255,255,.4)),
             url('../images/shapes-3.svg') right top / 500px no-repeat;
  overflow:hidden;padding:20px 0 100px;
}
.media-dots img{box-shadow:-10px 10px 0 rgba(7,59,76,.1);}

.testimonials{padding:7rem 0;}
.testimonials__intro{font-size:1.125rem;margin-bottom:5rem;}
.quote-grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem;}
.quote{margin:0;}
.quote blockquote{margin:0 0 2rem;}
.quote blockquote p{font-size:1.125rem;font-weight:600;margin:0;}
.quote__name{display:block;font-weight:600;}
.quote__title{display:block;}

.contact{background:var(--color-band);padding:180px 0 30px;position:relative;}
.contact .container{position:relative;z-index:2;}
.contact__columns{align-items:start;gap:80px;}
.section-shape--contact-top{top:0;transform:scale(-1,-1);}
.section-shape--contact-top svg{height:100px;}
.contact h2{font-size:26px;}
.contact__action{align-self:center;}
.button{
  background:var(--color-accent);border:1px solid var(--color-accent);border-radius:6px;color:#fff;
  cursor:pointer;display:inline-block;font:400 15px/1.3 "Lucida Grande","Lucida Sans Unicode",Tahoma,sans-serif;
  margin-top:10px;max-width:100%;padding:10px 20px;text-decoration:none;transition:background .2s ease;
}
.button:hover,.button:focus{background:#000;border-color:#000;color:#fff;}

.site-footer{background:var(--color-band);color:#111;font-size:13px;padding:0 0 100px;}
.site-footer__inner{align-items:center;border-top:1px solid #242424;display:flex;gap:1.25rem;justify-content:space-between;padding-top:60px;}
.site-footer__copy{margin:0;}
.social{list-style:none;display:flex;align-items:center;gap:1.1rem;padding:0;margin:0;}
.social a{color:#073b4c;display:inline-flex;transition:color .2s ease;}
.social a:hover,.social a:focus{color:var(--color-accent);}
.social svg{width:20px;height:20px;fill:currentColor;display:block;}

.skip-link{position:absolute;left:-9999px;top:0;background:#000;color:#fff;padding:.75rem 1rem;z-index:100;}
.skip-link:focus{left:0;}

@media (max-width:1024px){
  .two-col{grid-template-columns:1fr;gap:2rem;}
  .hero .col-text{order:1;text-align:left;}
  .hero .col-media{justify-self:start;order:2;width:75%;}
  .brand-grid{grid-template-columns:repeat(2,1fr);gap:2rem;}
  .quote-grid{grid-template-columns:1fr;}
  .testimonials{padding:6rem 0;}
  .testimonials__intro{margin-bottom:4rem;}
  .contact__columns{gap:40px;}
  .site-footer__inner{flex-wrap:wrap;}
}

@media (max-width:767px){
  .hero .col-media{width:100%;}
  .brand-grid{grid-template-columns:1fr;gap:40px;}
  .testimonials{padding:4rem 0;}
  .section-shape--contact-top svg{height:140px;}
  .site-footer__inner{flex-direction:column;text-align:center;gap:1.25rem;}
  .social{order:-1;}
}

@media (max-width:480px){
  :root{--pad-x:20px;}
  .site-header .container{padding-inline:20px;}
}
