/* designer-luxe.com -- style.css -- Site 32
   DARK LUXURY EDITORIAL -- FLOATING PILL NAV -- FULL-VIEWPORT SPLIT HERO
   Cormorant Garamond (luxury high-contrast serif) + Manrope (geometric sans) -- BOTH NEW in 32-site series
   Palette: Near-Black #0C0C0C + Champagne Gold #C9A84C + Cream #F5F0E8 + Stone #7C6F5E
   CSS prefix: lxe-  JS: LXE  PHP prefix: lxe_  Image prefix: lxe-
   NAV: FLOATING PILL NAV -- glass morphism pill, semi-transparent, centered -- FIRST TIME IN SERIES
   HERO: FULL-VIEWPORT DARK SPLIT -- left 60% editorial serif headline, right 40% full-height image
   /services/index.php: services listing ALWAYS in /services/ folder
   CONTAINED: lxe-shell max-width:1220px
   Location: Itsasalde, 20, 48980 Santurtzi, Vizcaya, Spain | EUR (IVA 21%) | EN + ES
*/

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

:root {
  --lxe-ink:      #0C0C0C;
  --lxe-ink2:     #141414;
  --lxe-ink3:     #1E1E1E;
  --lxe-gold:     #C9A84C;
  --lxe-gold2:    #A8852E;
  --lxe-gold-lo:  rgba(201,168,76,.06);
  --lxe-gold-md:  rgba(201,168,76,.14);
  --lxe-cream:    #F5F0E8;
  --lxe-blush:    #E8DDD0;
  --lxe-stone:    #7C6F5E;
  --lxe-mist:     #5C5348;
  --lxe-line:     rgba(201,168,76,.10);
  --lxe-line-lt:  rgba(245,240,232,.06);
  --lxe-line-lt2: rgba(245,240,232,.03);
  --shell-w:      1220px;
  --shell-px:     2.5rem;
  --pill-h:       52px;
  --lxe-ease:     .22s ease;
}

*,*::before,*::after { box-sizing:border-box; margin:0; padding:0; }
html { font-size:16px; scroll-behavior:smooth; }
body { font-family:'Manrope',system-ui,sans-serif; background:var(--lxe-ink); color:var(--lxe-cream); line-height:1.7; -webkit-font-smoothing:antialiased; overflow-x:hidden; }
img { display:block; max-width:100%; height:auto; }
a { color:inherit; text-decoration:none; }
button { cursor:pointer; border:none; background:none; font-family:inherit; }
ul,ol { list-style:none; }

/* Heading font -- Cormorant Garamond for all h1-h4 */
h1,h2,h3,h4 { font-family:'Cormorant Garamond',Georgia,serif; font-weight:400; line-height:1.0; letter-spacing:-.01em; }
p { margin-bottom:.75rem; font-size:0.88rem; line-height:1.85; color:rgba(245,240,232,.5); }
p:last-child { margin-bottom:0; }

/* CONTAINED LAYOUT */
.lxe-shell { max-width:var(--shell-w); margin:0 auto; padding:0 var(--shell-px); }

/* Tags / labels */
.lxe-eyebrow { font-family:'Manrope',sans-serif; font-size:0.52rem; font-weight:700; letter-spacing:.26em; text-transform:uppercase; color:var(--lxe-gold); display:inline-flex; align-items:center; gap:.5rem; }
.lxe-eyebrow::before { content:''; width:20px; height:1px; background:var(--lxe-gold); }

/* Buttons */
.lxe-btn-gold { display:inline-flex; align-items:center; gap:.35rem; font-family:'Manrope',sans-serif; font-size:0.78rem; font-weight:600; background:var(--lxe-gold); color:var(--lxe-ink); padding:.65rem 1.8rem; border-radius:2px; transition:background var(--lxe-ease); white-space:nowrap; }
.lxe-btn-gold:hover { background:var(--lxe-gold2); }
.lxe-btn-ghost { display:inline-flex; align-items:center; gap:.35rem; font-family:'Manrope',sans-serif; font-size:0.78rem; font-weight:600; background:transparent; color:var(--lxe-cream); padding:.65rem 1.8rem; border:1px solid var(--lxe-line); border-radius:2px; transition:all var(--lxe-ease); white-space:nowrap; }
.lxe-btn-ghost:hover { border-color:var(--lxe-gold); color:var(--lxe-gold); }
.lxe-btn-cream { display:inline-flex; align-items:center; gap:.35rem; font-family:'Manrope',sans-serif; font-size:0.78rem; font-weight:600; background:var(--lxe-cream); color:var(--lxe-ink); padding:.65rem 1.8rem; border-radius:2px; transition:background var(--lxe-ease); white-space:nowrap; }
.lxe-btn-cream:hover { background:var(--lxe-blush); }
.lxe-tlink { font-family:'Manrope',sans-serif; font-size:0.72rem; font-weight:700; letter-spacing:.06em; color:var(--lxe-gold); display:inline-flex; align-items:center; gap:.28rem; transition:gap var(--lxe-ease); text-transform:uppercase; }
.lxe-tlink:hover { gap:.5rem; }

/* =====================================================
   FLOATING PILL NAV
   Glass morphism pill centered at top -- FIRST IN SERIES
   ===================================================== */
