body {
    font-family: 'Arial', sans-serif;
    background-color: #f4f4f4;
    text-align: center;
    padding: 50px;
    margin: 0;
}

.sign-container {
    background-color: white;
    border-radius: 15px;
    display: inline-block;
    padding: 70px 50px; /* Space for the border elements */
    max-width: 600px;
    width: 100%;
    box-shadow: 0 4px 8px rgba(0,0,0,0.2);
    position: relative;
    box-sizing: border-box;
}

/* --- THE VINE BORDER (Fixed) --- */
.vine {
    position: absolute;
    z-index: 5; /* Sit underneath the flowers */
    background-size: 100% 100%; /* Stretches the image to fit the full length */
    background-repeat: no-repeat;
}

/* Horizontal Vines (Top & Bottom) */
.vine-h {
    height: 35px; /* Adjust thickness based on your image */
    left: 45px;   /* Start tucked behind the left flower */
    right: 45px;  /* End tucked behind the right flower */
    background-image: url('vine-h.png');
}

.vine-top { top: 20px; }
.vine-bottom { bottom: 20px; }

/* Vertical Vines (Left & Right) */
.vine-v {
    width: 35px; /* Adjust thickness based on your image */
    top: 45px;   /* Start tucked below the top flower */
    bottom: 45px;/* End tucked above the bottom flower */
    background-image: url('vine-v.png');
}

.vine-left { left: 20px; }
.vine-right { right: 20px; }


/* --- FLOWERS --- */
.flower {
    position: absolute;
    width: 80px; /* Slightly larger to hide vine ends */
    height: auto;
    z-index: 10; /* Sit on top of the vines */
}

.top-left {
    top: -30px;
    left: -30px;
    transform: rotate(-45deg);
}

.top-right {
    top: -30px;
    right: -30px;
    transform: rotate(45deg);
}

.bottom-left {
    bottom: -30px;
    left: -30px;
    transform: rotate(-135deg);
}

.bottom-right {
    bottom: -30px;
    right: -30px;
    transform: rotate(135deg);
}

/* --- TYPOGRAPHY --- */
.company-inc {
    color: #e31b23; /* Sign Red */
    font-weight: bold;
    font-size: 1.2rem;
    letter-spacing: 2px;
    margin-bottom: 5px;
}

h1 {
    color: #e31b23; /* Sign Red */
    font-size: 3.5rem;
    line-height: 1.1;
    margin: 10px 0;
    text-transform: uppercase;
    font-weight: 900;
}

.phone-number {
    color: #1a5c28; /* Sign Green */
    font-size: 3rem;
    font-weight: bold;
    margin: 15px 0;
    display: block;
    text-decoration: none;
}

.license-info {
    color: #e31b23; /* Sign Red */
    font-size: 1.5rem;
    font-weight: bold;
    margin-top: 15px;
    text-transform: uppercase;
}

/* Mobile Responsiveness */
@media (max-width: 600px) {
    body { padding: 20px; }
    h1 { font-size: 2rem; }
    .phone-number { font-size: 1.8rem; }
    .sign-container { padding: 50px 25px; }
    .license-info { font-size: 1rem; }
    
    /* Adjust borders for small screens */
    .vine-h { height: 20px; left: 25px; right: 25px; }
    .vine-v { width: 20px; top: 25px; bottom: 25px; }
    .vine-top { top: 10px; }
    .vine-bottom { bottom: 10px; }
    .vine-left { left: 10px; }
    .vine-right { right: 10px; }
    
    .flower { width: 50px; }
    .top-left { top: -15px; left: -15px; }
    .top-right { top: -15px; right: -15px; }
    .bottom-left { bottom: -15px; left: -15px; }
    .bottom-right { bottom: -15px; right: -15px; }
}
