/* Font Face Declarations */
@font-face {
    font-family: 'IM Fell English SC';
    src: url('../fonts/IMFellEnglishSC-Regular.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}

/* Reset and Base Styles */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
    line-height: 1.6;
    color: #333;
    overflow-x: hidden;
    background-color: #000000;
}

/* Header Styles */
.main-header {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 1000;
    background: transparent;
    transition: background-color 0.3s ease, backdrop-filter 0.3s ease;
    padding: 10px 0;
    border: 1px solid #ffffff;
    box-sizing: border-box;
}

body.service-page .main-header {
    background-color: #000000;
    border: 1px solid #000000;
}

.main-header.scrolled {
    background-color: rgba(0, 0, 0, 0.7);
    backdrop-filter: blur(10px);
}

.header-container {
    width: 100%;
    margin: 0;
    padding: 0 40px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 30px;
}

/* Logo Styles */
.logo a {
    display: inline-block;
    transition: opacity 0.3s ease;
}

.logo-image {
    width: clamp(300px, 40vw, 975px);
    height: auto;
    display: block;
    max-width: 100%;
}

.main-header.scrolled .logo a {
    color: #ffffff;
}

/* Navigation Styles */
.main-nav {
    display: flex;
    align-items: flex-start;
    flex-direction: column;
    margin-left: auto;
}

.nav-links {
    display: flex;
    list-style: none;
    gap: 15px;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    width: fit-content;
    max-width: 600px;
    row-gap: 4px;
    margin-left: auto;
    padding: 0;
}

.nav-links li {
    position: relative;
    margin: 0;
    padding: 0;
    line-height: 1;
}

/* Force line break after Portraits using break element */
.nav-break {
    display: none;
}

@media (max-width: 1200px) {
    .nav-break {
        display: block;
        flex-basis: 100%;
        width: 100%;
        height: 0;
        margin: 0;
        padding: 0;
        order: 4;
    }

    .nav-links li:nth-child(n+5) {
        order: 5;
    }
    
    .nav-links {
        max-width: 420px;
    }
}

.nav-links a {
    color: #ffffff;
    text-decoration: none;
    font-size: 11px;
    font-weight: 400;
    font-family: 'Arial Narrow', 'Arial Condensed', Arial, sans-serif;
    font-stretch: condensed;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    transition: opacity 0.3s ease;
    padding: 0;
    margin: 0;
    line-height: 1;
    white-space: nowrap;
    display: inline-block;
}

.nav-links a.active {
    text-decoration: underline;
}

.nav-links a:hover {
    opacity: 0.7;
}

/* Hero Section Styles */
.hero-section {
    position: relative;
    width: 100%;
    overflow: hidden;
    display: block;
    margin-top: 0;
}

.hero-image-container {
    position: relative;
    width: 100%;
    height: 30vh;
    z-index: 1;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Larger hero image for individual service pages */
body.service-page .hero-image-container {
    height: 45vh;
}

/* Black and white filter for wedding page hero image only */
body.weddings-page .hero-image {
    filter: grayscale(100%);
}

.hero-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    transform: scale(clamp(1.0, calc(3.0 - (1920px - 100vw) * 0.0015), 3.0));
}

/* Wedding Page Hero Image Adjustment */
body.weddings-page .hero-image {
    object-position: center calc(50% - 50px);
}

/* Portraits Page Hero Image Adjustment */
body.portraits-page .hero-image {
    object-position: center calc(50% + 175px);
}

/* Real Estate Page Hero Image Adjustment */
body.real-estate-page .hero-image {
    object-position: center calc(50% + 75px);
}

/* Web Page Hero Image Adjustment */
body.web-page .hero-image {
    object-position: center calc(50% + 75px);
}

/* White Wavy Divider */
.wavy-divider {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 50px;
    z-index: 3;
    overflow: hidden;
}

.wavy-divider-svg {
    width: 100%;
    height: 100%;
    display: block;
}

/* Bottom Wavy Divider */
.wavy-divider-bottom {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 50px;
    z-index: 3;
    overflow: hidden;
}

/* Hero Text Overlay */
.hero-text {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    z-index: 2;
    text-align: center;
    width: 100%;
    padding: 0 20px;
    box-sizing: border-box;
    margin-top: calc(var(--header-height, 120px) + 10px);

    
}


.hero-title {
    font-size: clamp(10px, 2vw, 16px);
    font-family: 'IM Fell English SC', serif;
    color: #ffffff;
    text-align: center;
    letter-spacing: 2px;
    text-transform: uppercase;
    text-shadow: 0 2px 10px rgba(0, 0, 0, 0.3);
    margin: 0 auto 10px auto;
    display: block;
    width: fit-content;
    max-width: calc(100% - 40px);
    word-wrap: break-word;
    overflow-wrap: break-word;

    
}


/* Animations */
@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes buildIn {
    from {
        opacity: 0;
        transform: translateY(15px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}


/* Welcome Section */
.welcome-section {
    position: relative;
    width: 100%;
    background-color: #000000;
    padding: 20px 40px 180px 40px;
    min-height: 500px;
    overflow: hidden;
}

.welcome-container {
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    gap: 60px;
    align-items: flex-start;
}

.welcome-content {
    flex: 1;
    color: #ffffff;
}

.welcome-title {
    color: #ffffff;
    font-family: 'IM Fell English SC', serif;
    font-weight: 400;
    text-transform: uppercase;
    letter-spacing: 2px;
    margin: 0 0 30px 0;
    line-height: 1.2;
    text-align: center;
}

.welcome-to {
    font-size: clamp(42px, 6vw, 72px);
    display: block;
    white-space: nowrap;
    opacity: 0;
    animation: buildIn 1s ease 0s forwards;
}

.masterclass-multimedia {
    font-size: clamp(28px, 4vw, 48px);
    display: block;
}

.picasso-quote {
    color: #ffff00;
    font-family: 'IM Fell English SC', serif;
    font-size: clamp(28px, 3.6vw, 36px);
    font-style: italic;
    margin: 100px 0 120px 0;
    padding: 0;
    border: none;
    line-height: 1.6;
    text-align: center;
}

.picasso-quote cite {
    display: block;
    margin-top: 30px;
    font-size: clamp(24px, 3vw, 32px);
    font-style: normal;
    color: #ff0000;
}

.location-text {
    color: #ffff00;
    font-family: 'IM Fell English SC', serif;
    font-size: clamp(24px, 3.5vw, 32px);
    margin: 0 0 20px 0;
    text-align: center;
    opacity: 0;
    animation: buildIn 2s ease 0.3s forwards;
}

.experience-text {
    color: #ffffff;
    font-family: 'IM Fell English SC', serif;
    font-size: clamp(20px, 3vw, 28px);
    line-height: 1.6;
    margin: 0 0 30px 0;
    text-align: center;
    opacity: 0;
    animation: buildIn 3s ease 0.6s forwards;
}

.services-divider {
    width: 100%;
    height: 2px;
    background-color: #ffff00;
    margin: 30px 0;
    opacity: 0;
    animation: buildIn 0.8s ease 0.9s forwards;
}

.services-divider2 {
    width: 100%;
    height: 2px;
    background-color: #ffff00;
    margin: 30px 0;
    opacity: 0;
    animation: buildIn 2s ease 0.9s forwards;
}

.services-text {
    color: #ffffff;
    font-family: 'Lato', sans-serif;
    font-weight: 300;
    font-style: italic;
    font-size: clamp(27px, 3.75vw, 36px);
    line-height: 1.6;
    margin: 0;
    text-align: center;
    opacity: 0;
    animation: buildIn 0.8s ease 1.2s forwards;
}

.welcome-image {
    flex: 0 0 600px;
    max-width: 600px;
    display: flex;
    flex-direction: column;
}

.welcome-img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 100px;
    overflow: hidden;
}

@media (max-width: 968px) {
    .welcome-container {
        flex-direction: column;
        gap: 40px;
    }
    
    .welcome-image {
        flex: 1;
        max-width: 100%;
        width: 100%;
    }
    
    .welcome-section {
        padding: 60px 20px;
    }
}

/* Page Break */
.page-break {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 40px 0;
    background-color: #000000;
}

.page-break-image {
    width: 50%;
    height: auto;
    display: block;
}

/* Red Section */
.red-section {
    width: 100%;
    height: 500px;
    background-color: #ff0000;
}

/* Weddings Gallery */
/* Gallery Header Section */
.gallery-header-section {
    width: 100%;
    background-color: #000000;
    padding: 60px 20px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.gallery-header-title {
    font-family: 'IM Fell English SC', serif;
    font-size: clamp(54px, 9vw, 108px);
    color: #ffff00;
    text-align: center;
    margin: 0 0 40px 0;
    font-weight: 400;
    letter-spacing: 3px;
    text-transform: uppercase;
}

.gallery-header-title:has(.drone-title-large) {
    line-height: 1;
}

.gallery-header-image-container {
    width: 100%;
    max-width: 1400px;
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden;
    padding: 0 20px;
}

.gallery-header-image {
    width: 100%;
    max-width: 1200px;
    height: 500px;
    object-fit: cover;
    object-position: center;
    display: block;
    /* Create pill shape - flat top/bottom with very rounded corners */
    border-radius: 250px;
    /* Ensure proper cropping to highlight best parts */
    overflow: hidden;
}

/* Portraits specific - show more of the top */
.portraits-header .gallery-header-image {
    object-position: center top;
}

/* Drone title - make "Drone" large and "Photography" small to match same visual length */
.drone-title-large {
    font-size: clamp(54px, 9vw, 108px);
    display: block;
    line-height: 1;
    margin: 0;
    padding: 0;
}

.drone-title-small {
    font-size: clamp(27px, 4.5vw, 54px);
    display: block;
    margin-top: -0.2em;
    line-height: 1;
    padding: 0;
}

/* White Line Divider with Rounded Corners */
.white-line-divider {
    width: 100%;
    height: 4px;
    background-color: #ffffff;
    border-radius: 200px;
    margin: 0;
}

.weddings-gallery {
    width: 100%;
    background-color: #ffffff;
    padding: 0;
    overflow: hidden;
    border: 4px solid #ffffff;
    box-sizing: border-box;
}

/* Service Details Section (Generic - used for Real Estate, Portraits, Drone, Weddings) */
.service-details-section {
    width: 100%;
    background-color: #000000;
    padding: 60px 40px;
}

.service-details-container {
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: flex-start;
    gap: 60px;
}

.service-left-content {
    flex: 1;
    display: flex;
    flex-direction: column;
}

.service-bullets-list {
    list-style: none;
    padding: 0;
    margin: 0;
    text-align: left;
}

.service-bullet-item {
    font-family: Arial, Helvetica, sans-serif;
    font-size: clamp(18px, 2.5vw, 24px);
    color: #ffffff;
    margin: 0 0 20px 0;
    padding-left: 30px;
    position: relative;
}

.service-bullet-item::before {
    content: "•";
    position: absolute;
    left: 0;
    color: #ffffff;
    font-size: 1.5em;
    line-height: 1;
}

.service-bullet-text {
    display: inline-block;
}

.service-bullet-red {
    color: #ff0000;
    font-weight: bold;
}

.service-bullet-sublist {
    list-style: none;
    padding: 0;
    margin: 5px 0 0 30px;
}

.service-bullet-subitem {
    font-family: Arial, Helvetica, sans-serif;
    font-size: clamp(12px, 1.8vw, 20px);
    color: #ffffff;
    margin: 0;
    padding: 0;
}

.service-price-text {
    font-family: Arial, Helvetica, sans-serif;
    font-size: clamp(18px, 2.5vw, 24px);
    color: #ffffff;
    text-align: center;
    margin: 30px 0 0 0;
    align-self: center;
}

.service-price-red {
    color: #ff0000;
    font-weight: bold;
}

.service-right-content {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    flex-shrink: 0;
    padding-top: 0;
    margin-top: 0;
}

.service-item-1 {
    font-family: 'IM Fell English SC', serif;
    font-size: clamp(26px, 3.9vw, 36.4px);
    color: #ff0000;
    font-weight: bold;
    text-align: center;
    margin: 0 0 30px 0;
    padding-top: 0;
}

.service-item-number {
    font-family: Arial, Helvetica, sans-serif;
    font-size: 1.183em;
}

.service-item-2 {
    font-family: 'IM Fell English SC', serif;
    font-size: clamp(28px, 4vw, 40px);
    color: #ffffff;
    text-align: center;
    margin: 0 0 50px 0;
    line-height: 1.6;
}

.service-click-button {
    display: inline-block;
    text-decoration: none;
    position: relative;
    margin: 30px 0 0 0;
    align-self: center;
    background-color: #8B0000;
    padding: 12px 30px;
    border-radius: 50px;
    transition: background-color 0.3s ease;
}

.service-click-button:hover {
    background-color: #A00000;
}

.service-click-text {
    font-family: Arial, Helvetica, sans-serif;
    font-size: clamp(14px, 2vw, 18px);
    color: #ffffff;
    text-transform: uppercase;
    letter-spacing: 1px;
    position: relative;
    display: inline-block;
    text-decoration: underline;
}

/* Service Details Section - Mobile Responsive */
@media (max-width: 968px) {
    .service-details-section {
        padding: 40px 20px;
    }
    
    .service-details-container {
        flex-direction: row;
        gap: 30px;
    }
    
    .service-left-content {
        flex: 1;
        min-width: 0;
    }
    
    .service-right-content {
        flex: 1;
        min-width: 0;
        align-items: center;
    }
    
    .service-item-1 {
        font-size: clamp(16px, 2.5vw, 24px);
        margin: 0 0 15px 0;
    }
    
    .service-item-2 {
        font-size: clamp(14px, 2vw, 18px);
        margin: 0 0 20px 0;
    }
    
    .service-bullet-item {
        font-size: clamp(12px, 1.8vw, 16px);
        margin: 0 0 12px 0;
        padding-left: 20px;
    }
    
    .service-bullet-subitem {
        font-size: clamp(10px, 1.5vw, 16px);
    }
    
    .service-price-text {
        font-size: clamp(14px, 1.8vw, 18px);
    }
    
    .service-click-button {
        padding: 8px 16px;
    }
    
    .service-click-text {
        font-size: clamp(10px, 1.5vw, 14px);
    }
    
    /* Weddings Section - Keep Side by Side */
    .weddings-bullets-section {
        padding: 40px 20px;
    }
    
    .weddings-bullets-container {
        flex-direction: row;
        gap: 30px;
    }
    
    .weddings-left-content {
        flex: 1;
        min-width: 0;
    }
    
    .weddings-right-content {
        flex: 1;
        min-width: 0;
        align-items: center;
    }
    
    .weddings-bullet-item {
        font-size: clamp(12px, 1.8vw, 16px);
        margin: 0 0 12px 0;
        padding-left: 20px;
    }
    
    .weddings-price-text {
        font-size: clamp(14px, 1.8vw, 18px);
    }
    
    .weddings-satisfaction-text {
        font-size: clamp(20px, 3vw, 32px);
    }
    
    .weddings-satisfaction-line {
        font-size: clamp(20px, 3vw, 32px);
    }
    
    .weddings-click-button {
        padding: 8px 16px;
    }
    
    .weddings-click-text {
        font-size: clamp(10px, 1.5vw, 14px);
    }
}

@media (max-width: 576px) {
    .service-details-section {
        padding: 30px 15px;
    }
    
    .service-details-container {
        flex-direction: row;
        gap: 20px;
    }
    
    .service-item-1 {
        font-size: clamp(14px, 3vw, 20px);
    }
    
    .service-item-2 {
        font-size: clamp(12px, 2.2vw, 16px);
    }
    
    .service-bullet-item {
        font-size: clamp(10px, 1.6vw, 14px);
        padding-left: 18px;
        margin: 0 0 10px 0;
    }
    
    .service-bullet-subitem {
        font-size: clamp(8px, 1.3vw, 12px);
    }
    
    .service-price-text {
        font-size: clamp(12px, 1.6vw, 16px);
    }
    
    .service-click-button {
        padding: 6px 12px;
    }
    
    .service-click-text {
        font-size: clamp(9px, 1.3vw, 12px);
    }
    
    /* Weddings Section - Keep Side by Side on Small Screens */
    .weddings-bullets-section {
        padding: 30px 15px;
    }
    
    .weddings-bullets-container {
        flex-direction: row;
        gap: 20px;
    }
    
    .weddings-bullet-item {
        font-size: clamp(10px, 1.6vw, 14px);
        padding-left: 18px;
        margin: 0 0 10px 0;
    }
    
    .weddings-price-text {
        font-size: clamp(12px, 1.6vw, 16px);
    }
    
    .weddings-satisfaction-text {
        font-size: clamp(18px, 2.8vw, 28px);
    }
    
    .weddings-satisfaction-line {
        font-size: clamp(18px, 2.8vw, 28px);
    }
    
    .weddings-click-button {
        padding: 6px 12px;
    }
    
    .weddings-click-text {
        font-size: clamp(9px, 1.3vw, 12px);
    }
}

/* Weddings Bullet Points Section */
.weddings-bullets-section {
    width: 100%;
    background-color: #000000;
    padding: 60px 40px;
}

/* Pricing Packages Section */
.weddings-pricing-section {
    width: 100%;
    background-color: #ffffff;
    padding: 60px 40px;
}

.pricing-section-title {
    font-family: 'Lato', sans-serif;
    font-weight: 300;
    font-style: italic;
    font-size: clamp(36px, 5vw, 54px);
    color: #000000;
    text-align: center;
    margin: 0 0 20px 0;
}

.pricing-divider {
    width: 100%;
    height: 2px;
    background-color: #000000;
    margin-bottom: 20px;
}

.packages-gallery-divider {
    width: 100%;
    height: 40px;
    margin: 0;
    overflow: hidden;
    background-color: transparent;
}

.packages-wavy-divider {
    width: 100%;
    height: 50px;
    margin: 60px 0 0 0;
    overflow: hidden;
    position: relative;
}

.packages-divider-svg {
    width: 100%;
    height: 100%;
    display: block;
}

.pricing-container {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 40px;
    max-width: 1400px;
    margin: 0 auto;
}

.pricing-container.real-estate {
    grid-template-columns: repeat(4, 1fr);
}

.pricing-container.portraits,
.pricing-container.drone {
    grid-template-columns: repeat(4, 1fr);
}

.pricing-box {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    opacity: 0;
    transform: translateY(50px);
    transition: opacity 1.5s ease-out, transform 1.5s ease-out;
}

.pricing-box.animate-in {
    opacity: 1;
    transform: translateY(0);
}

.pricing-title {
    font-family: 'IM Fell English SC', serif;
    font-size: clamp(17.39px, 2.415vw, 27.05px);
    color: #000000;
    text-transform: none;
    margin: 0 0 20px 0;
    font-weight: 400;
    letter-spacing: 1px;
    opacity: 0;
    transform: translateY(30px);
    transition: opacity 1.2s ease-out 0.2s, transform 1.2s ease-out 0.2s;
}

.pricing-box.animate-in .pricing-title {
    opacity: 1;
    transform: translateY(0);
}

.pricing-image-container {
    width: 100%;
    aspect-ratio: 1;
    overflow: hidden;
    border-radius: 20px;
    margin-bottom: 20px;
    opacity: 0;
    transform: scale(0.9);
    transition: opacity 1.2s ease-out 0.4s, transform 1.2s ease-out 0.4s;
}

.pricing-box.animate-in .pricing-image-container {
    opacity: 1;
    transform: scale(1);
}

.pricing-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.pricing-details {
    width: 100%;
}

.pricing-description {
    font-family: 'IM Fell English SC', serif;
    font-size: clamp(11.76px, 1.68vw, 16.8px);
    color: #000000;
    text-transform: none;
    margin: 0 0 10px 0;
    font-weight: 400;
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 1.2s ease-out 0.6s, transform 1.2s ease-out 0.6s;
}

.pricing-box.animate-in .pricing-description {
    opacity: 1;
    transform: translateY(0);
}

.pricing-description .number,
.pricing-description .price-number {
    font-family: Arial, Helvetica, sans-serif;
    font-weight: normal;
}

.pricing-price-inline {
    font-family: Arial, Helvetica, sans-serif;
    font-size: clamp(9.66px, 1.449vw, 15.46px);
    color: #ff0000;
    font-weight: bold;
}

.pricing-price {
    font-family: Arial, Helvetica, sans-serif;
    font-size: clamp(9.66px, 1.449vw, 15.46px);
    color: #ff0000;
    font-weight: bold;
    margin: 0;
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 1.2s ease-out 0.8s, transform 1.2s ease-out 0.8s;
}

.pricing-box.animate-in .pricing-price {
    opacity: 1;
    transform: translateY(0);
}

.pricing-extra-list {
    display: flex;
    flex-direction: column;
    gap: 8px;
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 1.2s ease-out 0.6s, transform 1.2s ease-out 0.6s;
}

.pricing-box.animate-in .pricing-extra-list {
    opacity: 1;
    transform: translateY(0);
}

.pricing-extra-item {
    font-family: 'IM Fell English SC', serif;
    font-size: clamp(14px, 2vw, 20px);
    color: #000000;
    margin: 0;
    font-weight: 400;
}

.pricing-price-small {
    font-family: Arial, Helvetica, sans-serif;
    font-size: clamp(13.52px, 2.0286vw, 21.64px);
    color: #ff0000;
    font-weight: bold;
}

.pricing-price-old {
    font-family: Arial, Helvetica, sans-serif;
    font-size: clamp(6px, 0.9vw, 9.6px);
    color: #999999;
    text-decoration: line-through;
    margin: 0 0 5px 0;
}

.pricing-note {
    font-family: 'IM Fell English SC', serif;
    font-size: clamp(8px, 1.2vw, 12px);
    color: #000000;
    font-style: italic;
    margin: 10px 0 0 0;
    font-weight: 400;
}

@media (max-width: 1200px) {
    .pricing-container {
        grid-template-columns: repeat(2, 1fr);
        gap: 30px;
    }
}

@media (max-width: 768px) {
    .pricing-container {
        grid-template-columns: 1fr;
        gap: 40px;
    }
    
    .weddings-pricing-section {
        padding: 40px 20px;
    }
    
    .pricing-container.real-estate {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 600px) {
    .pricing-container.real-estate {
        grid-template-columns: 1fr;
    }
}

.weddings-bullets-container {
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: flex-start;
    gap: 60px;
}

.weddings-left-content {
    flex: 1;
    display: flex;
    flex-direction: column;
}

.weddings-bullets-list {
    list-style: none;
    padding: 0;
    margin: 0;
    text-align: left;
}

.weddings-right-content {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    flex-shrink: 0;
}

.weddings-bullet-item {
    font-family: Arial, Helvetica, sans-serif;
    font-size: clamp(18px, 2.5vw, 24px);
    color: #ffffff;
    margin: 0 0 20px 0;
    padding-left: 30px;
    position: relative;
}

.weddings-bullet-item::before {
    content: "•";
    position: absolute;
    left: 0;
    color: #ffffff;
    font-size: 1.5em;
    line-height: 1;
}

.weddings-bullet-text {
    display: inline-block;
}

.weddings-bullet-red {
    color: #ff0000;
    font-weight: bold;
}

.weddings-price-text {
    font-family: Arial, Helvetica, sans-serif;
    font-size: clamp(18px, 2.5vw, 24px);
    color: #ffffff;
    text-align: center;
    margin: 30px 0 0 0;
    align-self: center;
}

.weddings-price-red {
    color: #ff0000;
    font-weight: bold;
}

.weddings-click-button {
    display: inline-block;
    text-decoration: none;
    position: relative;
    margin: 30px 0 0 0;
    align-self: center;
    background-color: #8B0000;
    padding: 12px 30px;
    border-radius: 50px;
    transition: background-color 0.3s ease;
}

.weddings-click-button:hover {
    background-color: #A00000;
}

.weddings-satisfaction-text {
    font-family: 'IM Fell English SC', serif;
    color: #ffffff;
    text-align: center;
    margin: 0 0 50px 0;
}

.weddings-satisfaction-line {
    display: block;
    font-size: clamp(28px, 4vw, 40px);
    line-height: 1.8;
    margin: 0 0 15px 0;
}

.weddings-click-text {
    font-family: Arial, Helvetica, sans-serif;
    font-size: clamp(14px, 2vw, 18px);
    color: #ffffff;
    text-transform: uppercase;
    letter-spacing: 1px;
    position: relative;
    display: inline-block;
    text-decoration: underline;
}

.gallery-container {
    display: flex;
    gap: 0;
    padding: 0;
    width: 100%;
}

.gallery-image {
    width: calc(100% / 6);
    height: auto;
    aspect-ratio: 1;
    object-fit: cover;
    flex-shrink: 0;
    display: block;
    opacity: 0;
    transform: translateY(30px) scale(0.95);
    transition: opacity 2.4s ease-out, transform 2.4s ease-out;
}

.gallery-image.animate-in {
    opacity: 1;
    transform: translateY(0) scale(1);
}

/* Diagonal Triangle Divider */
.diagonal-divider {
    width: 100%;
    height: 100px;
    overflow: hidden;
    background-color: #000000;
}

.diagonal-divider-svg {
    width: 100%;
    height: 100%;
    display: block;
}

/* Creative Dividers */
.creative-divider {
    width: 100%;
    height: 50px;
    overflow: hidden;
    background-color: #ffffff;
}

.creative-divider-svg {
    width: 100%;
    height: 100%;
    display: block;
}

.creative-divider-1 {
    background-color: #ffff00;
}

.creative-divider-2 {
    background-color: #ff0000;
}

.creative-divider-3 {
    background-color: #ffff00;
}

.creative-divider-4 {
    background-color: #ff0000;
}

/* Next Section */
.next-section {
    width: 100%;
    background-color: #000000;
}

/* Responsive Design */

@media (max-width: 768px) {
    .header-container {
        padding: 0 20px;
        flex-direction: column;
        gap: 8px;
    }

    .logo-image {
        width: clamp(281.25px, 28.125vw, 914.0625px);
    }

    .main-nav {
        align-items: center;
        width: 100%;
        margin-left: 0;
    }

    .nav-links {
        gap: 15px;
        flex-wrap: wrap;
        justify-content: center;
        max-width: 100%;
        width: 100%;
        margin-left: 0;
        padding: 0;
    }

    .nav-break {
        display: none;
    }
    
    .nav-links li:nth-child(n+5) {
        order: initial;
    }


    
    .hero-title {
        letter-spacing: 1px;
    }
    
    
}

@media (max-width: 576px) {
    

    .hero-title {
        letter-spacing: 1px;
    }
    
    
    .hero-text {
        padding: 0 15px;
    }
}

@media (max-width: 400px) {
    
    
}

/* Page Title Section */
.page-title-section {
    width: 100%;
    background-color: #ffffff;
    padding: 0px 40px 0px 40px;
    text-align: center;
}

.page-title-italic {
    font-family: 'Lato', sans-serif;
    font-weight: 300;
    font-style: italic;
    font-size: clamp(54px, 9vw, 108px);
    color: #000000;
    letter-spacing: 3px;
    text-transform: none;
    margin: 0;
}

/* Booking Button Section */
.booking-button-section {
    width: 100%;
    background-color: #000000;
    padding: 40px 0;
    display: flex;
    justify-content: center;
    align-items: center;
}

.booking-button-container {
    text-align: center;
}

/* Booking Section */
.booking-section {
    width: 100%;
    background-color: #ffffff;
    padding: 24px 40px 24px 40px;
}

.booking-container {
    max-width: 800px;
    margin: 0 auto;
    text-align: center;
}

.booking-button {
    display: inline-block;
    background-color: #FF0000;
    padding: 15px 40px;
    border-radius: 50px;
    text-decoration: none;
    margin: 0;
    transition: background-color 0.3s ease;
}

.booking-button:hover {
    background-color: #CC0000;
}

.booking-button-text {
    font-family: Arial, Helvetica, sans-serif;
    font-size: clamp(14px, 2vw, 18px);
    color: #ffffff;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.booking-info {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.booking-text {
    font-family: 'Lato', sans-serif;
    font-weight: 300;
    font-style: italic;
    font-size: clamp(18px, 2.625vw, 27px);
    color: #000000;
    text-align: center;
    margin: 0;
    line-height: 1.6;
}

.contact-section .booking-text {
    color: #ffffff;
}

/* Website Design Section */
.website-design-section {
    width: 100%;
    background-color: #ffffff;
    padding: 60px 40px 80px 40px;
    border-bottom-left-radius: 50px;
    border-bottom-right-radius: 50px;
    overflow: hidden;
}

.website-design-container {
    max-width: 1200px;
    margin: 0 auto;
}

.website-design-divider {
    width: 100%;
    height: 1px;
    background-color: #000000;
    margin: 30px 0;
}

.website-design-content {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    gap: 40px;
}

.website-design-left {
    text-align: center;
}

.website-designed-text {
    font-family: 'IM Fell English SC', serif;
    font-size: clamp(14px, 1.8vw, 18px);
    color: #000000;
    margin: 0;
    text-align: center;
    line-height: 1.8;
}

.website-company-text {
    font-family: 'IM Fell English SC', serif;
    font-size: clamp(28.8px, 4vw, 38.4px);
    color: #000000;
    margin: 0;
    text-align: center;
}

.website-design-right {
    flex: 1;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
}

.website-services-button {
    display: inline-block;
    text-decoration: none;
    background-color: #FF0000;
    padding: 12px 30px;
    border-radius: 50px;
    transition: background-color 0.3s ease;
    text-align: center;
}

.website-services-button:hover {
    background-color: #E00000;
}

.website-services-text {
    font-family: Arial, Helvetica, sans-serif;
    font-size: clamp(10px, 1.3vw, 14px);
    color: #ffffff;
    text-transform: none;
    letter-spacing: 1px;
    position: relative;
    display: inline-block;
    text-decoration: none;
    line-height: 1.6;
}

@media (max-width: 768px) {
    .website-design-section {
        padding: 40px 20px;
    }
    
    .website-design-content {
        flex-direction: column;
        gap: 30px;
        text-align: center;
    }
    
    .website-design-left {
        text-align: center;
    }
    
    .website-designed-text,
    .website-company-text {
        text-align: center;
    }
}

/* FAQ Page Specific Styles */
body.faq-page {
    background-color: #ffffff;
}

.faq-header {
    position: relative;
    background-color: #ffffff;
    border: none;
}

.faq-header .logo-image {
    filter: brightness(0);
}

.faq-header .nav-links a {
    color: #000000;
}

.faq-header .nav-links a.active {
    color: #000000;
    text-decoration: underline;
}

.faq-header .nav-links a:hover {
    opacity: 0.7;
}

/* FAQ Section */
.faq-section {
    width: 90%;
    max-width: 1400px;
    background-color: #000000;
    padding: 60px 40px;
    min-height: calc(100vh - 200px);
    margin: 0 auto 40px;
}

/* FAQ Section on index page - white background wrapper */
body:not(.faq-page) .faq-section {
    background-color: #ffffff;
    padding: 40px 0;
    margin: 40px auto;
    width: 100%;
    max-width: 100%;
}

body:not(.faq-page) .faq-container {
    width: 90%;
    max-width: 1400px;
    background-color: #000000;
    padding: 60px 40px;
    margin: 0 auto;
}

.faq-container {
    max-width: 1400px;
    margin: 0 auto;
}

.faq-title {
    font-size: clamp(45px, 9vw, 90px);
    font-family: 'IM Fell English SC', serif;
    color: #ffff00;
    text-align: center;
    margin: 0 0 30px 0;
    font-weight: 400;
    font-style: italic;
}

.faq-guarantee {
    font-family: 'IM Fell English SC', serif;
    font-size: clamp(28px, 4vw, 40px);
    color: #ff0000;
    text-align: center;
    margin: 0 0 15px 0;
    letter-spacing: 1px;
}

.faq-pride {
    font-family: 'IM Fell English SC', serif;
    font-size: clamp(14px, 2vw, 20px);
    color: #ff0000;
    text-align: center;
    text-decoration: none;
    margin: 0 0 60px 0;
    letter-spacing: 1px;
}

.faq-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 40px;
    margin-top: 40px;
}

.faq-column {
    display: flex;
    flex-direction: column;
    gap: 40px;
}

.faq-item {
    opacity: 0;
    transform: translateY(50px) scale(0.95);
}

.faq-item.animate-in-1 {
    animation: faqFadeInLeft 0.8s ease-out forwards;
}

.faq-item.animate-in-2 {
    animation: faqFadeInRight 0.9s ease-out forwards;
}

.faq-item.animate-in-3 {
    animation: faqFadeInUp 0.7s ease-out forwards;
}

.faq-item.animate-in-4 {
    animation: faqFadeInDown 0.85s ease-out forwards;
}

.faq-item.animate-in-5 {
    animation: faqScaleIn 0.75s cubic-bezier(0.34, 1.56, 0.64, 1) forwards;
}

.faq-item.animate-in-6 {
    animation: faqSlideRotate 0.95s ease-out forwards;
}

@keyframes faqFadeInLeft {
    from {
        opacity: 0;
        transform: translateX(-80px) translateY(20px) scale(0.9);
    }
    to {
        opacity: 1;
        transform: translateX(0) translateY(0) scale(1);
    }
}

@keyframes faqFadeInRight {
    from {
        opacity: 0;
        transform: translateX(80px) translateY(20px) scale(0.9);
    }
    to {
        opacity: 1;
        transform: translateX(0) translateY(0) scale(1);
    }
}

@keyframes faqFadeInUp {
    from {
        opacity: 0;
        transform: translateY(60px) scale(0.92);
    }
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

@keyframes faqFadeInDown {
    from {
        opacity: 0;
        transform: translateY(-40px) scale(0.95);
    }
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

@keyframes faqScaleIn {
    from {
        opacity: 0;
        transform: scale(0.7) rotate(-5deg);
    }
    to {
        opacity: 1;
        transform: scale(1) rotate(0deg);
    }
}

@keyframes faqSlideRotate {
    from {
        opacity: 0;
        transform: translateX(50px) translateY(30px) rotate(3deg) scale(0.88);
    }
    to {
        opacity: 1;
        transform: translateX(0) translateY(0) rotate(0deg) scale(1);
    }
}

.faq-question {
    font-family: 'Lato', sans-serif;
    font-weight: 300;
    font-style: italic;
    font-size: clamp(24px, 4.8vw, 40px);
    color: #ffff00;
    margin: 0 0 15px 0;
}

.faq-answer {
    font-family: 'Courier New', 'Courier', monospace;
    font-size: clamp(16px, 1.5vw, 30px);
    color: #ffffff;
    margin: 0 0 10px 0;
    
}

.faq-answer-red {
    font-family: 'Courier New', 'Courier', monospace;
    font-size: clamp(14px, 2vw, 20px);
    color: #ff0000;
    margin: 0 0 15px 0;
    font-weight: bold;
}

.faq-price {
    font-family: 'Courier New', 'Courier', monospace;
    color: #ff0000;
    font-weight: bold;
}

@media (max-width: 968px) {
    .faq-grid {
        grid-template-columns: 1fr;
        gap: 30px;
    }
    
    .faq-section {
        padding: 40px 20px;
    }
}

/* FAQ Footer */
/* Footer Navigation */
.footer-nav {
    width: 100%;
    background-color: #000000;
    padding: 20px 0 0 0;
    display: flex;
    justify-content: center;
    align-items: center;
}

.footer-nav-links {
    display: flex;
    list-style: none;
    gap: 40px;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    margin: 0;
    padding: 0;
}

.footer-nav-links li {
    margin: 0;
    padding: 0;
}

.footer-nav-links a {
    color: #ffffff;
    text-decoration: none;
    font-size: 11px;
    font-weight: 400;
    font-family: 'Arial Narrow', 'Arial Condensed', Arial, sans-serif;
    font-stretch: condensed;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    transition: opacity 0.3s ease;
    padding: 0;
    margin: 0;
    line-height: 1;
    white-space: nowrap;
    display: inline-block;
}

.footer-nav-links a:hover {
    opacity: 0.7;
}

.footer-nav-links a.active {
    text-decoration: underline;
}

@media (max-width: 768px) {
    .footer-nav {
        padding: 0;
    }
    
    .footer-nav-links {
        gap: 30px;
    }
    
    .footer-nav-links a {
        font-size: 10px;
    }
}

.faq-footer {
    width: 90%;
    max-width: 1400px;
    margin: 0 auto 40px;
    padding: 40px 0;
    background-color: #000000;
}

.footer-line {
    width: 100%;
    height: 2px;
    background-color: #ffffff;
    opacity: 0;
    transform: scaleX(0);
    transition: opacity 0.8s ease, transform 0.8s ease;
}

.footer-line-1 {
    margin-bottom: 20px;
}

.footer-line-1.animate {
    opacity: 1;
    transform: scaleX(1);
    transition-delay: 0s;
}

.footer-line-2 {
    margin-top: 20px;
}

.footer-line-2.animate {
    opacity: 1;
    transform: scaleX(1);
    transition-delay: 0.6s;
}

.footer-content {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 15px;
}

.footer-email {
    text-align: center;
    opacity: 0;
    transform: translateY(30px) scale(0.9);
    transition: opacity 1s ease 0.3s, transform 1s ease 0.3s;
}

.footer-email.animate {
    opacity: 1;
    transform: translateY(0) scale(1);
}

.footer-email-img {
    max-width: 400px;
    width: 100%;
    height: auto;
    display: block;
}

.footer-logo {
    width: 375px;
    height: 375px;
    opacity: 0;
    transform: scale(0.5) rotate(-720deg);
    transition: opacity 1.2s ease 0.6s, transform 1.5s cubic-bezier(0.34, 1.56, 0.64, 1) 0.6s;
}

.footer-logo.animate {
    opacity: 1;
    transform: scale(1) rotate(0deg);
}

.footer-logo-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 50%;
    display: block;
}

@media (max-width: 768px) {
    .faq-footer {
        width: 100%;
        padding: 30px 20px;
    }
    
    .footer-logo {
        width: 220px;
        height: 220px;
    }
    
    .custom-content-container {
        flex-direction: column;
        gap: 40px;
    }
    
    .custom-content-left,
    .custom-content-right {
        width: 100%;
    }
    
    .custom-vision-text {
        font-size: clamp(16px, 3.5vw, 36px);
    }
    
    .custom-contact-text {
        font-size: clamp(16px, 2.8vw, 24px);
    }
    
    .custom-email-name {
        font-size: clamp(18px, 3.5vw, 32px);
    }
    
    .custom-email-domain {
        font-size: clamp(12px, 1.8vw, 16px);
    }
    
    .custom-service-item {
        font-size: clamp(12px, 1.8vw, 18px);
    }
}

/* Custom Content Section */
.custom-content-section {
    width: 100%;
    background-color: #000000;
    padding: 60px 40px;
}

.custom-content-container {
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    gap: 60px;
}

.custom-content-left {
    flex: 1;
    color: #ffffff;
    text-align: center;
}

.custom-vision-text {
    font-family: 'IM Fell English SC', serif;
    font-size: clamp(18px, 4vw, 40px);
    color: #ffffff;
    margin: 0 0 20px 0;
    line-height: 1.8;
    text-align: center;
    word-wrap: break-word;
    overflow-wrap: break-word;
}

.custom-contact-text {
    font-family: Arial, Helvetica, sans-serif;
    font-size: clamp(20px, 3vw, 28px);
    color: #ffff00;
    margin: 0 0 20px 0;
    font-weight: bold;
    text-align: center;
}

.custom-divider-line {
    width: 100%;
    height: 1px;
    background-color: #ffffff;
    margin: 20px auto;
}

.custom-email-image {
    text-align: center;
    margin: 20px 0;
}

.custom-email-img {
    max-width: 100%;
    height: auto;
    display: block;
    margin: 0 auto;
}

.custom-content-right {
    flex: 1;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
}

.custom-services-list {
    list-style: none;
    padding: 0;
    margin: 0;
    text-align: left;
    display: inline-block;
}

.custom-service-item {
    font-family: Arial, Helvetica, sans-serif;
    font-size: clamp(16px, 2vw, 20px);
    color: #ffffff;
    margin: 0 0 15px 0;
    padding-left: 25px;
    position: relative;
    text-align: left;
}

.custom-service-item::before {
    content: "•";
    position: absolute;
    left: 0;
    color: #ffffff;
    font-size: 1.2em;
}

/* Contact Section */
.contact-section {
    width: 100%;
    background-color: #000000;
    padding: 30px 40px;
    min-height: 500px;
}

.contact-container {
    max-width: 800px;
    margin: 0 auto;
    color: #ffffff;
}

.inquiry-text {
    font-family: 'Courier New', 'Courier', monospace;
    font-size: clamp(13.5px, 1.875vw, 21px);
    color: #ffff00;
    text-align: center;
    margin: 0 0 40px 0;
    line-height: 1.6;
}

.contact-divider {
    width: 100%;
    height: 2px;
    background-color: #ffffff;
    margin: 40px 0;
}

.email-section {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 30px;
    margin: 40px 0;
    flex-wrap: nowrap;
}

.email-content {
    text-align: center;
    flex: 0 0 auto;
    max-width: 319px;
}

.email-img {
    max-width: 100%;
    height: auto;
    display: block;
}

.dog-image {
    flex: 0 0 383px;
    max-width: 383px;
}

.dog-img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 20px;
}

.contact-form {
    margin-top: 40px;
    background-color: #b8b8b8;
    border: 4px solid #000000;
    border-radius: 20px;
    padding: 40px;
}

.contact-form-title {
    font-family: 'IM Fell English SC', serif;
    font-size: clamp(32px, 4.5vw, 48px);
    color: #ffffff;
    text-align: center;
    margin: 0 0 30px 0;
    font-weight: 700;
    text-transform: uppercase;
}

.form-group {
    margin-bottom: 30px;
}

.form-group label {
    display: block;
    font-family: 'IM Fell English SC', serif;
    font-size: clamp(14px, 1.8vw, 18px);
    color: #000000;
    margin-bottom: 10px;
    text-transform: uppercase;
    font-weight: 400;
}

.form-group input,
.form-group textarea {
    width: 100%;
    padding: 12px;
    font-family: 'IM Fell English SC', serif;
    font-size: clamp(14px, 1.8vw, 18px);
    background-color: #ffffff;
    border: 1px solid #808080;
    color: #000000;
    box-sizing: border-box;
}

.form-group input:focus,
.form-group textarea:focus {
    outline: none;
    border-color: #ffff00;
}

.form-group textarea {
    resize: vertical;
    min-height: 120px;
}

.submit-button {
    width: 100%;
    padding: 15px 30px;
    font-family: 'IM Fell English SC', serif;
    font-size: clamp(18px, 2.5vw, 24px);
    background-color: #000000;
    color: #ffffff;
    border: 4px solid #ffffff;
    border-radius: 10px;
    cursor: pointer;
    transition: background-color 0.3s ease;
    font-weight: 700;
    text-transform: uppercase;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3);
}

.submit-button:hover {
    background-color: #333333;
}

@media (max-width: 768px) {
    .email-section {
        flex-direction: column;
        align-items: center;
    }
    
    .email-content {
        max-width: 100%;
        width: 100%;
    }
    
    .dog-image {
        max-width: 100%;
        width: 100%;
    }
    
    .contact-section {
        padding: 40px 20px;
    }
    
    .gallery-header-section {
        padding: 40px 15px;
    }
    
    .gallery-header-title {
        font-size: clamp(42px, 12vw, 72px);
        margin: 0 0 30px 0;
    }
    
    .gallery-header-image {
        height: 300px;
        /* Maintain pill shape on mobile - proportional to desktop (250px for 500px height = 50%) */
        border-radius: 150px;
    }
}

