/*==========================================================
TIDE & TALE
Luxury Children's Celebrations
==========================================================*/

/*==============================
RESET
==============================*/

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{

    font-family:'Montserrat',sans-serif;
    font-size:16px;
    line-height:1.8;

    color:#4d4641;

    background:#fbf9f6;

    overflow-x:hidden;

}

img{

    max-width:100%;
    display:block;

}

a{

    color:inherit;
    text-decoration:none;

}

ul{

    list-style:none;

}

/*==============================
COLOUR PALETTE
==============================*/

:root{

    --cream:#fbf9f6;
    --white:#ffffff;

    --gold:#c7a062;
    --gold-dark:#af8747;

    --charcoal:#383330;

    --taupe:#746c67;

    --light:#f6f2ed;

    --shadow:
    0 20px 50px rgba(0,0,0,.08);

    --radius:24px;

}

/*==============================
TYPOGRAPHY
==============================*/

h1,h2,h3,h4{

    font-family:'Cormorant Garamond',serif;

    color:var(--charcoal);

    line-height:1;

    font-weight:600;

}

h1{

    font-size:clamp(3.8rem,6vw,6rem);

    line-height:.92;

    letter-spacing:-1px;

}

h2{

    font-size:clamp(2.4rem,4vw,3.8rem);

    line-height:1.05;

    margin-bottom:20px;

    letter-spacing:-.5px;

}

h3{

    font-size:1.8rem;

    line-height:1.2;

}

p{

    margin-bottom:18px;

    color:var(--taupe);

    font-size:1.03rem;

    line-height:1.9;

    max-width:68ch;

}

.section-tag{

    text-transform:uppercase;

    letter-spacing:6px;

    font-size:.8rem;

    font-weight:600;

    color:var(--gold);

    margin-bottom:20px;

}

.container{

    width:min(80%,1240px);

    margin:auto;

}

section{

    padding:180px 0;

}

/*==============================
BUTTONS
==============================*/

.button{

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

    padding:18px 42px;

    border-radius:999px;

    background:linear-gradient(
        180deg,
        #d7b57d 0%,
        #c7a062 100%
    );

    color:white;

    font-weight:600;

    letter-spacing:.5px;

    border:1px solid rgba(255,255,255,.25);

    transition:.35s ease;

    box-shadow:
        0 12px 30px rgba(0,0,0,.08),
        0 8px 18px rgba(199,160,98,.25);

}

.button:hover{

    transform:translateY(-3px);

    background:linear-gradient(
        180deg,
        #ddb97f 0%,
        #b88e4c 100%
    );

    box-shadow:
        0 18px 40px rgba(0,0,0,.12),
        0 12px 24px rgba(199,160,98,.35);

}

.secondary-button{
    background:#ffffff !important;
    color:#4d4641 !important;
    border:2px solid #d7b46a !important;
}

..secondary-button:hover{
    background:#d7b46a;
    color:#ffffff;
}
/*==========================================================
NAVIGATION
==========================================================*/

.navbar{

    position:sticky;
    top:0;
    width:100%;
    z-index:1000;

    background:rgba(251,249,246,.92);

    backdrop-filter:blur(18px);
    -webkit-backdrop-filter:blur(18px);

    border-bottom:1px solid rgba(199,160,98,.15);

    box-shadow:0 8px 30px rgba(0,0,0,.05);

    transition:.35s ease;

}

.navbar .container{

    display:flex;

    align-items:center;

    justify-content:space-between;

    min-height:78px;

}

.logo{

    width:160px;

    transition:.35s;

}

.logo:hover{

    transform:scale(1.03);

}

nav{

    margin-left:auto;

}

nav ul{

    display:flex;

    align-items:center;

    gap:26px;

    flex-wrap:nowrap;

}

nav a{

    white-space:nowrap;

    font-size:.88rem;
letter-spacing:.8px;
text-transform:uppercase;

}

nav a{

    position:relative;

    font-weight:500;

    color:var(--charcoal);

    transition:.3s;

}

nav a:hover{

    color:var(--gold);

}

nav a::after{

    content:"";

    position:absolute;

    bottom:-8px;

    left:0;

    width:0;

    height:2px;

    background:var(--gold);

    transition:.3s;

}

nav a:hover::after,
nav a.active::after{

    width:100%;

}

.navbar .button{

    margin-left:35px;

    padding:12px 24px;

    font-size:.9rem;

}
/*==========================================================
HEADER SPACING
==========================================================*/

body{

    padding-top:78px;

}

