/* Services page specific styles */
#services {
    max-width: 700px;
    margin: 0 auto;
}

.service {
    background: var(--color-highlight);
    padding: 1.5rem;
    margin: 1rem 0;
    border-radius: 0.5rem;
}

.service h3 {
    margin-top: 0;
    color: var(--color-accent);
}
/* Home page specific styles */


/* general section layout on the home page */
.home-section {
    text-align: center;
    margin: 3rem auto;
    padding: 0 1rem;
}

.home-section h2 {
    margin-bottom: 1rem;
    color: var(--color-accent);
}

.welcome-title {
    position: relative;
    text-align: center;
}

.home-section p {
    text-align: left;
}

.balance-intro::after {
    content: "";
    display: table;
    clear: both;
}

.home-photo {
    float: right;
    margin: 0 0 1rem 1rem;
    width: min(45%, 300px);
    border-radius: 1rem;
    border: 12px solid var(--color-accent);
}

.yin-yang-icon {
    position: absolute;
    top: 100%;
    right: -50px;
    width: 300px;
    height: 300px;
    opacity: 0;
    transform: translate(0, -40%);
    pointer-events: none;
}

.home-section p {
    max-width: 700px;
    margin-left: auto;
    margin-right: auto;
}

/* style the IT guy section with a subtle background */
.it-guy-section {
    background: var(--color-highlight);
    padding: 2rem 1rem;
    border-radius: 0.5rem;
    position: relative;
    overflow: hidden;
}

/* make headings easier to read on the highlighted background */
.it-guy-section h2 {
    color: var(--color-dark-text);
}

/* ensure content appears above decorative SVG */
.it-guy-section > * {
    position: relative;
    z-index: 1;
}

/* decorative circles positioned in the corner */
.circle-bg {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 180px;
    height: 180px;
    opacity: 0;
    pointer-events: none;
    z-index: 0;
}

.video-wrapper {
    position: relative;
    width: 60%;
    margin: 1.5rem auto;
    max-width: 100%;
    min-height: 20vh;
    aspect-ratio: 16 / 9;
}

@media (max-width: 767px) {
    .video-wrapper {
        width: 100%;
    }
    .home-photo {
        float: none;
        display: block;
        margin: 0 auto 1rem;
        width: 80%;
    }
}

.video-wrapper iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

/* Animation keyframes for home page SVGs */
.animate-yin-yang {
    animation: yinYangIn 1.2s ease-out forwards;
}

.animate-circle {
    animation: circleIn 1.2s ease-out forwards;
}

@keyframes yinYangIn {
    from {
        transform: translate(-200px, -40%) rotate(-360deg);
        opacity: 0;
    }
    to {
        transform: translate(0, -40%) rotate(0);
        opacity: 0.15;
    }
}

@keyframes circleIn {
    from {
        transform: translate(-200px, 100px) rotate(-90deg);
        opacity: 0;
    }
    to {
        transform: translate(0, 0) rotate(0);
        opacity: 1;
    }
}
