
:root{--magenta:#8f174f;--magenta-dark:#620d38;--wine:#3b0822;--gold:#c9a24b;--gold-light:#ead18a;--cream:#fffaf5;--blush:#f6e6ed;--ink:#321c27;--muted:#78636d;--white:#fff;--serif:"Cormorant Garamond",Georgia,serif;--sans:"Montserrat",Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);line-height:1.7}a{text-decoration:none;color:inherit}.container{width:min(1120px,92%);margin:auto}
/* =================================
   HEADER
   ================================= */
.site-header {position: sticky;top: 0;z-index: 100;background:rgba(255, 250, 245, 0.97);
    backdrop-filter: blur(12px);border-bottom:1px solid rgba(201, 162, 75, 0.25);}
/* Header container */
.nav-wrap {min-height: 82px;display: flex;align-items: center;justify-content: space-between;}
/* =================================
   BRAND / LOGO
================================= */
.brand {display: flex;align-items: center;gap: 12px;text-decoration: none;}
/* Monogram circle */
.brand-logo {width: 52px;height: 52px;flex-shrink: 0;display: flex;align-items: center;justify-content: center;
    border: 1.5px solid var(--gold);border-radius: 50%;background: #fffaf4;overflow: hidden;}
/* Actual S&P monogram image */
.brand-logo img {width: 100%;height: 100%;object-fit: contain;padding: 1px;transform: scale(1.08);}
/* Brand text */
.brand-text {display: flex;flex-direction: column;}
.brand-text strong {font: 600 25px/1 var(--serif);color: var(--magenta-dark);letter-spacing: -0.2px;}
.brand-text small {margin-top: 5px;font-size: 8px;letter-spacing: 2px;color: #9a7b62;}
/* Silk & Pleats */
.brand-text strong {font:600 25px/1 var(--serif);color:var(--magenta-dark);letter-spacing: .2px;}
/* Tagline */
.brand-text small {margin-top: 5px;font:600 8px var(--sans);letter-spacing: 2px;color:var(--muted);}
/* =================================
   NAVIGATION
   ================================= */
.nav {display: flex;align-items: center;gap: 22px;font:600 10px var(--sans);letter-spacing: .7px;
    text-transform: uppercase;}
.nav a {position: relative;color:var(--muted);transition:color .25s ease;}


/* Gold underline on hover */

.nav a:not(.nav-cta)::after {

    content: "";

    position: absolute;

    left: 0;

    bottom: -7px;

    width: 0;

    height: 1px;

    background:
        var(--gold);

    transition:
        width .25s ease;

}


.nav a:not(.nav-cta):hover {

    color:
        var(--magenta);

}


.nav a:not(.nav-cta):hover::after {

    width: 100%;

}


/* =================================
   BOOK NOW BUTTON
   ================================= */

.nav-cta {

    padding:
        11px 20px;

    background:
        var(--magenta);

    color:
        #ffffff !important;

    border-radius:
        999px;

    border:
        1px solid var(--magenta);

    box-shadow:
        0 5px 16px rgba(143, 23, 79, .18);

    transition:
        all .25s ease;

}


.nav-cta:hover {

    background:
        var(--magenta-dark);

    border-color:
        var(--gold);

    box-shadow:
        0 6px 20px rgba(143, 23, 79, .25);

}


/* =================================
   MOBILE MENU
   ================================= */

.menu-toggle {

    display: none;

    background: transparent;

    border: 0;

    color:
        var(--magenta);

    font-size: 27px;

    cursor: pointer;

}


/* =================================
   MOBILE HEADER
   ================================= */

@media (max-width: 900px) {

    .nav {

        gap: 13px;

    }

}


@media (max-width: 700px) {

    .nav-wrap {

        min-height: 72px;

    }


    .brand-logo {

        width: 42px;

        height: 42px;

    }


    .brand-text strong {

        font-size: 21px;

    }


    .brand-text small {

        font-size: 7px;

        letter-spacing: 1.5px;

    }


    .menu-toggle {

        display: block;

    }


    .nav {

        display: none;

        position: absolute;

        top: 72px;

        left: 0;

        right: 0;

        padding: 20px 5%;

        background:
            var(--cream);

        border-bottom:
            1px solid rgba(201, 162, 75, .3);

        box-shadow:
            0 12px 30px rgba(59, 8, 34, .1);

        flex-direction: column;

        align-items: stretch;

        gap: 0;

    }


    .nav.open {

        display: flex;

    }


    .nav a {

        padding: 12px 5px;

    }


    .nav a:not(.nav-cta)::after {

        display: none;

    }


    .nav-cta {

        text-align: center;

        margin-top: 8px;

    }

}
/* =========================
   HERO BANNER
   ========================= */

.hero {
    width: 100%;
    background: var(--cream);
}


/* Original Silk & Pleats banner */

.hero-banner {
    display: block;

    width: 100%;
    height: auto;

    max-width: 100%;
}


/* Buttons BELOW the banner */

.hero-actions {
    display: flex;

    justify-content: center;
    align-items: center;

    gap: 14px;

    padding: 25px 20px;

    background:
        linear-gradient(
            135deg,
            var(--magenta-dark),
            var(--magenta)
        );
}


/* Gold primary button */

.btn-gold {
    background: var(--gold);

    color: var(--wine);

    border: 1px solid var(--gold);

    box-shadow:
        0 5px 18px rgba(0, 0, 0, 0.18);
}


/* Secondary button */

.btn-outline {
    background: transparent;

    border: 1px solid var(--gold-light);

    color: #ffffff;
}


/* Hover */

.btn-gold:hover {
    background: var(--gold-light);
}

.btn-outline:hover {
    background: rgba(255,255,255,0.12);

    border-color: #ffffff;
}


/* Mobile */

@media (max-width: 700px) {
    .hero {width: 100%;
            min-height: 0 !important;
            height: auto !important;
            padding: 0 !important;
            margin: 0 !important;
            overflow: hidden;}
    .hero-image {
        display: block;
        width: 100%;
        height: auto;
        max-width: 100%;
        margin: 0;
        padding: 0;
    }

    .hero-actions {
        flex-direction: column;

        padding: 20px;
    }

    .hero-actions .btn {
        width: 90%;

        text-align: center;
    }

}
.btn{display:inline-block;padding:14px 25px;border-radius:999px;border:1px solid transparent;font:700 10px var(--sans);letter-spacing:1.2px;text-transform:uppercase;cursor:pointer}.btn-primary{background:var(--gold);color:var(--wine)}.btn-ghost{border-color:var(--gold-light);color:#fff}
.section{padding:80px 0}.section-alt{background:var(--blush)}.section h2{font:600 clamp(40px,5vw,62px)/1 var(--serif);margin:0 0 22px;color:var(--magenta-dark)}.section p{color:var(--muted);font-size:14px}.split{display:grid;grid-template-columns:1.25fr .75fr;gap:90px;align-items:center}
.text-link{display:inline-block;margin-top:15px;color:var(--magenta);font-size:12px;font-weight:700}.feature-card{padding:50px 35px;text-align:center;background:#fff;border:1px solid rgba(201,162,75,.45);box-shadow:0 25px 70px rgba(59,8,34,.1)}.feature-icon,.card-icon{color:var(--gold);font-size:28px}.feature-card h3,.card h3,.package h3{font:600 31px var(--serif);margin:12px 0 5px;color:var(--magenta-dark)}
.section-heading{text-align:center;max-width:720px;margin:0 auto 48px}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:17px}.card{background:linear-gradient(155deg,#57102f,#3d0923);padding:34px 25px;min-height:245px;border:1px solid rgba(201,162,75,.35)}.card h3{color:#fff}.card p{font-size:12px;color:#decbd3}
.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.gallery-item{aspect-ratio:1/1.15;display:grid;place-items:center;background:linear-gradient(145deg,#bd3772,#55102f);position:relative}.gallery-item:before{content:"";position:absolute;inset:12px;border:1px solid rgba(234,209,138,.55)}.gallery-placeholder{position:relative;color:#fff;text-align:center;font:600 28px var(--serif)}.gallery-note{text-align:center;font-size:10px!important}
.price-card{background:#fff;padding:38px 45px;display:flex;align-items:center;justify-content:space-between;gap:30px;border:1px solid rgba(201,162,75,.5)}.price-card h3{font:600 34px var(--serif);margin:5px 0}.why-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:35px}.why-grid strong{font:500 36px var(--serif);color:var(--gold)}.why-grid h3{font:600 24px var(--serif);color:var(--magenta-dark)}
/* Pricing layout */
.price-card {
    display: grid;
    grid-template-columns: 1.7fr 0.8fr;
    gap: 50px;
    align-items: center;
}

.price-list {
    width: 100%;
}

.price-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 15px 0;
    border-bottom: 1px solid rgba(80, 20, 45, 0.12);
}

.price-row span {
    color: #555;
}

.price-row strong {
    color: var(--magenta-dark);
    font-size: 18px;
    white-space: nowrap;
}
.price-actions {    
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 20px;
}
.price-note {
    color: #777;
    font-size: 14px;
    line-height: 1.6;
    margin-bottom: 15px;
    max-width: 360px;
}

/* Mobile */
@media (max-width: 700px) {
    .price-card {
        grid-template-columns: 1fr;
        gap: 25px;
    }
}
.package-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.package{background:linear-gradient(160deg,#56102f,#3c0821);padding:38px;border:1px solid rgba(201,162,75,.35);border-top:3px solid var(--gold)}.package h3{color:#fff}.package p{color:#ddc8d1}.package a{color:var(--gold-light);font-size:10px;text-transform:uppercase;letter-spacing:1px;font-weight:700}
.booking{background:linear-gradient(135deg,var(--magenta-dark),var(--magenta));color:#fff}.booking h2{color:#fff}.booking p{color:#f0dfe6}.booking-grid{display:grid;grid-template-columns:1fr 1fr;gap:75px}.contact-list{display:grid;gap:10px;margin:28px 0;font-size:13px}.whatsapp{display:inline-block;padding:12px 19px;background:var(--gold);color:var(--wine);border-radius:999px;font-size:10px;text-transform:uppercase;letter-spacing:1px;font-weight:700}.booking-form{background:#fff;color:var(--ink);padding:36px;display:grid;gap:15px;border-top:4px solid var(--gold)}.booking-form input,.booking-form select,.booking-form textarea{display:block;width:100%;margin-top:6px;border:1px solid #dfcfd6;padding:12px;font:13px var(--sans)}.footer{background:#250615;color:#fff;padding:60px 0 20px}.footer-brand{font:600 38px var(--serif);color:#fff}.footer a,.footer p{color:#cbb5bf;font-size:12px;display:block;margin:7px 0}.footer h4{font-size:10px;letter-spacing:2px;color:var(--gold-light)}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px}.copyright{text-align:center;border-top:1px solid rgba(201,162,75,.18);margin-top:40px;padding-top:18px;color:#927d86;font-size:10px}
@media(max-width:900px){.nav{gap:12px}.cards,.why-grid{grid-template-columns:repeat(2,1fr)}.split,.booking-grid{gap:40px}}
@media(max-width:700px){.menu-toggle{display:block}.nav{display:none;position:absolute;top:78px;left:0;right:0;background:var(--cream);padding:18px 4%;flex-direction:column;align-items:stretch}.nav.open{display:flex}.nav-cta{text-align:center}.hero{min-height:670px}.section{padding:72px 0}.split,.booking-grid{grid-template-columns:1fr}.cards,.gallery,.package-grid,.why-grid{grid-template-columns:1fr}.price-card{flex-direction:column;align-items:flex-start}.footer-grid{grid-template-columns:1fr}}
/* =================================
   ABOUT SECTION
   ================================= */

.about-section {
    padding-top: 90px;
    padding-bottom: 60px;
    background: var(--cream);
}


/* Grid */

.about-grid {

    display: grid;

    grid-template-columns: 0.85fr 1.15fr;
    gap: 55px;

    align-items: center;

}


/* Small heading */

.section-eyebrow {

    margin: 0 0 15px;

    font:
        700 10px var(--sans);

    letter-spacing: 3px;

    color: var(--gold);

    text-transform: uppercase;

}


/* Main heading */

.about-content h2 {

    margin: 0 0 25px;

    font:
        600 clamp(42px, 5vw, 64px) / 1.02 var(--serif);

    color: var(--magenta-dark);

}


/* Lead */

.about-lead {

    font:
        500 23px / 1.3 var(--serif) !important;

    color: var(--magenta) !important;

    margin-bottom: 18px !important;

}


/* Body */

.about-content > p:not(.section-eyebrow):not(.about-lead) {

    max-width: 620px;

    font-size: 14px;

    color: var(--muted);

}


/* =================================
   ABOUT HIGHLIGHTS
   ================================= */

.about-highlights {

    display: grid;

    gap: 14px;

    margin-top: 30px;

}


.about-highlight {

    display: flex;

    align-items: center;

    gap: 14px;

}


.highlight-icon {

    width: 34px;

    height: 34px;

    display: grid;

    place-items: center;

    border-radius: 50%;

    background: var(--blush);

    color: var(--gold);

    font-size: 14px;

}


.about-highlight strong {

    display: block;

    font:
        600 17px var(--serif);

    color: var(--magenta-dark);

}


.about-highlight small {

    display: block;

    margin-top: 2px;

    font-size: 10px;

    color: var(--muted);

}


/* =================================
   ABOUT IMAGE
   ================================= */

.about-visual {
    display: flex;
    justify-content: center;
    align-items: center;
}


.about-image-frame {
    width: 100%;
    max-width: 570px;

    padding: 10px;

    background:
        linear-gradient(
            135deg,
            var(--gold),
            var(--gold-light),
            var(--gold)
        );

    box-shadow:
        0 25px 60px rgba(59, 8, 34, 0.15);

    overflow: hidden;
}


.about-image {
    display: block;

    width: 100%;
    height: auto;

    border: 1px solid rgba(255, 255, 255, 0.5);

    transition: transform 0.4s ease;
}


/* Subtle zoom when mouse moves over image */

.about-image-frame:hover .about-image {
    transform: scale(1.03);
}

.about-card {

    width: min(430px, 100%);

    padding: 12px;

    background:
        linear-gradient(
            145deg,
            var(--gold),
            var(--gold-light),
            var(--gold)
        );

    box-shadow:
        0 25px 60px rgba(59, 8, 34, .15);

}


.about-card-inner {

    min-height: 500px;

    padding: 55px 35px;

    display: flex;

    flex-direction: column;

    align-items: center;

    justify-content: center;

    text-align: center;

    background:
        linear-gradient(
            145deg,
            var(--magenta-dark),
            var(--wine)
        );

    position: relative;

}


/* Inner decorative border */

.about-card-inner::before {

    content: "";

    position: absolute;

    inset: 18px;

    border: 1px solid rgba(234,209,138,.4);

}


/* S&P */

.about-card-symbol {

    width: 72px;

    height: 72px;

    display: grid;

    place-items: center;

    border-radius: 50%;

    border: 1px solid var(--gold);

    color: var(--gold-light);

    font:
        600 22px var(--serif);

    position: relative;

    z-index: 2;

}


/* Card title */

.about-card-title {

    margin: 25px 0 5px;

    font:
        600 30px var(--serif);

    color: #fff;

    position: relative;

    z-index: 2;

}


/* Subtitle */

.about-card-subtitle {

    margin: 0;

    font:
        600 8px var(--sans);

    letter-spacing: 3px;

    color: var(--gold-light);

    position: relative;

    z-index: 2;

}


/* Gold divider */

.gold-line {

    width: 70px;

    height: 1px;

    margin: 28px 0;

    background: var(--gold);

    position: relative;

    z-index: 2;

}


/* Quote */

.about-card-quote {

    margin: 0;

    font:
        500 30px / 1.15 var(--serif);

    font-style: italic;

    color: #fff;

    position: relative;

    z-index: 2;

}


/* Location */

.about-card-location {

    margin-top: 35px;

    font:
        600 8px var(--sans);

    letter-spacing: 2px;

    color: var(--gold-light);

    position: relative;

    z-index: 2;

}


/* =================================
   ABOUT MOBILE
   ================================= */

@media (max-width: 700px) {
    .about-section {padding-top: 40px;padding-bottom: 20px;}
    .about-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 30px;
    align-items: start;
}
    .about-content h2 {font-size: 46px;}
    .about-card {width: 100%;}
    .about-card-inner {min-height: auto;}
}

/* =================================
   ABOUT IMAGE - FINAL SIZE
   ================================= */

.about-grid {
    grid-template-columns: 1fr;
    gap: 30px;
    align-items: start;
}


.about-visual {
    align-self: start;
    padding-top: 0;    
}


.about-image-frame {
    width: 100%;
    max-width: 100%;
    padding: 10px;
    margin-bottom: 0;
}


.about-image {
    display: block;

    width: 100%;
    height: auto;
}
/* =================================
   SERVICES — PREMIUM STYLE
   ================================= */

#services {
    background: #fbf7f2;    
    padding-bottom: 40px;
}

#work {  
    padding-top: 48px;
    padding-bottom: 32px;
}

#pricing {  
    padding-top: 40px;
}

/* Section heading */

#services .section-heading {
    text-align: center;
    max-width: 760px;
    margin: 0 auto 40px;
}


#services .eyebrow {
    color: var(--gold);
    letter-spacing: 3px;
}


#services .section-heading h2 {
    color: var(--magenta-dark);
    margin-bottom: 14px;
}


/* Service grid */

#services .cards,
#services .service-grid {
    gap: 24px;
}


/* Service cards */

#services .card,
#services .service-card {

    position: relative;

    background:
        linear-gradient(
            145deg,
            #4b0b2d,
            #64143d 55%,
            #3b0822
        );

    border: 1px solid rgba(201, 162, 75, .45);

    border-radius: 2px;

    padding: 36px 30px;

    min-height: 290px;

    display: flex;
    flex-direction: column;

    box-shadow:
        0 15px 35px rgba(59, 8, 34, .12);

    overflow: hidden;

    transition:
        transform .3s ease,
        box-shadow .3s ease,
        border-color .3s ease;
}


/* Gold decorative corner */

#services .card::before,
#services .service-card::before {

    content: "";

    position: absolute;

    top: 0;
    right: 0;

    width: 55px;
    height: 55px;

    border-top:
        1px solid var(--gold);

    border-right:
        1px solid var(--gold);

    opacity: .65;
}


/* Hover */

#services .card:hover,
#services .service-card:hover {

    transform:
        translateY(-8px);

    border-color:
        var(--gold);

    box-shadow:
        0 22px 45px rgba(59, 8, 34, .2);
}