.hero{

    margin-top:-78px;

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

/*==========================================================
HERO
==========================================================*/

.hero{

    position:relative;

    min-height:85vh;

    display:flex;

    align-items:center;

    background-size:cover;

    background-position:center;

    background-repeat:no-repeat;

}

.hero::before{

    content:"";

    position:absolute;

    inset:0;

    background:linear-gradient(
90deg,
rgba(25,22,20,.72) 0%,
rgba(25,22,20,.48) 40%,
rgba(25,22,20,.20) 75%,
rgba(25,22,20,.08) 100%
);

}

.hero-overlay{

    position:relative;

    width:100%;

    z-index:2;

}

.hero-content{

    max-width:760px;

    padding:180px 0 140px;

    color:white;

}

.hero-content h1{

    color:white;

    margin:25px 0 35px;

    font-size:clamp(4rem,7vw,6.8rem);

    line-height:.95;

    max-width:700px;

}

.hero-content p{

    color:rgba(255,255,255,.94);

    font-size:1.2rem;

    max-width:600px;

    line-height:1.9;

    margin-bottom:38px;

}

.hero-buttons{

    display:flex;

    gap:20px;

    flex-wrap:wrap;

}

.hero .section-tag{

    color:#f3d8a3;

    letter-spacing:5px;


}
.wave-divider{
    display:block;
    width:100%;
    max-width:1200px;
    margin:60px auto 0;
    opacity:.9;
}
/*==========================================================
PAGE HERO IMAGES
==========================================================*/

.home-hero{

    background-image:url("../images/hero.jpg");

}

.wedding-hero{

    background-image:url("../images/lounge.jpg");

}

.sleepovers-hero{

    background-image:url("../images/sleepover.jpg");

}

.creations-hero{

    background-image:url("../images/creations.jpg");

}

.about-hero{

    background-image:url("../images/about-hero.jpg");

}

.contact-hero{

    background-image:url("../images/lounge.jpg");

}
/* ==========================================================
STORY SECTIONS
========================================================== */

.about-grid,
.story-grid,
.memories-grid,
.intro-grid,
.size-grid,
.voucher-grid,
.bespoke-grid,
.instagram-grid{

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:90px;

    align-items:center;

}

.about-image img,
.story-image img,
.intro-image img,
.collection-image img,
.size-image img,
.voucher-image img,
.instagram-images img{

    width:100%;

    border-radius:24px;

    box-shadow:var(--shadow);

}

.about-text,
.story-content,
.intro-content,
.collection-content,
.size-content,
.voucher-content{

    max-width:620px;

}

.signature{

    margin:35px 0;

}

.signature-name{

    font-family:'Allura', cursive;

    font-size:3rem;

    color:var(--gold);

    margin-bottom:0;

}

.signature-title{

    color:var(--taupe);

    font-size:.9rem;

}
.about-grid .button,
.story-grid .button{

    margin-top:20px;

}
/*==========================================================
SECTION TITLES
==========================================================*/

.section-title{

    max-width:760px;

    margin:0 auto 70px;

    text-align:center;
    text-wrap:balance;

}

.section-title h2{

    margin-bottom:25px;

}

.section-title p{

    max-width:680px;

    margin:auto;

}

.about-text h2,
.memories-text h2{

    margin-bottom:35px;

}

.about-text p,
.memories-text p{

    font-size:1.05rem;

}

.about-image img,
.memories-images img{

    transition:.45s ease;

}

.about-image img:hover,
.memories-images img:hover{

    transform:scale(1.015);
filter:brightness(1.03);

    box-shadow:0 30px 70px rgba(0,0,0,.15);

}
/* ==========================================================
EXPERIENCE CARDS
========================================================== */

.experience-grid{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:40px;

}

.experience-card{

    background:white;

    border-radius:24px;

    overflow:hidden;

    box-shadow:var(--shadow);

    transition:var(--transition);

}

.experience-card:hover{

    transform:translateY(-10px);

}

.experience-card img{

    width:100%;

    aspect-ratio:4/3;

    object-fit:cover;

    object-position:center;

    border-radius:0;

}

.experience-content{

    padding:35px;

}

.experience-tag{

    color:var(--gold);

    font-weight:600;

    letter-spacing:2px;

    font-size:.8rem;

    text-transform:uppercase;

    margin-bottom:15px;

}

/* ==========================================================
CARDS
========================================================== */

.why-grid,
.reviews-grid,
.partners-grid,
.contact-services,
.steps-grid,
.confidence-grid,
.about-grid-small{

    display:grid;

    gap:35px;

}

.why-grid{

    grid-template-columns:repeat(4,1fr);

}

.reviews-grid{

    grid-template-columns:repeat(2,1fr);

}

.partners-grid,
.contact-services,
.steps-grid,
.confidence-grid,
.about-grid-small{

    grid-template-columns:repeat(auto-fit,minmax(280px,1fr));

}

.why-card,
.partner-card,
.service-card,
.step-card,
.confidence-card,
.about-card{

    background:rgba(255,255,255,.92);

    backdrop-filter:blur(12px);

    padding:42px;

    border-radius:22px;

    border:1px solid rgba(202,164,93,.10);

    box-shadow:0 18px 45px rgba(0,0,0,.06);

    transition:.35s ease;

    height:100%;

}

.why-card:hover,
.partner-card:hover,
.service-card:hover,
.step-card:hover,
.confidence-card:hover,
.about-card:hover{

    transform:translateY(-12px);

    box-shadow:0 30px 60px rgba(0,0,0,.10);

}

.partner-card img{

    width:100%;

    aspect-ratio:4/3;

    object-fit:cover;

    object-position:center;

    border-radius:18px;

    margin-bottom:25px;

}

.partner-card h3,
.why-card h3{

    margin-bottom:15px;

}

.step-number{

    width:60px;

    height:60px;

    background:var(--gold);

    color:white;

    border-radius:50%;

    display:flex;

    justify-content:center;

    align-items:center;

    font-size:1.4rem;

    font-weight:700;

    margin-bottom:25px;

}
/*==========================================================
WHY CHOOSE US
==========================================================*/

.why-us{

    text-align:center;

}

.why-grid{

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:30px;

    margin-top:60px;

}

.why-card{

    background:white;

    padding:40px 30px;

    border-radius:24px;

    box-shadow:0 15px 35px rgba(0,0,0,.08);

    transition:.35s ease;

}

.why-card:hover{

    transform:translateY(-10px);

}

.why-card h3{

    margin-bottom:20px;

    font-size:1.6rem;

}

.why-card p{

    margin-bottom:0;

}
/*==========================================================
LOUNGE PACKAGE BOARD
==========================================================*/

.lounge-packages{

    padding:120px 0;

}

.packages-image{

    width:100%;

    display:block;

    margin-top:50px;

    border-radius:28px;

    box-shadow:0 25px 60px rgba(0,0,0,.12);

    transition:.35s ease;

}

.packages-image:hover{

    transform:translateY(-8px);

}
/*==========================================================
REVIEWS
==========================================================*/

.reviews-grid{

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:40px;

    margin-top:50px;

}

.reviews-grid img{

    width:100%;

    border-radius:24px;

    box-shadow:0 15px 35px rgba(0,0,0,.08);

    transition:.35s ease;

}

.reviews-grid img:hover{

    transform:translateY(-8px);

}
/* ==========================================================
IMAGE GALLERIES
========================================================== */

.memories-images,
.instagram-images{

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:20px;

}

.memories-images img,
.instagram-images img{

    aspect-ratio:4/3;

    object-fit:cover;

    object-position:center;

    transition:.35s;

    cursor:pointer;

}

.memories-images img:hover,
.instagram-images img:hover{

    transform:scale(1.04);

}
/* ==========================================================
SECTION COLOURS
========================================================== */

.about-hannah,
.values,
.areas{

    background:#fbf9f6;

}

.memories,
.confidence,
.next-steps{

    background:#ffffff;

}

.experiences,
.reviews,
.events,
.partners,
.why-us,
.values,
.confidence,
.contact-intro,
.next-steps,
.instagram-feature,
.areas{

    background:var(--beige);

}
/* ==========================================================
CONTACT FORM
========================================================== */

.enquiry-form{

    background:white;

    padding:60px;

    border-radius:30px;

    box-shadow:var(--shadow);

    max-width:1000px;

    margin:60px auto 0;

}

.form-row{

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:25px;

    margin-bottom:25px;

}

.form-group{

    display:flex;

    flex-direction:column;

}

.form-group label{

    margin-bottom:10px;

    font-weight:600;

    color:var(--charcoal);

}

.form-group input,
.form-group select,
.form-group textarea{

    padding:18px;

    border:1px solid #ddd;

    border-radius:15px;

    font-family:var(--body);

    font-size:1rem;

    transition:.3s;

    background:white;

}

.form-group textarea{

    resize:vertical;

}

.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus{

    outline:none;

    border-color:var(--gold);

    box-shadow:0 0 0 3px rgba(199,167,108,.15);

}

.form-note{

    margin-top:25px;

    text-align:center;

    color:var(--taupe);

    font-style:italic;

}
/* ==========================================================
FOOTER
========================================================== */

.footer{

    background:#2f2b29;

    color:white;

    text-align:center;

    padding:90px 0 60px;

}

.footer-logo{

    width:185px;

    margin:0 auto 30px;

}

.footer h3{

    color:white;

    margin-bottom:20px;

}

.footer p{

    color:rgba(255,255,255,.8);

}

.footer-links{

    display:flex;

    justify-content:center;

    flex-wrap:wrap;

    gap:30px;

    margin:40px 0;

}

.footer-links a{

    transition:.3s;

}

.footer-links a:hover{

    color:var(--gold);

}

.footer-social{

    margin:35px 0;

    font-weight:600;

}

.copyright{

    margin-top:40px;

    opacity:.6;

    font-size:.9rem;

}
/* ==========================================================
LUXURY DETAILS
========================================================== */

section{

    position:relative;

}

img{

    transition:.4s ease;

}

img:hover{

    transform:scale(1.02);

}

html{

    scroll-padding-top:100px;

}

::selection{

    background:var(--gold);

    color:white;

}

.button{

    letter-spacing:1px;

}

h2{

    margin-bottom:25px;

}

p{

    color:#5d5652;

}

.experience-card,
.partner-card,
.why-card,
.about-card,
.service-card,
.step-card{

    overflow:hidden;

}
/*==========================================================
LOUNGE PACKAGE BOARD
==========================================================*/

.lounge-packages{

    padding:120px 0;

}

.packages-image{

    width:100%;

    display:block;

    margin-top:50px;

    border-radius:20px;

    box-shadow:0 18px 40px rgba(0,0,0,.10);

    transition:.35s ease;

}

.packages-image:hover{

    transform:translateY(-8px);

}
/*==========================================================
FLYER SECTION
==========================================================*/

.flyer-section{

    padding:120px 0;

    background:var(--light);

}

.flyer-image{

    max-width:1000px;

    margin:60px auto 0;

}

.flyer-image img{

    width:100%;

    display:block;

    border-radius:20px;

    box-shadow:0 25px 60px rgba(0,0,0,.12);

    transition:.35s ease;

}

.flyer-image img:hover{

    transform:scale(1.01);

}
/*==========================================================
PRICING GUIDE
==========================================================*/

.pricing-guide{

    padding:120px 0;

}

.pricing-grid{

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:80px;

    align-items:center;

}

.pricing-content h2{

    margin:20px 0 30px;

}

.pricing-content p{

    margin-bottom:22px;

}

.pricing-content .button{

    margin-top:20px;

}

.pricing-image img{

    width:100%;

    display:block;

    border-radius:24px;

    box-shadow:0 25px 60px rgba(0,0,0,.12);

}
/*==========================================================
SLEEPOVER THEMES
==========================================================*/

.theme-showcase{

    padding:40px 0;

}

.theme-row{

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:80px;

    align-items:center;

    margin-bottom:120px;

}

.theme-row.reverse{

    direction:rtl;

}

.theme-row.reverse > *{

    direction:ltr;

}

.theme-image img{

    width:100%;

    display:block;

    border-radius:28px;

    box-shadow:0 25px 60px rgba(0,0,0,.12);

    transition:.35s ease;

}

.theme-image img:hover{

    transform:scale(1.02);

}

.theme-content h2{

    margin:18px 0 25px;

}

.theme-content p{

    margin-bottom:30px;

}
/*==========================================================
MEET US
==========================================================*/

.venue-feature{

    padding:120px 0;

}

.venue-grid{

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:80px;

    align-items:center;

}

.venue-image img{

    width:100%;

    display:block;

    border-radius:24px;

    box-shadow:0 25px 60px rgba(0,0,0,.12);

    transition:.35s ease;

}

.venue-image img:hover{

    transform:scale(1.02);

}

.venue-content h2{

    margin:20px 0 30px;

}

.venue-content p{

    margin-bottom:22px;

}

.venue-content .button{

    margin-top:15px;

}
/*==========================================================
PERSONALISED EXTRAS
==========================================================*/

.extras{

    padding:120px 0;

    background:#faf8f5;

}

.extras-grid{

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:80px;

    align-items:center;

}

.extras-content h2{

    margin:20px 0 30px;

}

.extras-content p{

    margin-bottom:20px;

}

.extras-list{

    list-style:none;

    padding:0;

    margin:35px 0;

}

.extras-list li{

    padding:14px 0;

    border-bottom:1px solid rgba(0,0,0,.08);

    font-size:1.05rem;

}

.extras-list li:last-child{

    border-bottom:none;

}

.extras-image img{

    width:100%;

    display:block;

    border-radius:24px;

    box-shadow:0 25px 60px rgba(0,0,0,.12);

    transition:.35s ease;

}

.extras-image img:hover{

    transform:scale(1.02);

}
/*==========================================================
FREQUENTLY ASKED QUESTIONS
==========================================================*/

.faq{

    padding:120px 0;

    background:var(--light);

}

.faq-grid{

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(320px,1fr));

    gap:30px;

    margin-top:60px;

}

