/* --------------------------
  Variables
--------------------------*/
/* we target mobile first */

:root {
/* Color Palette */
  --light: 250, 249, 246;
  --dark: 27, 27, 24;
  --shadow: 60, 60, 60;
  --primary: 70, 130, 180;
  --secondary: 244, 162, 97;

/* Font Families */
  --sans: "Questrial", sans-serif;
  --serif: "Cormorant Garamond", serif;
  --logo: "Crimson Pro", serif;

/* Font Sizes */
  --xsmall: clamp(0.875rem, 0.5rem + 1vw, 1rem);    /* ~14px–16px */
  --small: clamp(1rem, 0.6rem + 1.2vw, 1.125rem);   /* ~16px–18px */
  --medium: clamp(1.25rem, 0.8rem + 1.5vw, 1.5rem); /* ~20px–24px */
  --large: clamp(1.75rem, 1rem + 2vw, 2rem);     /* ~28px–36px */
  --xlarge: clamp(2rem, 1.5rem + 2.5vw, 2.5rem);     /* ~36px–48px */
  --xxlarge: clamp(3rem, 2rem + 4vw, 4rem);         /* ~48px–64px */

/* Font Line Heights */
  --tight: 100%;
  --airy: 125%;

/* Spacing */
  --br: 1rem;
  --spacer: 1rem;
  --icon-space: 40px;
  --large-icon: 150px;
  --button-space: 1rem 2rem;
  --header-space: 1rem;
  --inner-space: 2rem;
  --section-space: 2rem 2rem 4rem 2rem;

/* Content Widths */
  --container: 1300px;
  --one-half: 100%;
  --one-third: 100%;
  --two-thirds: 100%;
  --three-fourths: 100%;

/* Misc */
  --corners: 4px;
}

/* then we target desktop */
@media (min-width: 1024px) {
:root {
  /* Spacing */
  --section-space: 2rem 3rem 4rem 3rem;

  /* Content Widths */
    --one-half: 50%;
    --one-third: 33%;
    --two-thirds: 66%;
    --three-fourths: 75%;
  }
}

/* --------------------------
  CSS Reset
--------------------------*/
*,
*::before,
*::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  border: none;
  background: none;
  outline: none;
}

html {
  font-size: 16px;
}

html, body {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

a {
  text-decoration: none;
  color: inherit;
}

ul, ol {
  list-style: disc;
  list-style-position: inside;
  padding-left: var(--spacer);
}


/* --------------------------
  Widths, Heights
--------------------------*/
/* width */
.logo {
  width: 300px;
  max-width: var(--one-half);
}

img, picture, video, canvas, svg {
  max-width: 100%;
}

.container {
  max-width: var(--container);
}

#valueprop h2 {
  max-width: var(--two-thirds);
}

#hero .heading {
  max-width: var(--three-fourths);
}

/* height */
html, body {
  height: 100%;
}

img, picture, video, canvas, svg {
  height: auto;
}

/* --------------------------
  Spacing
--------------------------*/
/* Line Height */
h1, h2, h3, h4, h5, h6 {
  line-height: var(--tight);
}

body, p, div, ul, ol, li,
.bio h3 {
  line-height: var(--airy);
}

/* Margins */
#content h2,
#about .cta {
  margin-top: var(--br);
}

#content p,
#content h1,
#content h2,
#content h3,
#content ul,
#content ol,
.bio p {
  margin-bottom: var(--br);
}

#hero .logo, 
#hero .subheading,
#welcome h2,
#welcome .content p,
#services h2,
#services .services-listing,
#services .services-listing .service,
#valueprop .logo,
#about .client,
#about .bio h3,
#connect .booking,
#connect .booking h2,
#connect .booking p,
#connect .contact,
#connect .contact h2,
#legal .date,
#legal h1 {
  margin-bottom: var(--spacer);
}

#hero .subheading,
#hero .cta a,
#welcome h2,
#welcome .quote,
#about .bio,
#about .cta,
#header .navigation,
#about .bio .cta {
  margin-top: var(--spacer);
}

#footer .navigation a,
#header .navigation a {
  margin-left: var(--spacer);
}

#hero .navigation a {
  margin-right: var(--br);
}

@media (min-width: 1024px) {
  #services .services-listing .service,
  #services h3 {
    margin-left: var(--spacer);
  }
  #services .services-listing .service,
  #services h3 {
    margin-right: var(--spacer);
  }
}

/* Padding */
#services .services-listing .service .icon,
#services h2 {
  padding: var(--br);
}

#header .container,
#footer .container,
#hero .index-header {
  padding: var(--header-space);
}

#valueprop h2, 
#about .bio {
  padding: var(--inner-space);
}

#services .services-listing .service,
.container {
  padding: var(--section-space);
}

.cta a,
a.link-button {
  padding: var(--button-space);
}

#legal h2 {
  padding-bottom: calc(var(--spacer) * 0.5);
}

#legal p,
#legal ul,
.testimonial .icon {
  padding-bottom: calc(var(--spacer) * 2);
}