/* Service icon */

#services .card-icon,
#services .service-icon {

    width: 42px;
    height: 42px;

    display: flex;
    align-items: center;
    justify-content: center;

    margin-bottom: 25px;

    color:
        var(--gold-light);

    border:
        1px solid rgba(201, 162, 75, .65);

    border-radius: 50%;

    font-size: 17px;
}


/* Service title */

#services .card h3,
#services .service-card h3 {

    margin: 0 0 14px;

    color: #fffaf5;

    font:
        600 25px/1.15 var(--serif);
}


/* Service description */

#services .card p,
#services .service-card p {

    margin: 0;

    color:
        rgba(255, 250, 245, .78);

    font:
        400 13px/1.7 var(--sans);

    max-width: 280px;
}


/* Gold service number */

#services .card-number,
#services .service-number {

    position: absolute;

    right: 25px;
    bottom: 22px;

    font:
        600 11px var(--sans);

    letter-spacing: 2px;

    color:
        rgba(234, 209, 138, .65);
}


/* =================================
   SERVICES MOBILE
   ================================= */

@media (max-width: 800px) {

    #services .cards,
    #services .service-grid {

        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 700px) {

    #services{
        padding-top: 10px;
        padding-bottom: 40px;
    }
    #services .section-heading {
        margin: 0 auto 25px;
    }
}