.faq-item{

    background:white;

    padding:35px;

    border-radius:24px;

    box-shadow:var(--shadow);

    transition:.35s ease;

}

.faq-item:hover{

    transform:translateY(-6px);

}

.faq-item h3{

    margin-bottom:18px;

    color:var(--heading);

}

.faq-item p{

    margin-bottom:0;

    line-height:1.8;

}
/*==========================================================
FINAL CALL TO ACTION
==========================================================*/

.homepage-cta{

    padding:140px 0;

    text-align:center;

    background:linear-gradient(
        135deg,
        #f8f4ef 0%,
        #ffffff 100%
    );

}

.homepage-cta h2{

    max-width:800px;

    margin:20px auto 30px;

}

.homepage-cta p{

    max-width:700px;

    margin:0 auto 40px;

}

.homepage-cta .hero-buttons{

    justify-content:center;

    display:flex;

    gap:20px;

    flex-wrap:wrap;

}
/*==========================================================
RESPONSIVE - WEDDING LOUNGES
==========================================================*/

@media (max-width: 992px){

    .story-grid,
    .pricing-grid,
    .venue-grid,
    .extras-grid{

        grid-template-columns:1fr;
        gap:50px;

    }

    .story-image,
    .pricing-image,
    .venue-image,
    .extras-image{

        order:-1;

    }

    .packages-image{

        margin-top:40px;

    }

}

