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

/* =====================================================================
   LUMINA AESTHETICS — design system (scoped to body.lumina-site)
   Warm-neutral clinical-luxury: ivory / champagne / beige / charcoal / rose
   ===================================================================== */
.lumina-site{
  --ivory:#FBF8F3; --warm-white:#FFFDFA; --beige:#F2EAE0; --sand:#EBE0D2; --blush:#F7EFEA;
  --champagne:#C2A878; --champagne-d:#A98A57; --rose:#C68C82; --charcoal:#2A2521; --ink:#2A2521;
  --grey:#7C7166; --hair:#E7DDD0; --paper:#FFFFFF;
  --radius:18px; --radius-lg:26px; --radius-pill:999px;
  --shadow-sm:0 6px 18px -12px rgba(42,37,33,.35);
  --shadow:0 22px 48px -28px rgba(42,37,33,.45);
  --shadow-lg:0 40px 80px -40px rgba(42,37,33,.5);
  --maxw:1200px; --gut:clamp(20px,5vw,40px);
  background:var(--ivory); color:var(--ink);
  font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  font-size:17px; line-height:1.7; font-weight:400; -webkit-font-smoothing:antialiased;
}
.lumina-site .lum *{box-sizing:border-box;}
.lumina-site .lum p{margin:0 0 1.1em; color:var(--grey); font-size:16.5px; line-height:1.75;}
.lumina-site .lum p:last-child{margin-bottom:0;}
.lumina-site .lum h1,.lumina-site .lum h2,.lumina-site .lum h3,.lumina-site .lum h4{
  font-family:'Fraunces',Georgia,serif; color:var(--ink); font-weight:600; line-height:1.07; margin:0 0 .35em; letter-spacing:.2px;}
.lumina-site .lum a{color:var(--champagne-d);}
.lumina-site .lum img{max-width:100%; height:auto; display:block;}

