:root{--primary-hue:356.1deg;--primary-saturation:71.1%;--primary-lightness:29.8%;--secondary-hue:206.4deg;--secondary-saturation:44.4%;--secondary-lightness:26.1%;--tertiary-hue:54deg;--tertiary-saturation:99%;--tertiary-lightness:65%;--dark-lightness:15%}section dl{display:flex;flex-direction:column;border-bottom:solid 1px var(--neutral-5);margin:0}section dl dt{font-size:var(--text-large);font-weight:700;color:var(--secondary);border-top:solid 1px var(--neutral-5);padding:var(--spacing-small);display:flex;flex-direction:row;gap:20px;justify-content:space-between;cursor:pointer}section dl dt::after{content:"＋";font-size:var(--text-jumbo);color:var(--neutral-5);font-weight:700}section dl dt.expand::after{content:"－"}section dl dd{margin:0;height:0;overflow:hidden;color:var(--neutral-8)}section dl dd.expand{height:100%;margin:0 var(--spacing-medium)var(--spacing-medium)}@layer extra-dry{main {
    display: block;
  }

  

  h1 {
    font-size: 2em;
    margin: 0.67em 0;
  }

  

  

  hr {
    box-sizing: content-box; 
    height: 0; 
    overflow: visible; 
  }

  

  pre {
    font-family: monospace, monospace; 
    font-size: 1em; 
  }

  

  

  a {
    background-color: transparent;
  }

  

  abbr[title] {
    border-bottom: none; 
    text-decoration: underline; 
    text-decoration: underline dotted; 
  }

  

  b,
  strong {
    font-weight: bolder;
  }

  

  code,
  kbd,
  samp {
    font-family: monospace, monospace; 
    font-size: 1em; 
  }

  

  small {
    font-size: 100%;
  }

  

  sub,
  sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
  }

  sub {
    bottom: -0.25em;
  }

  sup {
    top: -0.5em;
  }

  

  

  img {
    border-style: none;
  }

  

  

  button,
  input,
  optgroup,
  select,
  textarea {
    font-family: inherit; 
    font-size: 100%; 
    line-height: 1.15; 
    margin: 0; 
  }

  

  button,
  input { 
    overflow: visible;
  }

  

  button,
  select { 
    text-transform: none;
  }

  

  button,
  [type="button"],
  [type="reset"],
  [type="submit"] {
    -webkit-appearance: button;
  }

    

    button::-moz-focus-inner,
    [type="button"]::-moz-focus-inner,
    [type="reset"]::-moz-focus-inner,
    [type="submit"]::-moz-focus-inner {
      border-style: none;
      padding: 0;
    }

    

    button:-moz-focusring,
    [type="button"]:-moz-focusring,
    [type="reset"]:-moz-focusring,
    [type="submit"]:-moz-focusring {
      outline: 1px dotted ButtonText;
    }

  

  fieldset {
    padding: 0.35em 0.75em 0.625em;
  }

  

  legend {
    box-sizing: border-box; 
    color: inherit; 
    display: table; 
    max-width: 100%; 
    padding: 0; 
    white-space: normal; 
  }

  

  progress {
    vertical-align: baseline;
  }

  

  textarea {
    overflow: auto;
  }

  

  [type="checkbox"],
  [type="radio"] {
    box-sizing: border-box; 
    padding: 0; 
  }

  

  [type="number"]::-webkit-inner-spin-button,
  [type="number"]::-webkit-outer-spin-button {
    height: auto;
  }

  

  [type="search"] {
    -webkit-appearance: textfield; 
    outline-offset: -2px; 
  }

    

    [type="search"]::-webkit-search-decoration {
      -webkit-appearance: none;
    }

  

  ::-webkit-file-upload-button {
    -webkit-appearance: button; 
    font: inherit; 
  }

  

  

  details {
    display: block;
  }

  

  summary {
    display: list-item;
  }

  

  

  template {
    display: none;
  }

  

  [hidden] {
    display: none;
  }


  

  *,
  *::before,
  *::after {
    box-sizing: border-box;
  }

  fieldset {
    min-width: 0;
    padding: 0;
    margin: 0;
    border: 0;
  }

  button,
  input,
  select,
  optgroup,
  textarea {
    margin: 0;
    font-family: inherit;
    font-size: inherit;
    line-height: inherit;
  }

}footer{display:flex;flex-direction:column;gap:var(--spacing-small);background-color:var(--primary);color:var(--text-inverted);padding:var(--spacing-medium)0}footer section div img{max-height:var(--layout-icon-height);max-width:calc(var(--layout-phone-width) - 2 * var(--spacing-small))}footer nav{display:flex;flex-direction:column;align-items:start}footer>section>div{align-items:center}footer>section>div>div{display:flex;align-items:flex-start;flex-wrap:wrap;justify-content:space-between;gap:var(--spacing-medium)}footer div.primary-menu,footer div.secondary-menu{flex:auto}footer div.logo-and-social{flex:auto;align-items:center;display:flex;flex-direction:column}footer nav a{color:var(--text-inverted);text-decoration:none}footer nav a:hover{text-decoration:underline}form{display:flex;flex-direction:column;gap:var(--spacing-small)}form label{font-weight:500}form input[type=text],form input[type=email],form input[type=phone],form input[type=password],form textarea{padding:var(--spacing-small);border-radius:var(--input-rounding);border:1px solid var(--secondary);width:100%}form textarea{resize:vertical}form input[type=submit]{background-color:var(--primary);color:var(--text-inverted);padding:var(--spacing-small);border-radius:var(--input-rounding);font-weight:700}form input[type=submit]:hover{background-color:var(--primary-light)}form div:nth-of-type(2){display:none}button{min-width:88px;min-height:40px;border:none;outline:none;border-radius:4px;background-color:var(--secondary);color:var(--text-inverted);padding:0 var(--spacing-medium);font-weight:500}header{display:flex;flex-direction:column;gap:var(--spacing-small)}header section div img{max-height:var(--layout-icon-height);max-width:calc(var(--layout-phone-width) - 2 * var(--spacing-small))}header div.top-accent{background-color:var(--primary);height:48px;display:flex;flex-direction:row;align-items:center;padding:0 var(--spacing-medium)}header div.top-accent a{display:flex;flex-direction:row;align-items:center}header div.top-accent a svg{height:var(--icon-medium);fill:var(--text-inverted);flex:none}header div.top-accent div.center{flex:auto}header div.bottom-accent{background-color:var(--secondary);height:48px}header section div.banner{flex-direction:column}@media(min-width:801px){header section div.banner{flex-direction:row}}@media(min-width:801px){header div.mobile-menu{display:none}}header div.nav.curtain{position:fixed;background-color:#0000;left:0;top:48px;padding:0;width:0;height:calc(100vh - 48px);transition:width var(--animation-duration)}header div.nav.curtain .box{display:flex;gap:10px;flex-direction:column;box-shadow:0 6px 16px 0 var(--neutral-9);width:0;min-height:50vh;overflow:hidden;transition:width var(--animation-duration);background-color:var(--neutral-0)}header div.nav.curtain .box nav{display:flex;flex-direction:column}header div.nav.curtain .box nav a{color:var(--secondary);text-decoration:none;padding:var(--spacing-small)var(--spacing-medium);font-size:var(--text-large);font-weight:700}header div.nav.curtain .box nav a:hover{background-color:var(--secondary-light)}header div.nav.curtain.visible{width:100vw}header div.nav.curtain.visible .box{width:80%}div.desktop-menu{display:none;flex-direction:row;align-items:center;justify-content:end;gap:var(--spacing-large);flex:auto}div.desktop-menu nav{display:flex;gap:var(--spacing-medium)}div.desktop-menu nav a{color:var(--secondary);text-decoration:none;font-weight:700;font-size:var(--text-jumbo)}div.desktop-menu a:hover{color:var(--primary)}@media(min-width:801px){div.desktop-menu{display:flex}}body{font-family:sans-serif;line-height:1.5;margin:0;padding:0;display:flex;flex-direction:column;height:100vh}body>header{flex:none;color:#fff;text-align:center;width:100%}body>main{flex:auto;padding-bottom:var(--spacing-jumbo)}body>footer{flex:none}section{display:flex;flex-direction:column;gap:var(--spacing-medium);align-items:center}section>div{width:100%;max-width:1024px;padding:0 var(--spacing-medium);display:flex;flex-direction:column;gap:var(--spacing-medium)}section.hero{background-color:var(--secondary);color:var(--text-inverted);padding-bottom:var(--spacing-jumbo)}section.hero h1{color:var(--tertiary);text-align:left;background-color:var(--secondary);padding:0}section.hero a{background-color:var(--secondary-dark)}section.hero img{max-height:400px;object-fit:cover;width:100%;min-height:256px}a.button{color:var(--text-inverted);background-color:var(--primary);padding:var(--spacing-medium);border-radius:var(--input-rounding);font-weight:700;text-decoration:none;min-width:160px;text-align:center}a.button:hover{outline:solid 1px var(--tertiary)}a.button:after{content:" \25B6"}section.justify-left a.button{background-color:var(--secondary)}section.justify-right a.button{background-color:var(--secondary-dark)}main section h1{background-color:var(--secondary-light);color:var(--secondary);width:100%;text-align:center;padding:var(--spacing-medium)}main section{width:100%}main section>div{max-width:1024px;display:flex;flex-direction:column;gap:var(--spacing-large);padding:var(--spacing-large);align-items:start}main section div.image{flex:1 1 100px;justify-content:center;align-items:center;align-content:center}main section div.content{flex:1 1 100px;display:flex;flex-direction:column;gap:var(--spacing-small);justify-content:center;color:var(--text);align-items:start}main section div.image img{max-width:100%;max-height:100%}main section.justify-right{background-color:var(--secondary);color:var(--text-inverted)}main section.justify-right h2{color:var(--tertiary)}@media(min-width:801px){main section.justify-right>div{flex-direction:row;align-items:center}}main section.justify-left{background-color:var(--secondary-dark);color:var(--text-inverted)}main section.justify-left h2{color:var(--tertiary)}@media(min-width:801px){main section.justify-left>div{flex-direction:row-reverse;align-items:center}}main section.justify-left a,main section.justify-right a{color:var(--text-inverted);text-decoration:none}main section.justify-left a:hover,main section.justify-right a:hover{text-decoration:underline}main section.justify-center>div{max-width:800px}main section.justify-center ul{font-size:var(--text-large);gap:var(--spacing-medium);display:flex;flex-direction:column}main section.justify-center h2{text-align:center;color:var(--secondary)}main section.justify-full>div{flex-direction:row;flex-wrap:wrap;justify-content:center;align-items:stretch}main section.justify-full h2{text-align:center;color:var(--secondary)}main section div.video{flex:1 1 100px;position:relative;display:flex;width:100%}main section div.video div.aspect-ratio-hack{position:relative;width:100%;padding-top:56.25%}main section div.video iframe{position:absolute;top:0;left:0;width:100%;height:100%}div.socials{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:var(--spacing-small)}div.socials svg{height:var(--icon-large);fill:var(--secondary)}footer div.socials svg{fill:var(--neutral-0)}section.testimonials div.testimonial{flex:0 0 300px;display:flex;flex-direction:column;align-items:center;gap:var(--spacing-small)}section.testimonials div.testimonial div.content{text-align:center}section.testimonials div.author{display:flex;flex-direction:row;align-items:center;gap:var(--spacing-small)}section.testimonials div.author div.author-info{align-items:start;display:flex;flex-direction:column}section.testimonials div.author div.author-info.no-headshot{align-items:center}section.testimonials div.author img.author{width:60px;height:60px;border-radius:50%}section.testimonials div.author div.name{font-weight:700}section.testimonials div.author div.rating{display:flex;gap:2px}@layer extra-dry{:root {
    --primary-hue: 48deg;
    --primary-saturation: 99%;
    --primary-lightness: 60%;

    --secondary-hue: 9deg;
    --secondary-saturation: 84%;
    --secondary-lightness: 20%;

    --tertiary-hue: calc(var(--primary-hue) + 180deg);
    --tertiary-saturation: var(--primary-saturation);
    --tertiary-lightness: 50%;

    --danger-hue: 5deg;
    --danger-saturation: 81%;

    --success-hue: 90deg;
    --success-saturation: 45%;

    --info-hue: 194deg;
    --info-saturation: 100%;

    --warning-hue: 37deg;
    --warning-saturation: 100%;

    --light-lightness: 95%;
    --normal-lightness: 45%;
    --dark-lightness: 20%;

    --primary: hsl(var(--primary-hue), var(--primary-saturation), var(--primary-lightness));
    --secondary: hsl(var(--secondary-hue), var(--secondary-saturation), var(--secondary-lightness));
    --tertiary: hsl(var(--tertiary-hue), var(--tertiary-saturation), var(--tertiary-lightness));
    --danger: hsl(var(--danger-hue), var(--danger-saturation), var(--normal-lightness));
    --success: hsl(var(--success-hue), var(--success-saturation), var(--normal-lightness));
    --info: hsl(var(--info-hue), var(--info-saturation), var(--normal-lightness));
    --warning: hsl(var(--warning-hue), var(--warning-saturation), var(--normal-lightness));

    --primary-light: hsl(var(--primary-hue), var(--primary-saturation), var(--light-lightness));
    --secondary-light: hsl(var(--secondary-hue), var(--secondary-saturation), var(--light-lightness));
    --tertiary-light: hsl(var(--tertiary-hue), var(--tertiary-saturation), var(--light-lightness));
    --danger-light: hsl(var(--danger-hue), var(--danger-saturation), var(--light-lightness));
    --success-light: hsl(var(--success-hue), var(--success-saturation), var(--light-lightness));
    --info-light: hsl(var(--info-hue), var(--info-saturation), var(--light-lightness));
    --warning-light: hsl(var(--warning-hue), var(--warning-saturation), var(--light-lightness));

    --primary-dark: hsl(var(--primary-hue), var(--primary-saturation), var(--dark-lightness));
    --secondary-dark: hsl(var(--secondary-hue), var(--secondary-saturation), var(--dark-lightness));
    --tertiary-dark: hsl(var(--tertiary-hue), var(--tertiary-saturation), var(--dark-lightness));
    --danger-dark: hsl(var(--danger-hue), var(--danger-saturation), var(--dark-lightness));
    --success-dark: hsl(var(--success-hue), var(--success-saturation), var(--dark-lightness));
    --info-dark: hsl(var(--info-hue), var(--info-saturation), var(--dark-lightness));
    --warning-dark: hsl(var(--warning-hue), var(--warning-saturation), var(--dark-lightness));

    --neutral-base-hue: 0deg;
    --neutral-base-saturation: 0%;
    --neutral-base-lightness: 100%;

    --neutral-accent-hue: 0deg;
    --neutral-accent-saturation: 0%;
    --neutral-accent-lightness: 0%;

    --neutral-base: hsl(var(--neutral-base-hue), var(--neutral-base-saturation), var(--neutral-base-lightness));
    --neutral-accent: hsl(var(--neutral-accent-hue), var(--neutral-accent-saturation), var(--neutral-accent-lightness));

    --neutral-0: var(--neutral-base);
    --neutral-1: color-mix(in hsl, var(--neutral-base), var(--neutral-accent) 1%);
    --neutral-2: color-mix(in hsl, var(--neutral-base), var(--neutral-accent) 5%);
    --neutral-3: color-mix(in hsl, var(--neutral-base), var(--neutral-accent) 11%);
    --neutral-4: color-mix(in hsl, var(--neutral-base), var(--neutral-accent) 20%);
    --neutral-5: color-mix(in hsl, var(--neutral-base), var(--neutral-accent) 31%);
    --neutral-6: color-mix(in hsl, var(--neutral-base), var(--neutral-accent) 44%);
    --neutral-7: color-mix(in hsl, var(--neutral-base), var(--neutral-accent) 60%);
    --neutral-8: color-mix(in hsl, var(--neutral-base), var(--neutral-accent) 79%);
    --neutral-9: var(--neutral-accent);

    --text-primary: var(--neutral-9);
    --text-secondary: var(--neutral-8);
    --text-disabled: var(--neutral-6);
    --text-placeholder: var(--neutral-4);
    --text-inverted: var(--neutral-0);

    --spacing-tiny: calc(0.5 * var(--spacing-small));
    --spacing-small: 8px;
    --spacing-medium: calc(2 * var(--spacing-small));
    --spacing-large: calc(3 * var(--spacing-small));
    --spacing-jumbo: calc(4 * var(--spacing-small));

    --icon-tiny: calc(var(--icon-small) - 4px);
    --icon-small: 24px;
    --icon-medium: calc(var(--icon-small) + 4px);
    --icon-large: calc(var(--icon-medium) + 4px);
    --icon-jumbo: calc(var(--icon-large) + 4px);

    --text-tiny: calc(var(--text-normal) - 4px);
    --text-small: calc(var(--text-normal) - 2px);
    --text-normal: 18px;
    --text-large: calc(var(--text-normal) + 3px);
    --text-jumbo: calc(var(--text-large) + 3px);

    --text-h6: var(--text-normal);
    --text-h5: var(--text-h6); 
    --text-header-ratio: 1.189207115; 
    --text-h4: calc(var(--text-header-ratio) * var(--text-h5));
    --text-h3: calc(var(--text-header-ratio) * var(--text-h4));
    --text-h2: calc(var(--text-header-ratio) * var(--text-h3));
    --text-h1: calc(var(--text-header-ratio) * var(--text-h2));

    --animation-duration: 0.25s;

    --layout-header-height: 64px;
    --layout-footer-height: 180px;
    --layout-aside-width: 250px;
    --layout-search-width: 300px;
    --layout-icon-height: 133px;
    --layout-phone-width: 375px;
    --layout-tablet-width: 768px;
    --layout-laptop-width: 1280px;

    --input-button-height: 40px;
    --input-rounding: 6px;
    --input-minimum-width: 88px;

}