@media (max-width: 700px) {
    #services .section-heading {
        margin: -20px auto 25px;
    }
}

@media (max-width: 600px) {

    #services .cards,
    #services .service-grid {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    #services .card,
    #services .service-card {
        min-height: 0;
        margin-bottom: 0;
    }
}
@media (max-width: 600px) {

    #work{
        padding-top: 10px;
        padding-bottom: 32px;
    }
}
/* =================================
   Why SILK & PLEATS - MOBILE
   ================================= */
@media (max-width: 600px) {

    #why-us {
        padding-top: 35px;
        padding-bottom: 30px;
    }

    #why-us .section-heading {
        margin-bottom: 28px;
    }

    #why-us .why-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    #why-us .why-grid > * {
        margin: 0;
        padding: 0;
    }

    #why-us .why-grid strong {
        display: block;
        margin-bottom: 8px;
    }

    #why-us .why-grid h3 {
        margin: 0 0 8px;
    }

    #why-us .why-grid p {
        margin: 0;
    }
}
#packages {
    padding-top: 45px;
    padding-bottom: 45px;
}

#packages .section-heading {
    margin-bottom: 28px;
}

#packages .package-grid {
    gap: 14px;
}

#packages .package-card {
    min-height: 0;
    margin-bottom: 0;
}
@media (max-width: 600px) {

    /* your existing mobile rules */

    #booking {
        padding-top: 40px;
    }
}