/* --------------------------
  Positioning
--------------------------*/
/* Align Left */
#connect .booking {
  text-align: left;
}

/* Align Center */
.cta a, 
#services h2, 
#services .services-listing .service, 
#services .banner,
#valueprop,
#connect,
#services .services-listing .service .icon,
.testimonial .icon,
#hero .navigation {
  text-align: center;
}

/* Align Right */
#hero .cta,
#about .testimonial .client,
#about .cta,
#connect .contact,
#connect .contact .info, 
#connect .contact .links,
#header .logo,
#footer,
#header .navigation {
  text-align: right;
}

/* Position with Margins */
.container,
#valueprop .logo,
#valueprop h2,
#services .services-listing .service .icon {
  margin: auto;
}

/* Position with Display */
img, picture, video, canvas, svg,
#connect .contact .links a,
#services h2,
.bio h3,
#services .services-listing,
#connect .container,
#hero .index-header .navigation {
  display: block;
}

h1, h2, h3, h4, h5, h6,
.cta a,
#welcome .quote,
#welcome .content,
#about .testimonial,
#about .bio,
#services .banner a,
#footer .navigation a,
a.link-button {
  display: inline-block;
}

/* Position Content */
#welcome .quote,
#about .testimonial {
  vertical-align: top;
}

#header .container {
  display: flex;
}

#header .container .navigation {
  flex: 2;
}

/* Clear Content */
.cta a {
  clear: both;
}

@media (min-width: 1024px) {
  #hero .index-header .navigation {
    text-align: right;
  }
  #hero .index-header .navigation {
    display: inline-block;
  }
  #hero .index-header,
  #services .services-listing,
  #footer .container {
    display: flex;
  }

  /* Flex Styles */
  #services .services-listing .service {
    flex: 1;
  }

  #footer .navigation,
  #hero .index-header .navigation {
    flex: 2;
  }
}

/* --------------------------
  Font Families
--------------------------*/
/* Logo */
.logo {
  font-family: var(--logo);
}

/* Sans */
body {
  font-family: var(--sans);
}

/* Serif */
h1, h2, h3, 
.quote, .client {
  font-family: var(--serif);
}

/* Inherit */
input, button, textarea, select {
  font: inherit;
}

/* --------------------------
  Font Sizes
--------------------------*/
/* XSmall */
#legal .date,
#footer {
  font-size: var(--xsmall);
}

/* Small */
body {
  font-size: var(--small);
}

/* Medium */
.logo,
.cta a,
#welcome .content,
#services .banner, 
#about .testimonial .quote,
#about .bio h3 {
  font-size: var(--medium);
}

/* Large */
h3,
#hero p.subheading,
#welcome .quote h2,
#legal h2 {
  font-size: var(--large);
}

/* XLarge */
h2,
#services .services-listing .service .icon,
#services .banner i,
.testimonial .icon {
  font-size: var(--xlarge);
}

/* XXLarge */
h1 {
  font-size: var(--xxlarge);
}


/* --------------------------
  Font Styles
--------------------------*/
/* Weights */
h1, h2, h3, h4, h5, h6 {
  font-weight: normal;
}

#welcome p.intro,
#services .services-listing .service h3,
#connect .contact .links a,
#header .navigation a {
  font-weight: bold;
}

#content h1,
#content h2 {
  font-weight: 500;
}

/* Kerning */
.cta a,
#connect .contact .links a,
#hero .navigation a,
#header .navigation a,
#footer .navigation a {
  letter-spacing: 1px;
}

/* Text Decoration */
.section a:hover {
  text-decoration: underline;
}

.section .cta a:hover {
  text-decoration: none;
}

/* --------------------------
  Colors 
--------------------------*/
/* Backgrounds */
body, 
.cta a {
  background: rgba(var(--primary), 1);
}

#about .cta a {
  background-color: rgba(var(--secondary), 1);
}

#welcome,
#services .services-listing .service,
#about .bio,
#legal,
#content {
  background: rgba(var(--light), 1);
}

#hero .navigation a {
  background: rgba(var(--dark), 0.75);
}

/* Font Colors */
#about .bio h2,
#legal a,
#content a,
#services .services-listing .service .icon,
#welcome .intro i {
  color: rgba(var(--primary), 1);
}

#hero h1,
#valueprop h2 {
  color: rgba(var(--secondary), 1);
}

body {
  color: rgba(var(--light), 1);
}

#welcome,
#services .services-listing .service,
#about .bio h3,
#about .bio p,
#about .cta a,
#legal,
#content,
#content a:hover {
  color: rgba(var(--dark), 1);
}

/* --------------------------
  Backgrounds
--------------------------*/
/* No Repeat */
.cta a,
#welcome p.intro,
#services .services-listing .service h3,
#services .banner a {
  background-repeat: no-repeat;
}

/* Blend Mode */
#hero,
#valueprop,
#connect {
  background-blend-mode: multiply;
}

/* Size */
.cta a {
  background-size: auto;
}

#hero.section,
#valueprop.section,
#connect.section {
  background-size: cover;
}