@media (max-width:768px){

    .lounge-packages,
    .flyer-section,
    .pricing-guide,
    .journey,
    .venue-feature,
    .extras,
    .faq,
    .homepage-cta{

        padding:80px 0;

    }

    .journey-grid,
    .faq-grid{

        grid-template-columns:1fr;

    }

    .hero-buttons{

        flex-direction:column;
        align-items:center;

    }

    .hero-buttons .button{

        width:100%;
        max-width:320px;

    }

    .flyer-image{

        margin-top:40px;

    }

}

@media (max-width:576px){

    .journey-step,
    .faq-item{

        padding:28px;

    }

    .extras-list li{

        font-size:1rem;

    }

    .packages-image,
    .flyer-image img,
    .pricing-image img,
    .venue-image img,
    .extras-image img{

        border-radius:18px;

    }

}
/*==========================================================
SLEEPOVERS HERO
==========================================================*/

.sleepover-hero{

    background:url("../images/moonlit.jpg") center/cover no-repeat;

    min-height:90vh;

    position:relative;

}

.sleepover-hero .hero-overlay{

    background:rgba(0,0,0,.45);

    min-height:90vh;

    display:flex;

    align-items:center;

}

.sleepover-hero .hero-content{

    max-width:720px;

    color:#fff;

}

.sleepover-hero h1{

    color:white;

}

.sleepover-hero p{

    color:rgba(255,255,255,.92);

    max-width:650px;

}

.sleepover-hero .hero-buttons{

    margin-top:40px;

}
/*==========================================================
SLEEPOVER STORY
==========================================================*/

.sleepover-story{

    padding:120px 0;

}

.sleepover-story .story-grid{

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:80px;

    align-items:center;

}

.sleepover-story .story-image img{

    width:100%;

    display:block;

    border-radius:24px;

    box-shadow:0 25px 60px rgba(0,0,0,.12);

    transition:.35s ease;

}

.sleepover-story .story-image img:hover{

    transform:scale(1.02);

}

.sleepover-story .story-content h2{

    margin:20px 0 30px;

}

.sleepover-story .story-content p{

    margin-bottom:22px;

}

.sleepover-story .story-content .button{

    margin-top:20px;

}
/*==========================================================
SLEEPOVER THEMES
==========================================================*/

.theme-grid{

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(320px,1fr));

    gap:40px;

    margin-top:60px;

}

.theme-card{

    background:#fff;

    border-radius:24px;

    overflow:hidden;

    box-shadow:0 20px 50px rgba(0,0,0,.08);

    transition:.35s ease;

    display:flex;

    flex-direction:column;

}

.theme-card:hover{

    transform:translateY(-8px);

}

.theme-card img{

    width:100%;

    height:320px;

    object-fit:cover;

    display:block;

}

.theme-content{

    padding:35px;

    display:flex;

    flex-direction:column;

    flex-grow:1;

}

.theme-content h3{

    margin-bottom:18px;

}

.theme-content p{

    margin-bottom:25px;

    flex-grow:1;

}

.theme-content .button{

    align-self:flex-start;

}
/*==========================================================
FEATURED THEME SECTIONS
==========================================================*/

.theme-showcase{

    padding:120px 0;

}

.theme-row{

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:80px;

    align-items:center;

    margin-bottom:120px;

}

.theme-row:last-child{

    margin-bottom:0;

}

.theme-row.reverse{

    direction:rtl;

}

.theme-row.reverse > *{

    direction:ltr;

}

.theme-image img{

    width:100%;

    display:block;

    border-radius:24px;

    box-shadow:0 25px 60px rgba(0,0,0,.12);

    object-fit:cover;

}

.theme-text h2{

    margin:20px 0;

}

.theme-text p{

    margin-bottom:22px;

}

.theme-text ul{

    margin:30px 0;

    padding-left:20px;

}

.theme-text li{

    margin-bottom:12px;

}

.theme-text .button{

    margin-top:20px;

}
/*==========================================================
WHAT'S INCLUDED
==========================================================*/

.included{

    padding:120px 0;

    background:var(--light);

}

.included-grid{

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(260px,1fr));

    gap:30px;

    margin-top:60px;

}

.included-card{

    background:#fff;

    padding:40px 30px;

    border-radius:24px;

    text-align:center;

    box-shadow:var(--shadow);

    transition:.35s ease;

}

.included-card:hover{

    transform:translateY(-8px);

}

.included-card img{

    width:70px;

    height:70px;

    object-fit:contain;

    margin:0 auto 25px;

}

.included-card h3{

    margin-bottom:18px;

}

.included-card p{

    margin-bottom:0;

}
/*==========================================================
OPTIONAL EXTRAS
==========================================================*/

.extras{

    padding:120px 0;

}

.extras-grid{

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(300px,1fr));

    gap:35px;

    margin-top:60px;

}

.extra-card{

    background:#fff;

    border-radius:24px;

    overflow:hidden;

    box-shadow:0 20px 50px rgba(0,0,0,.08);

    transition:.35s ease;

    display:flex;

    flex-direction:column;

}

.extra-card:hover{

    transform:translateY(-8px);

}

.extra-card img{

    width:100%;

    height:260px;

    object-fit:cover;

    display:block;

}

.extra-card-content{

    padding:30px;

    display:flex;

    flex-direction:column;

    flex-grow:1;

}

.extra-card-content h3{

    margin-bottom:15px;

}

.extra-card-content p{

    margin-bottom:20px;

    flex-grow:1;

}

.extra-card-content .button{

    align-self:flex-start;

}
/*==========================================================
REVIEWS
==========================================================*/

.reviews{

    padding:120px 0;

    background:var(--light);

}

.reviews-grid{

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(320px,1fr));

    gap:30px;

    margin-top:60px;

}

.review-card{

    background:#fff;

    padding:40px;

    border-radius:24px;

    box-shadow:var(--shadow);

    transition:.35s ease;

    display:flex;

    flex-direction:column;

}

.review-card:hover{

    transform:translateY(-8px);

}

.review-stars{

    font-size:1.2rem;

    color:#d4af37;

    margin-bottom:20px;

}

.review-card p{

    font-style:italic;

    margin-bottom:25px;

    flex-grow:1;

}

.review-author{

    font-weight:600;

    color:var(--heading);

}

.review-location{

    font-size:.95rem;

    opacity:.7;

    margin-top:5px;

}
/*==========================================================
SLEEPOVER FAQ
==========================================================*/

.faq{

    padding:120px 0;

    background:#faf8f5;

}

.faq-grid{

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(320px,1fr));

    gap:30px;

    margin-top:60px;

}

.faq-item{

    background:#fff;

    padding:35px;

    border-radius:24px;

    box-shadow:0 20px 50px rgba(0,0,0,.08);

    transition:.35s ease;

}