.primary {
    background-color: var(--primary);
    color: var(--text-primary);
}

.primary-light {
    background-color: var(--primary-light);
    color: var(--text-primary);
}

.primary-dark {
    background-color: var(--primary-dark);
    color: var(--text-inverted);
}

.secondary {
    background-color: var(--secondary);
    color: var(--text-inverted);
}

.secondary-light {
    background-color: var(--secondary-light);
    color: var(--text-primary);
}

.secondary-dark {
    background-color: var(--secondary-dark);
    color: var(--text-inverted);
}

.danger {
    background-color: var(--danger);
    color: var(--text-primary);
}

.tertiary {
    background-color: var(--tertiary);
    color: var(--text-inverted);
}

.tertiary-light {
    background-color: var(--tertiary-light);
    color: var(--text-primary);
}

.tertiary-dark {
    background-color: var(--tertiary-dark);
    color: var(--text-inverted);
}

.danger-light {
    background-color: var(--danger-light);
    color: var(--text-primary);
}

.danger-dark {
    background-color: var(--danger-dark);
    color: var(--text-inverted);
}

.success {
    background-color: var(--success);
    color: var(--text-primary);
}

.success-light {
    background-color: var(--success-light);
    color: var(--text-primary);
}

.success-dark {
    background-color: var(--success-dark);
    color: var(--text-inverted);
}