/* layout primitives */
.lumina-site .lum-container{max-width:var(--maxw); margin-inline:auto; width:100%; padding-inline:var(--gut);}
.lumina-site .lum-narrow{max-width:760px;}
.lumina-site .lum-section{padding-block:clamp(64px,9vw,118px);}
.lumina-site .lum-section-sm{padding-block:clamp(48px,6vw,80px);}
.lumina-site .lum-bg-beige{background:var(--beige);}
.lumina-site .lum-bg-blush{background:var(--blush);}
.lumina-site .lum-bg-sand{background:var(--sand);}
.lumina-site .lum-bg-ink{background:var(--charcoal); color:var(--ivory);}
.lumina-site .lum-bg-ink p{color:#d9cfc1;} .lumina-site .lum-bg-ink h1,.lumina-site .lum-bg-ink h2,.lumina-site .lum-bg-ink h3{color:#fff;}

/* eyebrow + heads */
.lumina-site .lum-eyebrow{font-family:'Inter',sans-serif !important; text-transform:uppercase; font-size:12px; letter-spacing:2.4px; color:var(--champagne-d) !important; font-weight:600; margin:0 0 16px !important;}
.lumina-site .lum-bg-ink .lum-eyebrow{color:var(--champagne) !important;}
.lumina-site .lum-h1{font-size:clamp(2.7rem,6vw,4.6rem); font-weight:600;}
.lumina-site .lum-h2{font-size:clamp(2rem,4.4vw,3.3rem);}
.lumina-site .lum-h3{font-size:clamp(1.3rem,2.4vw,1.7rem); font-weight:600;}
.lumina-site .lum-lead{font-size:clamp(1.05rem,1.5vw,1.25rem) !important; color:var(--grey); line-height:1.65; max-width:62ch;}
.lumina-site .lum-head{max-width:720px; margin-bottom:clamp(36px,5vw,58px);}
.lumina-site .lum-head-center{margin-inline:auto; text-align:center;}
.lumina-site .lum-head-center .lum-lead{margin-inline:auto;}
.lumina-site .lum-rule{border:0;width:52px;height:2px;background:var(--champagne);margin:0 0 24px;border-radius:2px;}
.lumina-site .lum-head-center .lum-rule{margin-inline:auto;}

/* buttons */
.lumina-site .lum-btn .wp-block-button__link, .lumina-site a.lum-btn-a{
  background:var(--charcoal); color:var(--ivory); border:1.5px solid var(--charcoal); border-radius:var(--radius-pill);
  padding:15px 34px; font-family:'Inter',sans-serif; font-size:13.5px; letter-spacing:.6px; font-weight:600; text-decoration:none;
  display:inline-block; transition:transform .35s ease, background .35s ease, color .35s ease, box-shadow .35s ease; box-shadow:var(--shadow-sm);}
.lumina-site .lum-btn .wp-block-button__link:hover, .lumina-site a.lum-btn-a:hover{background:var(--champagne-d); border-color:var(--champagne-d); color:#fff; transform:translateY(-2px); box-shadow:var(--shadow);}
.lumina-site .lum-btn-ghost .wp-block-button__link{background:transparent; color:var(--ink); border-color:var(--ink); box-shadow:none;}
.lumina-site .lum-btn-ghost .wp-block-button__link:hover{background:var(--ink); color:var(--ivory);}
.lumina-site .lum-btn-light .wp-block-button__link{background:var(--ivory); color:var(--charcoal); border-color:var(--ivory);}
.lumina-site .lum-btn-light .wp-block-button__link:hover{background:var(--champagne); border-color:var(--champagne); color:#fff;}
.lumina-site .lum-btn-outline-light .wp-block-button__link{background:transparent; color:var(--ivory); border-color:rgba(255,255,255,.6); box-shadow:none;}
.lumina-site .lum-btn-outline-light .wp-block-button__link:hover{background:var(--ivory); color:var(--charcoal); border-color:var(--ivory);}
.lumina-site .lum-btnrow{display:flex; gap:14px; flex-wrap:wrap; align-items:center;}
.lumina-site .lum-head-center .lum-btnrow{justify-content:center;}

/* grids */
.lumina-site .lum-grid{display:grid; gap:clamp(18px,2.4vw,32px);}
.lumina-site .lum-grid-2{grid-template-columns:1fr 1fr;}
.lumina-site .lum-grid-3{grid-template-columns:repeat(3,1fr);}
.lumina-site .lum-grid-4{grid-template-columns:repeat(4,1fr);}
.lumina-site .lum-grid-split{grid-template-columns:1fr 1fr; gap:clamp(32px,5vw,72px); align-items:center;}
.lumina-site .lum-grid > *{margin-block:0;}

/* cards */
.lumina-site .lum-card{background:var(--paper); border:1px solid var(--hair); border-radius:var(--radius); overflow:hidden; display:flex; flex-direction:column; transition:transform .5s cubic-bezier(.16,.7,.3,1), box-shadow .5s ease; height:100%;}
.lumina-site .lum-card > *{margin-block:0;}
.lumina-site .lum-card:hover{transform:translateY(-8px); box-shadow:var(--shadow-lg);}
.lumina-site .lum-card-media{position:relative; overflow:hidden; aspect-ratio:4/3;}
.lumina-site .lum-card-media img{width:100%; height:100%; object-fit:cover; transition:transform .8s cubic-bezier(.16,.7,.3,1);}
.lumina-site .lum-card:hover .lum-card-media img{transform:scale(1.06);}
.lumina-site .lum-card-body{padding:26px 26px 28px; display:flex; flex-direction:column; gap:10px; flex:1;}
.lumina-site .lum-card-body > *{margin-block:0;}
.lumina-site .lum-card-body h3{margin:0;}
.lumina-site .lum-meta{display:flex; flex-wrap:wrap; gap:8px; margin:2px 0 4px;}
.lumina-site .lum-tag{font-family:'Inter',sans-serif; font-size:10.5px; letter-spacing:.8px; text-transform:uppercase; color:var(--champagne-d); background:var(--blush); border:1px solid var(--hair); padding:5px 11px; border-radius:var(--radius-pill); font-weight:600;}
.lumina-site .lum-card-links{display:flex; gap:16px; align-items:center; margin-top:auto; padding-top:8px;}
.lumina-site .lum-link{font-family:'Inter',sans-serif; font-weight:600; font-size:13px; letter-spacing:.4px; color:var(--ink); text-decoration:none; border-bottom:1.5px solid var(--champagne); padding-bottom:2px; transition:color .3s;}
.lumina-site .lum-link:hover{color:var(--champagne-d);}
.lumina-site .lum-link-muted{color:var(--grey); border-bottom-color:var(--hair);}

/* media frame (rounded image w/ soft shadow) */
.lumina-site .lum-frame{border-radius:var(--radius-lg); overflow:hidden; box-shadow:var(--shadow); position:relative;}
.lumina-site .lum-frame img{width:100%; height:100%; object-fit:cover; display:block;}
.lumina-site .lum-frame-tall{aspect-ratio:4/5;}

/* HERO (core/cover) */
.lumina-site .lum-hero{min-height:92vh; display:flex; align-items:center;}
.lumina-site .lum-hero .wp-block-cover__inner-container{width:100%;}
.lumina-site .lum-hero-wrap{max-width:var(--maxw); margin-inline:auto; padding-inline:var(--gut); width:100%; position:relative;}
.lumina-site .lum-hero-copy{max-width:660px;}
.lumina-site .lum-hero .lum-eyebrow{color:#e9d8b6 !important;}
.lumina-site .lum-hero h1{color:#fff; font-size:clamp(2.8rem,6.2vw,5rem); margin-bottom:20px; text-shadow:0 2px 30px rgba(0,0,0,.25);}
.lumina-site .lum-hero .lum-lead{color:#f3ece2 !important; font-size:clamp(1.1rem,1.6vw,1.3rem); max-width:50ch; margin-bottom:34px;}
.lumina-site .lum-hero-cards{display:flex; gap:14px; flex-wrap:wrap; margin-top:40px;}
.lumina-site .lum-hero-card{background:rgba(255,253,250,.82); backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px); border:1px solid rgba(255,255,255,.5); border-radius:14px; padding:14px 18px; box-shadow:var(--shadow); display:flex; flex-direction:column; gap:2px; min-width:150px;}
.lumina-site .lum-hero-card .n{font-family:'Fraunces',serif; font-size:1.7rem; font-weight:600; color:var(--ink); line-height:1;}
.lumina-site .lum-hero-card .l{font-family:'Inter',sans-serif; font-size:11px; letter-spacing:.6px; text-transform:uppercase; color:var(--grey);}
.lumina-site .lum-hero-card .stars{color:var(--champagne); font-size:13px; letter-spacing:2px;}

/* trust bar */
.lumina-site .lum-trustbar{display:flex; flex-wrap:wrap; justify-content:center; gap:14px 38px; align-items:center;}
.lumina-site .lum-trust{display:flex; align-items:center; gap:9px; font-family:'Inter',sans-serif; font-size:13.5px; letter-spacing:.4px; color:var(--ink); font-weight:500;}
.lumina-site .lum-trust::before{content:""; width:7px; height:7px; border-radius:50%; background:var(--champagne); flex:0 0 7px;}

/* journey steps */
.lumina-site .lum-steps{counter-reset:step; display:grid; gap:clamp(16px,2vw,24px);}
.lumina-site .lum-step{background:var(--paper); border:1px solid var(--hair); border-radius:var(--radius); padding:26px 24px; position:relative; transition:transform .5s ease, box-shadow .5s ease;}
.lumina-site .lum-step > *{margin-block:0;}
.lumina-site .lum-step:hover{transform:translateY(-6px); box-shadow:var(--shadow);}
.lumina-site .lum-step .num{counter-increment:step; font-family:'Fraunces',serif; font-size:2rem; color:var(--champagne); line-height:1; display:block; margin-bottom:12px;}
.lumina-site .lum-step .num::before{content:"0" counter(step);}
.lumina-site .lum-step h3{font-size:1.2rem; margin-bottom:8px;}
.lumina-site .lum-step p{font-size:14.5px;}

/* before/after slider */
.lumina-site .lum-ba{position:relative; width:100%; aspect-ratio:3/2; border-radius:var(--radius-lg); overflow:hidden; box-shadow:var(--shadow); user-select:none; touch-action:pan-y;}
.lumina-site .lum-ba img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover;}
.lumina-site .lum-ba-before{position:absolute; inset:0; width:var(--ba,50%); overflow:hidden; z-index:2;}
.lumina-site .lum-ba-before img{width:auto; min-width:100%; filter:saturate(.72) brightness(.95) contrast(.96);}
.lumina-site .lum-ba-tag{position:absolute; bottom:14px; z-index:4; font-family:'Inter',sans-serif; font-size:10.5px; letter-spacing:1.4px; text-transform:uppercase; color:#fff; background:rgba(42,37,33,.6); backdrop-filter:blur(4px); padding:6px 12px; border-radius:var(--radius-pill);}
.lumina-site .lum-ba-tag.before{left:14px;} .lumina-site .lum-ba-tag.after{right:14px;}
.lumina-site .lum-ba-line{position:absolute; top:0; bottom:0; left:var(--ba,50%); width:2px; background:#fff; z-index:3; transform:translateX(-1px); box-shadow:0 0 0 1px rgba(42,37,33,.1);}
.lumina-site .lum-ba-grip{position:absolute; top:50%; left:var(--ba,50%); z-index:5; width:42px; height:42px; transform:translate(-50%,-50%); background:var(--warm-white); border-radius:50%; box-shadow:var(--shadow); display:flex; align-items:center; justify-content:center; color:var(--champagne-d); font-size:14px; cursor:ew-resize;}
.lumina-site .lum-ba-range{position:absolute; inset:0; width:100%; height:100%; opacity:0; cursor:ew-resize; z-index:6; margin:0;}
.lumina-site .lum-ba-note{font-size:12.5px !important; color:var(--grey); font-style:italic; margin-top:14px !important; text-align:center;}

/* testimonials */
.lumina-site .lum-quote{background:var(--paper); border:1px solid var(--hair); border-radius:var(--radius); padding:30px 28px; display:flex; flex-direction:column; gap:14px; height:100%;}
.lumina-site .lum-quote > *{margin-block:0;}
.lumina-site .lum-quote .stars{color:var(--champagne); letter-spacing:2px; font-size:14px;}
.lumina-site .lum-quote .t{font-family:'Fraunces',serif; font-style:italic; font-size:1.32rem; line-height:1.5; color:var(--ink);}
.lumina-site .lum-quote .who{display:flex; align-items:center; gap:12px; margin-top:auto;}
.lumina-site .lum-avatar{width:42px; height:42px; border-radius:50%; background:linear-gradient(135deg,var(--champagne),var(--rose)); color:#fff; display:flex; align-items:center; justify-content:center; font-family:'Fraunces',serif; font-size:1.1rem; font-weight:600; flex:0 0 42px;}
.lumina-site .lum-quote .who b{font-family:'Inter',sans-serif; font-size:13.5px; color:var(--ink); display:block; font-weight:600;}
.lumina-site .lum-quote .who span{font-family:'Inter',sans-serif; font-size:12px; color:var(--grey);}
.lumina-site .lum-illus{font-size:12px !important; color:var(--grey); font-style:italic; text-align:center; margin-top:20px !important;}

/* featured-in logos */
.lumina-site .lum-logos{display:flex; flex-wrap:wrap; gap:24px 48px; justify-content:center; align-items:center;}
.lumina-site .lum-logo{font-family:'Fraunces',serif; font-size:1.5rem; letter-spacing:1px; color:var(--grey); opacity:.6; font-weight:500;}

/* FAQ */
.lumina-site .lum-faq{max-width:840px; margin-inline:auto; border-top:1px solid var(--hair);}
.lumina-site .lum-acc{border-bottom:1px solid var(--hair);}
.lumina-site .lum-acc summary{list-style:none; cursor:pointer; display:flex; justify-content:space-between; align-items:center; gap:20px; padding:22px 4px; font-family:'Fraunces',serif; font-size:1.3rem; color:var(--ink); font-weight:600;}
.lumina-site .lum-acc summary::-webkit-details-marker{display:none;}
.lumina-site .lum-acc summary:hover{color:var(--champagne-d);}
.lumina-site .lum-acc .ic{flex:0 0 14px; width:14px; height:14px; position:relative;}
.lumina-site .lum-acc .ic::before,.lumina-site .lum-acc .ic::after{content:""; position:absolute; background:var(--champagne-d); transition:transform .35s ease,opacity .35s ease;}
.lumina-site .lum-acc .ic::before{top:6px; left:0; width:14px; height:2px;}
.lumina-site .lum-acc .ic::after{left:6px; top:0; width:2px; height:14px;}
.lumina-site .lum-acc[open] .ic::after{transform:scaleY(0); opacity:0;}
.lumina-site .lum-acc .a{padding:0 4px 24px; max-width:64ch;}
.lumina-site .lum-acc .a p{margin:0; font-size:15.5px;}

/* CTA band */
.lumina-site .lum-ctaband{text-align:center; position:relative; overflow:hidden;}
.lumina-site .lum-ctaband .lum-trustline{font-size:13px !important; color:var(--grey); margin-top:18px !important;}
.lumina-site .lum-bg-ink .lum-trustline{color:#b8ad9d !important;}

/* form */
.lumina-site .lum-form{display:grid; gap:16px;}
.lumina-site .lum-form .row2{display:grid; grid-template-columns:1fr 1fr; gap:16px;}
.lumina-site .lum-form .field{display:flex; flex-direction:column; gap:7px;}
.lumina-site .lum-form label{font-family:'Inter',sans-serif; font-size:11px; letter-spacing:.8px; text-transform:uppercase; color:var(--grey); font-weight:600;}
.lumina-site .lum-form input,.lumina-site .lum-form select,.lumina-site .lum-form textarea{width:100%; background:var(--warm-white); border:1px solid var(--hair); border-radius:12px; padding:13px 15px; font-family:'Inter',sans-serif; font-size:15px; color:var(--ink); transition:border-color .3s, box-shadow .3s;}
.lumina-site .lum-form input:focus,.lumina-site .lum-form select:focus,.lumina-site .lum-form textarea:focus{outline:none; border-color:var(--champagne); box-shadow:0 0 0 3px rgba(194,168,120,.18);}
.lumina-site .lum-form textarea{min-height:120px; resize:vertical;}
.lumina-site .lum-form .consent{display:flex; gap:10px; align-items:flex-start; font-size:13px; color:var(--grey);}
.lumina-site .lum-form .consent input{width:auto; margin-top:3px;}
.lumina-site .lum-form button{justify-self:start; background:var(--charcoal); color:var(--ivory); border:none; border-radius:var(--radius-pill); padding:15px 38px; font-family:'Inter',sans-serif; font-weight:600; font-size:14px; letter-spacing:.5px; cursor:pointer; transition:background .35s, transform .35s; box-shadow:var(--shadow-sm);}
.lumina-site .lum-form button:hover{background:var(--champagne-d); transform:translateY(-2px);}
.lumina-site .lum-hp{position:absolute !important; left:-9999px !important;}
.lumina-site .lum-form-note{font-size:12.5px; color:var(--grey);}
.lumina-site .lum-form-success{background:rgba(194,168,120,.14); border:1px solid var(--champagne); border-radius:12px; padding:14px 18px; font-size:14.5px; color:var(--ink); margin-bottom:8px;}

/* stub pages */
.lumina-site .lum-stub{min-height:70vh; display:flex; align-items:center; text-align:center; background:radial-gradient(120% 110% at 50% 0%, var(--blush) 0%, var(--ivory) 60%);}
.lumina-site .lum-stub .lum-container{text-align:center;}
.lumina-site .lum-stub .lum-btnrow{justify-content:center;}

/* ===================== GLOBAL CHROME (header/footer/furniture) ===================== */
/* sticky + transparent header */
.lumina-site #masthead, .lumina-site .site-header-wrap{transition:background .4s ease, box-shadow .4s ease, backdrop-filter .4s ease;}
.lumina-site.lum-scrolled #masthead{background:rgba(251,248,243,.85) !important; backdrop-filter:saturate(150%) blur(12px); -webkit-backdrop-filter:saturate(150%) blur(12px); box-shadow:0 10px 30px -22px rgba(42,37,33,.5);}
.lumina-site .site-title a{font-family:'Fraunces',serif !important; font-weight:600; letter-spacing:.5px; font-size:1.7rem;}
.lumina-site .header-navigation .menu>.menu-item>a, .lumina-site .primary-menu-container .menu-item a{font-family:'Inter',sans-serif; font-size:14px; letter-spacing:.3px; font-weight:500;}
/* CTA nav item as pill */
.lumina-site .lum-nav-cta>a{background:var(--charcoal); color:var(--ivory) !important; border-radius:var(--radius-pill); padding:10px 22px !important; transition:background .35s,transform .35s; box-shadow:var(--shadow-sm);}
.lumina-site .lum-nav-cta>a:hover{background:var(--champagne-d); transform:translateY(-1px);}
.lumina-site.lum-scrolled .lum-nav-cta>a{color:#fff !important;}

/* custom footer */
.lumina-site .site-footer{display:none !important;}
.lum-footer{background:var(--charcoal); color:#d9cfc1; font-family:'Inter',sans-serif; padding:clamp(54px,7vw,84px) var(--gut) 30px;}
.lum-footer a{color:#d9cfc1; text-decoration:none; transition:color .3s;}
.lum-footer a:hover{color:var(--champagne);}
.lum-footer .in{max-width:var(--maxw); margin-inline:auto;}
.lum-footer .grid{display:grid; grid-template-columns:1.4fr 1fr 1fr 1.1fr; gap:44px;}
.lum-footer h4{font-family:'Fraunces',serif; color:#fff; font-size:1.7rem; margin:0 0 10px; font-weight:600;}
.lum-footer .ft{font-family:'Inter',sans-serif; font-size:11px; letter-spacing:1.6px; text-transform:uppercase; color:var(--champagne); margin:0 0 14px; font-weight:600;}
.lum-footer p{margin:0 0 8px; font-size:14px; color:#c4b9aa;}
.lum-footer ul{list-style:none; margin:0; padding:0;}
.lum-footer li{margin:0 0 9px; font-size:14px;}
.lum-footer .tag{color:#9a8f7f; font-size:13px; font-style:italic; margin-top:14px;}
.lum-footer .social{display:flex; gap:18px; margin-top:6px;}
.lum-footer .social a{font-size:12px; letter-spacing:1px; text-transform:uppercase;}
.lum-footer .bottom{border-top:1px solid rgba(255,255,255,.12); margin-top:46px; padding-top:22px; display:flex; justify-content:space-between; gap:14px; flex-wrap:wrap; font-size:12px; color:#9a8f7f;}
.lum-footer .bottom a{color:#9a8f7f;}

/* floating furniture */
.lum-fab{position:fixed; z-index:990; font-family:'Inter',sans-serif;}
.lum-fab-book{right:22px; bottom:22px; background:var(--charcoal); color:#fff; border-radius:var(--radius-pill); padding:15px 26px; font-size:14px; font-weight:600; letter-spacing:.4px; text-decoration:none; box-shadow:var(--shadow-lg); display:inline-flex; align-items:center; gap:9px; transition:transform .35s, background .35s; opacity:0; transform:translateY(20px); pointer-events:none;}
.lum-fab-book.show{opacity:1; transform:none; pointer-events:auto;}
.lum-fab-book:hover{background:var(--champagne-d); transform:translateY(-3px);}
.lum-wa{left:22px; bottom:22px; width:56px; height:56px; border-radius:50%; background:#25D366; color:#fff; display:flex; align-items:center; justify-content:center; box-shadow:var(--shadow-lg); text-decoration:none; transition:transform .35s;}
.lum-wa:hover{transform:scale(1.08) translateY(-2px);}
.lum-wa svg{width:30px; height:30px; fill:#fff;}
/* concierge */
.lum-concierge{left:22px; bottom:90px; width:320px; max-width:calc(100vw - 44px); background:var(--warm-white); border:1px solid var(--hair); border-radius:20px; box-shadow:var(--shadow-lg); overflow:hidden; opacity:0; transform:translateY(16px) scale(.98); pointer-events:none; transition:opacity .3s, transform .3s;}
.lum-concierge.open{opacity:1; transform:none; pointer-events:auto;}
.lum-concierge .hd{background:var(--charcoal); color:#fff; padding:16px 18px; display:flex; align-items:center; gap:10px;}
.lum-concierge .hd .dot{width:9px;height:9px;border-radius:50%;background:#5cd67f;box-shadow:0 0 0 3px rgba(92,214,127,.25);}
.lum-concierge .hd b{font-size:14px; font-weight:600;} .lum-concierge .hd span{font-size:11px; color:#bcae9c; display:block;}
.lum-concierge .bd{padding:18px;}
.lum-concierge .msg{background:var(--blush); border-radius:12px; padding:12px 14px; font-size:13.5px; color:var(--ink); margin-bottom:14px; line-height:1.5;}
.lum-concierge .opt{display:block; width:100%; text-align:left; background:#fff; border:1px solid var(--hair); border-radius:10px; padding:11px 13px; font-size:13px; color:var(--ink); margin-bottom:8px; cursor:pointer; text-decoration:none; transition:border-color .25s, background .25s;}
.lum-concierge .opt:hover{border-color:var(--champagne); background:var(--blush);}
.lum-concierge .go{background:#25D366; color:#fff; text-align:center; font-weight:600; border-color:#25D366;}
.lum-conc-toggle{left:22px; bottom:90px; width:56px; height:56px; border-radius:50%; background:var(--champagne-d); color:#fff; display:flex; align-items:center; justify-content:center; box-shadow:var(--shadow-lg); border:none; cursor:pointer; font-size:22px; transition:transform .35s;}
.lum-conc-toggle:hover{transform:scale(1.08);}
/* Kyren badge */
.lum-kyren{left:50%; transform:translateX(-50%); bottom:18px; background:rgba(42,37,33,.9); backdrop-filter:blur(8px); color:#fff; border-radius:var(--radius-pill); padding:8px 10px 8px 16px; display:flex; align-items:center; gap:12px; box-shadow:var(--shadow); font-size:12px;}
.lum-kyren .lbl{letter-spacing:.4px; color:#e7ddcf;}
.lum-kyren a{background:var(--champagne); color:#241f1b; font-weight:600; padding:6px 14px; border-radius:var(--radius-pill); text-decoration:none; font-size:11.5px; letter-spacing:.3px; white-space:nowrap; transition:background .3s;}
.lum-kyren a:hover{background:#fff;}

/* scroll reveal */
html.lum-js .lumina-site .lum-anim{opacity:0; transform:translateY(30px); transition:opacity 1s cubic-bezier(.16,.7,.3,1), transform 1s cubic-bezier(.16,.7,.3,1);}
html.lum-js .lumina-site .lum-anim.in{opacity:1; transform:none;}
html.lum-js .lumina-site .lum-anim-d2{transition-delay:.12s;} html.lum-js .lumina-site .lum-anim-d3{transition-delay:.24s;}
@media (prefers-reduced-motion: reduce){html.lum-js .lumina-site .lum-anim{opacity:1 !important; transform:none !important;}}

/* ===================== RESPONSIVE ===================== */
@media(max-width:1024px){
  .lumina-site .lum-grid-4{grid-template-columns:repeat(2,1fr);}
  .lum-footer .grid{grid-template-columns:1fr 1fr; gap:34px;}
}
@media(max-width:860px){
  .lumina-site .lum-grid-3{grid-template-columns:1fr 1fr;}
  .lumina-site .lum-grid-split{grid-template-columns:1fr; gap:34px;}
  .lumina-site .lum-grid-split.rev > .lum-frame{order:-1;}
  .lumina-site .lum-hero{min-height:auto; padding-top:130px; padding-bottom:72px;}
}
@media(max-width:600px){
  .lumina-site .lum-grid-2,.lumina-site .lum-grid-3,.lumina-site .lum-grid-4{grid-template-columns:1fr;}
  .lumina-site .lum-form .row2{grid-template-columns:1fr;}
  .lum-footer .grid{grid-template-columns:1fr; gap:30px;}
  .lumina-site .lum-hero-cards{gap:10px;}
  .lumina-site .lum-hero-card{flex:1 1 140px; min-width:0;}
  .lum-fab-book{right:14px; bottom:14px; padding:13px 20px;}
  .lum-wa,.lum-conc-toggle{left:14px;}
  .lum-concierge{left:14px; bottom:80px;}
  .lum-kyren{font-size:11px; padding:7px 8px 7px 12px; max-width:calc(100vw - 24px);}
}

/* why-us checklist */
.lumina-site .lum ul.lum-checks{list-style:none; margin:22px 0 0; padding:0; display:grid; gap:13px;}
.lumina-site .lum ul.lum-checks li{position:relative; padding-left:32px; font-size:15.5px; color:var(--ink); line-height:1.6;}
.lumina-site .lum ul.lum-checks li::before{content:""; position:absolute; left:0; top:6px; width:16px; height:16px; border-radius:50%; background:var(--champagne); box-shadow:0 0 0 4px var(--blush);}
.lumina-site .lum ul.lum-checks li strong{font-weight:600;}

/* before/after: clip the 'before' layer so the image stays aligned with 'after' */
.lumina-site .lum-ba-before{width:100% !important; overflow:visible !important; clip-path:inset(0 calc(100% - var(--ba,50%)) 0 0);}
.lumina-site .lum-ba-before img{width:100% !important; min-width:0 !important; filter:saturate(.7) brightness(.96) contrast(.95);}
@media(max-width:600px){ .lumina-site .lum-ba{aspect-ratio:1/1;} }

/* ===== Sticky + transparent fixed header ===== */
.lumina-site #masthead, .lumina-site #mobile-header{position:fixed !important; top:0; left:0; right:0; width:100%; z-index:1000; background:rgba(251,248,243,.92); backdrop-filter:saturate(150%) blur(12px); -webkit-backdrop-filter:saturate(150%) blur(12px); box-shadow:0 10px 30px -24px rgba(42,37,33,.5); transition:background .4s ease, box-shadow .4s ease;}
.lumina-site.lum-hero-page:not(.lum-scrolled) #masthead, .lumina-site.lum-hero-page:not(.lum-scrolled) #mobile-header{background:transparent; box-shadow:none; backdrop-filter:none; -webkit-backdrop-filter:none;}
.lumina-site.lum-hero-page:not(.lum-scrolled) #masthead a, .lumina-site.lum-hero-page:not(.lum-scrolled) #masthead .site-title a, .lumina-site.lum-hero-page:not(.lum-scrolled) #mobile-header a{color:#fff !important;}
.lumina-site.lum-hero-page:not(.lum-scrolled) #mobile-header .menu-toggle, .lumina-site.lum-hero-page:not(.lum-scrolled) #mobile-header .menu-toggle-icon, .lumina-site.lum-hero-page:not(.lum-scrolled) #mobile-header button{color:#fff !important;}
.lumina-site.lum-hero-page:not(.lum-scrolled) #masthead .lum-nav-cta>a{background:rgba(255,255,255,.16) !important; border:1px solid rgba(255,255,255,.55);}
.lumina-site.lum-hero-page:not(.lum-scrolled) #masthead .lum-nav-cta>a:hover{background:rgba(255,255,255,.28) !important;}
/* offset content on pages without a full-bleed hero */
.lumina-site:not(.lum-hero-page) .lum{padding-top:84px;}
/* tighten nav so the full menu fits the premium bar */
.lumina-site .header-navigation .menu>.menu-item>a{font-size:13.5px; letter-spacing:.2px;}
.lumina-site .header-navigation .menu>.menu-item{margin:0 2px;}

/* mobile: keep header solid + legible (transparent-over-hero is desktop only) */
@media(max-width:1024px){
  .lumina-site #mobile-header{background:rgba(251,248,243,.96) !important; box-shadow:0 8px 24px -20px rgba(42,37,33,.5);}
  .lumina-site.lum-hero-page:not(.lum-scrolled) #mobile-header, .lumina-site.lum-hero-page:not(.lum-scrolled) #mobile-header a, .lumina-site.lum-hero-page:not(.lum-scrolled) #mobile-header .site-title a, .lumina-site.lum-hero-page:not(.lum-scrolled) #mobile-header .menu-toggle, .lumina-site.lum-hero-page:not(.lum-scrolled) #mobile-header button{color:var(--ink) !important; background:transparent;}
  .lumina-site.lum-hero-page:not(.lum-scrolled) #mobile-header{background:rgba(251,248,243,.96) !important;}
  .lumina-site.lum-hero-page .lum-hero{padding-top:120px;}
}

/* ============================================================
   UPGRADE PASS — hero video, marquee, custom Ever/Body navbar
   ============================================================ */

/* ---- Hero: dark overlay + lazy background video ---- */
.lumina-site .lum-hero{position:relative; overflow:hidden;}
.lumina-site .lum-hero .wp-block-cover__background{background-color:rgba(0,0,0,.38) !important; opacity:1 !important; z-index:2 !important;}
.lumina-site .lum-hero .wp-block-cover__image-background{z-index:0;}
.lumina-site .lum-hero-video{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:1; border:0; pointer-events:none;}
.lumina-site .lum-hero .wp-block-cover__inner-container{position:relative; z-index:3 !important;}
@media(max-width:767px){ .lumina-site .lum-hero-video{display:none !important;} }

/* ---- Featured-in seamless marquee ---- */
.lumina-site .lum-marquee{overflow:hidden; width:100%; -webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent); mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);}
.lumina-site .lum-marquee-track{display:flex; width:max-content; align-items:center; animation:lum-marq 35s linear infinite; will-change:transform;}
.lumina-site .lum-marquee:hover .lum-marquee-track{animation-play-state:paused;}
.lumina-site .lum-marquee .lum-logo{margin:0 34px; filter:grayscale(1); opacity:.6; color:var(--grey); transition:opacity .4s ease, filter .4s ease, color .4s ease; white-space:nowrap;}
.lumina-site .lum-marquee .lum-logo:hover{filter:grayscale(0); opacity:1; color:var(--ink);}
@keyframes lum-marq{from{transform:translateX(0)} to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){ .lumina-site .lum-marquee-track{animation:none; flex-wrap:wrap; justify-content:center; width:100%;} }

/* ====================== CUSTOM NAVBAR ====================== */
/* hide Kadence native header on Lumina pages (replaced by custom nav) */
.lumina-site #masthead, .lumina-site #mobile-header{display:none !important;}
/* fixed-header offset for pages without a full-bleed hero */
.lumina-site:not(.lum-hero-page) .lum{padding-top:64px;}

.lum-nav{position:fixed; top:0; left:0; right:0; z-index:1000; font-family:'Inter',sans-serif; transition:background .45s ease, box-shadow .45s ease;}
.lum-nav-shell{max-width:1280px; margin:0 auto; padding:13px var(--gut); display:grid; align-items:center; column-gap:26px; transition:padding .45s ease;}
.lum-nav a, .lum-nav button{font-family:'Inter',sans-serif; color:inherit;}
.lum-nav-grp{display:flex; align-items:center; gap:26px;}
.lum-nav-grp a, .lum-mega-trig{text-decoration:none; font-size:14px; letter-spacing:.3px; font-weight:500; background:none; border:0; cursor:pointer; padding:6px 0; white-space:nowrap; transition:color .3s ease;}
.lum-nav-grp a:hover, .lum-mega-trig:hover{color:var(--champagne-d);}
.lum-mega-trig{display:inline-flex; align-items:center;}
.lum-mega-trig::after{content:''; width:5px; height:5px; border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor; transform:rotate(45deg); margin-left:7px; transition:transform .3s ease; position:relative; top:-1px;}
.lum-nav.mega-open .lum-mega-trig::after{transform:rotate(-135deg);}
.lum-nav-brand{grid-area:brand; text-decoration:none; font-family:'Fraunces',Georgia,serif; line-height:1; display:inline-flex; align-items:center; justify-self:center;}
.lum-nav-brand .full{font-size:1.55rem; font-weight:500; letter-spacing:.4px;}
.lum-nav-brand .mono{display:none; font-size:1.35rem; font-weight:600; letter-spacing:1.5px;}
.lum-nav-book{grid-area:book; justify-self:end; background:var(--charcoal); color:var(--ivory) !important; border-radius:var(--radius-pill); padding:10px 20px; font-size:12.5px; font-weight:600; text-decoration:none; white-space:nowrap; transition:background .3s ease, transform .3s ease;}
.lum-nav-book:hover{background:var(--champagne-d); transform:translateY(-1px);}
.lum-nav-l{grid-area:navl;} .lum-nav-r{grid-area:navr;}
.lum-nav-burger{grid-area:burger; display:none; width:42px; height:42px; flex-direction:column; justify-content:center; gap:5px; background:none; border:0; cursor:pointer; padding:0;}
.lum-nav-burger span{display:block; width:24px; height:2px; background:currentColor; margin:0 auto; transition:.3s;}

/* BASE = condensed slim bar (also used on all non-hero pages) */
.lum-nav{background:rgba(255,255,255,.96); backdrop-filter:saturate(150%) blur(10px); -webkit-backdrop-filter:saturate(150%) blur(10px); box-shadow:0 8px 30px -22px rgba(42,37,33,.45); color:var(--ink);}
.lum-nav-shell{grid-template-columns:1fr auto 1fr auto; grid-template-areas:"navl brand navr book";}
.lum-nav-l{justify-self:end;} .lum-nav-r{justify-self:start;}
.lum-nav-brand .full{display:none;} .lum-nav-brand .mono{display:inline;}

/* EXPANDED two-tier transparent header over the hero */
.lum-hero-page:not(.lum-scrolled) .lum-nav{background:transparent; box-shadow:none; backdrop-filter:none; -webkit-backdrop-filter:none; color:#fff;}
.lum-hero-page:not(.lum-scrolled) .lum-nav-shell{grid-template-columns:1fr auto auto 1fr; grid-template-rows:auto auto; grid-template-areas:". brand brand book" "navl navl navr navr"; row-gap:14px; padding-top:26px; padding-bottom:20px;}
.lum-hero-page:not(.lum-scrolled) .lum-nav-l{justify-self:end;} .lum-hero-page:not(.lum-scrolled) .lum-nav-r{justify-self:start;}
.lum-hero-page:not(.lum-scrolled) .lum-nav-brand .full{display:inline; font-size:1.95rem;} .lum-hero-page:not(.lum-scrolled) .lum-nav-brand .mono{display:none;}
.lum-hero-page:not(.lum-scrolled) .lum-nav-book{background:rgba(255,255,255,.15); border:1px solid rgba(255,255,255,.55); color:#fff !important;}
.lum-hero-page:not(.lum-scrolled) .lum-nav-book:hover{background:rgba(255,255,255,.28);}

/* ---- Mega menu ---- */
.lum-mega{position:absolute; left:0; right:0; top:100%; background:var(--warm-white); border-top:1px solid var(--hair); box-shadow:0 36px 60px -34px rgba(42,37,33,.5); opacity:0; visibility:hidden; transform:translateY(-8px); transition:opacity .3s ease, transform .3s ease, visibility .3s ease;}
.lum-nav.mega-open .lum-mega{opacity:1; visibility:visible; transform:none;}
.lum-mega-inner{max-width:1280px; margin:0 auto; padding:38px var(--gut) 30px; display:grid; grid-template-columns:repeat(6,1fr); gap:28px;}
.lum-mega-col h4{font-family:'Inter',sans-serif; font-size:11px; letter-spacing:1.4px; text-transform:uppercase; color:var(--champagne-d); margin:0 0 14px; font-weight:600;}
.lum-mega-col a{display:block; color:var(--grey); font-size:13.5px; text-decoration:none; padding:6px 0; transition:color .25s ease;}
.lum-mega-col a:hover{color:var(--ink);}
.lum-mega-foot{grid-column:1/-1; border-top:1px solid var(--hair); margin-top:6px; padding-top:18px; display:flex; justify-content:space-between; align-items:center; gap:14px; flex-wrap:wrap;}
.lum-mega-foot .note{font-size:12.5px; color:var(--grey); font-style:italic;}
.lum-mega-foot .explore{background:var(--charcoal); color:#fff !important; border-radius:var(--radius-pill); padding:11px 24px; font-size:12.5px; font-weight:600; text-decoration:none; transition:background .3s ease;}
.lum-mega-foot .explore:hover{background:var(--champagne-d);}

/* ---- Mobile ---- */
.lum-drawer, .lum-drawer-ov{display:none;}
@media(max-width:900px){
  .lum-nav-grp, .lum-nav-book{display:none !important;}
  .lum-nav-burger{display:flex !important;}
  .lum-nav{background:rgba(255,255,255,.97) !important; box-shadow:0 8px 30px -22px rgba(42,37,33,.45) !important; color:var(--ink) !important; backdrop-filter:saturate(150%) blur(10px);}
  .lum-nav-shell{grid-template-columns:1fr auto 1fr !important; grid-template-rows:auto !important; grid-template-areas:"burger brand x" !important; padding:10px var(--gut) !important; color:var(--ink) !important;}
  .lum-nav-brand{justify-self:center !important;} .lum-nav-brand .full{display:inline !important; font-size:1.4rem;} .lum-nav-brand .mono{display:none !important;}
  .lum-mega{display:none !important;}
  .lum-drawer{display:block; position:fixed; top:0; right:0; bottom:0; width:min(86vw,360px); background:var(--warm-white); z-index:1100; transform:translateX(100%); transition:transform .4s cubic-bezier(.16,.7,.3,1); overflow-y:auto; padding:84px 24px 40px; box-shadow:-24px 0 60px -30px rgba(0,0,0,.5);}
  .lum-drawer.open{transform:none;}
  .lum-drawer-ov{display:block; position:fixed; inset:0; background:rgba(20,16,12,.45); z-index:1090; opacity:0; visibility:hidden; transition:opacity .3s ease, visibility .3s ease;}
  .lum-drawer-ov.open{opacity:1; visibility:visible;}
  .lum-drawer>a{display:block; color:var(--ink); text-decoration:none; font-size:17px; padding:14px 2px; border-bottom:1px solid var(--hair); font-weight:500;}
  .lum-drawer details{border-bottom:1px solid var(--hair);}
  .lum-drawer summary{list-style:none; cursor:pointer; padding:14px 2px; font-size:17px; font-weight:500; color:var(--ink); display:flex; justify-content:space-between; align-items:center;}
  .lum-drawer summary::-webkit-details-marker{display:none;}
  .lum-drawer summary::after{content:'+'; font-size:20px; color:var(--champagne-d); line-height:1;}
  .lum-drawer details[open] summary::after{content:'\2212';}
  .lum-drawer .sub{padding:2px 0 12px;}
  .lum-drawer .sub a{display:block; color:var(--grey); font-size:14.5px; text-decoration:none; padding:8px 0 8px 14px; border:0;}
  .lum-drawer .sub a:hover{color:var(--ink);}
  .lum-drawer-book{display:block; text-align:center; margin-top:22px; background:var(--charcoal); color:#fff !important; border-radius:var(--radius-pill); padding:15px; font-weight:600; text-decoration:none; border:0 !important;}
}
/* hero content clears the taller two-tier fixed header */
.lumina-site .lum-hero{min-height:100vh; padding-top:150px; padding-bottom:90px; align-items:center;}
@media(max-width:860px){ .lumina-site .lum-hero{min-height:auto; padding-top:120px; padding-bottom:60px;} }
/* keep mobile wordmark on one line */
@media(max-width:900px){ .lum-nav-brand .full{font-size:1.25rem !important; white-space:nowrap;} }

/* ============================================================
   EDITORIAL RESTYLE (Ouronyx-inspired) — lumina.css only
   Single gold accent · airy spacing · sharp editorial imagery
   ============================================================ */
.lumina-site{
  /* new palette */
  --ivory:#F7F1EA; --beige:#ECE2D6; --white:#FFFFFF; --ink:#0E0E0E; --muted:#6B6258; --gold:#A78E52;
  /* re-point all legacy tokens to the new system (gold = only accent) */
  --charcoal:var(--ink); --grey:var(--muted); --paper:var(--white); --warm-white:#FFFFFF;
  --champagne:var(--gold); --champagne-d:var(--gold); --rose:var(--gold);
  --sand:var(--beige); --blush:#F1EAE0; --hair:#E4D9CB;
  /* editorial geometry: sharp corners, buttons keep slight rounding */
  --radius:0; --radius-lg:0; --radius-pill:3px;
  /* airier layout */
  --maxw:1320px; --gut:clamp(24px,4vw,40px);
  font-size:18px;
}

/* ---- Type scale ---- */
.lumina-site .lum h1,.lumina-site .lum h2,.lumina-site .lum h3,.lumina-site .lum h4{font-weight:500; letter-spacing:0;}
.lumina-site .lum p{font-size:18px; line-height:1.6;}
.lumina-site .lum-eyebrow{font-family:'Inter',sans-serif !important; font-size:13px; letter-spacing:.15em; color:var(--gold) !important; font-weight:600;}
.lumina-site .lum-hero h1{font-size:clamp(2.2rem,5.2vw,4.5rem); line-height:1.1; font-weight:500;}
.lumina-site .lum-h2{font-size:clamp(2rem,4vw,3.5rem); line-height:1.2; font-weight:500;}
.lumina-site .lum-h3{font-size:clamp(1.5rem,2.2vw,2rem); line-height:1.3; font-weight:500;}
.lumina-site .lum-lead{font-size:clamp(1.15rem,1.5vw,1.35rem) !important; line-height:1.6;}
.lumina-site .lum-hero .lum-lead{font-size:clamp(1.15rem,1.6vw,1.35rem) !important;}

/* ---- Spacing / airiness ---- */
.lumina-site .lum-section{padding-block:clamp(72px,9vw,150px);}
.lumina-site .lum-section-sm{padding-block:clamp(56px,6vw,90px);}
.lumina-site .lum-head{margin-bottom:clamp(44px,5vw,72px);}
.lumina-site .lum-grid{gap:clamp(28px,3vw,48px);}
.lumina-site .lum-grid-split{gap:clamp(44px,5vw,80px);}
.lumina-site .lum-card-body{padding:32px 32px 34px;}
.lum-nav-shell,.lum-mega-inner{max-width:1320px !important;}

/* ---- Editorial imagery: sharp corners, minimal/no shadow ---- */
.lumina-site .lum-card,.lumina-site .lum-frame,.lumina-site .lum-ba,.lumina-site .lum-step,.lumina-site .lum-quote{box-shadow:none !important;}
.lumina-site .lum-card{transition:transform .5s ease, border-color .4s ease;}
.lumina-site .lum-card:hover{transform:translateY(-4px); box-shadow:none !important; border-color:var(--gold);}
.lumina-site .lum-step:hover{transform:translateY(-4px); box-shadow:none !important;}
.lumina-site .lum-hero-card{border-radius:2px; box-shadow:none; background:rgba(255,255,255,.85);}
.lumina-site .lum-form input,.lumina-site .lum-form select,.lumina-site .lum-form textarea{border-radius:0;}
.lumina-site .lum-tag{border-radius:2px;}

/* fix: eyebrow must stay small (beats the broad .lum p body rule) */
.lumina-site .lum-eyebrow{font-size:13px !important; line-height:1.5;}
/* keep compact UI copy small after the body-size bump */
.lumina-site .lum-step p{font-size:15px;}

/* ============================================================
   PHASE 2 — Service page components (editorial)
   ============================================================ */
.lumina-site .lum-hero-svc{min-height:78vh;}
.lumina-site .lum-svc-meta{display:flex; flex-wrap:wrap; gap:12px 14px; margin-top:28px;}
.lumina-site .lum-svc-meta .m{border:1px solid var(--hair); padding:11px 16px; font-size:13px; color:var(--muted);}
.lumina-site .lum-svc-meta .m b{color:var(--ink); font-weight:600; margin-right:5px;}
/* benefit cards */
.lumina-site .lum-bene{border:1px solid var(--hair); background:var(--white); padding:32px 30px;}
.lumina-site .lum-bene .ic{display:inline-flex; align-items:center; justify-content:center; width:40px; height:40px; border:1px solid var(--gold); color:var(--gold); font-family:'Fraunces',Georgia,serif; font-size:1.1rem; margin-bottom:18px;}
.lumina-site .lum-bene h3{font-size:1.3rem; font-family:'Fraunces',Georgia,serif; font-weight:500; margin:0 0 8px;}
.lumina-site .lum-bene p{font-size:15.5px; line-height:1.6; color:var(--muted); margin:0;}
/* cautions list (paired with .lum-checks) */
.lumina-site .lum ul.lum-cautions{list-style:none; margin:22px 0 0; padding:0; display:grid; gap:13px;}
.lumina-site .lum ul.lum-cautions li{position:relative; padding-left:30px; font-size:15.5px; color:var(--ink); line-height:1.6;}
.lumina-site .lum ul.lum-cautions li::before{content:""; position:absolute; left:0; top:11px; width:14px; height:2px; background:var(--muted);}
.lumina-site .lum-note{margin-top:18px !important; font-size:13px !important; color:var(--muted); font-style:italic;}
/* aftercare cards */
.lumina-site .lum-acard{background:var(--white); border:1px solid var(--hair); border-top:2px solid var(--gold); padding:26px 24px;}
.lumina-site .lum-acard .lab{display:block; font-family:'Inter',sans-serif; font-size:11px; letter-spacing:.12em; text-transform:uppercase; color:var(--gold); font-weight:600; margin-bottom:10px;}
.lumina-site .lum-acard p{font-size:15px; line-height:1.6; color:var(--muted); margin:0;}
/* related service cards as links */
.lumina-site a.lum-card{text-decoration:none; color:inherit;}
.lumina-site a.lum-card .lum-card-body h3{font-family:'Fraunces',Georgia,serif; font-weight:500;}

/* =========================================================================
   LUMINA AESTHETICS — HERO FX  (original CSS "cosmetic procedure" animation)
   Pure CSS. Animates transform + opacity ONLY (filter static, on small/blur
   layers only). .lum-fx sits at z-index:1 — between the base photo (z0) and
   the dark overlay (z2) — so text readability is untouched (copy = z3).
   ========================================================================= */
.lumina-site .lum-hero .lum-fx{
  position:absolute; inset:0; z-index:1; pointer-events:none; overflow:hidden;
  contain:layout paint style;
}
.lumina-site .lum-hero .lum-fx > *{ position:absolute; inset:0; backface-visibility:hidden; }

/* 1. KEN-BURNS on the base photo (ease-in-out alternate => seamless) */
.lumina-site .lum-hero .wp-block-cover__image-background{
  transform-origin:62% 42%; will-change:transform;
  animation:lum-kenburns 24s ease-in-out infinite alternate;
}
@keyframes lum-kenburns{
  from{ transform:scale(1.06) translate3d(0,0,0); }
  to  { transform:scale(1.13) translate3d(-1.6%,-1.2%,0); }
}

/* 2. VIGNETTE (static depth, multiply) */
.lumina-site .lum-hero .lum-fx-vignette{
  background:radial-gradient(125% 115% at 50% 42%, rgba(14,14,14,0) 52%, rgba(14,14,14,.20) 82%, rgba(14,14,14,.42) 100%);
  mix-blend-mode:multiply;
}

/* 3. LENS BLOOM (skin-glow breathe, anchored right of copy) */
.lumina-site .lum-hero .lum-fx-bloom{
  background:radial-gradient(110% 90% at 64% 40%, rgba(255,248,238,.12) 0%, rgba(255,248,238,.05) 30%, rgba(255,248,238,0) 60%);
  mix-blend-mode:screen; will-change:transform,opacity;
  animation:lum-bloom 8s ease-in-out infinite alternate;
}
@keyframes lum-bloom{ from{ transform:scale(1.00); opacity:.42; } to{ transform:scale(1.04); opacity:.70; } }

/* 4. DEVICE GLOW (soft treatment light gliding over the skin) */
.lumina-site .lum-hero .lum-fx-glide{
  inset:auto; width:34vmax; height:34vmax; top:34%; left:58%;
  background:radial-gradient(circle at 50% 50%, rgba(255,246,232,.18) 0%, rgba(167,142,82,.10) 34%, rgba(167,142,82,0) 66%);
  filter:blur(16px); mix-blend-mode:screen; will-change:transform,opacity;
  transform:translate3d(-50%,-50%,0) scale(.96);
  animation:lum-glide 9s ease-in-out infinite alternate;
}
@keyframes lum-glide{
  from{ transform:translate3d(-50%,-50%,0) scale(.96); opacity:.40; }
  to  { transform:translate3d(-38%,-64%,0) scale(1.06); opacity:.55; }
}

/* 5. ANAMORPHIC LIGHT SWEEP (one slow diagonal pearl/gold pass) */
.lumina-site .lum-hero .lum-fx-sweep{
  left:-60%; right:-60%; top:-60%; bottom:-60%;
  background:linear-gradient(105deg, rgba(247,241,234,0) 44%, rgba(247,241,234,.07) 48%, rgba(236,226,214,.14) 50%, rgba(167,142,82,.09) 52%, rgba(247,241,234,0) 56%);
  mix-blend-mode:screen; opacity:0; will-change:transform,opacity;
  animation:lum-sweep 11s cubic-bezier(.45,0,.55,1) infinite;
}
@keyframes lum-sweep{
  0%{ transform:translate3d(-85%,18%,0); opacity:0; }
  20%{ opacity:.45; } 50%{ opacity:.32; } 80%{ opacity:0; }
  100%{ transform:translate3d(85%,-18%,0); opacity:0; }
}

/* 6. GRAIN (subtle filmic texture; opacity-only loop; inline SVG noise) */
.lumina-site .lum-hero .lum-fx-grain{
  inset:-30px;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix type='saturate' values='0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)' opacity='0.5'/></svg>");
  background-size:160px 160px; background-repeat:repeat;
  mix-blend-mode:overlay; opacity:.05; will-change:opacity;
  animation:lum-grain 6s ease-in-out infinite alternate;
}
@keyframes lum-grain{ from{ opacity:.04; } to{ opacity:.07; } }

/* 7. PARTICLES (sparse drifting pearl/champagne shimmer; return to origin => seamless) */
.lumina-site .lum-hero .lum-fx-p{
  inset:auto; width:6px; height:6px; border-radius:50%;
  background:radial-gradient(circle, rgba(255,250,242,.92) 0%, rgba(236,226,214,.50) 45%, rgba(167,142,82,0) 72%);
  filter:blur(.3px); mix-blend-mode:screen; opacity:0;
  animation:lum-rise-a 9s ease-in-out infinite;
}
.lumina-site .lum-hero .lum-fx-p:nth-child(3n){ width:4px; height:4px; animation-name:lum-rise-b; animation-duration:11s; }
.lumina-site .lum-hero .lum-fx-p:nth-child(3n+1){ width:8px; height:8px; animation-name:lum-rise-c; animation-duration:10s; }
@keyframes lum-rise-a{
  0%{ transform:translate3d(0,0,0) scale(.6); opacity:0; }
  14%{ opacity:.55; }
  50%{ transform:translate3d(8px,-44px,0) scale(1); opacity:.42; }
  86%{ opacity:0; }
  100%{ transform:translate3d(0,0,0) scale(.6); opacity:0; }
}
@keyframes lum-rise-b{
  0%{ transform:translate3d(0,0,0) scale(.5); opacity:0; }
  15%{ opacity:.45; }
  50%{ transform:translate3d(-9px,-38px,0) scale(.95); opacity:.36; }
  85%{ opacity:0; }
  100%{ transform:translate3d(0,0,0) scale(.5); opacity:0; }
}
@keyframes lum-rise-c{
  0%{ transform:translate3d(0,0,0) scale(.55); opacity:0; }
  14%{ opacity:.42; }
  50%{ transform:translate3d(6px,-50px,0) scale(1); opacity:.32; }
  86%{ opacity:0; }
  100%{ transform:translate3d(0,0,0) scale(.55); opacity:0; }
}

/* MOBILE (<=767px): drop heaviest layers, fewer particles, gentler motion (CLS=0) */
@media (max-width:767px){
  .lumina-site .lum-hero .lum-fx-sweep,
  .lumina-site .lum-hero .lum-fx-grain{ display:none; }
  .lumina-site .lum-hero .lum-fx-glide{ width:46vmax; height:46vmax; filter:blur(12px); opacity:.35; }
  .lumina-site .lum-hero .lum-fx-bloom{ opacity:.5; }
  .lumina-site .lum-hero .lum-fx-p:nth-child(n+11){ display:none; }
  .lumina-site .lum-hero .wp-block-cover__image-background{ animation-duration:30s; }
}

/* REDUCED MOTION: freeze into a tasteful premium still */
@media (prefers-reduced-motion:reduce){
  .lumina-site .lum-hero .wp-block-cover__image-background,
  .lumina-site .lum-hero .lum-fx-bloom,
  .lumina-site .lum-hero .lum-fx-glide,
  .lumina-site .lum-hero .lum-fx-sweep,
  .lumina-site .lum-hero .lum-fx-grain,
  .lumina-site .lum-hero .lum-fx-p{ animation:none !important; }
  .lumina-site .lum-hero .wp-block-cover__image-background{ transform:scale(1.08); }
  .lumina-site .lum-hero .lum-fx-bloom{ opacity:.55; transform:scale(1.02); }
  .lumina-site .lum-hero .lum-fx-glide{ opacity:.40; transform:translate3d(-50%,-58%,0) scale(1); }
  .lumina-site .lum-hero .lum-fx-grain{ opacity:.05; }
  .lumina-site .lum-hero .lum-fx-sweep{ opacity:0; }
  .lumina-site .lum-hero .lum-fx-p{ opacity:0; }
}

/* =========================================================================
   LUMÉ — SIGNATURE HERO (homepage only). All rules scoped under .lume so
   nothing leaks into the rest of the Lumina site. Pasted design, adapted +
   reduced-motion added. Keyframes prefixed lume-* to avoid collisions.
   ========================================================================= */
.lume{
  --ivory:#F7F2EB; --ivory-2:#FBF8F3; --ink:#2C2422; --muted:#6C5F58; --plum:#3A2233;
  --gold:#B98A5E; --gold-2:#CBA56A; --line:rgba(58,34,51,.14); --card:rgba(255,255,255,.5);
  --blob-1:233,180,170; --blob-2:240,206,168; --blob-3:201,170,188; --blob-4:203,165,106; --blob-5:198,206,188;
  --serif:'Fraunces',Georgia,'Times New Roman',serif; --sans:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  position:relative; overflow:hidden; background:var(--ivory); color:var(--ink);
  font-family:var(--sans); -webkit-font-smoothing:antialiased; isolation:isolate;
}
.lume *{box-sizing:border-box; margin:0; padding:0;}
.lume .sr-only{position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0);}

.lume .hero{position:relative; min-height:100vh; display:flex; flex-direction:column; isolation:isolate;}
.lume #mesh{position:absolute; inset:0; width:100%; height:100%; z-index:-2;}
.lume .grain{position:absolute; inset:0; z-index:-1; pointer-events:none; opacity:.5; mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='ln'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23ln)' opacity='0.5'/%3E%3C/svg%3E");}
.lume .vignette{position:absolute; inset:0; z-index:-1; pointer-events:none; background:radial-gradient(120% 90% at 50% 18%,transparent 55%,rgba(58,34,51,.06) 100%);}

.lume nav{display:flex; align-items:center; justify-content:space-between; padding:26px clamp(20px,5vw,64px); position:relative; z-index:3;}
.lume .brand{font-family:var(--serif); font-weight:500; font-size:23px; letter-spacing:.04em; color:var(--ink); text-decoration:none;}
.lume .brand span{color:var(--gold);}
.lume .nav-links{display:flex; gap:34px; align-items:center;}
.lume .nav-links a{font-size:13.5px; letter-spacing:.06em; text-transform:uppercase; color:var(--muted); text-decoration:none; transition:color .3s;}
.lume .nav-links a:hover{color:var(--ink);}
.lume .btn{font-family:var(--sans); font-size:13px; letter-spacing:.06em; text-transform:uppercase; cursor:pointer; border:none; text-decoration:none; display:inline-block; transition:all .35s cubic-bezier(.2,.8,.2,1); position:relative; overflow:hidden;}
.lume .btn-book{background:var(--plum); color:#F4E9DD; padding:13px 24px; border-radius:40px;}
.lume .btn-book:hover{transform:translateY(-2px); box-shadow:0 14px 30px -12px rgba(58,34,51,.6);}
@media(max-width:860px){ .lume .nav-links a:not(.btn){display:none;} }

.lume .wrap{flex:1; display:grid; grid-template-columns:1.05fr .95fr; gap:40px; align-items:center; padding:10px clamp(20px,5vw,64px) 40px; position:relative; z-index:2;}
@media(max-width:940px){ .lume .wrap{grid-template-columns:1fr; gap:24px; padding-bottom:60px;} }

.lume .eyebrow{display:inline-flex; align-items:center; gap:10px; font-size:12px; letter-spacing:.22em; text-transform:uppercase; color:var(--gold); margin-bottom:26px;}
.lume .eyebrow::before{content:""; width:26px; height:1px; background:var(--gold);}
.lume h1{font-family:var(--serif); font-weight:300; color:var(--ink); font-size:clamp(42px,6.4vw,82px); line-height:1.02; letter-spacing:-.01em;}
.lume h1 .line2{display:flex; align-items:baseline; gap:.28em; flex-wrap:wrap;}
.lume .cycle{font-weight:500; font-style:italic; background:linear-gradient(100deg,var(--gold) 0%,var(--plum) 90%); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; transition:opacity .4s ease,transform .4s ease; display:inline-block;}
.lume .cycle.out{opacity:0; transform:translateY(12px);}
.lume .sub{font-size:clamp(15px,1.4vw,17.5px); line-height:1.65; color:var(--muted); max-width:430px; margin:28px 0 36px;}
.lume .cta-row{display:flex; align-items:center; gap:20px; flex-wrap:wrap;}
.lume .btn-primary{background:var(--plum); color:#F4E9DD; padding:17px 34px; border-radius:44px; font-size:13.5px;}
.lume .btn-primary:hover{transform:translateY(-2px); box-shadow:0 16px 34px -12px rgba(58,34,51,.55);}
.lume .btn-ghost{background:transparent; color:var(--ink); padding:17px 8px; border-bottom:1px solid var(--line); border-radius:0; display:inline-flex; align-items:center; gap:9px;}
.lume .btn-ghost:hover{color:var(--gold); gap:14px;}
.lume .trust{display:flex; align-items:center; gap:18px; margin-top:46px; flex-wrap:wrap;}
.lume .stars{color:var(--gold); font-size:15px; letter-spacing:2px;}
.lume .trust small{font-size:13px; color:var(--muted); letter-spacing:.02em;}
.lume .divider{width:1px; height:16px; background:var(--line);}

.lume .stage{position:relative; height:clamp(380px,46vw,540px); display:flex; align-items:center; justify-content:center;}
.lume .orb{position:absolute; width:74%; aspect-ratio:1; border-radius:50%;
  background:radial-gradient(circle at 36% 32%, rgba(255,240,228,.95) 0%, rgba(var(--blob-1),.9) 26%, rgba(var(--blob-3),.78) 55%, rgba(var(--blob-4),.55) 78%, rgba(58,34,51,.10) 100%);
  filter:blur(2px); animation:lume-breathe 9s ease-in-out infinite;}
@keyframes lume-breathe{0%,100%{transform:scale(1)}50%{transform:scale(1.05)}}
.lume .ring{position:absolute; width:90%; aspect-ratio:1; border-radius:50%; border:1px solid rgba(203,165,106,.5); animation:lume-spin 34s linear infinite;}
.lume .ring::after{content:""; position:absolute; top:-4px; left:50%; width:7px; height:7px; border-radius:50%; background:var(--gold-2); box-shadow:0 0 12px 2px rgba(203,165,106,.7);}
@keyframes lume-spin{to{transform:rotate(360deg)}}
.lume .glass{position:absolute; backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px); background:var(--card); border:1px solid rgba(255,255,255,.6); border-radius:18px; box-shadow:0 24px 60px -28px rgba(58,34,51,.5);}
.lume .review{left:-4%; bottom:14%; padding:18px 20px; width:248px; animation:lume-floatA 7s ease-in-out infinite;}
.lume .review .rev-stars{color:var(--gold); font-size:13px; letter-spacing:2px;}
.lume .review p{font-family:var(--serif); font-style:italic; font-size:14.5px; line-height:1.4; color:var(--ink); margin-top:8px;}
.lume .review b{display:block; margin-top:10px; font-family:var(--sans); font-weight:500; font-size:11px; letter-spacing:.08em; text-transform:uppercase; color:var(--muted);}
.lume .chip{right:-2%; top:16%; padding:13px 18px; display:flex; align-items:center; gap:11px; animation:lume-floatB 8s ease-in-out infinite;}
.lume .chip .dot{width:9px; height:9px; border-radius:50%; background:#5BAE7C; box-shadow:0 0 0 4px rgba(91,174,124,.18);}
.lume .chip .c-label{font-size:10.5px; letter-spacing:.1em; text-transform:uppercase; color:var(--muted);}
.lume .chip .c-val{font-family:var(--serif); font-size:15px; color:var(--ink);}
@keyframes lume-floatA{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}
@keyframes lume-floatB{0%,100%{transform:translateY(0)}50%{transform:translateY(14px)}}
@media(max-width:940px){ .lume .stage{height:340px; margin-top:6px;} .lume .review{left:2%;} .lume .chip{right:2%;} }

.lume .reveal{opacity:0; transform:translateY(22px); transition:opacity 1s cubic-bezier(.2,.8,.2,1),transform 1s cubic-bezier(.2,.8,.2,1);}
.lume.in .reveal{opacity:1; transform:none;}
.lume.in .reveal.d1{transition-delay:.08s}
.lume.in .reveal.d2{transition-delay:.18s}
.lume.in .reveal.d3{transition-delay:.30s}
.lume.in .reveal.d4{transition-delay:.44s}
.lume.in .reveal.d5{transition-delay:.58s}

@media (prefers-reduced-motion:reduce){
  .lume .orb,.lume .ring,.lume .review,.lume .chip,.lume .cycle{animation:none !important;}
  .lume .reveal{opacity:1 !important; transform:none !important; transition:none !important;}
}
