@import url('https://fonts.googleapis.com/css2?family=Inter:wght@100..900&display=swap');
html{
  overflow-x: hidden;
}
body {
  font-family: "Inter", sans-serif;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url('/fonts/Inter-variable.woff2') format('woff2');
}
.klaviyo-form.klaviyo-form.klaviyo-form{
    margin: auto;
}
.klaviyo-form.klaviyo-form.klaviyo-form .needsclick form{
    background-color: transparent!important;
}
.what-we-do{
  font-family: Inter;
}
.grey-background{
  background-color: #F3EFEF;
}
.what-we-do-container{
  min-height: 100px;
  width: 822px;
  margin: auto;
  text-align: center;
  margin-top: 20px;
  margin-bottom: 20px;
}
.logo-link{
  display: block;
  margin: auto;
  text-align: center;
  margin-top: 20px;
  margin-bottom: 20px;
}
.what-we-do-logo{
  width: 200px;
}
.what-we-do h3{
  font-family: Inter;
  text-align: center;
  font-weight: 700;
  font-size: 34px;
  color: #000;
  margin-top: 10px;
}
.what-we-do-container span{
  font-size: 34px;
  color: #000;
}
.what-we-do h4{
  font-family: Inter;
  text-align: center;
  font-weight: 700;
  margin-top: 8px;
  margin-bottom: 8px;
  font-size: 30px;
  color: #000;
}
.what-we-do h5{
  font-family: Inter;
  text-align: center;
  font-weight: 700;
  margin-top: 8px;
  margin-bottom: 8px;
  font-size: 25px;
  text-transform: uppercase;
  color: #000000;
}
.what-we-do ul{
  text-align: left;
  font-size: 20px;
  line-height: 1.5;
  width: 636px;
  margin: auto;
  max-width: 100%;
}
.what-we-do hr{
  width: 515px;
  border-top: 1px solid #000000;
}
.what-we-do-container p{
  margin-bottom: 20px;
  font-size: 16px;
  text-align: left;
}
.discover-section p{
  text-align: center;
}
.what-we-do .get-access-button{
  background-color: #C51E25;
  padding: 5px;
  width: 260px;
  text-align: center;
  font-size: 20px;
  text-transform: uppercase;
  display: inline-block;
  color: #fff;
  margin-bottom: 20px;
}
.circle-container{
  min-height: 100px;
  margin-top: 10px;
  margin-bottom: 10px;
  display: flex;
}
.what-we-do-container .circle-container .connector-line {
    align-self: center;
    width: 25px; /* Matches the gap size */
    height: 2px;
    background-color: #000;
    flex-shrink: 0;
}
.circle-container .circle-box{
  width: 252px;
  height: 252px;
  border: 2px solid #000000;
  border-radius: 50%;
  background-color: #F3EFEF;
}
.circle-container .circle-box img{
  width: 33px;
  height: 33px;
  margin-top: 14px;
}
.circle-container .circle-box p{
  text-align: center;
  font-size: 16px;
  color: #000000;
}

/* CSS Variables for Colors */
:root {
    --color-red: #c4262e;
    --color-black: #000000;
    --color-gray: #585858;
    --bg-light: #f4f4f4;
}

/* Main Container */
.what-we-do-container .features-container {
    display: flex;
    max-width: 1200px;
    margin: 0 auto;
}

/* Individual Column */
.what-we-do-container .features-container .feature-column {
    flex: 1;
    padding: 10px;
    display: flex;
    flex-direction: column;
    align-items: center;
}
/* Speech Bubble Shape */
.what-we-do-container .features-container .bubble {
    width: 130px;
    height: 130px;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    color: #ffffff;
    font-weight: 700;
    font-size: 22px;
    line-height: 1.2;
    position: relative;
    margin-bottom: 35px;
}