.info {
    background-color: var(--info);
    color: var(--text-primary);
}

.info-light {
    background-color: var(--info-light);
    color: var(--text-primary);
}

.info-dark {
    background-color: var(--info-dark);
    color: var(--text-inverted);
}

.warning {
    background-color: var(--warning);
    color: var(--text-primary);
}

.warning-light {
    background-color: var(--warning-light);
    color: var(--text-primary);
}

.warning-dark {
    background-color: var(--warning-dark);
    color: var(--text-inverted);
}

.neutral-0 {
    background-color: var(--neutral-0);
    color: var(--text-primary);
}

.neutral-1 {
    background-color: var(--neutral-1);
    color: var(--text-primary);
}

.neutral-2 {
    background-color: var(--neutral-2);
    color: var(--text-primary);
}

.neutral-3 {
    background-color: var(--neutral-3);
    color: var(--text-primary);
}

.neutral-4 {
    background-color: var(--neutral-4);
    color: var(--text-primary);
}

.neutral-5 {
    background-color: var(--neutral-5);
    color: var(--text-primary);
}

.neutral-6 {
    background-color: var(--neutral-6);
    color: var(--text-primary);
}

.neutral-7 {
    background-color: var(--neutral-7);
    color: var(--text-inverted);
}

.neutral-8 {
    background-color: var(--neutral-8);
    color: var(--text-inverted);
}

