/* VLF 12.14.31 — SELECTIVE BLOCK 01 360° & COOL BORDEAUX SIDEBAR
   Only existing WordPress theme sidebar regions and the Block 01 statement
   are affected. Do not apply generic .widget selectors across main content. */

/* Remove earlier near-invisible 360-degree watermark. */
.vlf-page .vlf-purpose-hero-frame::after,
.vlf-page .vlf-purpose-hero::after{content:none!important;display:none!important}
.vlf-page .vlf-purpose-hero-frame{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(255px,29%)!important;
  align-items:center!important;
  column-gap:clamp(10px,2.2vw,34px)!important;
  background:linear-gradient(118deg,#fffcfd 0%,#f8f0f6 62%,#f2e9f3 100%)!important;
  isolation:isolate;
}
.vlf-page .vlf-purpose-hero-inner{
  grid-column:1!important;
  grid-row:1!important;
  width:100%!important;
  min-width:0!important;
  padding:clamp(48px,5.5vw,78px) 4px clamp(48px,5.5vw,78px) clamp(26px,4vw,60px)!important;
  background:transparent!important;
}
.vlf-page .vlf-purpose-hero-title-statement,
.vlf-page .vlf-purpose-hero-title{max-width:100%!important;min-width:0!important}
.vlf-page .vlf-purpose-hero-title-statement>span,
.vlf-page .vlf-purpose-hero-title>span{
  font-size:clamp(29px,3.1vw,49px)!important;
  line-height:1.065!important;
  white-space:normal!important;
  overflow-wrap:break-word!important;
  hyphens:auto!important;
  -webkit-text-fill-color:#38213d!important;
  color:#38213d!important;
}
.vlf-page .vlf-purpose-hero-promise{color:#4a3d4d!important;-webkit-text-fill-color:#4a3d4d!important}
.vlf-page .vlf-purpose-hero .vlf-kicker{color:#7b2443!important}
.vlf-page .vlf-purpose-hero-link,
.vlf-page .vlf-purpose-hero-link span{color:#722a44!important;-webkit-text-fill-color:#722a44!important}

.vlf-page .vlf-hero-360{
  grid-column:2!important;grid-row:1!important;
  position:relative;z-index:1;
  width:min(100%,370px);aspect-ratio:1;
  margin:28px 28px 28px 0;
  justify-self:center;align-self:center;
  display:grid;place-items:center;
  color:#762b4b;
  filter:drop-shadow(0 14px 22px rgba(91,39,77,.05));
}
.vlf-page .vlf-hero-360::before{
  content:"";position:absolute;inset:13%;border-radius:50%;
  background:radial-gradient(circle at 35% 25%,rgba(255,255,255,.95),rgba(238,221,235,.52) 60%,rgba(203,163,184,.16) 100%);
  border:1px solid rgba(125,65,99,.22);
}
.vlf-page .vlf-hero-360__orbit{
  position:absolute;border-radius:50%;inset:4%;
  border:2px solid rgba(123,42,71,.27);
  transform:rotate(-20deg);
}
.vlf-page .vlf-hero-360__orbit--one{
  border-top:3px solid #882644;
  border-right:3px solid #b17c4e;
  animation:vlf-orbit-360 22s linear infinite;
}
.vlf-page .vlf-hero-360__orbit--two{
  inset:18%;border:1px dashed rgba(111,63,104,.4);
  border-bottom:2px solid #8b527b;
  animation:vlf-orbit-360-reverse 32s linear infinite;
}
.vlf-page .vlf-hero-360__core{position:relative;z-index:2;text-align:center;display:grid;gap:5px;color:#70233e!important}
.vlf-page .vlf-hero-360__core>span{
  display:block;color:#70233e!important;font:400 clamp(76px,9vw,126px)/.98 Georgia,'Times New Roman',serif!important;
  letter-spacing:-.085em;white-space:nowrap;
}
.vlf-page .vlf-hero-360__core>small{
  display:block;color:#432d3a!important;font:700 clamp(10px,.95vw,13px)/1.35 Arial,Helvetica,sans-serif!important;
  letter-spacing:.19em;white-space:nowrap;
}
.vlf-page .vlf-hero-360__firm{
  display:block;margin-top:3px;color:#79243f!important;
  font-size:.94em;letter-spacing:.34em;
}
.vlf-page .vlf-hero-360__node{
  position:absolute;z-index:3;width:10px;height:10px;border-radius:50%;background:#7c2442;
  box-shadow:0 0 0 5px rgba(124,36,66,.12);
}
.vlf-page .vlf-hero-360__node--one{top:8%;left:24%}
.vlf-page .vlf-hero-360__node--two{right:9%;bottom:23%;background:#a46b42;box-shadow:0 0 0 5px rgba(164,107,66,.13)}
@keyframes vlf-orbit-360{to{transform:rotate(340deg)}}
@keyframes vlf-orbit-360-reverse{to{transform:rotate(-380deg)}}
@media(max-width:1050px){
  .vlf-page .vlf-purpose-hero-frame{grid-template-columns:minmax(0,1fr)!important;gap:0!important}
  .vlf-page .vlf-purpose-hero-inner{grid-column:1!important;grid-row:1!important;padding:44px 34px 20px!important}
  .vlf-page .vlf-hero-360{grid-column:1!important;grid-row:2!important;width:min(250px,54vw);margin:0 30px 32px auto;justify-self:end}
  .vlf-page .vlf-purpose-hero-title-statement>span,
  .vlf-page .vlf-purpose-hero-title>span{font-size:clamp(28px,4.7vw,44px)!important}
  .vlf-page .vlf-hero-360__core>span{font-size:clamp(64px,12vw,100px)!important}
}
@media(max-width:600px){
  .vlf-page .vlf-purpose-hero-inner{padding:32px 22px 10px!important}
  .vlf-page .vlf-purpose-hero-title-statement>span,
  .vlf-page .vlf-purpose-hero-title>span{font-size:clamp(24px,6.3vw,35px)!important;line-height:1.09!important}
  .vlf-page .vlf-hero-360{width:min(185px,49vw);margin:0 18px 24px auto}
  .vlf-page .vlf-hero-360__core>span{font-size:clamp(50px,11vw,72px)!important}
  .vlf-page .vlf-hero-360__core>small{font-size:9px!important;letter-spacing:.10em}
  .vlf-page .vlf-hero-360__firm{letter-spacing:.18em;margin-top:1px}
}
@media(prefers-reduced-motion:reduce){
  .vlf-page .vlf-hero-360__orbit{animation:none!important}
}

/* Sidebar only: cool mauve/slate, NO white panels, NO beige/warm panels,
   NO subtle hairline outlines. The bordeaux strip is the visual anchor. */
body:not(.wp-admin) :is(#secondary,#sidebar,.site-sidebar,.sidebar-primary,.widget-area,.elementor-widget-sidebar,.elementor-location-sidebar,.ast-sidebar-wrapper,.sidebar){
  --vlf-side-bordeaux:#7f2243;
  --vlf-side-ink:#251d2b;
  --vlf-side-copy:#4d3f4d;
  background:#e9e1ea!important;
  color:var(--vlf-side-ink)!important;
}
body:not(.wp-admin) :is(#secondary,#sidebar,.site-sidebar,.sidebar-primary,.widget-area,.elementor-widget-sidebar,.elementor-location-sidebar,.ast-sidebar-wrapper,.sidebar) :is(.widget,.widget_block,.elementor-widget-container){
  background:linear-gradient(125deg,#e5dbe8 0%,#dcd0df 100%)!important;
  border:0!important;
  border-left:8px solid #7f2243!important;
  border-radius:0!important;
  box-shadow:0 12px 28px rgba(48,28,53,.11)!important;
  color:#251d2b!important;
  padding:clamp(20px,2.5vw,30px)!important;
}
body:not(.wp-admin) :is(#secondary,#sidebar,.site-sidebar,.sidebar-primary,.widget-area,.elementor-widget-sidebar,.elementor-location-sidebar,.ast-sidebar-wrapper,.sidebar) :is(.widget-title,.wp-block-heading,.elementor-heading-title,h2,h3,h4){
  color:#271b2d!important;
  -webkit-text-fill-color:#271b2d!important;
  font-family:Georgia,'Times New Roman',serif!important;
  font-weight:600!important;
  line-height:1.2!important;
}
body:not(.wp-admin) :is(#secondary,#sidebar,.site-sidebar,.sidebar-primary,.widget-area,.elementor-widget-sidebar,.elementor-location-sidebar,.ast-sidebar-wrapper,.sidebar) :is(p,li,small,span,label){color:#4d3f4d!important;-webkit-text-fill-color:#4d3f4d!important}
body:not(.wp-admin) :is(#secondary,#sidebar,.site-sidebar,.sidebar-primary,.widget-area,.elementor-widget-sidebar,.elementor-location-sidebar,.ast-sidebar-wrapper,.sidebar) a:not(.button):not(.wp-block-button__link):not(.elementor-button){
  color:#17141a!important;
  -webkit-text-fill-color:#17141a!important;
  font-weight:700!important;
  text-underline-offset:4px;
}
body:not(.wp-admin) :is(#secondary,#sidebar,.site-sidebar,.sidebar-primary,.widget-area,.elementor-widget-sidebar,.elementor-location-sidebar,.ast-sidebar-wrapper,.sidebar) a:not(.button):not(.wp-block-button__link):not(.elementor-button):hover{
  color:#17141a!important;-webkit-text-fill-color:#17141a!important;
  text-decoration:underline!important;text-decoration-color:#7f2243!important;
  text-decoration-thickness:2px!important;
}
body:not(.wp-admin) :is(#secondary,#sidebar,.site-sidebar,.sidebar-primary,.widget-area,.elementor-widget-sidebar,.elementor-location-sidebar,.ast-sidebar-wrapper,.sidebar) :is(button,.button,a.button,input[type=submit],input[type=button],.wp-block-button__link,.elementor-button){
  background:#7f2243!important;
  border:2px solid #7f2243!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  font-weight:700!important;
  border-radius:2px!important;
  box-shadow:0 7px 16px rgba(74,28,49,.14)!important;
}
body:not(.wp-admin) :is(#secondary,#sidebar,.site-sidebar,.sidebar-primary,.widget-area,.elementor-widget-sidebar,.elementor-location-sidebar,.ast-sidebar-wrapper,.sidebar) :is(button,.button,a.button,input[type=submit],input[type=button],.wp-block-button__link,.elementor-button) :is(span,strong,i){color:#fff!important;-webkit-text-fill-color:#fff!important}
body:not(.wp-admin) :is(#secondary,#sidebar,.site-sidebar,.sidebar-primary,.widget-area,.elementor-widget-sidebar,.elementor-location-sidebar,.ast-sidebar-wrapper,.sidebar) :is(button,.button,a.button,input[type=submit],input[type=button],.wp-block-button__link,.elementor-button):hover{background:#59162f!important;border-color:#59162f!important}
body:not(.wp-admin) :is(#secondary,#sidebar,.site-sidebar,.sidebar-primary,.widget-area,.elementor-widget-sidebar,.elementor-location-sidebar,.ast-sidebar-wrapper,.sidebar) :is(button,.button,a.button,input[type=submit],input[type=button],.wp-block-button__link,.elementor-button):focus-visible{outline:3px solid #b47e4c!important;outline-offset:3px!important}
body:not(.wp-admin) :is(#secondary,#sidebar,.site-sidebar,.sidebar-primary,.widget-area,.elementor-widget-sidebar,.elementor-location-sidebar,.ast-sidebar-wrapper,.sidebar) :is(input[type=text],input[type=search],input[type=email],select,textarea){
  background:#f1eaf1!important;
  border:2px solid #aa8aa0!important;
  color:#251d2b!important;
  -webkit-text-fill-color:#251d2b!important;
}
body:not(.wp-admin) :is(#secondary,#sidebar,.site-sidebar,.sidebar-primary,.widget-area,.elementor-widget-sidebar,.elementor-location-sidebar,.ast-sidebar-wrapper,.sidebar) :is(a,button,input,select,textarea):focus-visible{outline:3px solid #7f2243!important;outline-offset:3px}
/* Footer: separate warm, light, luxury palette with bordeaux and subtle copper.
   Scoped to actual theme footer areas: avoids coloring the main article grid. */
body:not(.wp-admin) :is(.site-footer,#colophon,.elementor-location-footer,.footer-widgets,.footer-sidebar,.footer-main,.footer-bottom,.ast-builder-footer-grid-columns){
  background:linear-gradient(180deg,#f5ede8 0%,#eee2dd 100%)!important;
  color:#2c2227!important;
}
body:not(.wp-admin) :is(.site-footer,#colophon,.elementor-location-footer,.footer-widgets,.footer-sidebar,.footer-main,.footer-bottom){
  border-top:3px solid #a77553!important;
}
body:not(.wp-admin) :is(.site-footer,#colophon,.elementor-location-footer,.footer-widgets,.footer-sidebar,.footer-main,.footer-bottom) :is(p,li,small,span,label){color:#47383d!important}
body:not(.wp-admin) :is(.site-footer,#colophon,.elementor-location-footer,.footer-widgets,.footer-sidebar,.footer-main,.footer-bottom) :is(h2,h3,h4,.widget-title,.wp-block-heading){color:#30202b!important}
body:not(.wp-admin) :is(.site-footer,#colophon,.elementor-location-footer,.footer-widgets,.footer-sidebar,.footer-main,.footer-bottom) a:not(.button):not(.wp-block-button__link):not(.elementor-button){color:#732139!important;-webkit-text-fill-color:#732139!important;font-weight:650!important}
body:not(.wp-admin) :is(.site-footer,#colophon,.elementor-location-footer,.footer-widgets,.footer-sidebar,.footer-main,.footer-bottom) a:not(.button):not(.wp-block-button__link):not(.elementor-button):hover{color:#4b1529!important;text-decoration:underline!important;text-decoration-color:#a77553!important}
body:not(.wp-admin) :is(.site-footer,#colophon,.elementor-location-footer,.footer-widgets,.footer-sidebar,.footer-main,.footer-bottom) :is(.widget,.widget_block,.footer-widget,.elementor-widget-container){
  background:linear-gradient(130deg,#f5e9e3 0%,#eaddd8 100%)!important;
  border:0!important;border-left:8px solid #7f2243!important;
  border-top:2px solid rgba(167,117,83,.67)!important;
  border-radius:0!important;
  box-shadow:0 12px 28px rgba(68,34,48,.07)!important;
  color:#2c2227!important;
  padding:clamp(20px,2.2vw,28px)!important;
}
body:not(.wp-admin) :is(.site-footer,#colophon,.elementor-location-footer,.footer-widgets,.footer-sidebar,.footer-main,.footer-bottom) :is(button,.button,a.button,input[type=submit],input[type=button],.wp-block-button__link,.elementor-button){
  background:#7f2243!important;border:2px solid #7f2243!important;
  color:#fff!important;-webkit-text-fill-color:#fff!important;
  font-weight:700!important;border-radius:2px!important;
}
body:not(.wp-admin) :is(.site-footer,#colophon,.elementor-location-footer,.footer-widgets,.footer-sidebar,.footer-main,.footer-bottom) :is(button,.button,a.button,input[type=submit],input[type=button],.wp-block-button__link,.elementor-button) :is(span,strong){color:#fff!important;-webkit-text-fill-color:#fff!important}
body:not(.wp-admin) :is(.site-footer,#colophon,.elementor-location-footer,.footer-widgets,.footer-sidebar,.footer-main,.footer-bottom) :is(button,.button,a.button,input[type=submit],input[type=button],.wp-block-button__link,.elementor-button):hover{background:#59162f!important;border-color:#59162f!important}
body:not(.wp-admin) :is(.site-footer,#colophon,.elementor-location-footer,.footer-widgets,.footer-sidebar,.footer-main,.footer-bottom) :is(.widget-title,.wp-block-heading)::after{
  content:"";display:block;width:74px;height:3px;margin-top:14px;
  background:linear-gradient(90deg,#7f2243 0%,#b78156 100%);
}

/* Distinct editorial sidebar modules, not a joined column. */
body:not(.wp-admin) :is(#secondary,#sidebar,.site-sidebar,.sidebar-primary,.widget-area,.elementor-widget-sidebar,.elementor-location-sidebar,.ast-sidebar-wrapper,.sidebar) > :is(.widget,.widget_block){margin-bottom:22px!important}
body:not(.wp-admin) :is(#secondary,#sidebar,.site-sidebar,.sidebar-primary,.widget-area,.elementor-widget-sidebar,.elementor-location-sidebar,.ast-sidebar-wrapper,.sidebar) :is(button,.button,a.button,input[type=submit],input[type=button],.wp-block-button__link,.elementor-button){padding:12px 18px!important;min-height:42px!important;font-size:13px!important;line-height:1.25!important}
