:root{
  --color-white:#fff;
  --color-black:#000;
  --color-background:#fefefe;
  --color-contrast:#f5f5f5;
  --color-text:#0e0e06;
  --color-primary:#000;

  --font-heading:"Playfair Display", serif;
  --font-heading-weight:500;
  --font-heading-optical-sizing:auto;
  --font-heading-style:normal;
  --font-heading-base-letter-spacing:0.005em;
  --line-height-heading:1.2;

  --font-body:"Sofia Sans", sans-serif;
  --font-body-optical-sizing:auto;
  --font-body-weight:400;
  --font-body-style:normal;
  --line-height-body:1.4;
  --font-body-bold-weight:800;
  --max-width:1300px;
  --max-width-narrow:720px;
  --max-width-narrower:640px;
  --max-width-narrowest:500px;

  --spacing-unit:4px;
  --spacing-unit-half:2px;
  --spacing-1:calc(var(--spacing-unit) * 1);
  --spacing-2:calc(var(--spacing-unit) * 2);
  --spacing-3:calc(var(--spacing-unit) * 3);
  --spacing-4:calc(var(--spacing-unit) * 4);
  --spacing-5:calc(var(--spacing-unit) * 5);
  --spacing-6:calc(var(--spacing-unit) * 6);
  --spacing-7:calc(var(--spacing-unit) * 7);
  --spacing-8:calc(var(--spacing-unit) * 8);
  --spacing-9:calc(var(--spacing-unit) * 9);
  --spacing-10:calc(var(--spacing-unit) * 10);
  --spacing-11:calc(var(--spacing-unit) * 11);
  --spacing-12:calc(var(--spacing-unit) * 12);
  --spacing-13:calc(var(--spacing-unit) * 13);
  --spacing-15:calc(var(--spacing-unit) * 15);
  --spacing-16:calc(var(--spacing-unit) * 16);
  --spacing-17:calc(var(--spacing-unit) * 17);
  --spacing-18:calc(var(--spacing-unit) * 18);
  --spacing-20:calc(var(--spacing-unit) * 20);
  --spacing-25:calc(var(--spacing-unit) * 25);
  --spacing-30:calc(var(--spacing-unit) * 30);
  --spacing-35:calc(var(--spacing-unit) * 35);

  --header-height:80px;
  --button-height:40px;

  --z-index-header:500;
  --z-index-page-transition-overlay:2100;
  --z-index-mobile-menu:2500;
  --space-outer:3.3vw;
}

  @supports (padding: 0 clamp(18px, 3.3vw, 3.3vw)){
    @media (max-width: 719px){:root{
      --space-outer:max(18px, min(3.3vw, 3.3vw))
}
    }
  }
