:root {
    --font-family-sans: 'Inter', sans-serif;
    --font-family-serif: "Noto Serif", 'Georgia', serif;
    --color-background: #F9F1E9;
    --color-text: #0B1A3C;
    --color-accent-blue: #3CC;
    --color-accent-blue-encoded:%243CC;
    --color-accent-blue-hover: rgb(43, 175, 175);
    --color-accent-red-1: #F66;
    --color-accent-red-2: #F99;
    --color-accent-red-2-hover: rgb(238, 126, 126);
    --color-dots: #EEDECE;
    --color-footer: #12625A;
    --universal-padding: 0 1rem;
    --content-width: 720px
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
    overflow-y: scroll;
}

body {
    font-family: var(--font-family-sans);
    background-color: var(--color-background);
    color: var(--color-text);
    overflow-x: hidden;
    max-width: 100%;
}

header {
    padding-top: max(16px, env(safe-area-inset-top));
    padding-left: env(safe-area-inset-left);
    padding-right: env(safe-area-inset-right);
    padding: var(--universal-padding);
}

main {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin: 0 auto;
    padding: var(--universal-padding);
}

.nav-list{
    display: flex;
    justify-content: end;
    list-style: none;
    gap: 1rem;
    padding: 1rem 0;
    margin-right: 1rem; 
}

a {
    color: var(--color-text);
    text-decoration: none;
}

a.nav-link:hover {
    text-decoration: underline;
    text-decoration-style: wavy;
    text-decoration-color: var(--color-accent-blue);
    text-decoration-thickness: 2px;
    text-underline-offset: 2px;
    text-underline-position: from-font;
}   

h1 {
    font-family: var(--font-family-serif);
    font-size: 3rem;
    margin: 10rem 0;
    font-weight: 500;
    line-height: 1.6;
}

h2 {
    font-size: 2rem;
    margin-bottom: 1rem;
    font-family: var(--font-family-serif);
    line-height: normal;
}

h3 {
    font-size: 1.5rem;
    margin-bottom: 0.75rem;
    font-family: var(--font-family-serif);
    line-height: normal;
    font-weight: 600;
}

h4 {
    font-size: 1rem;
    font-style: italic;
    font-weight: 400;
    margin-bottom: 0.75rem;
}

h5 {
    font-size: 1rem;
    /* font-style: italic; */
    font-weight: 400;
    margin-bottom: 0.75rem;
}

.hero {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
}

.hero-image {
    background-image: url("./src/images/hero-bg-pattern.png");
    background-size: cover;     /* fill the box */
    background-position: center; /* crop evenly */
    background-repeat: no-repeat;
}

.hero h1{
     max-width: var(--content-width);
}

.home-project, .thought-leadership {
    position: relative;
    display: flex;
    gap: 3rem;
    width: 100%;
    max-width: 1000px;
    margin-bottom: 6rem;
}

.home-project-content {
    flex: 1 0 0;
    display: flex;
    flex-direction: column;
    justify-content: start;
    max-width: 400px;
}

.home-project-reverse {
    flex-direction: row-reverse;
}  

.home-project-image{
    position: relative;
    height: 350px;
    width: 60%;
    /* background-image: url("https://cdn.pixabay.com/photo/2021/12/12/20/00/play-6865967_1280.jpg"); */
    background-size: cover;     /* fill the box */
    background-position: center; /* crop evenly */
    background-repeat: no-repeat;
    border-radius: 0.75rem;
}

.home-project-image-bg{
    z-index: -1;
    position: absolute;
    left: 25px;
    top: 25px;
    height: 350px;
    width: 100%;
    /* border-radius: 1rem; */
    /* background-color: #F66; */
    background-image: url('./src/images/img-bg-dot-pattern.png');
    background-size: cover;     /* fill the box */
    background-position: center; /* crop evenly */
    background-repeat: no-repeat;
}

.button {
    display: inline-block;
    width: auto;
    align-self: flex-start;
    padding: 0.75rem 1.5rem;
    font-size: 1rem;
    border: none;
    border-radius: 0.5rem;
    cursor: pointer;
    margin-top: 1.5rem;
}

.button-blue {
    background-color: var(--color-accent-blue);
    color: white;
    transition: background-color 0.1s;
}

.button-blue:hover {
    background-color: var(--color-accent-blue-hover);
}