.lxe-pill-wrap { position:fixed; top:1.4rem; left:50%; transform:translateX(-50%); z-index:400; width:auto; display:flex; }
.lxe-pill { height:var(--pill-h); background:rgba(14,14,14,.7); backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px); border:1px solid var(--lxe-line); border-radius:100px; display:flex; align-items:center; padding:0 1.5rem; gap:1.6rem; box-shadow:0 8px 32px rgba(0,0,0,.4); transition:background var(--lxe-ease),border-color var(--lxe-ease); white-space:nowrap; }
.lxe-pill.lxe-pill-solid { background:rgba(12,12,12,.92); border-color:var(--lxe-gold-md); }
/* Logo inside pill */
.lxe-pill-logo { font-family:'Cormorant Garamond',serif; font-size:1.05rem; font-weight:600; color:var(--lxe-gold); white-space:nowrap; }
/* Nav links inside pill -- 0.82rem Manrope (explicitly bigger than body text) */
.lxe-pill-lnk { font-family:'Manrope',sans-serif; font-size:0.82rem; font-weight:600; color:rgba(245,240,232,.5); transition:color var(--lxe-ease); white-space:nowrap; }
.lxe-pill-lnk:hover,.lxe-pill-lnk.lxe-cur { color:var(--lxe-cream); }
.lxe-pill-div { width:1px; height:16px; background:var(--lxe-line); }
.lxe-pill-cta { font-family:'Manrope',sans-serif; font-size:0.72rem; font-weight:700; background:var(--lxe-gold); color:var(--lxe-ink); padding:.36rem 1.15rem; border-radius:100px; transition:background var(--lxe-ease); white-space:nowrap; }
.lxe-pill-cta:hover { background:var(--lxe-gold2); }
.lxe-pill-lang { font-family:'Manrope',sans-serif; font-size:0.58rem; font-weight:700; color:rgba(245,240,232,.3); padding:.2rem .5rem; border:1px solid var(--lxe-line); border-radius:100px; display:flex; align-items:center; gap:.2rem; transition:all var(--lxe-ease); }
.lxe-pill-lang:hover { border-color:var(--lxe-gold); color:var(--lxe-gold); }
/* Mobile pill -- simplified */
.lxe-pill-mob { display:none; width:36px; height:36px; align-items:center; justify-content:center; border-radius:100px; color:var(--lxe-cream); }
.lxe-mob-drawer { display:none; position:fixed; inset:0; background:var(--lxe-ink); z-index:399; padding:6rem var(--shell-px) 2rem; overflow-y:auto; }
.lxe-mob-x { position:absolute; top:1.2rem; right:1.5rem; width:36px; height:36px; display:flex; align-items:center; justify-content:center; cursor:pointer; color:var(--lxe-stone); }
.lxe-mob-lnk { display:block; font-family:'Cormorant Garamond',serif; font-size:2rem; color:var(--lxe-cream); padding:.5rem 0; border-bottom:1px solid var(--lxe-line-lt); }
.lxe-mob-sub  { display:block; font-family:'Manrope',sans-serif; font-size:0.78rem; color:var(--lxe-stone); padding:.3rem 1rem; }
.lxe-mob-drawer-vis { display:block; }

/* =====================================================
   HERO -- FULL VIEWPORT DARK SPLIT
   Left 55vw: editorial headline + CTAs
   Right 45vw: full-height image, flush edge
   Dark background, gold accents -- UNIQUE in series
   ===================================================== */
.lxe-hero { min-height:100vh; display:grid; grid-template-columns:55fr 45fr; position:relative; }
/* Left panel */
.lxe-hero-left { background:var(--lxe-ink); display:flex; flex-direction:column; justify-content:flex-end; padding:8rem var(--shell-px) 5.5rem min(6rem, calc((100vw - var(--shell-w)) / 2 + var(--shell-px))); position:relative; overflow:hidden; }
.lxe-hero-left::before { content:''; position:absolute; top:0; left:0; right:0; height:1px; background:linear-gradient(to right,transparent,var(--lxe-gold),transparent); opacity:.3; }
.lxe-hero-deco-dots { position:absolute; top:3rem; left:2rem; width:120px; height:120px; opacity:.6; pointer-events:none; }
.lxe-hero-eyebrow { margin-bottom:1.8rem; }
.lxe-hero-h1 { font-family:'Cormorant Garamond',serif; font-size:clamp(4.5rem,10vw,9.5rem); font-weight:300; color:var(--lxe-cream); line-height:.88; letter-spacing:-.02em; margin-bottom:.2rem; }
.lxe-hero-h1-em { color:var(--lxe-gold); font-style:italic; }
.lxe-hero-lead { font-family:'Manrope',sans-serif; font-size:0.86rem; font-weight:400; color:rgba(245,240,232,.38); line-height:1.9; max-width:40ch; margin:1.5rem 0 2.5rem; }
.lxe-hero-btns { display:flex; gap:.7rem; flex-wrap:wrap; }
/* Right panel -- image */
.lxe-hero-right { position:relative; overflow:hidden; background:var(--lxe-ink2); }
.lxe-hero-right img { width:100%; height:100%; object-fit:cover; opacity:.75; transition:opacity 1.2s; }
.lxe-hero-right::after { content:''; position:absolute; inset:0; background:linear-gradient(to right,var(--lxe-ink),transparent 35%); pointer-events:none; }
/* Floating stat on hero */
.lxe-hero-stat { position:absolute; bottom:2.5rem; right:2.5rem; z-index:2; background:rgba(201,168,76,.08); backdrop-filter:blur(8px); border:1px solid var(--lxe-line); border-radius:4px; padding:1rem 1.5rem; }
.lxe-hero-stat-n { font-family:'Cormorant Garamond',serif; font-size:3rem; color:var(--lxe-gold); line-height:1; }
.lxe-hero-stat-l { font-family:'Manrope',sans-serif; font-size:0.46rem; font-weight:700; letter-spacing:.22em; text-transform:uppercase; color:rgba(245,240,232,.3); margin-top:.15rem; }

/* =====================================================
   MARQUEE / TICKER
   ===================================================== */
.lxe-ticker-wrap { background:var(--lxe-ink2); border-top:1px solid var(--lxe-line); border-bottom:1px solid var(--lxe-line); padding:.6rem 0; overflow:hidden; }
.lxe-ticker-inner { display:flex; gap:3rem; animation:lxe-ticker 28s linear infinite; width:max-content; }
@keyframes lxe-ticker { 0%{transform:translateX(0)}100%{transform:translateX(-50%)} }
.lxe-ticker-it { font-family:'Cormorant Garamond',serif; font-size:1.1rem; font-weight:300; font-style:italic; color:rgba(245,240,232,.2); white-space:nowrap; }
.lxe-ticker-dot { color:var(--lxe-gold); }