html{
  background-color:#fefefe;
  background-color:var(--color-background);
  margin:0;
  box-sizing:border-box;
}
html,
body{
  height:100%;
}
*,
*:before,
*:after{
  box-sizing:inherit;
}
body{
  font-family:"Sofia Sans", sans-serif;
  font-family:var(--font-body);
  font-weight:400;
  font-weight:var(--font-body-weight);
  font-optical-sizing:auto;
  font-optical-sizing:var(--font-body-optical-sizing);
  font-style:normal;
  font-style:var(--font-body-style);
  font-size:var(--font-size-body-100);
  line-height:1.4;
  line-height:var(--line-height-body);
  color:#0e0e06;
  color:var(--color-text);
  -webkit-font-smoothing:antialiased;
  margin:0;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  obverflow:hidden;
}
h1,
h2,
h3,
h4,
h5,
h6{
  margin:0;
  font-weight:inherit;
  font-family:"Playfair Display", serif;
  font-family:var(--font-heading);
  font-weight:500;
  font-weight:var(--font-heading-weight);
  font-optical-sizing:auto;
  font-optical-sizing:var(--font-heading-optical-sizing);
  font-style:normal;
  font-style:var(--font-heading-style);
  line-height:1.2;
  line-height:var(--line-height-heading);
}
p{
  margin:0;
}
br{
  width:100%;
  height:1px;
  background-color:powderblue;
}
p br{
  display:block;
}
p + p,
p br{
  margin-top:1em;
}
input:-webkit-autofill::first-line{
  font-size:var(--font-body-base-size);
  font-family:"Sofia Sans", sans-serif;
  font-family:var(--font-body);
}
.visually-hidden{
  position:absolute !important;
}
.visually-hidden{
  overflow:hidden;
  width:1px;
  height:1px;
  margin:-1px;
  padding:0;
  border:0;
  clip:rect(0 0 0 0);
}
ul.reset,
ul.reset li,
ul.reset ul li{
  margin:0;
  padding:0;
  text-indent:0;
  list-style-type:none;
}
.ff-body{
  font-family:"Sofia Sans", sans-serif;
  font-family:var(--font-body);
  font-weight:400;
  font-weight:var(--font-body-weight);
  font-optical-sizing:auto;
  font-optical-sizing:var(--font-body-optical-sizing);
  font-style:normal;
  font-style:var(--font-body-style);
  line-height:1.4;
  line-height:var(--line-height-body);
}
.ff-heading{
  font-family:"Playfair Display", serif;
  font-family:var(--font-heading);
  font-weight:500;
  font-weight:var(--font-heading-weight);
  font-optical-sizing:auto;
  font-optical-sizing:var(--font-heading-optical-sizing);
  font-style:normal;
  font-style:var(--font-heading-style);
  letter-spacing:0.005em;
  letter-spacing:var(--font-heading-base-letter-spacing);
}
.fs-heading-1-base,
.fs-heading-2-base,
.fs-heading-3-base,
.fs-heading-4-base,
.fs-heading-5-base,
.fs-heading-6-base{
  line-height:1.2;
  line-height:var(--line-height-heading);
}
.fs-heading-1-large{
  font-size:var(--font-size-heading-1-large);
}
.fs-heading-1-base{
  font-size:var(--font-size-heading-1-base);
}
.fs-heading-2-base{
  font-size:var(--font-size-heading-2-base);
}
.fs-heading-3-base{
  font-size:var(--font-size-heading-3-base);
}
.fs-heading-4-base{
  font-size:var(--font-size-heading-4-base);
}
.fs-heading-5-base{
  font-size:var(--font-size-heading-5-base);
}
.fs-heading-6-base{
  font-size:var(--font-size-heading-6-base);
}
.fs-body-25{
  font-size:var(--font-size-body-25);
}
.fs-body-50{
  font-size:var(--font-size-body-50);
}
.fs-body-60{
  font-size:var(--font-size-body-60);
}
.fs-body-75{
  font-size:var(--font-size-body-75);
}
.fs-body-100{
  font-size:var(--font-size-body-100);
}
.fs-body-150{
  font-size:var(--font-size-body-150);
}
.fs-body-200{
  font-size:var(--font-size-body-200);
}
.fs-body-250{
  font-size:var(--font-size-body-250);
}
.fs-body-300{
  font-size:var(--font-size-body-300);
}
.fs-body-350{
  font-size:var(--font-size-body-350);
}
.fs-body-400{
  font-size:var(--font-size-body-400);
}
.fs-body-bold{
  font-weight:800;
  font-weight:var(--font-body-bold-weight);
}
.fs-heading-bold{
  font-weight:var(--font-heading-bold-weight);
}
.fs-body-italic{
  font-style:var(--font-body-italic);
}
a.link{
  color:var(--color-text-link);
  -webkit-text-decoration:underline;
  text-decoration:underline;
  transition:opacity 0.25s;
}
a.link:hover{
    opacity:0.6;
  }
.c-primary{
  color:#000;
  color:var(--color-primary);
}
.tt-u{
  text-transform:uppercase;
}
.ta-l{
  text-align:left;
}
.ta-c{
  text-align:center;
}
.ta-r{
  text-align:right;
}
.t-subdued{
  opacity:0.65;
}
.t-opacity-50{
  opacity:0.5;
}
.t-opacity-60{
  opacity:0.6;
}
.t-opacity-70{
  opacity:0.7;
}
.t-opacity-80{
  opacity:0.7;
}
.text-link{
  color:#0e0e06;
  color:var(--color-text);
  -webkit-text-decoration:none;
  text-decoration:none;
  font-weight:bold;
  position:relative;
  overflow:hidden;
  display:inline-block;
  padding-bottom:calc(4px * 1);
  padding-bottom:var(--spacing-1);
}
.text-link::before{
    content:"";
    position:absolute;
    bottom:0;
    left:0;
    width:100%;
    height:0.12em;
    background-color:#000;
    background-color:var(--color-primary);
    transform:translate3d(-50%, 0, 0);
    transition:opacity 300ms, transform 300ms;
  }
.text-link:hover::before,
  .text-link:focus::before{
    transform:translate3d(0, 0, 0);
  }
.page-transition{
  z-index:2100;
  z-index:var(--z-index-page-transition-overlay);
  background-color:#fefefe;
  background-color:var(--color-background);
  position:fixed;
  top:0;
  right:0;
  bottom:0;
  left:0;
  visibility:visible;
  opacity:1;
  transition:visibility 0s ease, opacity 0.2s ease;
}
.page-transition[aria-hidden="true"]{
    visibility:hidden;
    opacity:0;
    transition:visibility 0.2s ease, opacity 0.2s ease;
  }
.contrast{
  background-color:#f5f5f5;
  background-color:var(--color-contrast);
}
.content-height{
  padding-top:calc(4px * 30);
  padding-top:var(--spacing-30);
  padding-bottom:calc(4px * 30);
  padding-bottom:var(--spacing-30);
}
@media (max-width: 959px){
.content-height{
    padding-top:calc(4px * 25);
    padding-top:var(--spacing-25);
    padding-bottom:calc(4px * 25);
    padding-bottom:var(--spacing-25)
}
  }