#welcome p.intro,
#services .banner a {
  background-size: contain;
}


/* --------------------------
  Container Styles
--------------------------*/
/* Rounded Corners */
.cta a,
#services .services-listing .service,
#about .bio,
a.link-button {
  border-radius: var(--corners);
}

/* --------------------------
  CTA Styles 
--------------------------*/
.cta a {
  padding: 0.75em 1.5em;
  border: none;
  box-shadow: 0 0.25em 0 rgba(var(--shadow), 1);
  transform: translateY(0);
  transition: all 0.1s ease-in-out;
  cursor: pointer;
}
.cta a:hover {
  transform: translateY(0.05em);
  box-shadow: 0 0.20em 0 rgba(var(--shadow), 1);
}
.cta a:active {
  transform: translateY(0.25em);
  box-shadow: 0 0 0 rgba(var(--shadow), 1);
}

/* --------------------------
  Icon Styles 
--------------------------*/
/*!
 * Iconoir
 * Copyright (c) 2025 Luca Burgio - https://iconoir.com
 * License - https://github.com/iconoir-icons/iconoir/blob/main/LICENSE (Code: MIT License)
 * CSS file created by Till Esser (@Wiwaltill) and automated by Pascal Jufer (@paescuj)
 */

*[class^='iconoir-']::before,
*[class*=' iconoir-']::before {
  content: ' ';
  display: block;
  background: currentColor;
  mask-size: cover;
  -webkit-mask-size: cover;
  width: 1em;
  height: 1em;
}
*[class^='iconoir-'],
*[class*=' iconoir-'] {
  display: inline-block;
  vertical-align: middle;
  margin: auto 0.2rem;
}

/* Arrow Down Circle */
.iconoir-arrow-down-circle-solid::before {
  mask-image:url('data:image/svg+xml;charset=utf-8,<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M12 1.25C6.06294 1.25 1.25 6.06294 1.25 12C1.25 17.9371 6.06294 22.75 12 22.75C17.9371 22.75 22.75 17.9371 22.75 12C22.75 6.06294 17.9371 1.25 12 1.25ZM16.0303 13.0303L12.5303 16.5303C12.2374 16.8232 11.7626 16.8232 11.4697 16.5303L7.96967 13.0303C7.67678 12.7374 7.67678 12.2626 7.96967 11.9697C8.26256 11.6768 8.73744 11.6768 9.03033 11.9697L11.25 14.1893V8C11.25 7.58579 11.5858 7.25 12 7.25C12.4142 7.25 12.75 7.58579 12.75 8V14.1893L14.9697 11.9697C15.2626 11.6768 15.7374 11.6768 16.0303 11.9697C16.3232 12.2626 16.3232 12.7374 16.0303 13.0303Z" fill="currentColor"/></svg>');
  -webkit-mask-image:url('data:image/svg+xml;charset=utf-8,<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M12 1.25C6.06294 1.25 1.25 6.06294 1.25 12C1.25 17.9371 6.06294 22.75 12 22.75C17.9371 22.75 22.75 17.9371 22.75 12C22.75 6.06294 17.9371 1.25 12 1.25ZM16.0303 13.0303L12.5303 16.5303C12.2374 16.8232 11.7626 16.8232 11.4697 16.5303L7.96967 13.0303C7.67678 12.7374 7.67678 12.2626 7.96967 11.9697C8.26256 11.6768 8.73744 11.6768 9.03033 11.9697L11.25 14.1893V8C11.25 7.58579 11.5858 7.25 12 7.25C12.4142 7.25 12.75 7.58579 12.75 8V14.1893L14.9697 11.9697C15.2626 11.6768 15.7374 11.6768 16.0303 11.9697C16.3232 12.2626 16.3232 12.7374 16.0303 13.0303Z" fill="currentColor"/></svg>');
}

/* Arrow Right Circle */
.iconoir-arrow-right-circle-solid::before {
  mask-image:url('data:image/svg+xml;charset=utf-8,<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M12 1.25C6.06294 1.25 1.25 6.06294 1.25 12C1.25 17.9371 6.06294 22.75 12 22.75C17.9371 22.75 22.75 17.9371 22.75 12C22.75 6.06294 17.9371 1.25 12 1.25ZM13.0303 7.96967L16.5303 11.4697C16.8232 11.7626 16.8232 12.2374 16.5303 12.5303L13.0303 16.0303C12.7374 16.3232 12.2626 16.3232 11.9697 16.0303C11.6768 15.7374 11.6768 15.2626 11.9697 14.9697L14.1893 12.75H8C7.58579 12.75 7.25 12.4142 7.25 12C7.25 11.5858 7.58579 11.25 8 11.25H14.1893L11.9697 9.03033C11.6768 8.73744 11.6768 8.26256 11.9697 7.96967C12.2626 7.67678 12.7374 7.67678 13.0303 7.96967Z" fill="currentColor"/></svg>');
  -webkit-mask-image:url('data:image/svg+xml;charset=utf-8,<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M12 1.25C6.06294 1.25 1.25 6.06294 1.25 12C1.25 17.9371 6.06294 22.75 12 22.75C17.9371 22.75 22.75 17.9371 22.75 12C22.75 6.06294 17.9371 1.25 12 1.25ZM13.0303 7.96967L16.5303 11.4697C16.8232 11.7626 16.8232 12.2374 16.5303 12.5303L13.0303 16.0303C12.7374 16.3232 12.2626 16.3232 11.9697 16.0303C11.6768 15.7374 11.6768 15.2626 11.9697 14.9697L14.1893 12.75H8C7.58579 12.75 7.25 12.4142 7.25 12C7.25 11.5858 7.58579 11.25 8 11.25H14.1893L11.9697 9.03033C11.6768 8.73744 11.6768 8.26256 11.9697 7.96967C12.2626 7.67678 12.7374 7.67678 13.0303 7.96967Z" fill="currentColor"/></svg>');
}