.button-red {
    background-color: var(--color-accent-red-2);
    color: var(--color-text);
    transition: background-color 0.1s;
}

.button-red:hover {
    background-color: var(--color-accent-red-2-hover);
}

.thought-leadership {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 2rem;
    margin-bottom: 4rem;
}

.thought-leadership-content {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.thought-leadership-image {
    flex: 1;
    aspect-ratio: 1/1;
    max-width: 300px;
    background-image: url("./src/images/SD_zoom_portrait.jpeg");
    background-size: cover;     /* fill the box */
    background-position: center; /* crop evenly */
    background-repeat: no-repeat;
    border-radius: 50%;
}


footer {
    background-color: var(--color-footer);
    color: white;
    text-align: center;
    padding: 1rem 0;
}

/* Work template page */

#bigImage {
  display: block; /* ensures the section behaves normally */
  width: 100%;
  margin-top: 2rem;
}

.work-image {
  display: block;
  width: 100%;
  max-width: 1000px;
  aspect-ratio: 16/9;
  border-radius: 1rem;
  /* background: center / cover no-repeat
    url("https://miro.medium.com/v2/resize:fit:1400/1*FQROcReEe3P56lXXvy9XVw.jpeg"); */
  margin: 0 auto; /* centers the image if you want */
}


#bam-image {
  background: center / cover no-repeat
    url("./src/images/BAM_cover_img.png");  
}

#lightspeed-image {
    background: center / cover no-repeat
        url("./src/images/Lightspeed_cover_img.png");
}

#bee-image {
  background: center / cover no-repeat
    url("./src/images/Bee_cover_img.png");  
}


.work-h1 {
    margin: 4rem 0 1.25rem 0;
    font-weight: 700;
    line-height: 125%;
    max-width: var(--content-width)
}

.work-h2 {
    font-family: var(--font-family-sans);
    font-weight: 400;
    margin-top: 2rem;
}

.work-h3 {
    font-family: var(--font-family-sans);
    font-weight: 400;
    font-style: italic;
}

.section-title {
    font-family: var(--font-family-sans);
    font-weight: 700;
    margin-top: 2.5rem;
}

.content {
    max-width: var(--content-width);
    margin: 0 auto;
}

.content p {
    line-height: 2.25rem;
    margin-bottom: 1.5rem;
    /* text-indent: 2em; */
}

.wavy {
    border: 0;
    height: 28px;                     /* total space for the wave */
    background-repeat: repeat-x;
    background-position: center;
    background-size: 60px 28px;      /* width of one wave cycle x height */
    background-image: url("data:image/svg+xml;utf8,\ <svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 28'>\<path d='M0 14 Q15 0 30 14 T60 14 T90 14 T120 14' \stroke='%233CC' stroke-width='10' fill='none' stroke-linecap='round'/>\</svg>");
    color: #0a6;                   /* change this to change the wave color */
    background-color: transparent;
    margin-top: 6rem;
    margin-bottom: 1rem;
}

.content img {
    width: 100%;
    margin: 2rem 0;
    /* border-radius: 1rem; */
    filter: drop-shadow(0 4px 8px rgba(0,0,0,0.1));
}

.img-caption {
    font-size: 0.9rem;
    font-family: var(--font-family-serif);
    color: #333;       /* grey text */
    text-align: center; /* or left/right */
    margin-top: -1rem;
    margin-bottom: 1rem;
    line-height: 1.5rem !important;
}

#caption-under-four-img {
    margin-top: 2rem;
}

.content h2 {
    margin-top: 3rem;
}

.cta {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 400px;
    width: 100%;
    background: center / cover no-repeat url("./src/images/cta-bg-dot-pattern.png");
    margin-top: 2rem;
    margin-bottom: 1rem;
}

.cta-box {
    background-color: var(--color-background);
    max-width: 640px;
    padding: 2rem;
}

.cta-box h4 {
    font-style: normal;
    font-weight: 700;
}

.cta-box h3 {
    line-height: 1.4;
    font-weight: 400;
    margin-top: 0.5rem;
}

.cta-box button {
    background-color: var(--color-accent-red-2);
    color: black;
    margin-top: 1.5rem;
    transition: background-color 0.1s;
}

.cta-box button:hover {
    background-color: var(--color-accent-red-2-hover);
}

.logo-images {
    width: 100%;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 2rem;
}