@media (max-width: 719px){
.content-height{
    padding-top:calc(4px * 10);
    padding-top:var(--spacing-10);
    padding-bottom:calc(4px * 10);
    padding-bottom:var(--spacing-10)
}
  }
.content-height:not(.contrast) + .content-height:not(.contrast),
.content-height.contrast + .content-height.contrast{
  padding-top:0;
}
.content-width{
  padding-left:3.3vw;
  padding-left:var(--space-outer);
  padding-right:3.3vw;
  padding-right:var(--space-outer);
}
.content-width-inner{
  margin:0 auto;
  max-width:calc(1300px + 3.3vw * 2);
  max-width:calc(var(--max-width) + var(--space-outer) * 2);
}
.content-width-inner.content-width-inner--narrow{
    max-width:720px;
    max-width:var(--max-width-narrow);
  }
.intro-heading{
  margin-bottom:calc(4px * 7);
  margin-bottom:var(--spacing-7);
}
@media (max-width: 719px){
.intro-heading{
    margin-bottom:calc(4px * 5);
    margin-bottom:var(--spacing-5)
}
  }
.md p,
  .md li{
    font-family:"Sofia Sans", sans-serif;
    font-family:var(--font-body);
    font-weight:400;
    font-weight:var(--font-body-weight);
    font-optical-sizing:auto;
    font-optical-sizing:var(--font-body-optical-sizing);
    font-style:normal;
    font-style:var(--font-body-style);
    line-height:1.4;
    line-height:var(--line-height-body);
  }
.md p,
  .md ol,
  .md ul{
    margin-top:calc(4px * 4);
    margin-top:var(--spacing-4);
    margin-bottom:calc(4px * 4);
    margin-bottom:var(--spacing-4);
  }
.md p ol,
    .md p ul,
    .md ol ol,
    .md ol ul,
    .md ul ol,
    .md ul ul{
      margin-top:calc(4px * 4);
      margin-top:var(--spacing-4);
      margin-bottom:calc(4px * 4);
      margin-bottom:var(--spacing-4);
    }
.md p:first-child, .md ol:first-child, .md ul:first-child{
      margin-top:0;
    }
.md p:last-child, .md ol:last-child, .md ul:last-child{
      margin-bottom:0;
    }
.md li{
    margin-top:calc(4px * 2);
    margin-top:var(--spacing-2);
  }
.md li:first-child{
      margin-top:0;
    }
.md iframe,
  .md video{
    width:100%;
    display:block;
  }
.md div > iframe{
    margin:0;
  }
.md table{
    width:100%;
    border-collapse:collapse;
  }
.md table:first-child{
      margin-top:0;
    }
.md table td,
  .md table th{
    border:1px solid #0e0e06;
    border:1px solid var(--color-text);
    padding:calc(4px * 3) calc(4px * 5);
    padding:var(--spacing-3) var(--spacing-5);
  }
.md table th{
    background-color:var(--color-background-meta);
    text-align:left;
    font-weight:inherit;
    background:var(--color-background-meta);
  }
.md hr{
    background-color:#0e0e06;
    background-color:var(--color-text);
    border:none;
    height:1px;
    margin:calc(4px * 8) 0;
    margin:var(--spacing-8) 0;
  }
.md i,
  .md em{
    font-style:var(--font-body-italic);
  }
.md h1,
  .md h2,
  .md h3,
  .md h4,
  .md h5,
  .md h6{
    margin-top:calc(4px * 8);
    margin-top:var(--spacing-8);
    margin-bottom:calc(4px * 4);
    margin-bottom:var(--spacing-4);
    font-family:"Playfair Display", serif;
    font-family:var(--font-heading);
    line-height:1.2;
    line-height:var(--line-height-heading);
    font-weight:500;
    font-weight:var(--font-heading-weight);
    font-optical-sizing:auto;
    font-optical-sizing:var(--font-heading-optical-sizing);
    letter-spacing:0.005em;
    letter-spacing:var(--font-heading-base-letter-spacing);
    text-transform:var(--font-heading-text-transform);
    color:#0e0e06;
    color:var(--color-text);
  }
.md h1{
    font-size:var(--font-size-heading-1-base);
  }
.md h2{
    font-size:var(--font-size-heading-2-base);
  }
.md h3{
    font-size:var(--font-size-heading-3-base);
  }
.md h4{
    font-size:var(--font-size-heading-4-base);
  }
.md h5{
    font-size:var(--font-size-heading-5-base);
  }
.md h6{
    font-size:var(--font-size-heading-6-base);
  }
.md a{
    color:#0e0e06;
    color:var(--color-text);
    -webkit-text-decoration:underline;
    text-decoration:underline;
    transition:opacity 0.25s;
  }
.md a:hover{
      opacity:0.6;
    }