/* Bright Star */
.iconoir-bright-star::before {
  mask-image:url('data:image/svg+xml;charset=utf-8,<svg width="24" height="24" viewBox="0 0 24 24" stroke-width="1.5" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M9.95242 9.62272L11.5109 6.31816C11.711 5.89395 12.289 5.89395 12.4891 6.31816L14.0476 9.62272L17.5329 10.1559C17.9801 10.2243 18.1583 10.7996 17.8346 11.1296L15.313 13.7001L15.9081 17.3314C15.9845 17.7978 15.5168 18.1534 15.1167 17.9331L12 16.2177L8.88328 17.9331C8.48316 18.1534 8.01545 17.7978 8.09187 17.3314L8.68695 13.7001L6.16545 11.1296C5.8417 10.7996 6.01993 10.2243 6.46711 10.1559L9.95242 9.62272Z" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M22 12L23 12" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M12 2V1" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M12 23V22" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M20 20L19 19" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M20 4L19 5" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M4 20L5 19" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M4 4L5 5" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M1 12L2 12" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/></svg>');
  -webkit-mask-image:url('data:image/svg+xml;charset=utf-8,<svg width="24" height="24" viewBox="0 0 24 24" stroke-width="1.5" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M9.95242 9.62272L11.5109 6.31816C11.711 5.89395 12.289 5.89395 12.4891 6.31816L14.0476 9.62272L17.5329 10.1559C17.9801 10.2243 18.1583 10.7996 17.8346 11.1296L15.313 13.7001L15.9081 17.3314C15.9845 17.7978 15.5168 18.1534 15.1167 17.9331L12 16.2177L8.88328 17.9331C8.48316 18.1534 8.01545 17.7978 8.09187 17.3314L8.68695 13.7001L6.16545 11.1296C5.8417 10.7996 6.01993 10.2243 6.46711 10.1559L9.95242 9.62272Z" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M22 12L23 12" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M12 2V1" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M12 23V22" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M20 20L19 19" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M20 4L19 5" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M4 20L5 19" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M4 4L5 5" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M1 12L2 12" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/></svg>');
}

