/* Beauty Spa - bs2-* prefix
   Palette:
   - peach pink #f5d6c7
   - sage green #a8c4a2
   - cream      #fdf6ee
   - white      #ffffff
   - dark brown #5a4530
   - coral      #e88e7d
*/

@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500;1,600;1,700&family=Inter:wght@300;400;500;600;700&display=swap');

[x-cloak]{display:none !important;}

*,
*::before,
*::after{box-sizing:border-box;}

html,body{margin:0;padding:0;}

body{
    font-family:'Inter', system-ui, -apple-system, Segoe UI, sans-serif;
    color:#5a4530;
    background:#fdf6ee;
    font-size:16px;
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
}

img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
a:hover{opacity:0.85;}

/* preview banner */
.preview-banner{
    background:#f5d6c7;
    color:#5a4530;
    text-align:center;
    padding:10px 16px;
    font-size:14px;
    font-weight:600;
    letter-spacing:0.04em;
    border-bottom:1px solid rgba(90,69,48,0.15);
}

/* Buttons */
.bs2-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    padding:12px 26px;
    border-radius:999px;
    font-weight:600;
    font-size:14px;
    letter-spacing:0.02em;
    transition:transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
    border:none;
    cursor:pointer;
    text-decoration:none;
}
.bs2-btn:hover{transform:translateY(-1px);opacity:1;}
.bs2-btn--dark{background:#5a4530;color:#fdf6ee;}
.bs2-btn--dark:hover{background:#3d2f20;box-shadow:0 8px 24px rgba(90,69,48,0.22);}
.bs2-btn--coral{background:#e88e7d;color:#fff;}
.bs2-btn--coral:hover{background:#d97766;box-shadow:0 10px 26px rgba(232,142,125,0.35);}
.bs2-btn--large{padding:16px 36px;font-size:15px;}

.bs2-eyebrow{
    display:inline-block;
    font-size:11px;
    letter-spacing:0.22em;
    text-transform:uppercase;
    color:#a8c4a2;
    font-weight:600;
    margin-bottom:14px;
}

.bs2-section-title{
    font-family:'Cormorant Garamond', serif;
    font-weight:500;
    font-size:48px;
    line-height:1.1;
    margin:0 0 18px;
    color:#5a4530;
}
.bs2-section-title em{font-style:italic;font-weight:500;}

/* Header */
.bs2-header{
    position:sticky;
    top:14px;
    z-index:50;
    padding:0 24px;
    margin-top:14px;
}
.bs2-header__inner{
    max-width:1240px;
    margin:0 auto;
    background:#f5d6c7;
    border-radius:999px;
    padding:12px 22px;
    display:flex;
    align-items:center;
    gap:24px;
    box-shadow:0 6px 22px rgba(90,69,48,0.08);
}
.bs2-logo{
    display:flex;
    align-items:center;
    gap:8px;
    font-family:'Cormorant Garamond', serif;
    font-weight:600;
    font-size:22px;
    color:#5a4530;
}
.bs2-logo__text em{font-style:italic;}
.bs2-nav{flex:1;display:flex;justify-content:center;}
.bs2-nav ul{list-style:none;display:flex;gap:28px;margin:0;padding:0;}
.bs2-nav a{
    font-size:14px;
    font-weight:500;
    color:#5a4530;
    padding:6px 4px;
    transition:color 0.2s ease;
}
.bs2-nav a:hover,
.bs2-nav a.is-active{color:#e88e7d;}

/* Hero */
.bs2-hero{
    position:relative;
    padding:48px 24px 96px;
    background:#f5d6c7;
    overflow:hidden;
    margin-top:-14px;
    padding-top:80px;
}
.bs2-hero__leaf{
    position:absolute;
    right:-80px;
    bottom:-80px;
    width:520px;
    height:580px;
    pointer-events:none;
    opacity:0.85;
}
.bs2-hero__leaf svg{width:100%;height:100%;}
.bs2-hero__inner{
    position:relative;
    max-width:1180px;
    margin:0 auto;
    display:grid;
    grid-template-columns:1.05fr 1fr;
    gap:60px;
    align-items:center;
    z-index:1;
}
.bs2-hero__badge{
    display:inline-flex;
    align-items:center;
    gap:8px;
    background:rgba(255,255,255,0.7);
    color:#5a4530;
    border-radius:999px;
    padding:6px 14px;
    font-size:12px;
    letter-spacing:0.18em;
    text-transform:uppercase;
    font-weight:600;
    margin-bottom:22px;
}
.bs2-hero__badge-dot{
    width:7px;height:7px;border-radius:50%;background:#a8c4a2;
}
.bs2-hero__title{
    font-family:'Cormorant Garamond', serif;
    font-style:italic;
    font-weight:500;
    font-size:72px;
    line-height:1.05;
    color:#5a4530;
    margin:0 0 22px;
    letter-spacing:-0.01em;
}
.bs2-hero__lead{
    font-size:16px;
    color:#5a4530;
    max-width:480px;
    margin:0 0 32px;
    opacity:0.85;
}
.bs2-hero__cta-row{
    display:flex;
    align-items:center;
    gap:18px;
    flex-wrap:wrap;
    margin-bottom:46px;
}
.bs2-hero__cta-note{
    font-size:13px;
    color:#5a4530;
    opacity:0.7;
}
.bs2-hero__meta{
    display:flex;
    gap:38px;
    list-style:none;
    margin:0;
    padding:24px 0 0;
    border-top:1px solid rgba(90,69,48,0.18);
}
.bs2-hero__meta li{display:flex;flex-direction:column;}
.bs2-hero__meta strong{
    font-family:'Cormorant Garamond', serif;
    font-size:28px;
    font-weight:600;
    color:#5a4530;
    line-height:1;
}
.bs2-hero__meta span{
    font-size:12px;
    color:#5a4530;
    opacity:0.7;
    margin-top:6px;
    letter-spacing:0.05em;
}

.bs2-hero__media{
    position:relative;
    aspect-ratio:4/5;
    width:100%;
    max-width:520px;
    justify-self:end;
}
.bs2-hero__photo{
    position:absolute;
    inset:0;
    background-size:cover;
    background-position:center;
    border-radius:280px 280px 24px 24px;
    box-shadow:0 30px 70px rgba(90,69,48,0.2);
}
.bs2-hero__chip{
    position:absolute;
    bottom:24px;
    left:-30px;
    background:#fff;
    color:#5a4530;
    border-radius:999px;
    padding:10px 18px;
    display:flex;
    align-items:center;
    gap:10px;
    font-size:13px;
    font-weight:600;
    box-shadow:0 12px 30px rgba(90,69,48,0.18);
}
.bs2-hero__chip-icon{color:#a8c4a2;font-size:16px;}

/* Refresh */
.bs2-refresh{
    background:#ffffff;
    padding:96px 24px;
}
.bs2-refresh__inner{
    max-width:1180px;
    margin:0 auto;
}
.bs2-refresh__head{
    text-align:center;
    max-width:620px;
    margin:0 auto 60px;
}
.bs2-refresh__lead{
    font-size:16px;
    color:#5a4530;
    opacity:0.78;
    margin:6px 0 0;
}
.bs2-refresh__grid{
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:28px;
}
.bs2-refresh__card{
    border-radius:28px;
    padding:24px;
    display:flex;
    flex-direction:column;
    gap:18px;
    transition:transform 0.3s ease, box-shadow 0.3s ease;
}
.bs2-refresh__card:hover{transform:translateY(-4px);box-shadow:0 20px 50px rgba(90,69,48,0.12);}
.bs2-refresh__card--peach{background:#f5d6c7;}
.bs2-refresh__card--sage{background:#a8c4a2;color:#fdf6ee;}
.bs2-refresh__card--sage .bs2-refresh__card-title,
.bs2-refresh__card--sage .bs2-refresh__card-desc,
.bs2-refresh__card--sage .bs2-refresh__card-link{color:#fdf6ee;}
.bs2-refresh__card-photo{
    width:100%;
    aspect-ratio:4/3;
    background-size:cover;
    background-position:center;
    border-radius:18px;
}
.bs2-refresh__card-title{
    font-family:'Cormorant Garamond', serif;
    font-style:italic;
    font-weight:500;
    font-size:28px;
    margin:0;
    line-height:1.1;
    color:#5a4530;
}
.bs2-refresh__card-desc{
    margin:0;
    font-size:14px;
    line-height:1.6;
    color:#5a4530;
    opacity:0.85;
}
.bs2-refresh__card-link{
    margin-top:auto;
    font-size:13px;
    font-weight:600;
    letter-spacing:0.04em;
    color:#5a4530;
    text-transform:uppercase;
    display:inline-flex;
    align-items:center;
    gap:6px;
}
.bs2-refresh__card-link span{transition:transform 0.2s ease;}
.bs2-refresh__card-link:hover span{transform:translateX(4px);}

/* Confident */
.bs2-confident{
    background:#ffffff;
    padding:96px 24px;
}
.bs2-confident__inner{
    max-width:1180px;
    margin:0 auto;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:64px;
    align-items:center;
}
.bs2-confident__media{
    position:relative;
    aspect-ratio:4/5;
}
.bs2-confident__photo{
    position:absolute;
    inset:0;
    background-size:cover;
    background-position:center;
    border-radius:32px;
    box-shadow:0 30px 60px rgba(90,69,48,0.18);
}
.bs2-confident__sticker{
    position:absolute;
    bottom:-26px;
    right:-26px;
    background:#a8c4a2;
    color:#fdf6ee;
    border-radius:999px;
    padding:14px 22px;
    display:flex;
    gap:10px;
    align-items:center;
    font-family:'Cormorant Garamond', serif;
    font-style:italic;
    font-size:18px;
    font-weight:500;
    box-shadow:0 14px 32px rgba(168,196,162,0.45);
}
.bs2-confident__body{
    margin:6px 0 26px;
    font-size:16px;
    color:#5a4530;
    opacity:0.85;
}
.bs2-confident__bullets{
    list-style:none;
    margin:0 0 32px;
    padding:0;
    display:grid;
    gap:10px;
}
.bs2-confident__bullets li{
    display:flex;
    align-items:center;
    gap:12px;
    font-size:14px;
}
.bs2-confident__check{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:24px;
    height:24px;
    border-radius:50%;
    background:#a8c4a2;
    color:#fff;
    font-size:13px;
}

/* Services */
.bs2-services{
    background:#fdf6ee;
    padding:96px 24px;
}
.bs2-services__inner{
    max-width:1180px;
    margin:0 auto;
}
.bs2-services__head{
    text-align:center;
    max-width:620px;
    margin:0 auto 60px;
}
.bs2-services__lead{
    margin:6px 0 0;
    font-size:16px;
    color:#5a4530;
    opacity:0.78;
}
.bs2-services__grid{
    display:grid;
    grid-template-columns:repeat(4, 1fr);
    gap:24px;
}
.bs2-services__card{
    background:#fff;
    border-radius:24px;
    overflow:hidden;
    display:flex;
    flex-direction:column;
    transition:transform 0.3s ease, box-shadow 0.3s ease;
    border:1px solid rgba(90,69,48,0.06);
}
.bs2-services__card:hover{
    transform:translateY(-6px);
    box-shadow:0 22px 50px rgba(90,69,48,0.12);
}
.bs2-services__photo{
    width:100%;
    aspect-ratio:4/3;
    background-size:cover;
    background-position:center;
}
.bs2-services__body{
    padding:20px;
    display:flex;
    flex-direction:column;
    gap:10px;
    flex:1;
}
.bs2-services__title{
    font-family:'Cormorant Garamond', serif;
    font-weight:500;
    font-size:22px;
    margin:0;
    color:#5a4530;
}
.bs2-services__meta{
    display:flex;
    justify-content:space-between;
    align-items:center;
    font-size:13px;
}
.bs2-services__duration{
    color:#5a4530;
    opacity:0.65;
}
.bs2-services__price{
    color:#e88e7d;
    font-weight:700;
}
.bs2-services__book{
    margin-top:auto;
    font-size:12px;
    font-weight:600;
    letter-spacing:0.08em;
    text-transform:uppercase;
    color:#5a4530;
    display:inline-flex;
    align-items:center;
    gap:6px;
    padding-top:8px;
    border-top:1px solid rgba(90,69,48,0.08);
}
.bs2-services__book span{transition:transform 0.2s ease;}
.bs2-services__book:hover span{transform:translateX(4px);}

/* CTA */
.bs2-cta{
    background:#f5d6c7;
    padding:96px 24px;
    text-align:center;
    position:relative;
    overflow:hidden;
}
.bs2-cta__inner{
    position:relative;
    max-width:680px;
    margin:0 auto;
    z-index:1;
}
.bs2-cta__leaf{
    display:inline-block;
    font-size:32px;
    color:#a8c4a2;
    margin-bottom:14px;
}
.bs2-cta__title{
    font-family:'Cormorant Garamond', serif;
    font-weight:500;
    font-style:italic;
    font-size:54px;
    line-height:1.1;
    margin:0 0 14px;
    color:#5a4530;
}
.bs2-cta__sub{
    font-size:16px;
    color:#5a4530;
    opacity:0.82;
    margin:0 0 32px;
}

/* Footer */
.bs2-footer{
    background:#a8c4a2;
    color:#fdf6ee;
    padding:72px 24px 28px;
}
.bs2-footer__inner{
    max-width:1180px;
    margin:0 auto;
    display:grid;
    grid-template-columns:1.4fr 1fr 1fr;
    gap:48px;
}
.bs2-footer__brand{
    display:flex;
    align-items:center;
    gap:10px;
    margin-bottom:14px;
}
.bs2-footer__title{
    font-family:'Cormorant Garamond', serif;
    font-size:28px;
    font-weight:600;
}
.bs2-footer__title em{font-style:italic;}
.bs2-footer__tagline{
    font-size:15px;
    opacity:0.9;
    max-width:300px;
    margin:0;
}
.bs2-footer__heading{
    font-family:'Cormorant Garamond', serif;
    font-style:italic;
    font-weight:500;
    font-size:22px;
    margin:0 0 14px;
    color:#fdf6ee;
}
.bs2-footer__col p{
    margin:4px 0;
    font-size:14px;
    opacity:0.92;
}
.bs2-footer__col a:hover{color:#fff;}
.bs2-footer__muted{opacity:0.65 !important;font-size:13px !important;}
.bs2-footer__divider{
    max-width:1180px;
    margin:48px auto 22px;
    height:1px;
    background:#fdf6ee;
    opacity:0.35;
}
.bs2-footer__bottom{
    max-width:1180px;
    margin:0 auto;
    display:flex;
    justify-content:space-between;
    align-items:center;
    font-size:13px;
    opacity:0.85;
    flex-wrap:wrap;
    gap:12px;
}
.bs2-footer__socials{letter-spacing:0.04em;}

/* Contact page reuse */
.contact-page{padding:72px 24px;background:#fdf6ee;}
.contact-page .container{max-width:1080px;margin:0 auto;}
.contact-page .two-col{display:grid;grid-template-columns:1fr 1.4fr;gap:48px;}
.contact-page h1{
    font-family:'Cormorant Garamond', serif;
    font-style:italic;
    font-weight:500;
    font-size:48px;
    margin:0 0 24px;
    color:#5a4530;
}
.contact-form{display:grid;gap:14px;}
.contact-form label{display:flex;flex-direction:column;font-size:13px;font-weight:600;color:#5a4530;gap:6px;}
.contact-form input,
.contact-form select,
.contact-form textarea{
    border:1px solid rgba(90,69,48,0.2);
    border-radius:14px;
    padding:12px 14px;
    font-family:inherit;
    font-size:14px;
    background:#fff;
    color:#5a4530;
}
.contact-form input:focus,
.contact-form select:focus,
.contact-form textarea:focus{outline:2px solid #e88e7d;outline-offset:1px;border-color:#e88e7d;}
.contact-form .hp{display:none;}
.btn.btn-primary{
    background:#e88e7d;color:#fff;border:none;border-radius:999px;padding:14px 26px;
    font-weight:600;font-size:14px;cursor:pointer;letter-spacing:0.02em;
}
.btn.btn-primary:hover{background:#d97766;}
.flash{padding:12px 16px;border-radius:14px;margin-bottom:14px;font-size:14px;}
.flash-success{background:#a8c4a2;color:#fff;}
.flash-error{background:#e88e7d;color:#fff;}

/* 404 */
.not-found{padding:96px 24px;text-align:center;background:#fdf6ee;}
.not-found h1{font-family:'Cormorant Garamond', serif;font-size:54px;margin:0 0 12px;color:#5a4530;}

/* Responsive */
@media (max-width: 800px){
    .bs2-header{top:8px;margin-top:8px;padding:0 14px;}
    .bs2-header__inner{flex-wrap:wrap;border-radius:28px;padding:14px 18px;gap:14px;}
    .bs2-nav{order:3;width:100%;}
    .bs2-nav ul{justify-content:center;flex-wrap:wrap;gap:14px;}

    .bs2-hero{padding:60px 18px 72px;}
    .bs2-hero__inner{grid-template-columns:1fr;gap:40px;}
    .bs2-hero__title{font-size:48px;}
    .bs2-hero__media{justify-self:center;max-width:380px;}
    .bs2-hero__meta{gap:22px;flex-wrap:wrap;}
    .bs2-hero__leaf{width:340px;height:380px;right:-100px;bottom:-100px;}

    .bs2-section-title{font-size:36px;}

    .bs2-refresh{padding:64px 18px;}
    .bs2-refresh__grid{grid-template-columns:1fr;gap:18px;}

    .bs2-confident{padding:64px 18px;}
    .bs2-confident__inner{grid-template-columns:1fr;gap:40px;}
    .bs2-confident__sticker{right:14px;bottom:-18px;font-size:15px;padding:10px 16px;}

    .bs2-services{padding:64px 18px;}
    .bs2-services__grid{grid-template-columns:repeat(2, 1fr);gap:16px;}

    .bs2-cta{padding:72px 18px;}
    .bs2-cta__title{font-size:38px;}

    .bs2-footer{padding:56px 18px 24px;}
    .bs2-footer__inner{grid-template-columns:1fr;gap:32px;}
    .bs2-footer__bottom{flex-direction:column;align-items:flex-start;}

    .contact-page{padding:48px 18px;}
    .contact-page .two-col{grid-template-columns:1fr;gap:32px;}
    .contact-page h1{font-size:36px;}
}

@media (max-width: 480px){
    .bs2-hero__title{font-size:38px;}
    .bs2-services__grid{grid-template-columns:1fr;}
}