.md img{
    width:100%;
    height:auto;
    display:block;
  }
.md strong,
  .md b{
    font-weight:800;
    font-weight:var(--font-body-bold-weight);
  }
.md blockquote{
    padding-left:calc(4px * 6);
    padding-left:var(--spacing-6);
    border-left:solid 1px #0e0e06;
    border-left:solid 1px var(--color-text);
  }
.md blockquote p{
      margin:0;
    }
.form-input-side-by{
  margin-bottom:calc(4px * 5);
  margin-bottom:var(--spacing-5);
}
@media (min-width: 720px){
.form-input-side-by{
    display:flex;
    gap:calc(4px * 5);
    gap:var(--spacing-5)
}
  }
@media (max-width: 719px){
.form-input-side-by input:last-of-type{
      margin-top:calc(4px * 5);
      margin-top:var(--spacing-5)
  }
    }
input,
textarea{
  font-family:"Sofia Sans", sans-serif;
  font-family:var(--font-body);
  font-size:var(--fs-body-100);
  font-weight:400;
  font-weight:var(--font-body-weight);
  font-optical-sizing:auto;
  font-optical-sizing:var(--font-body-optical-sizing);
  font-style:normal;
  font-style:var(--font-body-style);
  line-height:1.4;
  line-height:var(--line-height-body);
  padding:calc(4px * 3) calc(4px * 4);
  padding:var(--spacing-3) var(--spacing-4);
  background-color:#f5f5f5;
  background-color:var(--color-contrast);
  border:0;
}
.input::-moz-placeholder{
  color:inherit;
  opacity:0.6;
}
.input::placeholder{
  color:inherit;
  opacity:0.6;
}
input{
  width:100%;
}
html:not(.prefers-reduced-motion) .anime{
  --easing:cubic-bezier(0.33, 0, 0, 1);
  --duration-normal:500ms;
  --duration-slow:1200ms;
  --delay-normal:67ms;
}
html:not(.prefers-reduced-motion) .anime.is-visible .anime--r-u{
      transform:translateY(0);
      opacity:1;
      --adjusted-delay-offset-mulitplier:calc(var(--anime-d-o, 0) + 1);
      transition:transform var(--duration-normal) var(--easing), opacity var(--duration-slow) var(--easing);
      transition-delay:calc(
        var(--delay-normal) * (0 + 1)
      );
      transition-delay:calc(
        var(--delay-normal) * calc(0 + 1)
      );
      transition-delay:calc(
        var(--delay-normal) * var(--adjusted-delay-offset-mulitplier)
      );
    }
html:not(.prefers-reduced-motion) .anime .anime--r-u{
    opacity:0;
    transform:translateY(20px);
    transition-delay:0;
    transition:transform 0s, opacity 0s;
  }
html:not(.prefers-reduced-motion) .image{
    overflow:hidden;
    display:block;
  }
html:not(.prefers-reduced-motion) .image.loaded::after,
      html:not(.prefers-reduced-motion) .image.loaded::before{
        display:none;
      }
html:not(.prefers-reduced-motion) .image.loaded .image__img{
        visibility:inherit;
      }
html:not(.prefers-reduced-motion) .image .image__img{
      visibility:hidden;
    }
html:not(.prefers-reduced-motion) .image::after,
    html:not(.prefers-reduced-motion) .image::before{
      position:absolute;
      top:0;
      right:0;
      bottom:0;
      left:0;
      width:400%;
      height:100%;
      transform:translate3d(0, -200%, 0) rotate(45deg);
      background:linear-gradient(
        180deg,
        hsla(0, 0%, 100%, 0) 0,
        hsla(0, 0%, 100%, 0) 5%,
        hsla(0, 0%, 99%, 1) 50%,
        hsla(0, 0%, 100%, 0) 95%,
        hsla(0, 0%, 100%, 0)
      );
      animation:shimmer 1500ms cubic-bezier(0.33, 0, 0.67, 1) infinite;
      content:"";
    }
html:not(.prefers-reduced-motion) .image::before{
      animation-delay:650ms;
    }
@keyframes shimmer{
      0%{
        transform:translate3d(-30%, 200%, 0) rotate(45deg);
      }

      100%{
        transform:translate3d(-30%, -120%, 0) rotate(45deg);
      }
    }
button{
  border:0;
  border-radius:0;
  display:inline-block;
  cursor:pointer;
  font-family:inherit;
  color:inherit;
  margin:0;
  padding:0;
  background-color:transparent;
  font-size:inherit;
  text-transform:inherit;
  font-weight:inherit;
  line-height:inherit;
}
.btn{
  position:relative;
  height:40px;
  height:var(--button-height);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:transparent;
  border:0;
  cursor:pointer;
  font-size:var(--font-size-body-100);
  -webkit-text-decoration:none;
  text-decoration:none;
}
.btn--primary,
.btn--secondary,
.btn--tertiary{
  font-family:"Sofia Sans", sans-serif;
  font-family:var(--font-body);
}
.btn--primary span, .btn--secondary span, .btn--tertiary span{
    padding-right:calc(4px * 7);
    padding-right:var(--spacing-7);
    padding-left:calc(4px * 7);
    padding-left:var(--spacing-7);
  }