/* Calendar Check Solid */
.iconoir-calendar-check-solid::before {
  mask-image:url('data:image/svg+xml;charset=utf-8,<svg width="24" height="24" viewBox="0 0 24 24" stroke-width="1.5" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M3 9.25C2.58579 9.25 2.25 9.58579 2.25 10V19C2.25 20.5188 3.48122 21.75 5 21.75H14.5681L14.4091 21.591C13.5304 20.7123 13.5304 19.2877 14.4091 18.409C15.2878 17.5303 16.7124 17.5303 17.5911 18.409L18.0001 18.818L20.4091 16.409C20.7847 16.0334 21.2601 15.8183 21.75 15.7639V10C21.75 9.58579 21.4142 9.25 21 9.25H3Z" fill="currentColor"/><path fill-rule="evenodd" clip-rule="evenodd" d="M7 1.25C7.41421 1.25 7.75 1.58579 7.75 2V6C7.75 6.41421 7.41421 6.75 7 6.75C6.58579 6.75 6.25 6.41421 6.25 6V4.75H5C4.30964 4.75 3.75 5.30964 3.75 6V10C3.75 10.4142 3.41421 10.75 3 10.75C2.58579 10.75 2.25 10.4142 2.25 10V6C2.25 4.48122 3.48122 3.25 5 3.25H6.25V2C6.25 1.58579 6.58579 1.25 7 1.25ZM15 1.25C15.4142 1.25 15.75 1.58579 15.75 2V6C15.75 6.41421 15.4142 6.75 15 6.75C14.5858 6.75 14.25 6.41421 14.25 6V4.75H10.5C10.0858 4.75 9.75 4.41421 9.75 4C9.75 3.58579 10.0858 3.25 10.5 3.25H14.25V2C14.25 1.58579 14.5858 1.25 15 1.25ZM17.75 4C17.75 3.58579 18.0858 3.25 18.5 3.25H19C20.5188 3.25 21.75 4.48122 21.75 6V10C21.75 10.4142 21.4142 10.75 21 10.75C20.5858 10.75 20.25 10.4142 20.25 10V6C20.25 5.30964 19.6904 4.75 19 4.75H18.5C18.0858 4.75 17.75 4.41421 17.75 4Z" fill="currentColor"/><path fill-rule="evenodd" clip-rule="evenodd" d="M15.4698 19.4697C15.7627 19.1768 16.2376 19.1768 16.5304 19.4697L18.0001 20.9393L21.4698 17.4697C21.7627 17.1768 22.2376 17.1768 22.5304 17.4697C22.8233 17.7626 22.8233 18.2374 22.5304 18.5303L18.5304 22.5303C18.2376 22.8232 17.7627 22.8232 17.4698 22.5303L15.4698 20.5303C15.1769 20.2374 15.1769 19.7626 15.4698 19.4697Z" fill="currentColor"/></svg>');
  -webkit-mask-image:url('data:image/svg+xml;charset=utf-8,<svg width="24" height="24" viewBox="0 0 24 24" stroke-width="1.5" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M3 9.25C2.58579 9.25 2.25 9.58579 2.25 10V19C2.25 20.5188 3.48122 21.75 5 21.75H14.5681L14.4091 21.591C13.5304 20.7123 13.5304 19.2877 14.4091 18.409C15.2878 17.5303 16.7124 17.5303 17.5911 18.409L18.0001 18.818L20.4091 16.409C20.7847 16.0334 21.2601 15.8183 21.75 15.7639V10C21.75 9.58579 21.4142 9.25 21 9.25H3Z" fill="currentColor"/><path fill-rule="evenodd" clip-rule="evenodd" d="M7 1.25C7.41421 1.25 7.75 1.58579 7.75 2V6C7.75 6.41421 7.41421 6.75 7 6.75C6.58579 6.75 6.25 6.41421 6.25 6V4.75H5C4.30964 4.75 3.75 5.30964 3.75 6V10C3.75 10.4142 3.41421 10.75 3 10.75C2.58579 10.75 2.25 10.4142 2.25 10V6C2.25 4.48122 3.48122 3.25 5 3.25H6.25V2C6.25 1.58579 6.58579 1.25 7 1.25ZM15 1.25C15.4142 1.25 15.75 1.58579 15.75 2V6C15.75 6.41421 15.4142 6.75 15 6.75C14.5858 6.75 14.25 6.41421 14.25 6V4.75H10.5C10.0858 4.75 9.75 4.41421 9.75 4C9.75 3.58579 10.0858 3.25 10.5 3.25H14.25V2C14.25 1.58579 14.5858 1.25 15 1.25ZM17.75 4C17.75 3.58579 18.0858 3.25 18.5 3.25H19C20.5188 3.25 21.75 4.48122 21.75 6V10C21.75 10.4142 21.4142 10.75 21 10.75C20.5858 10.75 20.25 10.4142 20.25 10V6C20.25 5.30964 19.6904 4.75 19 4.75H18.5C18.0858 4.75 17.75 4.41421 17.75 4Z" fill="currentColor"/><path fill-rule="evenodd" clip-rule="evenodd" d="M15.4698 19.4697C15.7627 19.1768 16.2376 19.1768 16.5304 19.4697L18.0001 20.9393L21.4698 17.4697C21.7627 17.1768 22.2376 17.1768 22.5304 17.4697C22.8233 17.7626 22.8233 18.2374 22.5304 18.5303L18.5304 22.5303C18.2376 22.8232 17.7627 22.8232 17.4698 22.5303L15.4698 20.5303C15.1769 20.2374 15.1769 19.7626 15.4698 19.4697Z" fill="currentColor"/></svg>');
}

/* CPU (Circuit) */
.iconoir-cpu::before { 
  mask-image:url('data:image/svg+xml;charset=utf-8,<svg width="24" height="24" stroke-width="1.5" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M8 15.4V8.6C8 8.26863 8.26863 8 8.6 8H15.4C15.7314 8 16 8.26863 16 8.6V15.4C16 15.7314 15.7314 16 15.4 16H8.6C8.26863 16 8 15.7314 8 15.4Z" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M20 4.6V19.4C20 19.7314 19.7314 20 19.4 20H4.6C4.26863 20 4 19.7314 4 19.4V4.6C4 4.26863 4.26863 4 4.6 4H19.4C19.7314 4 20 4.26863 20 4.6Z" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M17 4V2" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M12 4V2" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M7 4V2" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M7 20V22" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M12 20V22" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M17 20V22" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M20 17H22" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M20 12H22" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M20 7H22" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M4 17H2" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M4 12H2" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M4 7H2" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/></svg>');
  -webkit-mask-image:url('data:image/svg+xml;charset=utf-8,<svg width="24" height="24" stroke-width="1.5" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M8 15.4V8.6C8 8.26863 8.26863 8 8.6 8H15.4C15.7314 8 16 8.26863 16 8.6V15.4C16 15.7314 15.7314 16 15.4 16H8.6C8.26863 16 8 15.7314 8 15.4Z" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M20 4.6V19.4C20 19.7314 19.7314 20 19.4 20H4.6C4.26863 20 4 19.7314 4 19.4V4.6C4 4.26863 4.26863 4 4.6 4H19.4C19.7314 4 20 4.26863 20 4.6Z" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M17 4V2" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M12 4V2" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M7 4V2" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M7 20V22" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M12 20V22" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M17 20V22" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M20 17H22" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M20 12H22" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M20 7H22" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M4 17H2" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M4 12H2" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M4 7H2" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/></svg>');
}