.faq-item:hover{

    transform:translateY(-8px);

}

.faq-item h3{

    margin-bottom:18px;

    color:var(--heading);

}

.faq-item p{

    margin:0;

    line-height:1.8;

}
/*==========================================================
SLEEPOVER CALL TO ACTION
==========================================================*/

.sleepover-cta{

    padding:140px 0;

    text-align:center;

    background:linear-gradient(
        135deg,
        #f8f4ef 0%,
        #ffffff 100%
    );

}

.sleepover-cta h2{

    max-width:800px;

    margin:20px auto 30px;

}

.sleepover-cta p{

    max-width:700px;

    margin:0 auto 40px;

    line-height:1.8;

}

.sleepover-cta .hero-buttons{

    display:flex;

    justify-content:center;

    gap:20px;

    flex-wrap:wrap;

}

.sleepover-cta .button{

    min-width:220px;

}
/*==========================================================
RESPONSIVE - SLEEPOVERS
==========================================================*/

@media (max-width:992px){

    .sleepover-story .story-grid,
    .theme-row{

        grid-template-columns:1fr;
        gap:50px;

    }

    .theme-row.reverse{

        direction:ltr;

    }

    .theme-image{

        order:-1;

    }

}

@media (max-width:768px){

    .sleepover-story,
    .theme-showcase,
    .included,
    .extras,
    .reviews,
    .faq,
    .sleepover-cta{

        padding:80px 0;

    }

    .theme-grid,
    .included-grid,
    .extras-grid,
    .reviews-grid,
    .faq-grid{

        grid-template-columns:1fr;

    }

    .theme-card img{

        height:260px;

    }

    .theme-image img{

        border-radius:20px;

    }

    .sleepover-cta .hero-buttons{

        flex-direction:column;
        align-items:center;

    }

    .sleepover-cta .button{

        width:100%;
        max-width:320px;

    }

}

@media (max-width:576px){

    .theme-content,
    .included-card,
    .extra-card-content,
    .review-card,
    .faq-item{

        padding:25px;

    }

    .theme-card img,
    .extra-card img{

        height:220px;

    }

}
/*==========================================================
KEEPSAKES HERO
==========================================================*/

.hero{

    position:relative;

    min-height:90vh;

    background-size:cover !important;

    background-position:center !important;

    display:flex;

    align-items:center;

}

.hero .overlay{

    width:100%;

    min-height:90vh;

    display:flex;

    align-items:center;

    background:rgba(35,35,35,.42);

}

.hero .hero-content{

    max-width:720px;

    color:#fff;

}

.hero .hero-content h1{

    color:#fff;

    margin:20px 0 30px;

}

.hero .hero-content p{

    max-width:650px;

    color:rgba(255,255,255,.92);

    line-height:1.8;

}

.hero .button{

    margin-top:35px;

}
/*==========================================================
KEEPSAKES COLLECTION
==========================================================*/

#collection{

    padding:120px 0;

}

#collection .services-grid{

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(320px,1fr));

    gap:35px;

    margin-top:60px;

}

#collection .service-card{

    background:#fff;

    padding:45px 35px;

    border-radius:24px;

    text-align:center;

    box-shadow:0 20px 50px rgba(0,0,0,.08);

    transition:.35s ease;

}

#collection .service-card:hover{

    transform:translateY(-8px);

}

#collection .service-card h3{

    margin-bottom:20px;

}

#collection .service-card p{

    margin-bottom:0;

    line-height:1.8;

}
/*==========================================================
KEEPSAKES CTA
==========================================================*/

.keepsakes-cta{

    padding:140px 0;

    text-align:center;

    background:linear-gradient(
        135deg,
        #f8f4ef 0%,
        #ffffff 100%
    );

}

.keepsakes-cta .section-title{

    max-width:800px;

    margin:0 auto;

}

.keepsakes-cta h2{

    margin:20px 0 30px;

}

.keepsakes-cta p{

    max-width:650px;

    margin:0 auto 40px;

    line-height:1.8;

}

.keepsakes-cta .button{

    min-width:220px;

}
/*==========================================================
COLLECTION FEATURE SECTIONS
==========================================================*/

.collection-feature{

    padding:120px 0;

}

.collection-feature.alternate{

    background:var(--light);

}

.collection-grid{

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:80px;

    align-items:center;

}

.collection-image img{

    width:100%;

    display:block;

    border-radius:24px;

    box-shadow:0 25px 60px rgba(0,0,0,.12);

    transition:.35s ease;

}

.collection-image img:hover{

    transform:scale(1.02);

}

.collection-content h2{

    margin:20px 0 30px;

}

.collection-content p{

    margin-bottom:22px;

}

.collection-content .button{

    margin-top:20px;

}
/*==========================================================
BESPOKE CREATIONS
==========================================================*/

.bespoke{

    padding:120px 0;

    background:#faf8f5;

}

.bespoke-grid{

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:80px;

    align-items:center;

}

.bespoke-image img{

    width:100%;

    display:block;

    border-radius:24px;

    box-shadow:0 25px 60px rgba(0,0,0,.12);

    transition:.35s ease;

}

.bespoke-image img:hover{

    transform:scale(1.02);

}

.bespoke-content h2{

    margin:20px 0 30px;

}

.bespoke-content p{

    margin-bottom:22px;

}

.bespoke-content .button{

    margin-top:20px;

}
/*==========================================================
WHY CHOOSE TIDE & TALE
==========================================================*/

.why-us{

    padding:120px 0;

    background:#fff;

}

.why-grid{

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(260px,1fr));

    gap:30px;

    margin-top:60px;

}

.why-card{

    background:#faf8f5;

    padding:40px 35px;

    border-radius:24px;

    text-align:center;

    box-shadow:0 20px 50px rgba(0,0,0,.08);

    transition:.35s ease;

}

.why-card:hover{

    transform:translateY(-8px);

}

.why-card h3{

    margin-bottom:18px;

    font-size:1.4rem;

}

.why-card p{

    margin-bottom:0;

    line-height:1.8;

}
/*==========================================================
RESPONSIVE - KEEPSAKES
==========================================================*/

@media (max-width:992px){

    .collection-grid,
    .bespoke-grid{

        grid-template-columns:1fr;
        gap:50px;

    }

    .collection-image,
    .bespoke-image{

        order:-1;

    }

}

@media (max-width:768px){

    .collection-feature,
    .bespoke,
    .why-us{

        padding:80px 0;

    }

    .why-grid{

        grid-template-columns:1fr;

    }

    .collection-image img,
    .bespoke-image img{

        border-radius:20px;

    }

}