.btn--primary span{
    background-color:#000;
    background-color:var(--color-primary);
    color:#fff;
    color:var(--color-white);
  }
.btn--secondary span{
    color:#0e0e06;
    color:var(--color-text);
    border:1px solid #000;
    border:1px solid var(--color-primary);
  }
.btn--primary,
.btn--secondary{
  height:calc(40px + 12px);
  height:calc(var(--button-height) + 12px);
  font-weight:bold;
  letter-spacing:0.025em;
}
.btn--primary span, .btn--secondary span{
    display:flex;
    justify-content:center;
    align-items:center;
    width:100%;
    height:100%;
    transition:opacity 250ms ease;
  }
.btn--primary:hover span, .btn--primary:focus span, .btn--secondary:hover span, .btn--secondary:focus span{
      opacity:0.8;
    }
.btn--primary:hover::after,
    .btn--primary:hover::before,
    .btn--primary:focus::after,
    .btn--primary:focus::before,
    .btn--secondary:hover::after,
    .btn--secondary:hover::before,
    .btn--secondary:focus::after,
    .btn--secondary:focus::before{
      width:100%;
      height:98%;
    }
.btn--rounded{
  border-radius:37.5px;
}
.btn--text-link{
  height:auto;
  height:initial;
  padding:0;
}
.btn--tertiary{
  border:2px solid #0e0e06;
  border:2px solid var(--color-text);
  opacity:1;
  transition:background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
  color:#0e0e06;
  color:var(--color-text);
  position:relative;
  background:transparent;
}
.btn--tertiary:hover,
  .btn--tertiary:focus{
    border-color:#0e0e06;
    border-color:var(--color-text);
    background-color:#0e0e06;
    background-color:var(--color-text);
    color:#fff;
    color:var(--color-white);
  }
.icon{
  width:24px;
  height:24px;
  display:flex;
  align-items:center;
}
.icon svg{
    width:100%;
    height:100%;
  }
.image{
  background-color:hsla(0, 0%, 96%, 1);
  width:100%;
  position:relative;
}
.image.loaded{
    background-color:transparent;
  }
.image__img{
  display:block;
  width:100%;
  height:auto;
  -o-object-fit:cover;
     object-fit:cover;
}
.page-banner{
  position:relative;
  margin-top:calc(80px * -1);
  margin-top:calc(var(--header-height) * -1);
  padding-top:calc(4px * 25);
  padding-top:var(--spacing-25);
  padding-bottom:calc(4px * 25);
  padding-bottom:var(--spacing-25);
}
@media (max-width: 719px){
.page-banner{
    padding-top:calc(4px * 10);
    padding-top:var(--spacing-10);
    padding-bottom:calc(4px * 10);
    padding-bottom:var(--spacing-10)
}
  }
.page-banner__background-image{
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:100%;
}
.page-banner__background-image .image__img{
    height:100%;
  }
.page-banner__overlay{
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:100%;
  background-color:#000;
  background-color:var(--color-black);
  opacity:var(--overlay-opacity);
}
.page-banner__heading{
  position:relative;
  z-index:2;
  color:#fefefe;
  color:var(--color-background);
}
.page-banner__inner{
  display:flex;
  align-items:center;
  height:100%;
  padding-top:calc(4px * 15);
  padding-top:var(--spacing-15);
}
@media (max-width: 719px){
.page-banner__inner{
    padding-top:calc(4px * 20);
    padding-top:var(--spacing-20)
}
  }
@media (min-width: 960px){
.text-with-features__inner{
    display:flex;
    justify-content:space-between
}
  }
.text-with-features__content{
  width:100%;
}
@media (min-width: 960px){
.text-with-features__content{
    margin-right:calc(4px * 15);
    margin-right:var(--spacing-15);
    width:60%;
    flex-shrink:0
}
  }
.text-with-features__text{
  margin-top:calc(4px * 7);
  margin-top:var(--spacing-7);
  max-width:720px;
  max-width:var(--max-width-narrow);
}
@media (max-width: 719px){
.text-with-features__text{
    margin-top:calc(4px * 5);
    margin-top:var(--spacing-5)
}
  }
@media (max-width: 719px){
.text-with-features__features{
    flex-direction:column
}
  }
@media (max-width: 959px){
.text-with-features__features{
    margin-top:calc(4px * 10);
    margin-top:var(--spacing-10);
    display:flex
}
  }