/* Intersect */
.iconoir-intersect::before {
  mask-image:url('data:image/svg+xml;charset=utf-8,<svg width="24" height="24" stroke-width="1.5" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M21 13.5V16.5M13.5 21H16.5" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M16.5 9H9.6C9.26863 9 9 9.26863 9 9.6V16.5" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M10.5 21H9.6C9.26863 21 9 20.7314 9 20.4V19.5" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M21 19.5V20.4C21 20.7314 20.7314 21 20.4 21H19.5" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M19.5 9H20.4C20.7314 9 21 9.26863 21 9.6V10.5" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M3 10.5V7.5M7.5 3H10.5" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M7.5 15H14.4C14.7314 15 15 14.7314 15 14.4V7.5" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M4.5 15H3.6C3.26863 15 3 14.7314 3 14.4V13.5" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M3 4.5V3.6C3 3.26863 3.26863 3 3.6 3H4.5" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M13.5 3H14.4C14.7314 3 15 3.26863 15 3.6V4.5" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/></svg>');
  -webkit-mask-image:url('data:image/svg+xml;charset=utf-8,<svg width="24" height="24" stroke-width="1.5" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M21 13.5V16.5M13.5 21H16.5" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M16.5 9H9.6C9.26863 9 9 9.26863 9 9.6V16.5" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M10.5 21H9.6C9.26863 21 9 20.7314 9 20.4V19.5" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M21 19.5V20.4C21 20.7314 20.7314 21 20.4 21H19.5" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M19.5 9H20.4C20.7314 9 21 9.26863 21 9.6V10.5" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M3 10.5V7.5M7.5 3H10.5" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M7.5 15H14.4C14.7314 15 15 14.7314 15 14.4V7.5" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M4.5 15H3.6C3.26863 15 3 14.7314 3 14.4V13.5" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M3 4.5V3.6C3 3.26863 3.26863 3 3.6 3H4.5" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M13.5 3H14.4C14.7314 3 15 3.26863 15 3.6V4.5" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/></svg>');
}

/* Mail */
.iconoir-mail-solid::before {
  mask-image:url('data:image/svg+xml;charset=utf-8,<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M4 4.25C2.48122 4.25 1.25 5.48122 1.25 7V17C1.25 18.5188 2.48122 19.75 4 19.75H20C21.5188 19.75 22.75 18.5188 22.75 17V7C22.75 5.48122 21.5188 4.25 20 4.25H4ZM7.4301 8.38558C7.09076 8.14804 6.62311 8.23057 6.38558 8.5699C6.14804 8.90924 6.23057 9.37689 6.5699 9.61442L11.5699 13.1144C11.8281 13.2952 12.1719 13.2952 12.4301 13.1144L17.4301 9.61442C17.7694 9.37689 17.852 8.90924 17.6144 8.5699C17.3769 8.23057 16.9092 8.14804 16.5699 8.38558L12 11.5845L7.4301 8.38558Z" fill="currentColor"/></svg>');
  -webkit-mask-image:url('data:image/svg+xml;charset=utf-8,<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M4 4.25C2.48122 4.25 1.25 5.48122 1.25 7V17C1.25 18.5188 2.48122 19.75 4 19.75H20C21.5188 19.75 22.75 18.5188 22.75 17V7C22.75 5.48122 21.5188 4.25 20 4.25H4ZM7.4301 8.38558C7.09076 8.14804 6.62311 8.23057 6.38558 8.5699C6.14804 8.90924 6.23057 9.37689 6.5699 9.61442L11.5699 13.1144C11.8281 13.2952 12.1719 13.2952 12.4301 13.1144L17.4301 9.61442C17.7694 9.37689 17.852 8.90924 17.6144 8.5699C17.3769 8.23057 16.9092 8.14804 16.5699 8.38558L12 11.5845L7.4301 8.38558Z" fill="currentColor"/></svg>');
}