/* Bubble Tail (Triangle) */
.what-we-do-container .features-container .bubble::after {
    content: "";
    position: absolute;
    bottom: -15px;
    left: 50%;
    transform: translateX(-50%);
    border-width: 16px 12px 0 12px;
    border-style: solid;
    border-color: transparent; /* Top color applied via specific classes below */
}
/* Bubble Color Modifiers */
.what-we-do-container .features-container .bubble--red {
    background-color: var(--color-red);
}
.what-we-do-container .features-container .bubble--red::after {
    border-top-color: var(--color-red);
}
.what-we-do-container .features-container .bubble--black {
    background-color: var(--color-black);
}
.what-we-do-container .features-container .bubble--black::after {
    border-top-color: var(--color-black);
}
.what-we-do-container .features-container .bubble--gray {
    background-color: var(--color-gray);
}
.what-we-do-container .features-container .bubble--gray::after {
    border-top-color: var(--color-gray);
}
/* Description Text */
.what-we-do-container .features-container .description {
    text-align: center;
    font-size: 15px;
    color: #111;
    line-height: 1.4;
}
.what-we-do-container .features-container .description p{
    margin-bottom: 10px;
}
/* Main Container */
.what-we-do-container .timeline-container {
    max-width: 950px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
}
/* Connecting Vertical Line */
.what-we-do-container .timeline-container .connecting-line {
    width: 2px;
    height: 45px;
    background-color: #000;
}
/* Card Shared Styles */
.what-we-do-container .timeline-container .card {
    width: 100%;
    border: 2px solid #000;
    display: flex;
    flex-direction: column;
    background-color: #fff;
}
/* Card Header Styles */
.what-we-do-container .timeline-container .card-header {
    background-color: #e5e5e5; /* Light gray */
    padding: 6px 20px;
    display: flex;
    align-items: center;
    gap: 12px;
    border-bottom: 2px solid #000;
}
.what-we-do-container .timeline-container .card-header h2 {
    font-size: 28px;
    font-weight: 700;
    letter-spacing: 0.5px;
    color: #000;
}
/* SVG Checkmark Icon */
.what-we-do-container .timeline-container .icon {
    width: 32px;
    height: 32px;
    stroke: #b51510; /* Deep red matching the image */
    stroke-width: 2.5;
    fill: none;
    stroke-linecap: round;
    stroke-linejoin: round;
    flex-shrink: 0;
}
/* Card Body Styles */
.what-we-do-container .timeline-container .card-body {
    display: flex;
    min-height: 60px;
}
.what-we-do-container .timeline-container .description {
    padding: 6px;
    flex: 1;
    font-size: 16px;
    line-height: 1.4;
    display: flex;
    align-items: center;
    text-align: left;
}
.what-we-do-container .timeline-container h2{
    margin-top: 2px;
    margin-bottom: 2px;
}
.what-we-do-container .timeline-container .valuation {
    background-color: #000;
    color: #fff;
    padding: 2px 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 220px;
    font-size: 16px;
}
.what-we-do-container .timeline-container .valuation strong {
    font-size: 26px;
    font-weight: 700;
    margin-left: 8px;
}
/* Alignment Modifiers for Item 2 (Right Aligned) */
.what-we-do-container .timeline-container .card--right .card-header {
    justify-content: flex-end;
}
.what-we-do-container .timeline-container .card--right .description {
    text-align: right;
}