@media (max-width:576px){

    .why-card{

        padding:28px;

    }

    .collection-content,
    .bespoke-content{

        text-align:center;

    }

    .collection-content .button,
    .bespoke-content .button{

        width:100%;
        max-width:320px;

    }

}
/*==========================================================
ABOUT HERO
==========================================================*/

.about-hero{

    background:url("../images/about-hero.jpg") center center/cover no-repeat;

    min-height:90vh;

    position:relative;

}

.about-hero .hero-overlay{

    background:rgba(35,35,35,.45);

    min-height:90vh;

    display:flex;

    align-items:center;

}

.about-hero .hero-content{

    max-width:720px;

    color:#fff;

}

.about-hero h1{

    color:#fff;

    margin:20px 0 30px;

}

.about-hero p{

    color:rgba(255,255,255,.92);

    max-width:650px;

    line-height:1.8;

}

.about-hero .hero-buttons{

    margin-top:40px;

    display:flex;

    gap:20px;

    flex-wrap:wrap;

}
.about{

    position:relative;
    overflow:hidden;

}

.corner-left{

    position:absolute;
    left:-40px;
    top:30px;

    width:180px;

    opacity:.22;

}

.corner-right{

    position:absolute;
    right:-40px;
    bottom:30px;

    width:180px;

    opacity:.22;

}
/*==========================================================
MY STORY
==========================================================*/

.about-story{

    padding:120px 0;

}

.about-story .story-grid{

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:90px;

    align-items:center;

}

.about-story .story-image img{

    width:100%;

    display:block;

    border-radius:24px;

    box-shadow:0 25px 60px rgba(0,0,0,.12);

    transition:.35s ease;

}

.about-story .story-image img:hover{

    transform:scale(1.02);

}

.about-story .story-content h2{

    margin:20px 0 30px;

}

.about-story .story-content p{

    margin-bottom:22px;

    line-height:1.9;

}

.about-grid-small{

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:25px;

    margin-top:50px;

}

.about-card{

    background:#fff;

    padding:35px;

    border-radius:24px;

    box-shadow:0 20px 50px rgba(0,0,0,.08);

    transition:.35s ease;

}

.about-card:hover{

    transform:translateY(-8px);

}

.about-card h3{

    margin-bottom:15px;

}

.about-card p{

    margin:0;

}
/*==========================================================
WHY I LOVE WHAT I DO
==========================================================*/

.passion{

    padding:120px 0;

    background:var(--light);

}

.passion .story-grid{

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:90px;

    align-items:center;

}

.passion .story-image img{

    width:100%;

    display:block;

    border-radius:24px;

    box-shadow:0 25px 60px rgba(0,0,0,.12);

    transition:.35s ease;

}

.passion .story-image img:hover{

    transform:scale(1.02);

}

.passion .story-content h2{

    margin:20px 0 30px;

}

.passion .story-content p{

    margin-bottom:22px;

    line-height:1.9;

}

.passion .button{

    margin-top:25px;

}
/*==========================================================
PERSONAL NOTE
==========================================================*/

.personal-note{

    padding:140px 0;

}

.note-box{

    max-width:900px;

    margin:0 auto;

    background:#fff;

    padding:70px;

    border-radius:30px;

    text-align:center;

    box-shadow:0 25px 60px rgba(0,0,0,.10);

}

.note-intro{

    font-size:1.3rem;

    font-weight:600;

    color:var(--heading);

    margin-bottom:25px;

}

.note-text{

    max-width:650px;

    margin:0 auto 20px;

    line-height:1.9;

}

.signature-area{

    margin:50px 0;

}

.with-love{

    font-style:italic;

    margin-bottom:15px;

}

.signature-image{

    width:220px;

    max-width:100%;

    margin:10px auto 20px;

    display:block;

}

.signature-title{

    font-size:.95rem;

    letter-spacing:2px;

    text-transform:uppercase;

    color:var(--taupe);

}

.note-box .button{

    margin-top:20px;

    min-width:260px;

}
/*==========================================================
ABOUT CALL TO ACTION
==========================================================*/

.about-cta{

    padding:140px 0;

    background:linear-gradient(
        135deg,
        #f8f4ef 0%,
        #ffffff 100%
    );

}

.about-cta-content{

    max-width:850px;

    margin:0 auto;

    text-align:center;

}

.about-cta-content h2{

    margin:20px 0 30px;

}

.about-cta-content p{

    max-width:700px;

    margin:0 auto 22px;

    line-height:1.9;

}

.about-cta .hero-buttons{

    display:flex;

    justify-content:center;

    gap:20px;

    flex-wrap:wrap;

    margin-top:45px;

}

.about-cta .button{

    min-width:220px;

}
/*==========================================================
RESPONSIVE - ABOUT
==========================================================*/

@media (max-width:992px){

    .about-story .story-grid,
    .passion .story-grid{

        grid-template-columns:1fr;
        gap:50px;

    }

    .about-story .story-image,
    .passion .story-image{

        order:-1;

    }

}

@media (max-width:768px){

    .about-story,
    .passion,
    .personal-note,
    .about-cta{

        padding:80px 0;

    }

    .about-grid-small{

        grid-template-columns:1fr;

    }

    .note-box{

        padding:45px 30px;

    }

    .about-cta .hero-buttons{

        flex-direction:column;
        align-items:center;

    }

    .about-cta .button{

        width:100%;
        max-width:320px;

    }

}

@media (max-width:576px){

    .about-card{

        padding:28px;

    }

    .signature-image{

        width:180px;

    }

    .note-intro{

        font-size:1.15rem;

    }

}
/*==========================================================
CONTACT HERO
==========================================================*/

.contact-hero{

    background:url("../images/contact-hero.jpg") center center/cover no-repeat;

    min-height:90vh;

    position:relative;

}

.contact-hero .hero-overlay{

    background:rgba(35,35,35,.45);

    min-height:90vh;

    display:flex;

    align-items:center;

}

.contact-hero .hero-content{

    max-width:720px;

    color:#fff;

}

.contact-hero h1{

    color:#fff;

    margin:20px 0 30px;

}

.contact-hero p{

    color:rgba(255,255,255,.92);

    max-width:650px;

    line-height:1.8;

}

.contact-hero .hero-buttons{

    display:flex;

    gap:20px;

    flex-wrap:wrap;

    margin-top:40px;

}
/*==========================================================
WHAT HAPPENS NEXT
==========================================================*/

.next-steps{

    padding:120px 0;

    background:var(--light);

}

.steps-grid{

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(260px,1fr));

    gap:30px;

    margin-top:60px;

}

.step-card{

    background:#fff;

    padding:40px;

    border-radius:24px;

    box-shadow:0 20px 50px rgba(0,0,0,.08);

    transition:.35s ease;

    text-align:center;

}