/* Network Reverse */
.iconoir-network-reverse::before {
  mask-image:url('data:image/svg+xml;charset=utf-8,<svg width="24" height="24" stroke-width="1.5" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><rect width="7" height="5" rx="0.6" transform="matrix(1 0 0 -1 3 22)" stroke="currentColor" stroke-width="1.5"/><rect width="7" height="5" rx="0.6" transform="matrix(1 0 0 -1 8.5 7)" stroke="currentColor" stroke-width="1.5"/><rect width="7" height="5" rx="0.6" transform="matrix(1 0 0 -1 14 22)" stroke="currentColor" stroke-width="1.5"/><path d="M6.5 17V13.5C6.5 12.3954 7.39543 11.5 8.5 11.5H15.5C16.6046 11.5 17.5 12.3954 17.5 13.5V17" stroke="currentColor" stroke-width="1.5"/><path d="M12 11.5V7" stroke="currentColor" stroke-width="1.5"/></svg>');
  -webkit-mask-image:url('data:image/svg+xml;charset=utf-8,<svg width="24" height="24" stroke-width="1.5" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><rect width="7" height="5" rx="0.6" transform="matrix(1 0 0 -1 3 22)" stroke="currentColor" stroke-width="1.5"/><rect width="7" height="5" rx="0.6" transform="matrix(1 0 0 -1 8.5 7)" stroke="currentColor" stroke-width="1.5"/><rect width="7" height="5" rx="0.6" transform="matrix(1 0 0 -1 14 22)" stroke="currentColor" stroke-width="1.5"/><path d="M6.5 17V13.5C6.5 12.3954 7.39543 11.5 8.5 11.5H15.5C16.6046 11.5 17.5 12.3954 17.5 13.5V17" stroke="currentColor" stroke-width="1.5"/><path d="M12 11.5V7" stroke="currentColor" stroke-width="1.5"/></svg>');
}

/* Phone */
.iconoir-phone-plus-solid::before { 
  mask-image:url('data:image/svg+xml;charset=utf-8,<svg width="24" height="24" viewBox="0 0 24 24" stroke-width="1.5" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M19.2427 1.49219C19.6569 1.49219 19.9927 1.82797 19.9927 2.24219V4.49219H22.2427C22.6569 4.49219 22.9927 4.82797 22.9927 5.24219C22.9927 5.6564 22.6569 5.99219 22.2427 5.99219H19.9927V8.24219C19.9927 8.6564 19.6569 8.99219 19.2427 8.99219C18.8285 8.99219 18.4927 8.6564 18.4927 8.24219V5.99219H16.2427C15.8285 5.99219 15.4927 5.6564 15.4927 5.24219C15.4927 4.82797 15.8285 4.49219 16.2427 4.49219H18.4927V2.24219C18.4927 1.82797 18.8285 1.49219 19.2427 1.49219Z" fill="currentColor"/><path fill-rule="evenodd" clip-rule="evenodd" d="M4.06343 1.25L7.81435 1.25C8.12672 1.25 8.40638 1.44361 8.51634 1.73599L9.97178 5.60588C10.02 5.73398 10.0322 5.87281 10.0071 6.00735L9.2778 9.91931C10.1742 12.0273 11.6548 13.4439 14.1104 14.7146L17.9754 13.9657C18.1126 13.9391 18.2545 13.9514 18.3851 14.0012L22.2669 15.4804C22.5577 15.5912 22.7498 15.87 22.7498 16.1812L22.7498 19.7655C22.7498 21.391 21.3176 22.7101 19.6424 22.3456C16.5888 21.6811 10.9315 19.9923 6.9695 16.0303C3.17436 12.2352 1.90282 6.99252 1.47478 4.15869C1.23055 2.54172 2.52735 1.25 4.06343 1.25Z" fill="currentColor"/></svg>');
  -webkit-mask-image:url('data:image/svg+xml;charset=utf-8,<svg width="24" height="24" viewBox="0 0 24 24" stroke-width="1.5" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M19.2427 1.49219C19.6569 1.49219 19.9927 1.82797 19.9927 2.24219V4.49219H22.2427C22.6569 4.49219 22.9927 4.82797 22.9927 5.24219C22.9927 5.6564 22.6569 5.99219 22.2427 5.99219H19.9927V8.24219C19.9927 8.6564 19.6569 8.99219 19.2427 8.99219C18.8285 8.99219 18.4927 8.6564 18.4927 8.24219V5.99219H16.2427C15.8285 5.99219 15.4927 5.6564 15.4927 5.24219C15.4927 4.82797 15.8285 4.49219 16.2427 4.49219H18.4927V2.24219C18.4927 1.82797 18.8285 1.49219 19.2427 1.49219Z" fill="currentColor"/><path fill-rule="evenodd" clip-rule="evenodd" d="M4.06343 1.25L7.81435 1.25C8.12672 1.25 8.40638 1.44361 8.51634 1.73599L9.97178 5.60588C10.02 5.73398 10.0322 5.87281 10.0071 6.00735L9.2778 9.91931C10.1742 12.0273 11.6548 13.4439 14.1104 14.7146L17.9754 13.9657C18.1126 13.9391 18.2545 13.9514 18.3851 14.0012L22.2669 15.4804C22.5577 15.5912 22.7498 15.87 22.7498 16.1812L22.7498 19.7655C22.7498 21.391 21.3176 22.7101 19.6424 22.3456C16.5888 21.6811 10.9315 19.9923 6.9695 16.0303C3.17436 12.2352 1.90282 6.99252 1.47478 4.15869C1.23055 2.54172 2.52735 1.25 4.06343 1.25Z" fill="currentColor"/></svg>');
}