.text-with-features__feature{
  display:flex;
  flex-direction:column;
  margin:0;
  padding-left:calc(4px * 10);
  padding-left:var(--spacing-10);
  border-left:1px solid #0e0e06;
  border-left:1px solid var(--color-text);
}
.text-with-features__feature + .text-with-features__feature{
  margin-top:calc(4px * 10);
  margin-top:var(--spacing-10);
}
@media (min-width: 720px){
.text-with-features__feature + .text-with-features__feature{
    margin-top:0;
    margin-left:calc(4px * 5);
    margin-left:var(--spacing-5)
}
  }
@media (min-width: 960px){
.text-with-features__feature + .text-with-features__feature{
    margin-top:calc(4px * 10);
    margin-top:var(--spacing-10);
    margin-left:0
}
  }
.text-with-features__feature-icon{
  width:50px;
  height:50px;
  flex-shrink:0;
  margin-right:calc(4px * 6);
  margin-right:var(--spacing-6);
}
.text-with-features__feature-text{
  margin-top:calc(4px * 3);
  margin-top:var(--spacing-3);
}
.theme-preview .device{
    border-radius:20px;
    position:relative;
    box-sizing:border-box;
    background:#000;
    box-shadow:inset 0 4px 7px 1px #000, inset 0 -5px 20px rgba(173, 186, 204, 0.25), 0 2px 6px rgba(0, 21, 64, 0.14), 0 10px 20px rgba(0, 21, 64, 0.05);
  }
.theme-preview .device.phone,
  .theme-preview .device.tablet{
    background:#fff;
    box-shadow:inset 0 4px 7px 1px #fff, inset 0 -5px 20px rgba(173, 186, 204, 0.25), 0 2px 6px rgba(0, 21, 64, 0.14), 0 10px 20px rgba(0, 21, 64, 0.05);
  }
.theme-preview .device img{
    width:100%;
    border-radius:4px;
    border:1px solid rgba(0, 0, 0, 0.24);
  }
.theme-preview .device::before,
  .theme-preview .device::after{
    content:"";
    display:block;
    position:absolute;
    background:#fff;
    box-shadow:inset 0 4px 7px 1px #fff, inset 0 -5px 20px rgba(173, 186, 204, 0.25), 0 2px 6px rgba(0, 21, 64, 0.14), 0 10px 20px rgba(0, 21, 64, 0.05);
  }
.theme-preview .phone{
    padding:12% 3%;
  }
.theme-preview .tablet{
    padding:8% 2%;
  }
.theme-preview .laptop{
    margin-left:12%;
    margin-right:12%;
    margin-bottom:2.5%;
    border-radius:1vw;
    padding:1.35%;
  }
.theme-preview .desktop{
    margin-bottom:2%;
    border-radius:1vw;
    padding:1.5%;
  }
.theme-preview .phone::after{
    border-radius:50%;
    margin:0 auto 1%;
    left:0;
    right:0;
    bottom:0;
    width:10%;
    height:0;
    padding-top:10%;
    box-shadow:inset 0 0 5px 1px rgba(0, 0, 0, 0.12);
  }
.theme-preview .phone.landscape::after{
    margin:auto 0;
    left:calc(100% - 7%);
    top:0;
    bottom:0;
    width:6%;
    padding-top:6%;
  }
.theme-preview .phone::before{
    border-radius:50px;
    margin:5.5% auto 0;
    left:0;
    right:0;
    top:0;
    width:20%;
    height:1%;
    box-shadow:inset 0 0 3px 1px rgba(0, 0, 0, 0.12);
  }
.theme-preview .tablet::after{
    border-radius:50%;
    margin:0 auto 1%;
    left:0;
    right:0;
    bottom:0;
    width:6%;
    height:0;
    padding-top:6%;
    box-shadow:inset 0 0 5px 1px rgba(0, 0, 0, 0.12);
  }
.theme-preview .tablet.landscape::after{
    margin:auto 0;
    left:calc(100% - 5.25%);
    top:0;
    bottom:0;
    width:4.5%;
    padding-top:4.5%;
  }
.theme-preview .tablet::before{
    border-radius:50%;
    margin:3.5% auto 0;
    left:0;
    right:0;
    top:0;
    width:2.25%;
    height:0;
    padding-top:2.25%;
    background:#eee;
    box-shadow:inset 0 0 3px 1px rgba(0, 0, 0, 0.12);
  }
.theme-preview .tablet.landscape::before{
    margin:auto 0 auto 2.5%;
    left:0;
    top:0;
    bottom:0;
    width:1.75%;
    padding-top:1.75%;
  }
.theme-preview .laptop::after{
    border-radius:4px 4px 48px 48px;
    left:-15%;
    bottom:-4%;
    width:130%;
    height:7%;
  }
.theme-preview .device-collection{
    width:100%;
    position:relative;
    aspect-ratio:16 / 9;
  }
.theme-preview .device-collection .phone-container,
  .theme-preview .device-collection .tablet-container,
  .theme-preview .device-collection .desktop{
    position:absolute;
  }
.theme-preview .device-collection .phone-container,
  .theme-preview .device-collection .desktop{
    bottom:0;
  }