.step-card:hover{

    transform:translateY(-8px);

}

.step-number{

    width:70px;

    height:70px;

    margin:0 auto 25px;

    border-radius:50%;

    background:var(--gold);

    color:#fff;

    display:flex;

    align-items:center;

    justify-content:center;

    font-size:1.5rem;

    font-weight:700;

}

.step-card h3{

    margin-bottom:18px;

}

.step-card p{

    margin:0;

    line-height:1.8;

}
/*==========================================================
CONTACT INFORMATION
==========================================================*/

.contact-intro{

    padding:120px 0;

}

.contact-services{

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(280px,1fr));

    gap:30px;

    margin-top:60px;

}

.contact-card{

    background:#fff;

    padding:40px;

    border-radius:24px;

    box-shadow:0 20px 50px rgba(0,0,0,.08);

    transition:.35s ease;

    text-align:center;

}

.contact-card:hover{

    transform:translateY(-8px);

}

.contact-card h3{

    margin-bottom:20px;

}

.contact-card p{

    margin-bottom:15px;

    line-height:1.8;

}

.contact-card a{

    color:var(--gold);

    font-weight:600;

    text-decoration:none;

    transition:.3s ease;

}

.contact-card a:hover{

    color:var(--heading);

}
/*==========================================================
ENQUIRY FORM
==========================================================*/

.enquiry-section{

    padding:120px 0;

    background:#faf8f5;

}

.enquiry-form{

    max-width:1000px;

    margin:60px auto 0;

    background:#fff;

    padding:60px;

    border-radius:30px;

    box-shadow:0 25px 60px rgba(0,0,0,.10);

}

.form-row{

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:25px;

    margin-bottom:25px;

}

.form-group{

    display:flex;

    flex-direction:column;

}

.form-group.full-width{

    grid-column:1 / -1;

}

.form-group label{

    margin-bottom:10px;

    font-weight:600;

    color:var(--heading);

}

.form-group input,
.form-group select,
.form-group textarea{

    padding:18px 20px;

    border:1px solid #ddd;

    border-radius:16px;

    background:#fff;

    font-family:inherit;

    font-size:1rem;

    transition:.3s ease;

}

.form-group textarea{

    min-height:180px;

    resize:vertical;

}

.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus{

    outline:none;

    border-color:var(--gold);

    box-shadow:0 0 0 4px rgba(199,167,108,.15);

}

.enquiry-form button,
.enquiry-form .button{

    margin-top:20px;

    min-width:220px;

}

.form-note{

    margin-top:30px;

    text-align:center;

    font-style:italic;

    color:var(--taupe);

}
/*==========================================================
BOOK WITH CONFIDENCE
==========================================================*/

.confidence{

    padding:120px 0;

    background:#fff;

}

.confidence-grid{

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(280px,1fr));

    gap:30px;

    margin-top:60px;

}

.confidence-card{

    background:#faf8f5;

    padding:40px;

    border-radius:24px;

    text-align:center;

    box-shadow:0 20px 50px rgba(0,0,0,.08);

    transition:.35s ease;

}

.confidence-card:hover{

    transform:translateY(-8px);

}

.confidence-card h3{

    margin-bottom:18px;

    color:var(--heading);

}

.confidence-card p{

    margin:0;

    line-height:1.8;

}

.confidence-icon{

    width:70px;

    height:70px;

    margin:0 auto 25px;

    border-radius:50%;

    background:rgba(199,167,108,.12);

    display:flex;

    align-items:center;

    justify-content:center;

    font-size:2rem;

}
/*==========================================================
RESPONSIVE - CONTACT
==========================================================*/

@media (max-width:992px){

    .contact-services,
    .confidence-grid{

        grid-template-columns:1fr;
        gap:30px;

    }

    .form-row{

        grid-template-columns:1fr;

    }

}

@media (max-width:768px){

    .contact-intro,
    .next-steps,
    .enquiry-section,
    .confidence{

        padding:80px 0;

    }

    .enquiry-form{

        padding:40px 25px;

    }

    .contact-hero .hero-buttons{

        flex-direction:column;
        align-items:center;

    }

    .contact-hero .button{

        width:100%;
        max-width:320px;

    }

}

@media (max-width:576px){

    .contact-card,
    .step-card,
    .confidence-card{

        padding:28px;

    }

    .step-number,
    .confidence-icon{

        width:60px;
        height:60px;

        font-size:1.3rem;

    }

}
/*==========================================================
CONTACT FORM
==========================================================*/

.contact-form-section{

    padding:120px 0;

    background:#faf8f5;

}

.contact-form{

    max-width:900px;

    margin:60px auto 0;

}

.form-grid{

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:25px;

    margin-bottom:25px;

}

.contact-form input,
.contact-form select,
.contact-form textarea{

    width:100%;

    padding:18px 22px;

    border:1px solid #e6dfd7;

    border-radius:18px;

    font-size:1rem;

    font-family:'Montserrat',sans-serif;

    background:white;

    transition:.3s;

}

.contact-form textarea{

    resize:vertical;

    margin-bottom:30px;

}

.contact-form input:focus,
.contact-form select:focus,
.contact-form textarea:focus{

    outline:none;

    border-color:var(--gold);

    box-shadow:0 0 0 4px rgba(202,164,93,.15);

}

.contact-form button{

    border:none;

    cursor:pointer;

}

@media(max-width:768px){

    .form-grid{

        grid-template-columns:1fr;

    }

}
/*==========================================================
MOBILE IMPROVEMENTS
==========================================================*/

@media (max-width: 768px) {

    body{
        padding-top:70px;
    }

    section{
        padding:70px 0;
    }

    .navbar .container{
        min-height:70px;
    }

    .logo{
        width:120px;
    }

    h1{
        font-size:2.9rem;
        line-height:1;
    }

    h2{
        font-size:2.2rem;
    }

    h3{
        font-size:1.5rem;
    }

    .hero-content{
        padding:140px 0 80px;
        text-align:center;
    }

    .hero-content p{
        margin-left:auto;
        margin-right:auto;
    }

    .hero-buttons{
        justify-content:center;
    }

    .button{
        width:100%;
        max-width:320px;
    }

    .experience-grid,
    .why-grid,
    .reviews-grid,
    .story-grid,
    .about-grid,
    .gift-grid,
    .instagram-grid,
    .memories-grid{

        grid-template-columns:1fr;

        gap:40px;

    }

    .experience-card img,
    .partner-card img{

        aspect-ratio:16/10;

    }

    .section-title{

        margin-bottom:50px;

    }

}
/* =====================================
   RECENT CELEBRATIONS
===================================== */

.recent-celebrations{
    padding:100px 20px;
    background:#faf8f5;
}