/* Sparks Solid (Sparkle) */
.iconoir-sparks-solid::before {
  mask-image:url('data:image/svg+xml;charset=utf-8,<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M8 15C12.8747 15 15 12.949 15 8C15 12.949 17.1104 15 22 15C17.1104 15 15 17.1104 15 22C15 17.1104 12.8747 15 8 15Z" fill="currentColor" stroke="currentColor" stroke-width="1.5" stroke-linejoin="round"/><path d="M2 6.5C5.13376 6.5 6.5 5.18153 6.5 2C6.5 5.18153 7.85669 6.5 11 6.5C7.85669 6.5 6.5 7.85669 6.5 11C6.5 7.85669 5.13376 6.5 2 6.5Z" fill="currentColor" stroke="currentColor" stroke-width="1.5" stroke-linejoin="round"/></svg>');
  -webkit-mask-image:url('data:image/svg+xml;charset=utf-8,<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M8 15C12.8747 15 15 12.949 15 8C15 12.949 17.1104 15 22 15C17.1104 15 15 17.1104 15 22C15 17.1104 12.8747 15 8 15Z" fill="currentColor" stroke="currentColor" stroke-width="1.5" stroke-linejoin="round"/><path d="M2 6.5C5.13376 6.5 6.5 5.18153 6.5 2C6.5 5.18153 7.85669 6.5 11 6.5C7.85669 6.5 6.5 7.85669 6.5 11C6.5 7.85669 5.13376 6.5 2 6.5Z" fill="currentColor" stroke="currentColor" stroke-width="1.5" stroke-linejoin="round"/></svg>');
}

/* --------------------------
  Hero Section
--------------------------*/
#hero {
  background: 
    linear-gradient(15deg, rgb(var(--primary)) 20%, rgb(var(--secondary)) 100%), 
    url('img/bg-1.jpg') center no-repeat;
}

/* --------------------------
  Welcome Section
--------------------------*/
#welcome .graphic img {
  max-width: 60%;
  margin: 0 auto;
  padding-top: var(--spacer);
}
@media (min-width: 1024px) {
  #welcome .container {
    display: flex;
    flex-direction: row;
  }
  #welcome .content {
    order: 2;
    flex: 4;
  }
  #welcome .graphic {
    order: 1;
    flex: 3;
  }
  #welcome .graphic img {
    max-width: 75%;
  }
}

/* --------------------------
  Services Section
--------------------------*/
#services {
  --s: 135px;
  --_g: #0000 90deg,rgba(var(--light), 0.10) 0;
  background: 
    conic-gradient(from 90deg at 2px 2px,var(--_g)),
    conic-gradient(from 90deg at 1px 1px,var(--_g)),
    rgb(var(--primary));
  background-size: var(--s) var(--s), calc(var(--s)/5) calc(var(--s)/5);
}
#services .banner {
  padding-top: var(--spacer);
}
#services .banner .pretext {
  display: block;
}
#services .banner a {
  margin: var(--br) auto 0 auto;
  background: rgba(var(--secondary), 1);
  box-shadow: 0 0.25em 0 rgba(var(--shadow), 0.25);  
}
#services .banner a:hover {
  box-shadow: 0 0.20em 0 rgba(var(--shadow), 0.30);
}
#services .banner a:active {
  box-shadow: 0 0 0 rgba(var(--shadow), 0.30);
}

@media (min-width: 1024px) {
}

/* --------------------------
  Value Prop Section
--------------------------*/
#valueprop {
  background: 
    linear-gradient(15deg, rgb(var(--primary)) 20%, rgb(var(--secondary)) 100%), 
    url('img/bg-2.jpg') center no-repeat;
}

/* --------------------------
  About Section
--------------------------*/
#about .testimonial {
  display: flex;
  flex-direction: column;
}
#about .testimonial .graphic {
  order: 2;
  flex: 2;
  text-align: right;
}
#about .testimonial .graphic img {
  max-width: 75%;
  display: inline-block;
  margin: var(--spacer) 0;
}
#about .testimonial .content {
  order: 1;
  flex: 2;
}
#about .testimonial .content .quote {
  padding: var(--spacer);
}
#about .testimonial .content .client em {
  display: block;
}

@media (min-width: 1024px) {
  #about .testimonial, #about .bio {
    vertical-align: bottom;
    display: inline-block;
    width: calc(var(--one-half) - (var(--spacer) * 3));
  }
  #about .testimonial {
    vertical-align: middle;
  }
  #about .bio {
    margin-left: calc(var(--spacer) * 3);
  }
}

#about .cta a {
  box-shadow: 0 0.25em 0 rgba(var(--shadow), 0.15);
}
#about .cta a:hover {
  box-shadow: 0 0.20em 0 rgba(var(--shadow), 0.20);
}
#about .cta a:active {
  box-shadow: 0 0 0 rgba(var(--shadow), 0.20);
}


/* --------------------------
  Connect Section
--------------------------*/
#connect {
  background: 
    linear-gradient(15deg, rgb(var(--primary)) 20%, rgb(var(--secondary)) 100%), 
    url('img/bg-3.jpg') center no-repeat;
}