/* =====================================================
   SERVICES -- editorial numbered list (dark bg)
   ===================================================== */
.lxe-svcs-zone { padding:8rem 0; background:var(--lxe-ink); }
.lxe-svcs-top { display:flex; justify-content:space-between; align-items:flex-end; margin-bottom:4rem; flex-wrap:wrap; gap:1.5rem; }
.lxe-svcs-h2 { font-family:'Cormorant Garamond',serif; font-size:clamp(3rem,8vw,7rem); font-weight:300; color:var(--lxe-cream); line-height:.85; letter-spacing:-.02em; }
.lxe-svcs-h2 em { color:var(--lxe-gold); font-style:italic; }
/* Individual service row */
.lxe-srow { display:grid; grid-template-columns:60px 1fr auto; gap:2.5rem; align-items:center; padding:2rem 0; border-bottom:1px solid var(--lxe-line-lt); transition:all var(--lxe-ease); cursor:pointer; }
.lxe-srow:hover { background:var(--lxe-gold-lo); padding:2rem 1.2rem; border-radius:4px; border-bottom-color:transparent; }
.lxe-srow-n { font-family:'Cormorant Garamond',serif; font-size:3rem; font-weight:300; color:rgba(245,240,232,.06); line-height:1; }
.lxe-srow-mid .lxe-srow-nm { font-family:'Cormorant Garamond',serif; font-size:1.5rem; color:var(--lxe-cream); line-height:1.1; margin-bottom:.2rem; }
.lxe-srow:hover .lxe-srow-nm { color:var(--lxe-gold); }
.lxe-srow-mid .lxe-srow-tg { font-family:'Manrope',sans-serif; font-size:0.78rem; color:rgba(245,240,232,.3); line-height:1.75; max-width:50ch; }
.lxe-srow-rhs { display:flex; flex-direction:column; align-items:flex-end; gap:.3rem; }
.lxe-srow-price { font-family:'Cormorant Garamond',serif; font-size:1.8rem; color:var(--lxe-cream); line-height:1; }
.lxe-srow:hover .lxe-srow-price { color:var(--lxe-gold); }
.lxe-srow-del { font-family:'Manrope',sans-serif; font-size:0.46rem; font-weight:700; letter-spacing:.2em; text-transform:uppercase; color:rgba(245,240,232,.2); }

/* =====================================================
   WORK / PORTFOLIO -- horizontal editorial scroll
   ===================================================== */
.lxe-work-zone { padding:7rem 0; background:var(--lxe-ink2); }
.lxe-work-h2 { font-family:'Cormorant Garamond',serif; font-size:clamp(3rem,8vw,7rem); font-weight:300; color:var(--lxe-cream); line-height:.85; letter-spacing:-.02em; margin-bottom:3rem; }
.lxe-work-h2 em { color:var(--lxe-gold); }
.lxe-work-cols { display:grid; grid-template-columns:1.8fr 1fr 1fr; gap:1px; background:var(--lxe-line-lt); }
.lxe-work-col { background:var(--lxe-ink2); display:flex; flex-direction:column; }
.lxe-work-img { overflow:hidden; }
.lxe-work-img img { width:100%; aspect-ratio:4/3; object-fit:cover; transition:transform .6s; }
.lxe-work-col:hover .lxe-work-img img { transform:scale(1.04); }
.lxe-work-col:first-child .lxe-work-img img { aspect-ratio:3/4; }
.lxe-work-info { padding:1.5rem 1.5rem 2rem; flex:1; display:flex; flex-direction:column; }
.lxe-work-cat { font-family:'Manrope',sans-serif; font-size:0.46rem; font-weight:700; letter-spacing:.22em; text-transform:uppercase; color:var(--lxe-gold); margin-bottom:.3rem; }
.lxe-work-ttl { font-family:'Cormorant Garamond',serif; font-size:1.15rem; color:var(--lxe-cream); line-height:1.1; margin-bottom:auto; }
.lxe-work-loc { font-family:'Manrope',sans-serif; font-size:0.58rem; color:rgba(245,240,232,.2); margin-top:.7rem; }

/* =====================================================
   TESTIMONIALS -- stacked quote cards (cream bg)
   ===================================================== */