.theme-preview .device-collection .tablet-container{
    bottom:-4%;
  }
.theme-preview .device-collection .phone,
  .theme-preview .device-collection .tablet{
    margin:0;
  }
.theme-preview .device-collection .phone-container{
    right:0;
    max-width:15%;
    z-index:2;
  }
.theme-preview .device-collection .tablet-container{
    left:0;
    max-width:30%;
    z-index:1;
  }
.theme-preview .device-collection .desktop{
    left:0;
    right:0;
    margin:0 5% 2.25%;
  }
@media (max-width: 800px){
    .theme-preview .device-collection .device{
      border-radius:1vw;
    }
  }
.theme-preview__title{
  margin-bottom:calc(4px * 7);
  margin-bottom:var(--spacing-7);
}
.theme-preview__tag{
  margin-top:calc(4px * 3);
  margin-top:var(--spacing-3);
}
.theme-preview__content{
  display:flex;
  gap:calc(4px * 8);
  gap:var(--spacing-8);
  margin-top:calc(4px * 10);
  margin-top:var(--spacing-10);
  flex-direction:column;
}
@media (min-width: 960px){
.theme-preview__content{
    flex-direction:row;
    gap:calc(4px * 15);
    gap:var(--spacing-15);
    margin-top:calc(4px * 20);
    margin-top:var(--spacing-20)
}
  }
.theme-preview__content-title{
  margin-bottom:calc(4px * 5);
  margin-bottom:var(--spacing-5);
}
.theme-preview__feature-items{
  width:100%;
  flex-shrink:0;
  display:flex;
  flex-direction:column;
  gap:calc(4px * 5);
  gap:var(--spacing-5);
}
@media (min-width: 960px){
.theme-preview__feature-items{
    width:45%;
    flex-shrink:0
}
  }
.theme-preview__feature-item{
  background-color:#f5f5f5;
  background-color:var(--color-contrast);
  display:flex;
  flex-direction:column;
  gap:calc(4px * 4);
  gap:var(--spacing-4);
  padding:calc(4px * 5) calc(4px * 6);
  padding:var(--spacing-5) var(--spacing-6);
}
.theme-preview__content-links{
  margin-top:calc(4px * 8);
  margin-top:var(--spacing-8);
  display:flex;
  flex-wrap:wrap;
  gap:calc(4px * 4);
  gap:var(--spacing-4);
}
.footer{
  position:relative;
  padding-top:calc(4px * 10);
  padding-top:var(--spacing-10);
  padding-bottom:calc(4px * 20);
  padding-bottom:var(--spacing-20);
  box-shadow:0px -4px 12px -4px rgba(0, 0, 0, 0.13);
}
@media (max-width: 719px){
.footer{
    padding-bottom:calc(4px * 10);
    padding-bottom:var(--spacing-10)
}
  }
.footer__logo{
  flex-shrink:0;
  display:flex;
  width:80px;
}
@media (max-width: 719px){
.footer__logo{
    align-self:center
}
  }
.footer__logo svg{
    max-width:100%;
    width:100%;
    display:flex;
    align-items:flex-start;
  }
.footer__content{
  margin-top:calc(4px * 15);
  margin-top:var(--spacing-15);
  display:grid;
}
@media (max-width: 719px){
.footer__content{
    margin-top:calc(4px * 10);
    margin-top:var(--spacing-10)
}
  }
@media (min-width: 1200px){
.footer__content{
    grid-template-columns:2fr 1fr 230px
}
  }
.footer__writeup{
  display:flex;
  gap:calc(4px * 8);
  gap:var(--spacing-8);
}
@media (max-width: 719px){
.footer__writeup{
    flex-direction:column;
    text-align:center
}
  }
.footer__writeup-content{
  display:flex;
  flex-direction:column;
  gap:calc(4px * 3);
  gap:var(--spacing-3);
}
@media (min-width: 960px){
.footer__item{
    margin-right:calc(4px * 25);
    margin-right:var(--spacing-25)
}
  }
.footer__item:last-of-type{
    margin-right:0;
  }
@media (max-width: 1199px){
.footer__item:nth-child(1){
      grid-column:col / span 2;
      grid-row:row;
      margin-right:0;
      margin-bottom:calc(4px * 10);
      margin-bottom:var(--spacing-10)
  }
    }
@media (max-width: 1199px){
.footer__item:nth-child(2){
      grid-column:col / span 1;
      grid-row:row 2
  }
    }
@media (max-width: 1199px){
.footer__item:nth-child(3){
      grid-column:col 2 / span 1;
      grid-row:row 2
  }
    }
@media (max-width: 1199px){
.footer__item:nth-child(4){
      grid-column:col / span 2;
      grid-row:row 3;
      margin-right:0;
      margin-top:calc(4px * 10);
      margin-top:var(--spacing-10)
  }
    }