.logo-images img {
    margin: 0 auto;
}

content li a{
    text-decoration: underline;
    text-underline-offset: 2px;
    text-underline-position: from-font;
}

content li a:hover{
    color: var(--color-accent-blue-hover)
}


/* Talks page */

.talk-with-video h2,
.talk-sans-video h2,
.article h2 {
    line-height: 3rem;
    font-weight: 650;
}
/* responsive embed wrapper for iframe embeds (YouTube, Vimeo, etc.) */
.responsive-embed {
    position: relative;
    width: 100%;
    /* padding-top provides a reliable 16:9 box across browsers */
    padding-top: 56.25%; /* 16:9 ratio */
}
.responsive-embed iframe {
    position: absolute;
    inset: 0; /* top:0; right:0; bottom:0; left:0 */
    width: 100%;
    height: 100%;
    border: none;
    display: block;
}

/* fallback / standalone iframe rule */
iframe {
    width: 100%;
    border: none;
    display: block;
}

.dotted-line {
  --dot-size: 8px;               /* diameter of each dot */
  --dot-gap: 14px;               /* distance between dot centers */
  --dot-color: var(--color-dots);             /* fill color */

  border: none;
  height: var(--dot-size);
  width: 100%;
  background:
    radial-gradient(circle, var(--dot-color) 50%, transparent 51%) repeat-x;
  background-size: var(--dot-gap) var(--dot-size);
  background-position: center;
  padding-left: calc(var(--dot-gap) / 2);
  padding-right: calc(var(--dot-gap) / 2);

  padding-bottom: 1rem ;
  padding-top: 1rem ;
}

p a {
    color: var(--color-text);
    text-decoration: underline;
    /* text-decoration-style: wavy; */
    /* text-decoration-color: var(--color-accent-blue); */
    text-underline-offset: 2px;
    text-underline-position: from-font;
}

p a:hover {
    color: var(--color-accent-blue-hover);
    text-decoration-color: var(--color-accent-blue-hover);
}

ol, ul {
    margin-left: 1.5rem;
    margin-bottom: 1.5rem;
}

li {
    margin-bottom: 0.5rem;
    line-height: 2rem ;
}

talk-with-video, p {
    margin-top: 1rem;
}


/* About page */

.about {
    display: flex;
    max-width: 960px;
    margin: 4rem auto;
    gap: 2rem;
}

.about p{
    line-height: 2rem;
    margin-bottom: 1.5rem;
}

.about h2 {
    margin-bottom: 1.5rem;
}

.about-image{
    flex: 1;
    aspect-ratio: 1/1;
    border-radius: 1rem;
    background-image: url("./src/images/SD_crop_portrait.jpg");
    background-size: cover;     /* fill the box */
    background-position: center; /* crop evenly */
    background-repeat: no-repeat;
}

.about-text {
    flex: 1;
    width: 50%;
}



/* Mobile Styles */

@media (max-width: 425px) {
  h1 {
    font-size: 32px;
  }

  h2 {
    font-size: 24px;
  }

  h3 {
    font-size: 20px;
  }

  h4 {
    font-size: 16px;
  }

  h5 {
    font-size: 16px;
  }

  p {
    font-size: 16px;
  }

  .home-project, .thought-leadership {
    flex-direction: column-reverse;
    align-items: center;
  }

  .thought-leadership-image {
    max-width: 100%;
    width: 80%;
    height: auto;
  }

  .home-project-image {
    width: 100%;
    height: auto;
    /* ensure background-image containers keep a visible height on small screens */
    aspect-ratio: 16/9; /* keeps a consistent proportional height */
    min-height: 180px;  /* fallback for older browsers */
    background-size: cover;
    background-position: center;
  }

  .home-project-image-bg {
    display: none;
  }

  .nav-list{
    justify-content: center;
  }

  .about {
    flex-direction: column;
    align-items: center;
    padding: 1rem;
  }

  .about-image, .about-text {
    width: 100%;
  }

  .logo-images {
    gap: 1.5rem;
}
}

@media (max-width: 768px) {


  /* .home-project-image, .thought-leadership-image {
    width: 100%;
    height: auto;
  }

  .home-project-image-bg {
    display: none;
  }

  .about {
    flex-direction: column;
    align-items: center;
  }

  .about-image, .about-text {
    width: 100%;
  } */
}