/* Booking form note */
.form-note {
    margin: 14px 0 0;
    padding: 0 10px;
    text-align: center;
    color: #5f5558 !important;
    font-size: 14px;
    line-height: 1.5;
    opacity: 1 !important;
    visibility: visible !important;
}

@media (max-width: 700px) {
    .form-note {
        font-size: 12px;
        margin-top: 14px;
        padding: 0 10px;
        color: #5f5558 !important;
        opacity: 1 !important;
    }
}
/* ================================
   FOOTER - MOBILE SPACING FIX
   ================================ */

@media (max-width: 600px) {

    footer {
        padding-top: 28px;
        padding-bottom: 15px;
    }

    footer .footer-grid {
        gap: 22px;
    }

    footer .footer-section {
        margin: 0;
        padding: 0;
    }

    footer .footer-section h3 {
        margin-bottom: 8px;
    }

    footer .footer-section p,
    footer .footer-section a {
        margin: 0 0 6px;
        line-height: 1.4;
    }

    footer .footer-bottom {
        margin-top: 18px;
        padding-top: 12px;
    }
}
/* ================================
   ANCHOR SCROLL FIX
   ================================ */

#home,
#about,
#services,
#work,
#pricing,
#why-us,
#packages,
#booking {
    scroll-margin-top: 95px;
}

/* Mobile */
@media (max-width: 700px) {
    #home,
    #about,
    #services,
    #work,
    #pricing,
    #why-us,
    #packages,
    #booking {
        scroll-margin-top: 85px;
    }
}