/* Container */
.what-we-do-container .faq-container {
    max-width: 900px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 2px; /* Creates the white lines between items */
    background-color: #ffffff;
}
/* Accordion Item Styles */
.what-we-do-container details {
    width: 100%;
}
/* Question/Header Styles */
.what-we-do-container summary {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 16px 16px;
    font-size: 16px;
    font-weight: 500;
    cursor: pointer;
    /* Subtle light gray gradient for closed items */
    background: linear-gradient(to bottom, #ffffff 0%, #e2e3e5 100%);
    list-style: none; /* Removes default marker in most browsers */
}
/* Removes default marker in WebKit browsers */
.what-we-do-container summary::-webkit-details-marker {
    display: none;
}
/* Red Downward Arrow for Closed Items */
.what-we-do-container summary::after {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border-left: 7px solid transparent;
    border-right: 7px solid transparent;
    border-top: 9px solid #cc1a1a; /* Red arrow */
    flex-shrink: 0;
    margin-left: 15px;
}
/* Active/Open Item Header Styles */
.what-we-do-container details[open] summary {
    /* Subtle pinkish/red gradient for the open item */
    background: linear-gradient(to bottom, #ffffff 0%, #fcdada 100%);
}
/* Black Upward Arrow for Open Items */
.what-we-do-container details[open] summary::after {
    border-top: none;
    border-bottom: 9px solid #000000; /* Black arrow */
}
/* Answer/Content Styles */
.what-we-do-container .faq-content {
    padding: 24px;
    background-color: #ffffff;
    font-size: 18px;
    line-height: 1.5;
    color: #111;
    text-align: left;
}
.what-we-do-container .faq-container summary{text-align: left;}
/* Link Styles within Content */
.what-we-do-container .faq-content a {
    color: #0062ff;
    font-weight: 600;
    text-decoration: none;
}
.what-we-do-container .faq-content a:hover {
    text-decoration: underline;
}

/* Container for the two cards */
.what-we-do-container .profiles-container {
    display: flex;
    align-items: stretch;
    justify-content: center;
    max-width: 1200px;
    margin: 0 auto;
    margin-top: 130px;
}
/* Individual Card Styles */
.what-we-do-container .profiles-container .profile-card {
    flex: 1;
    background-color: #f3f2f2; /* Light gray background matching the image */
    border: 2px solid #000;
    position: relative;
    padding: 102px 14px 20px; /* 120px top padding makes room for the overlapping avatar */
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
}
/* Connecting Line between the cards */
.what-we-do-container .profiles-container .connector-line {
    align-self: center;
    width: 25px; /* Matches the gap size */
    height: 2px;
    background-color: #000;
    flex-shrink: 0;
}
/* Avatar Container - Creates the double border effect */
.what-we-do-container .profiles-container .avatar-wrapper {
    position: absolute;
    top: -110px; /* Pulls the image up over the top border */
    left: 50%;
    transform: translateX(-50%);
    width: 220px;
    height: 220px;
    border-radius: 50%;
    border: 2px solid #000;
    background-color: #fff; /* The white ring inside the black border */
    padding: 8px; /* Thickness of the white ring */
}
/* Actual Image */
.what-we-do-container .profiles-container .avatar-wrapper img {
    width: 100%;
    height: 100%;
    border-radius: 50%;
    object-fit: cover;
    background-color: #ccc; /* Fallback if no image */
}
/* Small horizontal divider below avatar */
.what-we-do-container .profiles-container .divider {
    width: 45px;
    height: 2px;
    background-color: #000;
    margin-bottom: 25px;
}
/* Typography inside the card */
.what-we-do-container .profiles-container .text-content {
    font-size: 16px;
    line-height: 1.2;
    color: #111;
}
.what-we-do-container .profiles-container .text-content p {
    margin-bottom: 16px;
}
.what-we-do-container .profiles-container .text-content p:last-child {
    margin-bottom: 0;
}
.what-we-do-container .profiles-container .text-content strong {
    font-weight: 700;
}
footer{
    display: none !important;
}
.navbar-inverse{
    display: none !important;
}
.bottomLine{
    display: none;
}
/* Main Container */
.what-we-do-container .feature-list {
    display: none;
    flex-direction: column;
    gap: 30px; /* Vertical spacing between each item */
    max-width: 500px;
}

/* Individual Row */
.what-we-do-container .feature-list .feature-item {
    display: flex;
    align-items: center;
    gap: 30px; /* Space between the bubble and the text */
}

/* Speech Bubble Shape */
.what-we-do-container .feature-list .bubble {
    width: 110px;
    height: 110px;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    color: #ffffff;
    font-weight: bold;
    font-size: 16px;
    line-height: 1.2;
    position: relative;
    flex-shrink: 0; /* Prevents the circle from squishing */
}

/* Bubble Tail (Triangle pointing right) */
.what-we-do-container .feature-list .bubble::after {
    content: "";
    position: absolute;
    top: 50%;
    right: -14px; /* Positions it outside the circle */
    transform: translateY(-50%);
    border-width: 10px 0 10px 16px;
    border-style: solid;
    border-color: transparent; /* Right/Top/Bottom are transparent, Left gets color */
}

/* Bubble Color Modifiers */
.what-we-do-container .feature-list .bubble--red {
    background-color: #c4262e;
}
.what-we-do-container .feature-list .bubble--red::after {
    border-left-color: #c4262e;
}

.what-we-do-container .feature-list .bubble--black {
    background-color: #000000;
}
.what-we-do-container .feature-list .bubble--black::after {
    border-left-color: #000000;
}

.what-we-do-container .feature-list .bubble--gray {
    background-color: #636363;
}
.what-we-do-container .feature-list .bubble--gray::after {
    border-left-color: #636363;
}

/* Description Text */
.what-we-do-container .feature-list .description {
    font-size: 16px;
    line-height: 1.4;
    color: #111;
}
.mobileview{
    display: none!important;
}
.desktopview{
    display: flex;
}
.italic-font{
    font-style: italic;
}
.center-align{
    text-align: center!important;
}
/* Small layout tweak for smaller screens */
@media (max-width: 480px) {
    .what-we-do-container .feature-item {
        gap: 20px;
    }
    .what-we-do-container .feature-list .bubble {
        width: 90px;
        height: 90px;
        font-size: 16px;
    }
    .what-we-do-container .feature-list .description {
        font-size:16px;
    }
}
/* Responsive */
@media (max-width: 767px) {
    .what-we-do h3{
        font-size: 28px;
    }
    .what-we-do-container .feature-list {
        display: flex;
    }
    .what-we-do-container .features-container{
        display: none;
    }    
    .what-we-do{
        margin-top: 80px;
    }
    .what-we-do-container{
        width: 100%;
        padding: 10px 14px;
    }
    .circle-container{
        display: block;
    }
    .circle-container .circle-box{
        display: inline-block;
    }
    .what-we-do-container .circle-container .connector-line {
        align-self: center;
        width: 2px; /* Matches the gap size */
        height: 25px;
        background-color: #000;
        flex-shrink: 0;
        display: block;
        margin: auto;
    }
    .what-we-do-container .profiles-container {
        display: block;
    }
    .what-we-do-container .profiles-container .connector-line{
        width: 2px;
        height: 126px;
        display: block;
        margin: auto;
    }
    .what-we-do-container .timeline-container .card-body{
        display: block;
    }
    .what-we-do-container .timeline-container .card--right .description{
        text-align: left;
    }
    .mobileview{
        display: flex!important;
    }
    .desktopview{
        display: none!important;
    }
    .what-we-do-container .profiles-container .text-content p {
        text-align: center;
    }
    .what-we-do-container span{
        font-size: 24px;
        line-height: normal;
    }
    .what-we-do-container .timeline-container .card-header h2 {
        font-size: 22px;
        text-align: left;
    }
    .what-we-do-container .timeline-container .valuation {
        font-size: 22px;
    }
    .what-we-do-container .timeline-container .card--right .card-header {
        justify-content: inherit;
    }
    .what-we-do-container .timeline-container .card-header {
        border-bottom: none;
    }
    .what-we-do h5{
        font-size: 24px;
    }
    .what-we-do ul{
        max-width: 96%;
        font-size: 18px;
        line-height: 1.8;
    }
}