.recent-celebrations .container{
    max-width:1200px;
    margin:auto;
}

.recent-celebrations .section-label{
    display:block;
    text-align:center;
    letter-spacing:4px;
    color:#c8a15a;
    font-size:.85rem;
    margin-bottom:18px;
    font-weight:600;
}

.recent-celebrations h2{
    text-align:center;
    font-size:2.8rem;
    margin-bottom:20px;
}

.recent-celebrations .section-intro{
    text-align:center;
    max-width:700px;
    margin:0 auto 60px;
    color:#666;
    line-height:1.8;
}

.celebration-card{
    display:grid;
    grid-template-columns:1.2fr 1fr;
    gap:60px;
    align-items:center;
}

.celebration-image img{
    width:100%;
    border-radius:20px;
    box-shadow:0 25px 60px rgba(0,0,0,.12);
}

.celebration-content h3{
    font-size:2rem;
    margin-bottom:20px;
}

.celebration-content p{
    color:#666;
    line-height:1.9;
    margin-bottom:35px;
}

@media(max-width:768px){

    .celebration-card{
        grid-template-columns:1fr;
        gap:35px;
    }

    .recent-celebrations h2{
        font-size:2rem;
    }

    .celebration-content{
        text-align:center;
    }

}
/* ===========================
   MOBILE NAVIGATION
=========================== */

@media (max-width: 768px) {

 .header container{
    flex-direction:column;
    gap:20px;
    padding:18px 20px;
}

.logo{
    width:140px;
    margin:0 auto;
}

nav ul{
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:14px;
    padding:0;
}

nav ul li a{
    font-size:15px;
}

.header-buttons{
    width:100%;
    display:flex;
    justify-content:center;
}

.btn-header{
    width:100%;
    max-width:280px;
    text-align:center;
}

.hero{
    min-height:80vh;
    padding:120px 25px 70px;
}

.hero h1{
    font-size:3rem;
    line-height:1.05;
}

.hero p{
    font-size:1.05rem;
}

.hero-buttons{
    flex-direction:column;
}

.hero-buttons .btn{
    width:100%;
}

img{
    max-width:100%;
    height:auto;
}

}
/* ==========================
   LUXURY SECTION DIVIDERS
========================== */

.section-title::after{

    content:"♥";

    display:block;

    margin:22px auto 0;

    font-size:16px;

    color:var(--gold);

    opacity:.7;

}
/* ==========================================================
   LUXURY HOMEPAGE HERO POLISH
========================================================== */

/* Softer, warmer overlay */
.home-hero::before{
    background:linear-gradient(
        90deg,
        rgba(35,30,27,.58) 0%,
        rgba(35,30,27,.38) 45%,
        rgba(35,30,27,.12) 100%
    );
}

/* Elegant glow around hero content */
.home-hero .hero-content{
    text-shadow:0 2px 20px rgba(0,0,0,.18);
}

/* Softer luxury button */
.home-hero .button{
    box-shadow:
        0 12px 35px rgba(0,0,0,.12),
        0 0 25px rgba(199,160,98,.12);
}

/* Tiny decorative heart above the main heading */
.home-hero .hero-content::before{
    content:"♡";
    display:block;
    font-size:26px;
    color:#f3d8a3;
    margin-bottom:14px;
    opacity:.9;
}


/* MOBILE HOMEPAGE HERO */

@media (max-width:768px){

    .home-hero{
        min-height:78vh;
        padding:0 18px;
        background-position:center center;
    }

    .home-hero .hero-content{
        padding:125px 0 65px;
        text-align:center;
        max-width:100%;
    }

    .home-hero .hero-content h1{
        font-size:3.15rem;
        line-height:.98;
        margin:18px auto 25px;
        letter-spacing:-.5px;
    }

    .home-hero .hero-content p{
        font-size:1rem;
        line-height:1.7;
        max-width:340px;
        margin:0 auto 28px;
    }

    .home-hero .hero-buttons{
        justify-content:center;
        align-items:center;
        gap:12px;
    }

    .home-hero .button{
        width:100%;
        max-width:290px;
        padding:15px 25px;
    }

    .home-hero .section-tag{
        font-size:.7rem;
        letter-spacing:3px;
    }

    .home-hero .hero-content::before{
        font-size:22px;
        margin-bottom:10px;
    }

}
/* =====================================
   HOMEPAGE LUXURY SPACING
===================================== */

.home-about{
    padding-top:140px;
    padding-bottom:160px;
}

.why-us{
    padding-top:160px;
    padding-bottom:160px;
}

.reviews{
    padding-top:150px;
    padding-bottom:150px;
}

.homepage-cta{
    padding-top:180px;
    padding-bottom:180px;
}
/*==============================
TRUST STRIP
==============================*/

.trust-strip{

    background:#ffffff;

    padding:45px 20px;

    text-align:center;

    border-top:1px solid rgba(199,160,98,.12);
    border-bottom:1px solid rgba(199,160,98,.12);

}

.trust-strip p{

    color:#d4af37;

    font-size:1.3rem;

    letter-spacing:8px;

    margin-bottom:10px;

}

.trust-strip h3{

    font-size:1.5rem;

    margin-bottom:12px;

}

.trust-strip span{

    color:#8a827c;

    letter-spacing:1px;

}
.section-divider{

    text-align:center;

    margin:70px auto;

}

.section-divider img{

    width:90%;

    max-width:1100px;

}
.gold-speckles{

    position:absolute;

    top:0;

    right:0;

    width:320px;

    opacity:.30;

    pointer-events:none;

}
.heart-divider{

    width:220px;

    margin:90px auto;

}
body{

background:
url(images/gold-speckles.png) top center no-repeat,

#fefcf9;

}
.homepage-brand{
    width:360px;
    max-width:85%;
    display:block;
    margin:0 auto 35px;
}

.wave-divider{
    text-align:center;
    margin:-20px auto 60px;
}

.wave-divider img{
    width:100%;
    max-width:1200px;
}

.section-divider{
    text-align:center;
    margin:70px auto;
}

.section-divider img{
    width:100%;
    max-width:1000px;
}

.heart-divider{
    text-align:center;
    margin:70px auto;
}

.heart-divider img{
    width:220px;
}

.about-hannah,
.homepage-cta,
.experiences{
    position:relative;
}

.floral-left{
    position:absolute;
    left:-40px;
    top:40px;
    width:170px;
    opacity:.22;
}

.floral-right{
    position:absolute;
    right:-40px;
    bottom:40px;
    width:170px;
    opacity:.22;
}

.gold-speckles{
    position:absolute;
    top:20px;
    right:20px;
    width:280px;
    opacity:.18;
    pointer-events:none;
}