.elementor-kit-177{--e-global-color-primary:#1A2740;--e-global-color-secondary:#C9A86A;--e-global-color-text:#222A39;--e-global-color-accent:#E2C88E;--e-global-color-navydeep:#101A2C;--e-global-color-navymid:#27374F;--e-global-color-navyaccent:#22375C;--e-global-color-ivory:#F4F3EF;--e-global-color-softwhite:#FCFBF9;--e-global-color-champagne:#EAE8E1;--e-global-color-taupe:#ADA593;--e-global-color-muted:#69707E;--e-global-color-muteddk:#9DA8BD;--e-global-typography-primary-font-family:"Cormorant Garamond";--e-global-typography-primary-font-weight:400;--e-global-typography-secondary-font-family:"Jost";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Jost";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Cormorant Garamond";--e-global-typography-accent-font-weight:500;color:#222A39;}.elementor-kit-177 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1280px;}.e-con{--container-max-width:1280px;--container-default-padding-top:0px;--container-default-padding-right:0px;--container-default-padding-bottom:0px;--container-default-padding-left:0px;}.elementor-widget:not(:last-child){--kit-widget-spacing:0px;}.elementor-element{--widgets-spacing:0px 0px;--widgets-spacing-row:0px;--widgets-spacing-column:0px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//* ============================================================
   360ENVY — Design System & Widget Styles
   Navy-dominant · gold highlight · luxury editorial
   All component classes namespaced .envy-* to avoid theme collisions.
   ============================================================ */

:root {
  /* Light surfaces */
  --envy-ivory: #F4F3EF;
  --envy-soft-white: #FCFBF9;
  --envy-champagne: #EAE8E1;
  --envy-champagne-deep: #DCDAD1;
  --envy-taupe: #ADA593;
  --envy-taupe-deep: #7C7464;
  /* Navy — dominant brand color */
  --envy-navy: #1A2740;
  --envy-navy-deep: #101A2C;
  --envy-navy-mid: #27374F;
  --envy-navy-accent: #22375C;
  /* Gold — highlight */
  --envy-gold: #C9A86A;
  --envy-gold-light: #E2C88E;
  --envy-gold-soft: rgba(201,168,106,0.14);
  /* Text */
  --envy-ink: #222A39;
  --envy-on-dark: #EEF1F6;
  --envy-muted: #69707E;
  --envy-muted-dark: #9DA8BD;
  /* Type */
  --envy-serif: "Cormorant Garamond", Georgia, serif;
  --envy-sans: "Jost", "Inter", system-ui, sans-serif;
  --envy-ease: cubic-bezier(0.22, 1, 0.36, 1);
}

/* ---- Shared primitives ---- */
.envy-eyebrow { display:inline-flex; align-items:center; gap:12px; font-family:var(--envy-sans); font-size:11px; letter-spacing:0.3em; text-transform:uppercase; font-weight:600; color:var(--envy-gold); margin-bottom:22px; }
.envy-eyebrow::before { content:""; width:28px; height:1px; background:var(--envy-gold); display:inline-block; }
.envy-eyebrow.is-center { justify-content:center; }
.envy-eyebrow.no-bar::before { display:none; }
.envy-h2 { font-family:var(--envy-serif); font-weight:400; font-size:clamp(32px,4.5vw,58px); line-height:1.08; letter-spacing:-0.01em; margin:0; color:var(--envy-ink); }
.envy-h2 em { font-style:italic; color:var(--envy-gold); }
.envy-lede { font-family:var(--envy-serif); font-size:clamp(20px,2.2vw,26px); font-style:italic; line-height:1.5; color:var(--envy-navy); border-left:2px solid var(--envy-gold); padding-left:24px; margin:24px 0; }
.envy-btn { display:inline-flex; align-items:center; gap:10px; padding:16px 30px; font-family:var(--envy-sans); font-size:12px; letter-spacing:0.2em; text-transform:uppercase; font-weight:600; border:none; cursor:pointer; transition:all .35s var(--envy-ease); text-decoration:none; line-height:1; }
.envy-btn-primary { background:var(--envy-gold); color:var(--envy-navy-deep); }
.envy-btn-primary:hover { background:var(--envy-gold-light); transform:translateY(-2px); color:var(--envy-navy-deep); }
.envy-btn-dark { background:var(--envy-navy); color:var(--envy-ivory); }
.envy-btn-dark:hover { background:var(--envy-navy-mid); transform:translateY(-2px); color:var(--envy-ivory); }
.envy-btn-ghost { background:transparent; color:var(--envy-on-dark); border:1px solid var(--envy-gold); }
.envy-btn-ghost:hover { background:var(--envy-gold-soft); color:var(--envy-gold-light); }
.envy-btn-ghost-dark { background:transparent; color:var(--envy-ink); border:1px solid var(--envy-ink); }
.envy-btn-ghost-dark:hover { background:var(--envy-navy); color:var(--envy-ivory); }
.envy-flag { display:inline-block; background:var(--envy-gold); color:var(--envy-navy-deep); padding:5px 13px; font-size:10px; letter-spacing:0.26em; text-transform:uppercase; font-weight:600; font-family:var(--envy-sans); margin-bottom:16px; }
.envy-flag.is-melanin { background:var(--envy-navy-accent); color:var(--envy-gold-light); letter-spacing:0.2em; }

/* ---- Value props (Why Choose) ---- */
.envy-values { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:rgba(124,116,100,0.22); border:1px solid rgba(124,116,100,0.22); }
.envy-value { background:var(--envy-ivory); padding:44px 36px; transition:background .4s var(--envy-ease); }
.envy-value:hover { background:var(--envy-soft-white); }
.envy-value .n { font-family:var(--envy-serif); font-size:30px; font-style:italic; color:var(--envy-gold); line-height:1; margin-bottom:18px; }
.envy-value h3 { font-family:var(--envy-serif); font-weight:400; font-size:25px; line-height:1.15; margin:0 0 12px; color:var(--envy-ink); }
.envy-value p { font-family:var(--envy-sans); color:var(--envy-muted); font-size:14.5px; line-height:1.65; margin:0; }
.envy-value.is-feature { background:var(--envy-navy); color:var(--envy-on-dark); }
.envy-value.is-feature h3 { color:var(--envy-ivory); }
.envy-value.is-feature p { color:var(--envy-muted-dark); }
.envy-value.is-feature .n { color:var(--envy-gold-light); }
.envy-value .badge { display:inline-block; margin-top:16px; font-family:var(--envy-sans); font-size:10px; letter-spacing:0.24em; text-transform:uppercase; color:var(--envy-gold-light); border-top:1px solid var(--envy-gold); padding-top:12px; }

/* ---- Concern .elementor-kit-177 ---- */
.envy-concern { display:grid; grid-template-columns:0.85fr 1.15fr; gap:56px; background:var(--envy-soft-white); padding:50px; border:1px solid rgba(124,116,100,0.2); box-shadow:0 30px 80px rgba(26,39,64,0.06); }
.envy-concern-tabs { display:flex; flex-direction:column; gap:2px; }
.envy-tab { padding:16px 22px; background:transparent; border:none; border-left:3px solid transparent; font-family:var(--envy-serif); font-size:21px; text-align:left; cursor:pointer; color:var(--envy-muted); transition:all .3s var(--envy-ease); line-height:1.18; }
.envy-tab:hover { color:var(--envy-navy); }
.envy-tab.is-active { color:var(--envy-navy); border-left-color:var(--envy-gold); background:var(--envy-champagne); }
.envy-tab .n { font-family:var(--envy-sans); font-size:10px; letter-spacing:0.3em; color:var(--envy-gold); display:block; margin-bottom:3px; }
.envy-panel { display:none; flex-direction:column; justify-content:center; }
.envy-panel.is-active { display:flex; animation:envyFade .5s var(--envy-ease); }
.envy-panel h3 { font-family:var(--envy-serif); font-weight:400; font-size:32px; line-height:1.15; margin:0 0 14px; color:var(--envy-ink); }
.envy-panel h3 em { font-style:italic; color:var(--envy-gold); }
.envy-panel .approach { font-family:var(--envy-sans); font-size:16px; line-height:1.65; color:var(--envy-muted); margin-bottom:24px; }
.envy-sols { list-style:none; padding:0; margin:0 0 26px; counter-reset:s; }
.envy-sols li { display:grid; grid-template-columns:30px 1fr; gap:12px; align-items:baseline; padding:13px 0; border-bottom:1px solid rgba(124,116,100,0.18); font-family:var(--envy-sans); font-size:15px; color:var(--envy-ink); }
.envy-sols li::before { content:counter(s,decimal-leading-zero); counter-increment:s; font-family:var(--envy-serif); font-size:15px; color:var(--envy-gold); }

/* ---- Method (4-step) ---- */
.envy-method { display:grid; gap:0; }
.envy-step { display:grid; grid-template-columns:0.85fr 1.15fr; gap:56px; padding:44px 0; border-bottom:1px solid rgba(124,116,100,0.22); align-items:center; }
.envy-step:first-child { border-top:1px solid rgba(124,116,100,0.22); }
.envy-step .label { font-family:var(--envy-sans); font-size:11px; letter-spacing:0.3em; text-transform:uppercase; color:var(--envy-gold); margin-bottom:10px; }
.envy-step h3 { font-family:var(--envy-serif); font-weight:400; font-size:clamp(28px,3vw,38px); line-height:1.1; margin:0; color:var(--envy-ink); }
.envy-step p { font-family:var(--envy-sans); font-size:16px; line-height:1.75; color:var(--envy-muted); margin:0; }

/* ---- Pathways (Start Here) ---- */
.envy-pathways { display:grid; gap:18px; }
.envy-pathway { display:grid; grid-template-columns:70px 1fr auto; gap:32px; align-items:center; background:var(--envy-soft-white); padding:36px 40px; border:1px solid rgba(124,116,100,0.2); cursor:pointer; transition:all .4s var(--envy-ease); position:relative; overflow:hidden; text-decoration:none; }
.envy-pathway::before { content:""; position:absolute; left:0; top:0; bottom:0; width:3px; background:var(--envy-gold); transform:scaleY(0); transform-origin:top; transition:transform .4s var(--envy-ease); }
.envy-pathway:hover { background:var(--envy-champagne); transform:translateX(6px); }
.envy-pathway:hover::before { transform:scaleY(1); }
.envy-pathway .num { font-family:var(--envy-serif); font-size:44px; font-style:italic; color:var(--envy-gold); line-height:1; }
.envy-pathway h3 { font-family:var(--envy-serif); font-weight:400; font-size:26px; margin:0 0 6px; color:var(--envy-ink); }
.envy-pathway p { font-family:var(--envy-sans); font-size:14.5px; color:var(--envy-muted); margin:0; line-height:1.6; }
.envy-pathway .arrow { font-size:26px; color:var(--envy-gold); transition:transform .3s var(--envy-ease); }
.envy-pathway:hover .arrow { transform:translateX(6px); }

/* ---- Treatment list (editorial includes) ---- */
.envy-tlist { display:grid; grid-template-columns:repeat(2,1fr); gap:0 60px; }
.envy-titem { display:grid; grid-template-columns:46px 1fr; gap:18px; padding:24px 0; border-bottom:1px solid rgba(34,42,57,0.12); align-items:baseline; }
.envy-titem .tn { font-family:var(--envy-serif); font-style:italic; font-size:24px; color:var(--envy-gold); line-height:1; }
.envy-titem .tname { font-family:var(--envy-serif); font-size:23px; line-height:1.2; color:var(--envy-navy); margin-bottom:5px; }
.envy-titem .tblurb { font-family:var(--envy-sans); font-size:14px; color:var(--envy-muted); line-height:1.55; }

/* ---- Results filter gallery ---- */
.envy-rfilters { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:36px; }
.envy-rfilter { background:transparent; border:1px solid rgba(201,168,106,0.4); color:var(--envy-on-dark); padding:10px 18px; font-family:var(--envy-sans); font-size:11px; letter-spacing:0.16em; text-transform:uppercase; cursor:pointer; transition:all .3s var(--envy-ease); }
.envy-rfilter:hover { border-color:var(--envy-gold); color:var(--envy-gold-light); }
.envy-rfilter.is-active { background:var(--envy-gold); color:var(--envy-navy-deep); border-color:var(--envy-gold); }
.envy-rgrid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.envy-rcard { position:relative; aspect-ratio:4/5; overflow:hidden; background:linear-gradient(150deg,var(--envy-taupe),var(--envy-navy)); }
.envy-rcard img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.envy-rcard .meta { position:absolute; bottom:14px; left:14px; right:14px; z-index:1; }
.envy-rcard .meta .nm { font-family:var(--envy-serif); font-style:italic; font-size:19px; color:var(--envy-ivory); }
.envy-rcard .meta .sub { font-family:var(--envy-sans); font-size:10px; letter-spacing:0.2em; text-transform:uppercase; color:var(--envy-gold-light); }
.envy-rcard.is-hidden { display:none; }

/* ---- Provider bios ---- */
.envy-bios { display:grid; gap:clamp(72px,9vw,132px); }
.envy-bio { display:grid; grid-template-columns:0.82fr 1.18fr; gap:clamp(36px,5vw,76px); align-items:center; }
.envy-bio:nth-child(even) { grid-template-columns:1.18fr 0.82fr; }
.envy-bio:nth-child(even) .envy-bio-portrait { order:2; }
.envy-bio-portrait { aspect-ratio:3/4; position:relative; overflow:hidden; background:linear-gradient(155deg,var(--envy-navy),var(--envy-navy-deep)); }
.envy-bio-portrait img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.envy-bio-portrait .frame { position:absolute; inset:18px; border:1px solid rgba(226,200,142,0.5); pointer-events:none; z-index:1; }
.envy-bio-prefix { display:inline-block; font-family:var(--envy-sans); font-size:10px; letter-spacing:0.34em; text-transform:uppercase; color:var(--envy-navy-deep); background:var(--envy-gold); padding:5px 13px; margin-bottom:18px; font-weight:600; }
.envy-bio-role { font-family:var(--envy-sans); font-size:11px; letter-spacing:0.26em; text-transform:uppercase; color:var(--envy-gold); margin-bottom:12px; }
.envy-bio-name { font-family:var(--envy-serif); font-weight:400; font-size:clamp(38px,4.6vw,60px); line-height:1.0; margin:0; color:var(--envy-ink); }
.envy-bio-moniker { font-family:var(--envy-serif); font-style:italic; font-size:clamp(19px,2vw,23px); color:var(--envy-taupe-deep); margin-top:8px; }
.envy-bio-creds { font-family:var(--envy-sans); font-size:11.5px; letter-spacing:0.16em; text-transform:uppercase; color:var(--envy-ink); font-weight:500; margin-top:16px; }
.envy-bio-accolade { display:flex; align-items:center; gap:13px; margin:24px 0 4px; padding:14px 20px; border:1px solid var(--envy-gold); background:var(--envy-gold-soft); }
.envy-bio-accolade .star { color:var(--envy-gold); font-size:15px; }
.envy-bio-accolade .txt { font-family:var(--envy-sans); font-size:12.5px; letter-spacing:0.06em; color:var(--envy-ink); line-height:1.4; }
.envy-bio-text { margin-top:24px; }
.envy-bio-text p { font-family:var(--envy-sans); font-size:15.5px; line-height:1.78; color:var(--envy-muted); margin:0 0 1.05em; }
.envy-bio-specialties { margin-top:30px; padding-top:24px; border-top:1px solid rgba(34,42,57,0.14); }
.envy-bio-specialties .label { font-family:var(--envy-sans); font-size:10px; letter-spacing:0.28em; text-transform:uppercase; color:var(--envy-gold); margin-bottom:14px; }
.envy-bio-specialties .tags { display:flex; flex-wrap:wrap; gap:9px; }
.envy-bio-specialties .tags span { font-family:var(--envy-sans); font-size:11px; letter-spacing:0.1em; text-transform:uppercase; color:var(--envy-ink); border:1px solid var(--envy-taupe); padding:7px 14px; border-radius:100px; }

/* ---- Instagram feed ---- */
.envy-ig-head { display:flex; justify-content:space-between; align-items:flex-end; flex-wrap:wrap; gap:24px; }
.envy-ig-handle { font-family:var(--envy-serif); font-style:italic; font-size:clamp(28px,3.4vw,46px); color:var(--envy-ink); display:inline-flex; align-items:center; gap:16px; line-height:1; text-decoration:none; }
.envy-ig-handle .glyph { width:clamp(30px,3vw,40px); height:clamp(30px,3vw,40px); color:var(--envy-gold); flex-shrink:0; }
.envy-ig-sub { font-family:var(--envy-sans); font-size:14px; color:var(--envy-muted); margin-top:10px; }
.envy-ig-grid { display:grid; grid-template-columns:repeat(6,1fr); gap:10px; margin-top:44px; }
.envy-ig-post { position:relative; aspect-ratio:1; overflow:hidden; display:block; }
.envy-ig-post .ph { position:absolute; inset:0; transition:transform .6s var(--envy-ease); background-size:cover; background-position:center; }
.envy-ig-post:hover .ph { transform:scale(1.06); }
.envy-ig-post .corner { position:absolute; top:11px; right:11px; width:17px; height:17px; color:rgba(238,241,246,0.9); z-index:2; }
.envy-ig-ov { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; gap:22px; background:rgba(16,26,44,0); opacity:0; transition:opacity .4s var(--envy-ease),background .4s var(--envy-ease); color:var(--envy-ivory); z-index:1; }
.envy-ig-post:hover .envy-ig-ov { opacity:1; background:rgba(16,26,44,0.74); }
.envy-ig-stat { display:inline-flex; align-items:center; gap:7px; font-family:var(--envy-sans); font-size:14px; font-weight:600; }
.envy-ig-stat svg { width:18px; height:18px; }

/* ---- CTA band ---- */
.envy-cta { text-align:center; max-width:800px; margin:0 auto; }
.envy-cta .envy-eyebrow { justify-content:center; }
.envy-cta .envy-eyebrow::before { display:none; }
.envy-cta h2 { color:var(--envy-ivory); }
.envy-cta p { font-family:var(--envy-sans); font-size:clamp(17px,1.8vw,19px); color:rgba(238,241,246,0.82); margin:22px 0 36px; line-height:1.6; }
.envy-cta .btns { display:flex; gap:14px; justify-content:center; flex-wrap:wrap; }

/* ---- Hero ---- */
.envy-hero { min-height:88vh; display:grid; align-items:end; padding:150px 0 80px; position:relative; overflow:hidden; background:var(--envy-navy-deep); color:var(--envy-on-dark); isolation:isolate; }
.envy-hero-media { position:absolute; inset:0; z-index:0; }
.envy-hero-media video { width:100%; height:100%; object-fit:cover; }
.envy-hero-fallback { position:absolute; inset:-10%; background:radial-gradient(circle at 28% 38%,rgba(201,168,106,0.28),transparent 52%),radial-gradient(circle at 72% 64%,rgba(46,63,92,0.55),transparent 58%),linear-gradient(135deg,#21314f,var(--envy-navy-deep) 60%,#0a111e); animation:envyDrift 20s ease-in-out infinite alternate; }
.envy-hero-overlay { position:absolute; inset:0; z-index:1; background:linear-gradient(180deg,rgba(16,26,44,0.30),rgba(16,26,44,0.72) 62%,var(--envy-navy-deep)); }
.envy-hero-inner { position:relative; z-index:2; width:100%; }
.envy-hero h1 { font-family:var(--envy-serif); font-weight:300; font-size:clamp(46px,6.6vw,92px); line-height:1.0; margin:0; }
.envy-hero h1 em { font-style:italic; color:var(--envy-gold-light); }
.envy-hero .sub { font-family:var(--envy-sans); max-width:520px; font-size:18px; line-height:1.6; color:rgba(238,241,246,0.84); margin:28px 0 36px; }
.envy-hero .ctas { display:flex; gap:14px; flex-wrap:wrap; }

/* ---- Booking modal ---- */
.envy-modal-overlay { position:fixed; inset:0; background:rgba(16,26,44,0.86); backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px); z-index:100000; display:none; align-items:center; justify-content:center; padding:40px 20px; }
.envy-modal-overlay.is-open { display:flex; animation:envyFade .3s var(--envy-ease); }
.envy-modal { background:var(--envy-ivory); max-width:920px; width:100%; max-height:90vh; overflow:auto; position:relative; display:grid; grid-template-columns:1fr 1.4fr; }
.envy-modal-close { position:absolute; top:14px; right:16px; background:transparent; border:none; font-size:28px; cursor:pointer; color:var(--envy-navy); z-index:2; line-height:1; }
.envy-modal-side { background:var(--envy-navy); color:var(--envy-on-dark); padding:48px; }
.envy-modal-side h3 { font-family:var(--envy-serif); font-weight:400; font-size:31px; margin:0 0 16px; }
.envy-modal-side h3 em { font-style:italic; color:var(--envy-gold-light); }
.envy-modal-side p { font-family:var(--envy-sans); color:var(--envy-muted-dark); font-size:14px; margin:0 0 20px; }
.envy-modal-jane { padding:24px; display:flex; flex-direction:column; }
.envy-modal-jane iframe { width:100%; height:100%; min-height:520px; border:0; }

@keyframes envyFade { from{opacity:0;transform:translateY(10px);} to{opacity:1;transform:translateY(0);} }
@keyframes envyDrift { 0%{transform:translate3d(0,0,0) scale(1);} 100%{transform:translate3d(-2%,2%,0) scale(1.06);} }
@media (prefers-reduced-motion: reduce){ .envy-hero-fallback{animation:none;} }

/* ============================================================
   RESPONSIVE — mobile · tablet · desktop
   ============================================================ */
@media (max-width:1100px){
  .envy-values { grid-template-columns:repeat(2,1fr); }
  .envy-values .envy-value:last-child { grid-column:span 2; }
  .envy-rgrid, .envy-ig-grid { grid-template-columns:repeat(3,1fr); }
}
@media (max-width:992px){
  .envy-concern { grid-template-columns:1fr; padding:36px; gap:32px; }
  .envy-concern-tabs { flex-direction:row; overflow-x:auto; -webkit-overflow-scrolling:touch; border-bottom:1px solid rgba(124,116,100,0.25); }
  .envy-tab { border-left:none; border-bottom:3px solid transparent; white-space:nowrap; font-size:16px; }
  .envy-tab.is-active { border-left-color:transparent; border-bottom-color:var(--envy-gold); background:transparent; }
  .envy-tab .n { display:none; }
  .envy-step { grid-template-columns:1fr; gap:14px; padding:36px 0; }
  .envy-tlist { grid-template-columns:1fr; gap:0; }
  .envy-pathway { grid-template-columns:50px 1fr; }
  .envy-pathway .arrow { display:none; }
  .envy-bio, .envy-bio:nth-child(even) { grid-template-columns:1fr; gap:32px; }
  .envy-bio:nth-child(even) .envy-bio-portrait { order:0; }
  .envy-bio-portrait { max-width:420px; }
  .envy-modal { grid-template-columns:1fr; }
}
@media (max-width:820px){
  .envy-hero h1 { font-size:clamp(38px,8vw,60px); }
  .envy-bio-portrait { max-width:380px; }
}
@media (max-width:640px){
  .envy-values, .envy-rgrid { grid-template-columns:1fr; }
  .envy-values .envy-value:last-child { grid-column:span 1; }
  .envy-ig-grid { grid-template-columns:repeat(2,1fr); }
}
@media (pointer:coarse){
  .envy-btn, .envy-rfilter, .envy-tab, .envy-pathway { min-height:44px; }
}

/* ============================================================
   THEME — Header / sticky nav / mobile drawer
   ============================================================ */
.envy-header { position:sticky; top:0; z-index:9000; width:100%; background:rgba(16,26,44,0.72); backdrop-filter:blur(14px) saturate(140%); -webkit-backdrop-filter:blur(14px) saturate(140%); border-bottom:1px solid rgba(201,168,106,0.0); transition:background .4s var(--envy-ease), border-color .4s var(--envy-ease), padding .4s var(--envy-ease); }
.envy-header.is-scrolled { background:rgba(16,26,44,0.95); border-bottom-color:rgba(201,168,106,0.22); }
.envy-header-inner { max-width:1280px; margin:0 auto; padding:20px 32px; display:flex; align-items:center; justify-content:space-between; gap:32px; transition:padding .4s var(--envy-ease); }
.envy-header.is-scrolled .envy-header-inner { padding:14px 32px; }
.envy-logo { display:inline-flex; align-items:center; gap:12px; text-decoration:none; line-height:1; }
.envy-logo img { max-height:42px; width:auto; display:block; }
.envy-logo .wordmark { font-family:var(--envy-serif); font-weight:400; font-size:26px; letter-spacing:0.02em; color:var(--envy-ivory); }
.envy-logo .wordmark em { font-style:normal; color:var(--envy-gold); }
.envy-logo .tagline { display:block; font-family:var(--envy-sans); font-size:9px; letter-spacing:0.3em; text-transform:uppercase; color:var(--envy-muted-dark); margin-top:4px; }
.envy-nav { display:flex; align-items:center; gap:30px; }
.envy-nav a { font-family:var(--envy-sans); font-size:12.5px; letter-spacing:0.12em; text-transform:uppercase; font-weight:500; color:var(--envy-on-dark); text-decoration:none; position:relative; padding:4px 0; transition:color .3s var(--envy-ease); }
.envy-nav a::after { content:""; position:absolute; left:0; right:100%; bottom:-2px; height:1px; background:var(--envy-gold); transition:right .35s var(--envy-ease); }
.envy-nav a:hover { color:var(--envy-gold-light); }
.envy-nav a:hover::after { right:0; }
.envy-nav a.is-current { color:var(--envy-gold-light); }
.envy-header-actions { display:flex; align-items:center; gap:18px; }
.envy-header-phone { font-family:var(--envy-sans); font-size:13px; letter-spacing:0.06em; color:var(--envy-on-dark); text-decoration:none; white-space:nowrap; }
.envy-header-phone:hover { color:var(--envy-gold-light); }
.envy-header .envy-book { padding:13px 24px; font-size:11px; }
.envy-burger { display:none; flex-direction:column; gap:5px; background:transparent; border:none; cursor:pointer; padding:8px; }
.envy-burger span { width:24px; height:2px; background:var(--envy-ivory); display:block; transition:all .3s var(--envy-ease); }

/* Mobile drawer */
.envy-drawer { position:fixed; inset:0 0 0 auto; width:min(86vw,380px); background:var(--envy-navy-deep); z-index:9500; transform:translateX(100%); transition:transform .45s var(--envy-ease); display:flex; flex-direction:column; padding:90px 36px 40px; overflow-y:auto; }
.envy-drawer.is-open { transform:translateX(0); }
.envy-drawer-backdrop { position:fixed; inset:0; background:rgba(16,26,44,0.6); backdrop-filter:blur(4px); -webkit-backdrop-filter:blur(4px); z-index:9400; opacity:0; visibility:hidden; transition:all .4s var(--envy-ease); }
.envy-drawer-backdrop.is-open { opacity:1; visibility:visible; }
.envy-drawer a.dnav { font-family:var(--envy-serif); font-size:24px; color:var(--envy-on-dark); text-decoration:none; padding:14px 0; border-bottom:1px solid rgba(157,168,189,0.14); transition:color .3s var(--envy-ease); }
.envy-drawer a.dnav:hover { color:var(--envy-gold-light); }
.envy-drawer .envy-book { margin-top:28px; justify-content:center; }
.envy-drawer-close { position:absolute; top:24px; right:28px; background:transparent; border:none; color:var(--envy-ivory); font-size:30px; line-height:1; cursor:pointer; }
.envy-drawer-contact { margin-top:auto; padding-top:28px; font-family:var(--envy-sans); font-size:13px; color:var(--envy-muted-dark); line-height:1.7; }
.envy-drawer-contact a { color:var(--envy-gold-light); text-decoration:none; }

/* ============================================================
   THEME — Footer
   ============================================================ */
.envy-footer { background:var(--envy-navy-deep); color:var(--envy-on-dark); }
.envy-footer-inner { max-width:1280px; margin:0 auto; padding:clamp(64px,7vw,96px) 32px 0; }
.envy-footer-top { display:grid; grid-template-columns:1.5fr 1fr 1fr 1.3fr; gap:48px; padding-bottom:56px; border-bottom:1px solid rgba(157,168,189,0.16); }
.envy-footer-brand .wordmark { font-family:var(--envy-serif); font-size:30px; color:var(--envy-ivory); line-height:1; }
.envy-footer-brand .wordmark em { font-style:normal; color:var(--envy-gold); }
.envy-footer-brand img { max-height:46px; width:auto; margin-bottom:8px; }
.envy-footer-blurb { font-family:var(--envy-sans); font-size:14px; line-height:1.7; color:var(--envy-muted-dark); margin:20px 0 24px; max-width:340px; }
.envy-socials { display:flex; gap:12px; }
.envy-socials a { width:38px; height:38px; border:1px solid rgba(201,168,106,0.4); display:inline-flex; align-items:center; justify-content:center; color:var(--envy-gold); transition:all .3s var(--envy-ease); }
.envy-socials a:hover { background:var(--envy-gold); color:var(--envy-navy-deep); }
.envy-socials svg { width:17px; height:17px; }
.envy-fcol h4 { font-family:var(--envy-sans); font-size:11px; letter-spacing:0.26em; text-transform:uppercase; color:var(--envy-gold); margin:0 0 20px; font-weight:600; }
.envy-fcol ul { list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:12px; }
.envy-fcol a { font-family:var(--envy-sans); font-size:14px; color:var(--envy-on-dark); text-decoration:none; transition:color .3s var(--envy-ease); }
.envy-fcol a:hover { color:var(--envy-gold-light); }
.envy-fcontact p { font-family:var(--envy-sans); font-size:14px; line-height:1.7; color:var(--envy-muted-dark); margin:0 0 14px; }
.envy-fcontact a { color:var(--envy-on-dark); text-decoration:none; }
.envy-fcontact a:hover { color:var(--envy-gold-light); }
.envy-fcontact .label { display:block; font-size:10px; letter-spacing:0.24em; text-transform:uppercase; color:var(--envy-gold); margin-bottom:5px; }
.envy-areas { padding:26px 0; text-align:center; font-family:var(--envy-sans); font-size:12px; letter-spacing:0.06em; color:var(--envy-muted-dark); border-bottom:1px solid rgba(157,168,189,0.16); }
.envy-areas .sep { color:var(--envy-gold); margin:0 9px; }
.envy-footer-bottom { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:16px; padding:26px 0 40px; }
.envy-footer-bottom .copy { font-family:var(--envy-sans); font-size:12px; color:var(--envy-muted-dark); }
.envy-footer-legal { display:flex; gap:22px; }
.envy-footer-legal a { font-family:var(--envy-sans); font-size:12px; color:var(--envy-muted-dark); text-decoration:none; }
.envy-footer-legal a:hover { color:var(--envy-gold-light); }
.envy-footer-disclaimer { font-family:var(--envy-sans); font-size:11px; line-height:1.6; color:rgba(157,168,189,0.6); padding:0 0 36px; max-width:880px; }

@media (max-width:992px){
  .envy-nav, .envy-header-phone { display:none; }
  .envy-burger { display:flex; }
  .envy-header-actions .envy-book { display:none; }
  .envy-footer-top { grid-template-columns:1fr 1fr; gap:40px; }
  .envy-footer-brand { grid-column:1 / -1; }
}
@media (max-width:600px){
  .envy-header-inner { padding:16px 20px; }
  .envy-footer-inner { padding-left:20px; padding-right:20px; }
  .envy-footer-top { grid-template-columns:1fr; }
  .envy-footer-bottom { flex-direction:column; align-items:flex-start; }
}

/* ============================================================
   THEME-BLEED RESET
   Host themes often style raw <button>/<a> on :hover/:focus/:active
   (e.g. a pink accent background). These rules lock every interactive
   element in the 360ENVY widgets to the brand palette so nothing leaks
   through. !important is used deliberately to win over the host theme.
   ============================================================ */
.envy-tab, .envy-rfilter, .envy-burger, .envy-nav a, .envy-drawer a.dnav, .envy-pathway, .envy-btn, .envy-ig-post, .envy-socials a {
  -webkit-appearance: none !important; appearance: none !important;
  box-shadow: none !important; text-shadow: none !important;
  outline: none !important; background-image: none !important;
}

/* Concern .elementor-kit-177 tabs */
.envy-tab,
.envy-tab:hover, .envy-tab:focus, .envy-tab:focus-visible, .envy-tab:active {
  background-color: transparent !important;
}
.envy-tab { color: var(--envy-muted) !important; }
.envy-tab:hover, .envy-tab:focus, .envy-tab:focus-visible { color: var(--envy-navy) !important; }
.envy-tab.is-active,
.envy-tab.is-active:hover, .envy-tab.is-active:focus {
  background-color: var(--envy-champagne) !important; color: var(--envy-navy) !important;
}
@media (max-width:992px){
  .envy-tab.is-active, .envy-tab.is-active:hover, .envy-tab.is-active:focus { background-color: transparent !important; }
}

/* Results filter buttons */
.envy-rfilter,
.envy-rfilter:hover, .envy-rfilter:focus, .envy-rfilter:active { background-color: transparent !important; }
.envy-rfilter { color: var(--envy-on-dark) !important; border-color: rgba(201,168,106,0.4) !important; }
.envy-rfilter:hover, .envy-rfilter:focus { color: var(--envy-gold-light) !important; border-color: var(--envy-gold) !important; }
.envy-rfilter.is-active,
.envy-rfilter.is-active:hover, .envy-rfilter.is-active:focus {
  background-color: var(--envy-gold) !important; color: var(--envy-navy-deep) !important; border-color: var(--envy-gold) !important;
}

/* Buttons — keep their own background-color, only kill theme chrome */
.envy-btn-primary, .envy-btn-primary:hover, .envy-btn-primary:focus { background-color: var(--envy-gold) !important; color: var(--envy-navy-deep) !important; }
.envy-btn-primary:hover { background-color: var(--envy-gold-light) !important; }
.envy-btn-dark, .envy-btn-dark:hover, .envy-btn-dark:focus { background-color: var(--envy-navy) !important; color: var(--envy-ivory) !important; }
.envy-btn-dark:hover { background-color: var(--envy-navy-mid) !important; }
.envy-btn-ghost, .envy-btn-ghost:hover, .envy-btn-ghost:focus { background-color: transparent !important; color: var(--envy-on-dark) !important; border-color: var(--envy-gold) !important; }
.envy-btn-ghost:hover { color: var(--envy-gold-light) !important; }
.envy-btn-ghost-dark, .envy-btn-ghost-dark:hover, .envy-btn-ghost-dark:focus { background-color: transparent !important; color: var(--envy-ink) !important; border-color: var(--envy-ink) !important; }
.envy-btn-ghost-dark:hover { background-color: var(--envy-navy) !important; color: var(--envy-ivory) !important; }

/* Header / drawer / pathway links */
.envy-nav a, .envy-nav a:hover, .envy-nav a:focus { background-color: transparent !important; }
.envy-nav a { color: var(--envy-on-dark) !important; }
.envy-nav a:hover { color: var(--envy-gold-light) !important; }
.envy-drawer a.dnav, .envy-drawer a.dnav:hover, .envy-drawer a.dnav:focus { background-color: transparent !important; color: var(--envy-on-dark) !important; }
.envy-drawer a.dnav:hover { color: var(--envy-gold-light) !important; }
.envy-burger, .envy-burger:hover, .envy-burger:focus { background-color: transparent !important; }
.envy-pathway:hover { background-color: var(--envy-champagne) !important; }/* End custom CSS */