.neutral-9 {
    background-color: var(--neutral-9);
    color: var(--text-inverted);
}

.icon {
    width: var(--icon-small);
    height: var(--icon-small);
}

.glyph {
    width: var(--icon-tiny);
    height: var(--icon-tiny);
}

button.unobtrusive {
    border: none;
    padding: var(--spacing-small);
    outline: none;
}



section {
display: flex;
flex-direction: column;
gap: var(--spacing-medium);
}

article {
padding-left: var(--spacing-medium);
padding-right: var(--spacing-medium);
display: flex;
flex-direction: column;
gap: 0;
}

article section {
    padding: var(--spacing-small) 0;
    gap: var(--spacing-small);
}



h1, h2, h3, h4, h5, h6 {
    font-family: 'Barlow', san-serif;
    font-size: var(--text-normal);
    font-weight: normal;
    margin: 0;
    padding: 0;
}

span, div, p {
    font-family: 'Roboto', san-serif;
    font-size: var(--text-normal);
    font-weight: normal;
    margin: 0;
    padding: 0;
}

h1 {
    font-weight: bold;
    font-size: var(--text-h1);
}

h2 {
    font-weight: bold;
    font-size: var(--text-h2);
}

h3 {
    font-weight: bold;
    font-size: var(--text-h3);
}

h4 {
    font-weight: bold;
    font-size: var(--text-h4);
}

h5 {
    font-weight: bold;
    font-size: var(--text-h5);
}

h5 {
    font-weight: normal;
    font-size: var(--text-h6);
}

code {
    font-family: monospace;
    background-color: var(--primary-light);
    padding: 0 2px;
}

mark {
    background-color: var(--info-light);
}

del {
    color: var(--danger);
}

ins {
    color: var(--success);
}




pre, ol, ul {
    margin: 0;
    padding: 0;
}


ol, ul {
    padding-left: var(--spacing-large);
}

pre:has(code) {
    font-family: monospace;
    background-color: var(--primary-light);
    padding: var(--spacing-small);
    border: solid 1px var(--primary);
    border-radius: var(--input-rounding);
}

}