.lxe-praise-zone { padding:7rem 0; background:var(--lxe-cream); }
.lxe-praise-h2 { font-family:'Cormorant Garamond',serif; font-size:clamp(3rem,8vw,7rem); font-weight:300; color:var(--lxe-ink); line-height:.85; letter-spacing:-.02em; margin-bottom:4rem; }
.lxe-praise-h2 em { color:var(--lxe-gold2); }
.lxe-praise-grid { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.lxe-pcard { background:#fff; border-radius:4px; padding:3rem; position:relative; }
.lxe-pcard:nth-child(2) { background:var(--lxe-ink); margin-top:3rem; }
.lxe-pcard:nth-child(3) { background:var(--lxe-gold); }
.lxe-pcard:nth-child(4) { background:var(--lxe-blush); }
.lxe-pmark { font-family:'Cormorant Garamond',serif; font-size:4rem; font-weight:300; color:var(--lxe-gold); line-height:1; opacity:.25; position:absolute; top:1.5rem; left:2.5rem; }
.lxe-pcard:nth-child(2) .lxe-pmark { color:var(--lxe-cream); }
.lxe-pcard:nth-child(3) .lxe-pmark { color:var(--lxe-ink); }
.lxe-pquote { font-family:'Cormorant Garamond',serif; font-size:1.2rem; font-style:italic; color:var(--lxe-ink); line-height:1.6; margin:1.5rem 0 1.2rem; }
.lxe-pcard:nth-child(2) .lxe-pquote { color:var(--lxe-cream); }
.lxe-pcard:nth-child(3) .lxe-pquote { color:var(--lxe-ink); }
.lxe-pwho { font-family:'Manrope',sans-serif; font-size:0.62rem; font-weight:700; color:var(--lxe-stone); }
.lxe-pcard:nth-child(2) .lxe-pwho { color:rgba(245,240,232,.35); }
.lxe-pcard:nth-child(3) .lxe-pwho { color:rgba(12,12,12,.45); }
.lxe-pwin { font-family:'Manrope',sans-serif; font-size:0.46rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:var(--lxe-gold); }
.lxe-pcard:nth-child(2) .lxe-pwin { color:var(--lxe-gold); }
.lxe-pcard:nth-child(3) .lxe-pwin { color:rgba(12,12,12,.3); }

/* =====================================================
   PROCESS -- horizontal numbered steps (ink bg)
   ===================================================== */
.lxe-proc-zone { padding:7rem 0; background:var(--lxe-ink); }
.lxe-proc-h2 { font-family:'Cormorant Garamond',serif; font-size:clamp(3rem,8vw,7rem); font-weight:300; color:var(--lxe-cream); line-height:.85; letter-spacing:-.02em; margin-bottom:4rem; }
.lxe-proc-h2 em { color:var(--lxe-gold); }
.lxe-proc-steps { display:grid; grid-template-columns:repeat(4,1fr); gap:0; }
.lxe-proc-step { padding:2rem 2.5rem 2rem 0; border-right:1px solid var(--lxe-line-lt); }
.lxe-proc-step:last-child { border-right:none; padding-right:0; }
.lxe-proc-no { font-family:'Cormorant Garamond',serif; font-size:4rem; font-weight:300; color:rgba(245,240,232,.06); line-height:1; margin-bottom:.5rem; }
.lxe-proc-ttl { font-family:'Cormorant Garamond',serif; font-size:1.3rem; color:var(--lxe-cream); margin-bottom:.5rem; line-height:1.1; }
.lxe-proc-desc { font-family:'Manrope',sans-serif; font-size:0.74rem; color:rgba(245,240,232,.28); line-height:1.85; }

/* =====================================================
   STATS BAND
   ===================================================== */
.lxe-stats-band { background:var(--lxe-gold); padding:2.5rem 0; }
.lxe-stats-row { display:grid; grid-template-columns:repeat(4,1fr); }
.lxe-stat-bl { padding:.75rem 2rem; border-right:1px solid rgba(12,12,12,.15); text-align:center; }
.lxe-stat-bl:last-child { border:none; }
.lxe-stat-n { font-family:'Cormorant Garamond',serif; font-size:3rem; color:var(--lxe-ink); line-height:1; }
.lxe-stat-l { font-family:'Manrope',sans-serif; font-size:0.46rem; font-weight:700; letter-spacing:.22em; text-transform:uppercase; color:rgba(12,12,12,.45); margin-top:.15rem; }

/* =====================================================
   FAQ -- accordion (cream bg)
   ===================================================== */
.lxe-faq-zone { padding:7rem 0; background:var(--lxe-cream); }
.lxe-faq-h2 { font-family:'Cormorant Garamond',serif; font-size:clamp(3rem,8vw,7rem); font-weight:300; color:var(--lxe-ink); line-height:.85; letter-spacing:-.02em; margin-bottom:4rem; }
.lxe-faq-h2 em { color:var(--lxe-gold2); }
.lxe-faq-layout { display:grid; grid-template-columns:2fr 1fr; gap:6rem; align-items:start; }
.lxe-faq-item { border-bottom:1px solid rgba(12,12,12,.08); }
.lxe-faq-btn { width:100%; display:flex; justify-content:space-between; align-items:flex-start; gap:2rem; padding:1.1rem 0; background:none; border:none; cursor:pointer; text-align:left; }
.lxe-fq { font-family:'Cormorant Garamond',serif; font-size:1.1rem; color:var(--lxe-ink); line-height:1.3; }
.lxe-fq-tog { font-family:'Manrope',sans-serif; font-size:1.2rem; color:rgba(12,12,12,.25); flex-shrink:0; transition:transform .2s,color .2s; }
.lxe-faq-item.lxe-fq-open .lxe-fq-tog { transform:rotate(45deg); color:var(--lxe-gold2); }
.lxe-faq-ans { max-height:0; overflow:hidden; transition:max-height .35s ease; }
.lxe-faq-item.lxe-fq-open .lxe-faq-ans { max-height:400px; }
.lxe-faq-a { font-family:'Manrope',sans-serif; font-size:0.82rem; color:var(--lxe-stone); line-height:1.9; padding:0 0 1rem; }
.lxe-faq-aside { background:var(--lxe-ink); border-radius:4px; padding:3rem; position:sticky; top:5rem; }
.lxe-faq-aside h3 { font-family:'Cormorant Garamond',serif; font-size:1.8rem; color:var(--lxe-cream); margin-bottom:.4rem; }
.lxe-faq-aside p { font-family:'Manrope',sans-serif; font-size:0.78rem; color:rgba(245,240,232,.3); line-height:1.82; margin-bottom:1.5rem; }

/* =====================================================
   BUILDER
   ===================================================== */
.lxe-build-pg { padding:9rem 0 6rem; background:var(--lxe-ink); min-height:100vh; }
.lxe-build-h1 { font-family:'Cormorant Garamond',serif; font-size:clamp(4rem,10vw,9rem); font-weight:300; color:var(--lxe-cream); line-height:.85; letter-spacing:-.02em; margin-bottom:.4rem; }
.lxe-build-h1 em { color:var(--lxe-gold); font-style:italic; }
.lxe-build-sub { font-family:'Manrope',sans-serif; font-size:0.86rem; color:rgba(245,240,232,.3); max-width:44ch; margin:.6rem 0 3.5rem; line-height:1.9; }
.lxe-build-cols { display:grid; grid-template-columns:1.8fr 1fr; gap:4rem; align-items:start; }
.lxe-build-sec { margin-bottom:2.5rem; }
.lxe-build-sec-hd { display:flex; align-items:center; gap:.8rem; border-bottom:1px solid var(--lxe-line-lt); padding-bottom:.6rem; margin-bottom:1.2rem; }
.lxe-build-sec-no { font-family:'Cormorant Garamond',serif; font-size:3rem; color:rgba(245,240,232,.06); line-height:1; }
.lxe-build-sec-lbl { font-family:'Manrope',sans-serif; font-size:0.5rem; font-weight:700; letter-spacing:.22em; text-transform:uppercase; color:rgba(245,240,232,.2); }
/* Service picker */
.lxe-svc-pick { display:grid; grid-template-columns:1fr 1fr; gap:.4rem; }
.lxe-pick-tile { padding:.9rem 1rem; border:1px solid var(--lxe-line-lt); border-radius:3px; cursor:pointer; user-select:none; background:var(--lxe-ink2); transition:all var(--lxe-ease); }
.lxe-pick-tile:hover { border-color:var(--lxe-gold-md); }
.lxe-pick-tile.lxe-picked { border-color:var(--lxe-gold); background:var(--lxe-gold-lo); }
.lxe-pick-row { display:flex; align-items:flex-start; gap:.4rem; margin-bottom:.3rem; }
.lxe-pick-dot { width:10px; height:10px; border:1px solid rgba(245,240,232,.2); border-radius:50%; flex-shrink:0; margin-top:4px; }
.lxe-pick-tile.lxe-picked .lxe-pick-dot { background:var(--lxe-gold); border-color:var(--lxe-gold); }
.lxe-pick-nm { font-family:'Cormorant Garamond',serif; font-size:1rem; color:var(--lxe-cream); line-height:1.1; }
.lxe-pick-tile.lxe-picked .lxe-pick-nm { color:var(--lxe-gold); }
.lxe-pick-del { font-family:'Manrope',sans-serif; font-size:0.52rem; color:rgba(245,240,232,.2); }
.lxe-pick-pr { font-family:'Cormorant Garamond',serif; font-size:1.1rem; color:var(--lxe-cream); text-align:right; }
.lxe-pick-tile.lxe-picked .lxe-pick-pr { color:var(--lxe-gold); }
/* Addons */
.lxe-addon-row { display:flex; justify-content:space-between; align-items:center; border:1px solid var(--lxe-line-lt); border-radius:3px; padding:.7rem 1rem; cursor:pointer; user-select:none; margin-bottom:.4rem; background:var(--lxe-ink2); transition:all var(--lxe-ease); }
.lxe-addon-row:hover { border-color:var(--lxe-gold-md); }
.lxe-addon-row.lxe-addon-on { border-color:var(--lxe-gold); background:var(--lxe-gold-lo); }
.lxe-addon-lhs { display:flex; align-items:center; gap:.45rem; }
.lxe-addon-box { width:13px; height:13px; border:1px solid rgba(245,240,232,.2); border-radius:2px; display:flex; align-items:center; justify-content:center; transition:all var(--lxe-ease); flex-shrink:0; }
.lxe-addon-row.lxe-addon-on .lxe-addon-box { background:var(--lxe-gold); border-color:var(--lxe-gold); }
.lxe-addon-row.lxe-addon-on .lxe-addon-box::after { content:'\2713'; font-size:0.5rem; color:var(--lxe-ink); font-family:sans-serif; }
.lxe-addon-nm { font-family:'Manrope',sans-serif; font-size:0.82rem; color:var(--lxe-cream); }
.lxe-addon-pr { font-family:'Cormorant Garamond',serif; font-size:1rem; color:var(--lxe-cream); }
.lxe-addon-row.lxe-addon-on .lxe-addon-pr { color:var(--lxe-gold); }
/* Hours */
.lxe-hrs-box { background:var(--lxe-ink2); border:1px solid var(--lxe-line-lt); border-radius:3px; padding:1.4rem; }
.lxe-hrs-ttl { font-family:'Cormorant Garamond',serif; font-size:1.1rem; color:var(--lxe-cream); margin-bottom:.1rem; }
.lxe-hrs-sub { font-family:'Manrope',sans-serif; font-size:0.6rem; color:rgba(245,240,232,.25); margin-bottom:.8rem; }
.lxe-hrs-row { display:flex; align-items:center; gap:.9rem; }
.lxe-hrs-num { font-family:'Cormorant Garamond',serif; font-size:2.8rem; color:var(--lxe-gold); min-width:2ch; text-align:center; line-height:1; }
.lxe-hrs-rng { -webkit-appearance:none; appearance:none; flex:1; height:2px; background:rgba(245,240,232,.07); outline:none; cursor:pointer; border-radius:1px; }
.lxe-hrs-rng::-webkit-slider-thumb { -webkit-appearance:none; width:14px; height:14px; background:var(--lxe-gold); cursor:pointer; border-radius:50%; }
/* Summary */
.lxe-sumbox { background:var(--lxe-ink2); border:1px solid var(--lxe-line); border-radius:4px; padding:2rem; position:sticky; top:5.5rem; }
.lxe-sum-lbl { font-family:'Manrope',sans-serif; font-size:0.46rem; font-weight:700; letter-spacing:.24em; text-transform:uppercase; color:rgba(245,240,232,.18); padding-bottom:.5rem; border-bottom:1px solid var(--lxe-line-lt2); margin-bottom:.5rem; }
.lxe-sum-body { min-height:48px; margin-bottom:.5rem; }
.lxe-sum-row { display:flex; justify-content:space-between; gap:1rem; font-family:'Manrope',sans-serif; font-size:0.7rem; color:rgba(245,240,232,.32); padding:.18rem 0; border-bottom:1px solid var(--lxe-line-lt2); }
.lxe-sum-rv { font-family:'Cormorant Garamond',serif; font-size:0.95rem; color:var(--lxe-cream); }
.lxe-sum-empty { font-family:'Cormorant Garamond',serif; font-size:1rem; font-style:italic; color:rgba(245,240,232,.15); }
.lxe-sum-total { display:flex; justify-content:space-between; align-items:baseline; border-top:1px solid var(--lxe-line-lt); padding-top:.6rem; margin-top:.3rem; }
.lxe-sum-tl { font-family:'Manrope',sans-serif; font-size:0.46rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:rgba(245,240,232,.18); }
.lxe-sum-tv { font-family:'Cormorant Garamond',serif; font-size:3rem; color:var(--lxe-gold); line-height:1; }
.lxe-sum-go { width:100%; background:var(--lxe-gold); color:var(--lxe-ink); font-family:'Manrope',sans-serif; font-size:0.82rem; font-weight:700; padding:.85rem; border:none; cursor:pointer; border-radius:2px; margin-top:.9rem; transition:background var(--lxe-ease); }
.lxe-sum-go:hover { background:var(--lxe-gold2); }
.lxe-sum-go:disabled { opacity:.18; pointer-events:none; }

/* =====================================================
   CHECKOUT
   ===================================================== */
.lxe-co-pg { padding:9rem 0 5rem; background:var(--lxe-ink); min-height:100vh; }
.lxe-co-h1 { font-family:'Cormorant Garamond',serif; font-size:clamp(4rem,10vw,9rem); font-weight:300; color:var(--lxe-cream); line-height:.85; letter-spacing:-.02em; }
.lxe-co-h1 em { color:var(--lxe-gold); font-style:italic; }
.lxe-co-sub { font-family:'Manrope',sans-serif; font-size:0.86rem; color:rgba(245,240,232,.3); max-width:44ch; margin:.6rem 0 2.5rem; line-height:1.9; }
.lxe-co-cols { display:grid; grid-template-columns:1.5fr 1fr; gap:4rem; }
.lxe-field { display:flex; flex-direction:column; gap:.12rem; margin-bottom:.5rem; }
.lxe-flbl { font-family:'Manrope',sans-serif; font-size:0.46rem; font-weight:700; letter-spacing:.22em; text-transform:uppercase; color:rgba(245,240,232,.25); }
.lxe-finp,.lxe-fsel,.lxe-fta { background:var(--lxe-ink2); border:1px solid var(--lxe-line-lt); border-radius:2px; padding:.7rem 1rem; color:var(--lxe-cream); font-family:'Manrope',sans-serif; font-size:0.86rem; outline:none; width:100%; transition:border-color var(--lxe-ease); }
.lxe-finp:focus,.lxe-fsel:focus,.lxe-fta:focus { border-color:var(--lxe-gold); }
.lxe-fsel option { background:var(--lxe-ink2); }
.lxe-fpair { display:grid; grid-template-columns:1fr 1fr; gap:.5rem; }
.lxe-ftos { display:flex; gap:.5rem; align-items:flex-start; font-family:'Manrope',sans-serif; font-size:0.78rem; color:rgba(245,240,232,.35); cursor:pointer; margin:.8rem 0; line-height:1.65; }
.lxe-ftos a { color:var(--lxe-gold); }
.lxe-ftos input { accent-color:var(--lxe-gold); flex-shrink:0; margin-top:3px; }
.lxe-pay-btn { width:100%; background:var(--lxe-gold); color:var(--lxe-ink); font-family:'Manrope',sans-serif; font-size:0.86rem; font-weight:700; padding:.95rem; border:none; cursor:pointer; border-radius:2px; transition:background var(--lxe-ease); display:flex; align-items:center; justify-content:space-between; }
.lxe-pay-btn:hover { background:var(--lxe-gold2); }
.lxe-order-box { background:var(--lxe-ink2); border:1px solid var(--lxe-line); border-radius:4px; padding:2rem; position:sticky; top:5.5rem; }
.lxe-order-lbl { font-family:'Manrope',sans-serif; font-size:0.46rem; font-weight:700; letter-spacing:.24em; text-transform:uppercase; color:rgba(245,240,232,.18); padding-bottom:.5rem; border-bottom:1px solid var(--lxe-line-lt2); margin-bottom:.5rem; }
.lxe-order-row { display:flex; justify-content:space-between; gap:1rem; font-family:'Manrope',sans-serif; font-size:0.7rem; color:rgba(245,240,232,.32); padding:.18rem 0; border-bottom:1px solid var(--lxe-line-lt2); }
.lxe-order-rv { font-family:'Cormorant Garamond',serif; font-size:0.95rem; color:var(--lxe-cream); }
.lxe-order-total { font-family:'Cormorant Garamond',serif; font-size:3rem; color:var(--lxe-gold); line-height:1; }

/* =====================================================
   MASTHEAD (inner pages) -- CENTERED
   ===================================================== */
.lxe-mast { background:var(--lxe-ink); padding:10rem 0 5rem; text-align:center; position:relative; }
.lxe-mast::after { content:''; position:absolute; bottom:0; left:50%; transform:translateX(-50%); width:60px; height:1px; background:var(--lxe-gold); opacity:.5; }
.lxe-mast-inner { display:flex; flex-direction:column; align-items:center; }
.lxe-mast-h1 { font-family:'Cormorant Garamond',serif; font-size:clamp(5rem,14vw,13rem); font-weight:300; color:var(--lxe-cream); line-height:.8; letter-spacing:-.02em; text-align:center; }
.lxe-mast-h1 em { color:var(--lxe-gold); font-style:italic; }
.lxe-mast-sub { font-family:'Manrope',sans-serif; font-size:0.86rem; color:rgba(245,240,232,.28); max-width:44ch; line-height:1.9; margin-top:.8rem; text-align:center; }

/* =====================================================
   SERVICE DETAIL
   ===================================================== */
.lxe-svc-detail { padding:5rem 0 6rem; background:var(--lxe-ink); }
.lxe-svc-det-grid { display:grid; grid-template-columns:2fr 1fr; gap:5rem; }
.lxe-svc-body p { font-family:'Manrope',sans-serif; font-size:0.86rem; color:rgba(245,240,232,.4); line-height:1.9; margin-bottom:.85rem; }
.lxe-svc-body h3 { font-family:'Cormorant Garamond',serif; font-size:1.5rem; color:var(--lxe-cream); margin:2.5rem 0 .5rem; }
.lxe-svc-callout { border-left:2px solid var(--lxe-gold); padding:.6rem 1rem; background:var(--lxe-gold-lo); margin-bottom:.5rem; border-radius:0 2px 2px 0; font-family:'Manrope',sans-serif; font-size:0.82rem; color:rgba(245,240,232,.5); line-height:1.7; }
.lxe-incl-it { display:flex; gap:.45rem; align-items:flex-start; font-family:'Manrope',sans-serif; font-size:0.82rem; color:rgba(245,240,232,.4); padding:.18rem 0; }
.lxe-incl-it::before { content:''; width:4px; height:4px; border-radius:50%; background:var(--lxe-gold); flex-shrink:0; margin-top:7px; }
.lxe-price-card { background:var(--lxe-ink2); border:1px solid var(--lxe-line); border-radius:4px; padding:2rem; margin-bottom:1rem; }
.lxe-pc-lbl { font-family:'Manrope',sans-serif; font-size:0.46rem; font-weight:700; letter-spacing:.2em; text-transform:uppercase; color:rgba(245,240,232,.2); }
.lxe-pc-amt { font-family:'Cormorant Garamond',serif; font-size:3.5rem; color:var(--lxe-gold); line-height:1; }
.lxe-pc-del { font-family:'Manrope',sans-serif; font-size:0.46rem; font-weight:700; color:rgba(245,240,232,.18); letter-spacing:.14em; text-transform:uppercase; margin-bottom:1.5rem; }
.lxe-img-frame { border-radius:3px; overflow:hidden; background:var(--lxe-ink2); }
.lxe-img-frame img { width:100%; aspect-ratio:4/3; object-fit:cover; }

/* =====================================================
   LEGAL
   ===================================================== */
.lxe-legal-pg { padding:5rem 0; background:var(--lxe-ink); }
.lxe-legal-doc { max-width:760px; }
.lxe-legal-doc h2 { font-family:'Cormorant Garamond',serif; font-size:1.5rem; color:var(--lxe-cream); margin:2.5rem 0 .5rem; padding-top:2rem; border-top:1px solid var(--lxe-line-lt); }
.lxe-legal-doc h2:first-child { margin-top:0; padding-top:0; border:none; }
.lxe-legal-doc p { font-family:'Manrope',sans-serif; font-size:0.84rem; color:rgba(245,240,232,.35); line-height:1.9; margin-bottom:.85rem; }
.lxe-legal-doc ul { font-family:'Manrope',sans-serif; font-size:0.84rem; color:rgba(245,240,232,.35); padding-left:1.4rem; list-style:disc; margin-bottom:.85rem; line-height:1.85; }
.lxe-legal-doc a { color:var(--lxe-gold); }
.lxe-legal-meta { font-family:'Manrope',sans-serif; font-size:0.68rem; color:rgba(245,240,232,.18); margin-bottom:2rem; padding-bottom:.7rem; border-bottom:1px solid var(--lxe-line-lt); }

/* =====================================================
   FOOTER
   ===================================================== */
.lxe-foot { background:var(--lxe-ink); border-top:1px solid var(--lxe-line-lt); padding:5rem 0 3rem; }
.lxe-foot-grid { display:grid; grid-template-columns:2fr 1fr 1fr 1.2fr; gap:3rem; padding-bottom:3.5rem; border-bottom:1px solid var(--lxe-line-lt2); margin-bottom:2rem; }
.lxe-foot-brand { font-family:'Cormorant Garamond',serif; font-size:1.4rem; color:var(--lxe-gold); margin-bottom:.4rem; }
.lxe-foot-blurb { font-family:'Manrope',sans-serif; font-size:0.68rem; color:rgba(245,240,232,.16); max-width:22ch; line-height:1.85; margin-bottom:.8rem; }
.lxe-foot-biz { font-family:'Manrope',sans-serif; font-size:0.6rem; color:rgba(245,240,232,.1); line-height:2.2; }
.lxe-foot-biz a { color:rgba(245,240,232,.1); transition:color var(--lxe-ease); }
.lxe-foot-biz a:hover { color:var(--lxe-gold); }
.lxe-foot-col-h { font-family:'Manrope',sans-serif; font-size:0.46rem; font-weight:700; letter-spacing:.24em; text-transform:uppercase; color:rgba(245,240,232,.18); margin-bottom:.9rem; }
.lxe-foot-nav { display:flex; flex-direction:column; gap:.45rem; }
.lxe-foot-nav a { font-family:'Manrope',sans-serif; font-size:0.74rem; color:rgba(245,240,232,.14); transition:color var(--lxe-ease); }
.lxe-foot-nav a:hover { color:var(--lxe-gold); }
.lxe-foot-btm { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:1rem; }
.lxe-foot-copy { font-family:'Manrope',sans-serif; font-size:0.6rem; color:rgba(245,240,232,.08); }
.lxe-foot-legal { display:flex; gap:1.2rem; }
.lxe-foot-legal a { font-family:'Manrope',sans-serif; font-size:0.6rem; color:rgba(245,240,232,.08); transition:color var(--lxe-ease); }
.lxe-foot-legal a:hover { color:var(--lxe-gold); }

/* =====================================================
   COOKIE & CHAT
   ===================================================== */
.lxe-cookie { position:fixed; bottom:0; left:0; right:0; z-index:401; background:var(--lxe-ink2); border-top:1px solid var(--lxe-line); padding:.6rem var(--shell-px); display:flex; align-items:center; justify-content:center; gap:2rem; flex-wrap:wrap; transition:transform .3s; }
.lxe-cookie.lxe-ck-gone { transform:translateY(110%); pointer-events:none; }
.lxe-ck-txt { font-family:'Manrope',sans-serif; font-size:0.68rem; color:rgba(245,240,232,.3); }
.lxe-ck-txt a { color:var(--lxe-gold); }
.lxe-ck-yes { background:var(--lxe-gold); color:var(--lxe-ink); font-family:'Manrope',sans-serif; font-size:0.6rem; font-weight:700; padding:.32rem .9rem; border:none; cursor:pointer; border-radius:2px; }
.lxe-ck-no  { background:transparent; color:rgba(245,240,232,.2); font-family:'Manrope',sans-serif; font-size:0.6rem; padding:.32rem .75rem; border:1px solid var(--lxe-line-lt); cursor:pointer; border-radius:2px; }
.lxe-chat-fab { position:fixed; bottom:4.5rem; right:2rem; z-index:399; width:46px; height:46px; background:var(--lxe-gold); border-radius:50%; display:flex; align-items:center; justify-content:center; cursor:pointer; border:none; box-shadow:0 4px 20px rgba(201,168,76,.3); transition:transform .2s; }
.lxe-chat-fab:hover { transform:scale(1.08); }
.lxe-chat-fab svg { width:16px; height:16px; color:var(--lxe-ink); }
.lxe-chat-win { position:fixed; bottom:7.5rem; right:2rem; z-index:399; width:288px; background:var(--lxe-ink2); border:1px solid var(--lxe-line); border-top:2px solid var(--lxe-gold); border-radius:3px; box-shadow:0 12px 40px rgba(0,0,0,.5); opacity:0; pointer-events:none; transform:translateY(8px) scale(.97); transform-origin:bottom right; transition:opacity .2s,transform .2s; }
.lxe-chat-win.lxe-chat-vis { opacity:1; pointer-events:auto; transform:none; }
.lxe-chat-top { padding:.7rem 1rem; background:var(--lxe-ink); border-bottom:1px solid var(--lxe-line-lt); display:flex; justify-content:space-between; align-items:center; }
.lxe-chat-dot { width:6px; height:6px; border-radius:50%; background:var(--lxe-gold); animation:lxe-blink 2s infinite; }
@keyframes lxe-blink { 0%,100%{opacity:1}50%{opacity:.2} }
.lxe-chat-who { font-family:'Cormorant Garamond',serif; font-size:0.9rem; color:var(--lxe-cream); }
.lxe-chat-role { font-family:'Manrope',sans-serif; font-size:0.5rem; color:rgba(245,240,232,.25); }
.lxe-chat-x { background:none; border:none; color:rgba(245,240,232,.25); cursor:pointer; }
.lxe-chat-log { padding:.7rem; height:140px; overflow-y:auto; display:flex; flex-direction:column; gap:.35rem; }
.lxe-chat-msg { max-width:92%; padding:.35rem .7rem; font-family:'Manrope',sans-serif; font-size:0.7rem; line-height:1.55; border-radius:2px; }
.lxe-chat-msg--bot { background:var(--lxe-ink); color:rgba(245,240,232,.5); align-self:flex-start; }
.lxe-chat-msg--me  { background:var(--lxe-gold); color:var(--lxe-ink); align-self:flex-end; }
.lxe-chat-form { display:flex; border-top:1px solid var(--lxe-line-lt); }
.lxe-chat-inp { flex:1; background:none; border:none; padding:.5rem .7rem; font-family:'Manrope',sans-serif; font-size:0.7rem; color:var(--lxe-cream); outline:none; }
.lxe-chat-send { background:var(--lxe-gold); color:var(--lxe-ink); border:none; padding:0 .7rem; font-family:'Manrope',sans-serif; font-size:0.58rem; font-weight:700; cursor:pointer; border-radius:0 0 2px 0; }

/* CONFIRM */
.lxe-confirm-wrap { min-height:100vh; display:flex; align-items:center; justify-content:center; padding:9rem 2rem 5rem; background:var(--lxe-ink); }
.lxe-confirm-box { max-width:400px; width:100%; background:var(--lxe-ink2); border:1px solid var(--lxe-line); border-top:2px solid var(--lxe-gold); border-radius:4px; padding:3.5rem; text-align:center; }

/* REVEAL */
.lxe-rv { opacity:0; transform:translateY(18px); transition:opacity .55s ease,transform .55s ease; }
.lxe-rv.lxe-vis { opacity:1; transform:none; }
.lxe-d1{transition-delay:.07s}.lxe-d2{transition-delay:.14s}.lxe-d3{transition-delay:.21s}

/* RESPONSIVE */
@media(max-width:1100px) {
  .lxe-pill-lnk:nth-child(n+6) { display:none; }
  .lxe-hero { grid-template-columns:1fr; min-height:auto; }
  .lxe-hero-right { height:50vw; max-height:400px; }
  .lxe-hero-left { padding:8rem var(--shell-px) 4rem; }
  .lxe-svc-det-grid { grid-template-columns:1fr; }
  .lxe-build-cols,.lxe-co-cols { grid-template-columns:1fr; }
  .lxe-praise-grid { grid-template-columns:1fr; }
  .lxe-pcard:nth-child(2) { margin-top:0; }
  .lxe-proc-steps { grid-template-columns:1fr 1fr; }
  .lxe-proc-step:nth-child(2) { border-right:none; }
  .lxe-proc-step:nth-child(3) { border-right:1px solid var(--lxe-line-lt); }
  .lxe-work-cols { grid-template-columns:1fr 1fr; }
  .lxe-foot-grid { grid-template-columns:1fr 1fr; gap:2rem; }
  .lxe-faq-layout { grid-template-columns:1fr; }
}
@media(max-width:780px) {
  :root { --shell-px:1.4rem; }
  .lxe-pill { padding:0 1rem; gap:1rem; }
  .lxe-pill-lnk { display:none; }
  .lxe-pill-div { display:none; }
  .lxe-pill-mob { display:flex; }
  .lxe-svc-pick { grid-template-columns:1fr; }
  .lxe-stats-row { grid-template-columns:1fr 1fr; }
  .lxe-stat-bl { border:none; border-bottom:1px solid rgba(12,12,12,.1); }
  .lxe-proc-steps { grid-template-columns:1fr; }
  .lxe-proc-step { border-right:none; border-bottom:1px solid var(--lxe-line-lt); padding-right:0; }
  .lxe-work-cols { grid-template-columns:1fr; }
  .lxe-foot-grid { grid-template-columns:1fr; }
  .lxe-fpair { grid-template-columns:1fr; }
}
