/* LUNA BEAUTY STUDIO - scoped project styles (mirrors client css/styles.css) */
.lbs-project{--lbs-primary:#A0555C;--lbs-primary-dark:#7A3E44;--lbs-accent:#C7A86A;--lbs-bg:#FBF7F1;--lbs-surface:#F3EAE0;--lbs-surface-alt:#EEE1D2;--lbs-ink:#2B211C;--lbs-body:#4B3E37;--lbs-muted:#8B7B70;--lbs-border:#E2D3C3;--lbs-ease:cubic-bezier(.2,.7,.3,1);--lbs-pad:clamp(1.25rem,4vw,3rem)}

/* ===== SHARED CONTAINER: header, body and footer all align ===== */
.lbs-project .et_pb_section > .et_pb_row,
.lbs-header .et_pb_row,
.lbs-footer .et_pb_row{
 width:100%!important;max-width:1280px!important;
 margin-left:auto!important;margin-right:auto!important;
 padding-left:var(--lbs-pad)!important;padding-right:var(--lbs-pad)!important;
 box-sizing:border-box}
.lbs-header .et_pb_row,.lbs-footer .et_pb_row{--lbs-pad:clamp(1.25rem,4vw,3rem)}
/* deliberately narrow blocks stay narrow, but inside the shared container */
.lbs-project .lbs-w740 > .et_pb_column{max-width:740px;margin-left:auto;margin-right:auto}
.lbs-project .lbs-w760 > .et_pb_column{max-width:760px;margin-left:auto;margin-right:auto}
.lbs-project .lbs-w780 > .et_pb_column{max-width:780px;margin-left:auto;margin-right:auto}

/* TYPE SCALE (fluid clamp, per source) */
.lbs-project h1,.lbs-project h2,.lbs-project h3,.lbs-project h4{font-family:Fraunces,Georgia,serif;line-height:1.12;letter-spacing:-.01em}
.lbs-project h1{font-size:clamp(2.6rem,4.5vw + 1rem,5rem)!important;font-weight:500!important}
.lbs-project h2{font-size:clamp(2rem,2.6vw + 1rem,3.25rem)!important;font-weight:500!important}
.lbs-project h3{font-size:clamp(1.5rem,1.4vw + 1rem,2.1rem)!important;font-weight:600!important}
.lbs-project h4{font-size:clamp(1.15rem,.6vw + 1rem,1.4rem)!important;font-weight:600!important}
.lbs-project .lbs-sq h3{font-size:1.35rem!important}
.lbs-project .lbs-cards h3{font-size:1.2rem!important}

/* BUTTONS (.btn) */
.lbs-project .et_pb_button{display:inline-flex!important;align-items:center;justify-content:center;gap:.5em;padding:.95em 1.9em!important;min-height:48px;font-family:Inter,sans-serif!important;font-size:.95rem!important;font-weight:600!important;letter-spacing:.01em!important;border-radius:3px!important;transition:background-color .25s var(--lbs-ease),color .25s var(--lbs-ease),border-color .25s var(--lbs-ease),transform .25s var(--lbs-ease)}
.lbs-project .et_pb_button:after,.lbs-project .et_pb_button:before{display:none!important}
.lbs-project .et_pb_button:hover{transform:translateY(-1px)}

/* CTA BAND: row = container, column = the rounded band */
.lbs-project .lbs-cta .et_pb_row{display:flex!important;justify-content:center;width:100%}
.lbs-project .lbs-cta .et_pb_row > .et_pb_column{
  float:none!important;max-width:820px!important;width:100%!important;
  background:var(--lbs-ink);color:#fff;border-radius:16px;padding:6rem 4rem!important;
  text-align:center;position:relative;overflow:hidden;box-sizing:border-box}
.lbs-project .lbs-cta .et_pb_row > .et_pb_column::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 80% 20%,rgba(199,168,106,.18),transparent 60%);pointer-events:none}
.lbs-project .lbs-cta .et_pb_row > .et_pb_column > *{position:relative;z-index:1}
.lbs-project .lbs-cta h2{color:#fff!important;margin-bottom:1rem!important}
.lbs-project .lbs-cta p{color:#D8C9BC!important;max-width:50ch;margin-left:auto;margin-right:auto;margin-bottom:2.5rem!important}
.lbs-project .lbs-cta-alt .et_pb_row > .et_pb_column{background:var(--lbs-primary-dark)}

/* SECTION HEADERS */
.lbs-project .lbs-secheader > .et_pb_column{max-width:620px;background:none!important;border:0!important;padding:0!important}
.lbs-project .lbs-secheader.lbs-center > .et_pb_column{margin-left:auto;margin-right:auto;text-align:center}

/* PHOTO FRAME (.ph-photo) */
.lbs-project .et_pb_image{position:relative;overflow:hidden;border-radius:6px;background:var(--lbs-surface-alt)}
.lbs-project .et_pb_image img{width:100%;height:100%;object-fit:cover;display:block;border-radius:6px;transition:transform .6s var(--lbs-ease)}
.lbs-project .et_pb_image:hover img{transform:scale(1.035)}
.lbs-project .et_pb_image::after{content:'';position:absolute;inset:10px;border:1px solid rgba(255,255,255,.5);pointer-events:none;z-index:2}
.lbs-project .lbs-sq .et_pb_image img{aspect-ratio:1/1}
.lbs-project .lbs-featured .et_pb_image img{aspect-ratio:16/10}
.lbs-project .lbs-split .et_pb_image img{aspect-ratio:3/4}

/* HERO */
.lbs-project .lbs-hero .et_pb_row{align-items:center}
.lbs-project .lbs-hero .et_pb_column:last-child{position:relative}
.lbs-project .lbs-hero .et_pb_column:last-child .et_pb_image:first-child{width:86%;margin:0 0 0 auto;display:block}
.lbs-project .lbs-hero .et_pb_column:last-child .et_pb_image:first-child img{aspect-ratio:4/5}
.lbs-project .lbs-hero .et_pb_column:last-child .et_pb_image:last-child{position:absolute;width:46%;bottom:-8%;left:-10%;margin:0;z-index:3;border:6px solid var(--lbs-bg);border-radius:6px;box-shadow:0 12px 32px -12px rgba(43,33,28,.18)}
.lbs-project .lbs-hero .et_pb_column:last-child .et_pb_image:last-child img{aspect-ratio:1/1}

/* CARDS (never applied to section headers) */
.lbs-project .lbs-cards .et_pb_row:not(.lbs-secheader){display:flex;flex-wrap:wrap;align-items:stretch;gap:24px}
.lbs-project .lbs-cards .et_pb_row:not(.lbs-secheader)>.et_pb_column{background:#fff;border:1px solid var(--lbs-border);border-radius:6px;padding:2.5rem;box-sizing:border-box;margin-right:0!important;float:none}

/* SERVICE / IMAGE GRIDS */
.lbs-project .lbs-sq .et_pb_row:not(.lbs-secheader){display:flex;flex-wrap:wrap;align-items:flex-start;gap:28px}
.lbs-project .lbs-sq .et_pb_row:not(.lbs-secheader)>.et_pb_column{margin-right:0!important;float:none}

/* TRUST STRIP */
.lbs-project .lbs-trust{border-top:1px solid var(--lbs-border);border-bottom:1px solid var(--lbs-border)}

/* EYEBROW dash */
.lbs-project .et_pb_text p[style*=uppercase]::before{content:'';display:inline-block;width:22px;height:1px;background:currentColor;vertical-align:middle;margin-right:.6em}

/* FEATURED ROWS */
.lbs-project .lbs-featured .et_pb_row:not(.lbs-secheader){border-bottom:1px solid var(--lbs-border);padding-bottom:40px}
.lbs-project .lbs-featured .et_pb_row:last-of-type{border-bottom:0}
.lbs-project .lbs-featured .et_pb_row:not(.lbs-secheader):nth-of-type(odd){display:flex;flex-wrap:wrap;flex-direction:row-reverse}

/* HEADER / FOOTER */
.lbs-header{position:sticky;top:0;z-index:100;background:rgba(251,247,241,.92);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid #E2D3C3}
.lbs-nav a{color:#2B211C;text-decoration:none;font-size:.95rem}
.lbs-nav a:hover{color:#A0555C}
.lbs-logo{text-decoration:none;letter-spacing:.02em}
.lbs-footer a{color:rgba(255,255,255,.72);text-decoration:none}
.lbs-footer a:hover{color:#fff}
.lbs-fmenu,.lbs-fcontact{list-style:none;padding:0;margin:0}
.lbs-fmenu li,.lbs-fcontact li{margin-bottom:8px}

/* GALLERY */
.lbs-project .lbs-gallery .et_pb_row{display:flex;flex-wrap:wrap;gap:20px;max-width:1200px}
.lbs-project .lbs-gallery .lbs-gitem{flex:1 1 240px;max-width:calc(33.333% - 14px);width:auto!important;margin:0!important;float:none!important}
.lbs-project .lbs-gallery .lbs-gitem[style*="display:none"],
.lbs-project .lbs-gallery .lbs-gitem[hidden]{display:none!important}
.lbs-project .lbs-gallery .lbs-gitem .et_pb_image img{aspect-ratio:1/1}
.lbs-project .lbs-gallery .lbs-gitem:nth-child(5n+2) .et_pb_image img{aspect-ratio:3/4}
.lbs-project .lbs-gallery .lbs-gitem:nth-child(5n+4) .et_pb_image img{aspect-ratio:16/10}
.lbs-fbtn{transition:background .2s ease,color .2s ease}
@media (max-width:768px){
.lbs-project .lbs-gallery .lbs-gitem{max-width:calc(50% - 10px)}
}
@media (max-width:480px){
.lbs-project .lbs-gallery .lbs-gitem{max-width:100%}
}
/* (numbers now correct at content level; no override needed) */

/* ---- testimonial initial avatar (champagne bg, rosewood text, not solid rosewood) ---- */
.lbs-project .lbs-cards.lbs-testi span[style*="border-radius:50%"]{
  background:#EEE1D2!important;color:#A0555C!important}

/* (gallery filter buttons now correct at content level; no override needed) */

/* ---- nav underline hover (matches .nav-links a::after) ---- */
.lbs-nav{display:flex;align-items:center;gap:28px;flex-wrap:wrap}
.lbs-nav a{position:relative;padding:.4em 0}
.lbs-nav a::after{content:'';position:absolute;left:0;right:0;bottom:-2px;height:1px;background:#A0555C;transform:scaleX(0);transform-origin:right;transition:transform .3s cubic-bezier(.22,1,.36,1)}
.lbs-nav a:hover::after{transform:scaleX(1);transform-origin:left}
.lbs-logo{font-size:1.3rem;letter-spacing:.04em;color:#2B211C!important}
.lbs-logo:visited,.lbs-logo:hover{color:#2B211C!important}

/* ---- real hamburger mobile nav (matches .nav-toggle / .nav-primary.is-open) ---- */
.lbs-nav-toggle{display:none;background:none;border:none;width:40px;height:40px;align-items:center;justify-content:center;position:relative;cursor:pointer;padding:0}
.lbs-nav-toggle span,.lbs-nav-toggle::before,.lbs-nav-toggle::after{content:'';display:block;width:22px;height:1.5px;background:#2B211C;transition:transform .25s cubic-bezier(.22,1,.36,1),opacity .25s cubic-bezier(.22,1,.36,1);position:absolute;left:9px}
.lbs-nav-toggle::before{top:14px}
.lbs-nav-toggle span{top:19.25px}
.lbs-nav-toggle::after{top:24.5px}
.lbs-nav-toggle[aria-expanded=true]::before{transform:translateY(5.25px) rotate(45deg)}
.lbs-nav-toggle[aria-expanded=true]::after{transform:translateY(-5.25px) rotate(-45deg)}
.lbs-nav-toggle[aria-expanded=true] span{opacity:0}
.lbs-nav-mobile-cta{display:none}

@media (max-width:768px){
.lbs-nav-toggle{display:inline-flex}
.lbs-header .et_pb_row{flex-wrap:wrap}
.lbs-nav{display:none!important;flex-direction:column;align-items:flex-start;position:absolute;top:100%;left:0;right:0;background:#FBF7F1;padding:1.5rem clamp(1.25rem,4vw,3rem);border-bottom:1px solid #E2D3C3;gap:1rem}
.lbs-nav.is-open{display:flex!important}
.lbs-nav-mobile-cta{display:none;margin-top:.5rem;background:#A0555C;color:#fff!important;padding:.85em 1.6em;border-radius:3px;font-weight:600}
.lbs-nav.is-open .lbs-nav-mobile-cta{display:inline-flex}
body.lbs-project .sgw-hdr-cta{display:none}
}

/* ===== TABLET (matches source's 1024px breakpoint) ===== */
@media (max-width:1024px){
.lbs-project .lbs-cards .et_pb_row:not(.lbs-secheader)>.et_pb_column,
.lbs-project .lbs-sq .et_pb_row:not(.lbs-secheader)>.et_pb_column{flex:1 1 calc(50% - 14px);width:auto!important}
.lbs-project .lbs-featured .et_pb_row:not(.lbs-secheader):nth-of-type(odd){flex-direction:row}
.lbs-project .lbs-cta .et_pb_row > .et_pb_column{padding:4rem 2.25rem!important}
.lbs-project .lbs-hero .et_pb_column:last-child{margin-top:44px}
.lbs-project .lbs-hero .et_pb_column:last-child .et_pb_image:first-child{width:100%}
.lbs-project .lbs-hero .et_pb_column:last-child .et_pb_image:last-child{width:38%;left:0;bottom:-6%}
.lbs-footer .et_pb_row .et_pb_column{width:48%!important;margin:0 4% 32px 0!important}
.lbs-footer .et_pb_row .et_pb_column:nth-child(2n){margin-right:0!important}
}

/* ===== PHONE (matches source's 768px breakpoint) ===== */
@media (max-width:768px){
.lbs-project .lbs-cards .et_pb_row:not(.lbs-secheader)>.et_pb_column,
.lbs-project .lbs-sq .et_pb_row:not(.lbs-secheader)>.et_pb_column{flex:1 1 100%}
.lbs-project .lbs-cards .et_pb_row:not(.lbs-secheader)>.et_pb_column{padding:1.75rem}
.lbs-project .lbs-secheader > .et_pb_column{max-width:100%}
.lbs-project .lbs-cta .et_pb_row > .et_pb_column{padding:3rem 1.35rem!important;border-radius:12px}
.lbs-project .lbs-cta p{margin-bottom:1.75rem!important}
.lbs-project .et_pb_button{width:100%;margin-bottom:10px}
.lbs-project .lbs-hero .et_pb_column:last-child .et_pb_image:last-child{width:44%;bottom:-5%}
.lbs-project .lbs-form form div[style*=grid]{grid-template-columns:1fr!important}
.lbs-project .lbs-trust .et_pb_column{text-align:center;margin-bottom:20px}
.lbs-project .et_pb_image::after{inset:6px}
}

/* ===== SMALL PHONE (matches source's 480px breakpoint) ===== */
@media (max-width:480px){
.lbs-project .lbs-hero .et_pb_column:last-child .et_pb_image:last-child{display:none}
}