.footer__heading{
  margin-bottom:calc(4px * 2);
  margin-bottom:var(--spacing-2);
}
.footer__list-item-link{
  display:block;
  color:#0e0e06;
  color:var(--color-text);
  -webkit-text-decoration:none;
  text-decoration:none;
  padding:calc(4px * 1) 0;
  padding:var(--spacing-1) 0;
}
.footer__list-item-link:hover,
  .footer__list-item-link:focus{
    -webkit-text-decoration:underline;
    text-decoration:underline;
  }
.footer__accreditations img{
    width:150px;
    height:auto;
    mix-blend-mode:multiply;
  }
.header{
  min-height:80px;
  min-height:var(--header-height);
  z-index:1;
  box-shadow:0px 4px 12px -4px rgba(0, 0, 0, 0.13);
  background-color:#fff;
  background-color:var(--color-white);
}
.header__inner{
  height:100%;
  display:flex;
  justify-content:space-between;
  align-items:center;
}
.header__branding{
  display:flex;
  align-items:center;
  gap:calc(4px * 3);
  gap:var(--spacing-3);
  -webkit-text-decoration:none;
  text-decoration:none;
  color:inherit;
}
.header__branding-logo{
  height:40px;
}
.header__branding-logo svg{
    height:100%;
  }
.header__content{
  display:flex;
  justify-content:space-between;
  align-items:center;
}
.header__nav{
  display:flex;
}
@media (max-width: 719px){
.header__nav{
    display:none
}
  }
.header__nav-item{
  position:relative;
}
.header__nav-item + .header__nav-item{
  margin-left:calc(4px * 5);
  margin-left:var(--spacing-5);
}
.header__nav-item-link{
  position:relative;
  display:flex;
  align-items:center;
  color:#0e0e06;
  color:var(--color-text);
  -webkit-text-decoration:none;
  text-decoration:none;
  overflow:hidden;
  padding:2px 0;
  line-height:1;
}
.header__nav-item-link::before{
    content:"";
    position:absolute;
    bottom:0;
    left:0;
    width:100%;
    height:1px;
    background-color:#0e0e06;
    background-color:var(--color-text);
    transform:translate3d(-101%, 0, 0);
    transition:transform 300ms;
  }
.header__nav-item-link:hover::before,
  .header__nav-item-link:focus::before,
  .header__nav-item-link.active::before{
    transform:translate3d(0, 0, 0);
    transition:transform 300ms;
  }
.header__nav-item-link .icon{
    width:10px;
    height:10px;
    margin-left:4px;
  }
.header__button-link{
  margin-left:calc(4px * 15);
  margin-left:var(--spacing-15);
}
@media (max-width: 959px){
.header__button-link{
    margin-left:calc(4px * 10);
    margin-left:var(--spacing-10)
}
  }
@media (max-width: 719px){
.header__button-link{
    display:none
}
  }
.header__nav-mobile-button{
  padding:20px;
  margin-right:-20px;
}
@media (min-width: 720px){
.header__nav-mobile-button{
    display:none
}
  }
.mobile-menu{
  z-index:2500;
  z-index:var(--z-index-mobile-menu);
  visibility:hidden;
  position:fixed;
  top:0;
  right:0;
  left:0;
  bottom:0;
  box-shadow:0px 0px 10px rgba(0, 0, 0, 0.25);
  background-color:#fff;
  background-color:var(--color-white);
  transform:translateX(100%);
  transition:visibility 0.25s 0s, transform 0.25s ease;
}
@media (min-width: 720px){
.mobile-menu{
    visibility:hidden
}
  }
.mobile-menu[aria-hidden="false"]{
    visibility:visible;
    transform:translateX(0);
  }
@media (min-width: 720px){
.mobile-menu[aria-hidden="false"]{
      visibility:hidden
  }
    }
.mobile-menu__header{
  position:relative;
  height:80px;
  height:var(--header-height);
  display:flex;
  align-items:center;
  justify-content:flex-end;
  z-index:2;
}
.mobile-menu__close-button{
  color:#0e0e06;
  color:var(--color-text);
  margin-right:-20px;
  padding:20px;
}
.mobile-menu__list{
  position:absolute;
  top:0;
  bottom:0;
  right:0;
  left:0;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.mobile-menu__list-item + .mobile-menu__list-item{
  margin-top:calc(4px * 4);
  margin-top:var(--spacing-4);
}
.mobile-menu__list-item-link{
  color:#0e0e06;
  color:var(--color-text);
  -webkit-text-decoration:none;
  text-decoration:none;
  padding-left:3.3vw;
  padding-left:var(--space-outer);
  padding-right:3.3vw;
  padding-right:var(--space-outer);
}
.mobile-menu__list-item-link.active{
    -webkit-text-decoration:underline;
    text-decoration:underline;
  }
.four-oh-four{
  padding:20vh 0;
  text-align:center;
  color:#000;
  color:var(--color-primary);
}
