/* VLF 12.14.47 — Fidal-inspired editorial rotating campaign (original implementation).
   Scoped to Block 01 only. Does not alter existing footer, sidebar, or 27 other blocks. */
.vlf-page .vlf47-campaign,
.vlf-page .vlf47-campaign *{box-sizing:border-box}
.vlf-page .vlf-section.vlf47-campaign{
  --v47-ink:#251c29;--v47-copy:#4c424f;--v47-burgundy:#792542;
  --v47-gold:#b58b5a;--v47-line:#ddd1db;
  position:relative!important;isolation:isolate;overflow:hidden!important;
  background:linear-gradient(155deg,#f8f3f6 0%,#ffffff 52%,#f4edf2 100%)!important;
  padding:clamp(54px,6vw,92px) 0 clamp(52px,5.2vw,80px)!important;
  color:var(--v47-ink)!important;border-top:1px solid var(--v47-line);
}
.vlf-page .vlf47-campaign:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,transparent,#8d3855 32%,#cba67a 52%,transparent 85%);pointer-events:none}
.vlf-page .vlf47-shell{width:var(--vlf-nav-width,min(calc(100% - 64px),1440px))!important;max-width:calc(100% - 28px)!important;margin:0 auto!important;position:relative;min-width:0}
.vlf-page .vlf47-heading{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.55fr);align-items:end;gap:clamp(22px,5vw,72px);margin-bottom:28px}
.vlf-page .vlf47-heading-main{min-width:0}
.vlf-page .vlf47-eyebrow{font:700 11px/1.4 Arial,Helvetica,sans-serif!important;text-transform:uppercase;letter-spacing:.17em;color:var(--v47-burgundy)!important;display:flex;align-items:center;gap:14px;margin:0 0 22px!important}
.vlf-page .vlf47-eyebrow-line{height:2px;width:51px;display:inline-block;background:var(--v47-burgundy);flex-shrink:0}
.vlf-page .vlf47-heading h2{font:400 clamp(36px,4.2vw,61px)/1.09 Georgia,'Times New Roman',serif!important;letter-spacing:-.035em;color:var(--v47-ink)!important;text-transform:none!important;margin:0!important;overflow-wrap:break-word}
.vlf-page .vlf47-heading-aside{margin:0 0 4px!important;color:var(--v47-copy)!important;font:400 clamp(14px,1.1vw,17px)/1.65 Arial,Helvetica,sans-serif!important;max-width:540px}
.vlf-page .vlf47-stage{position:relative;display:grid;perspective:1600px;isolation:isolate;overflow:hidden;background:#f2eaf0;box-shadow:0 26px 72px rgba(43,22,47,.13);border:1px solid #d6c7d2}
.vlf-page .vlf47-slide{
 grid-area:1/1;display:grid;grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);
 min-width:0;min-height:clamp(535px,42vw,685px);position:relative;
 visibility:hidden;opacity:0;pointer-events:none;z-index:0;
 transform:translate3d(12%,0,-70px) rotateY(21deg) scale(.94);
 transform-origin:50% 50%;transition:opacity .7s ease,transform 1.05s cubic-bezier(.19,1,.22,1),visibility 0s linear .9s;
 backface-visibility:hidden;
}
.vlf-page .vlf47-slide.is-active{visibility:visible;opacity:1;pointer-events:auto;z-index:2;transform:translate3d(0,0,0) rotateY(0) scale(1);transition:opacity .8s ease,transform 1.05s cubic-bezier(.19,1,.22,1),visibility 0s}
.vlf-page .vlf47-slide.is-exiting{visibility:visible;opacity:0;z-index:1;pointer-events:none;transform:translate3d(-12%,0,-80px) rotateY(-20deg) scale(.95);transition:opacity .8s ease,transform .95s cubic-bezier(.21,.8,.3,1),visibility 0s linear 1s}
.vlf-page .vlf47-copy{order:1;min-width:0;display:flex;flex-direction:column;justify-content:space-between;gap:20px;background:linear-gradient(128deg,#fffdfd 0%,#f8f2f5 92%);padding:clamp(31px,3.5vw,59px);color:var(--v47-ink)!important;border-right:1px solid rgba(116,65,87,.15)}
.vlf-page .vlf47-slide-meta{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding-bottom:16px;border-bottom:1px solid #d5c7d1}
.vlf-page .vlf47-slide-category{color:var(--v47-burgundy)!important;font:700 11px/1.5 Arial,Helvetica,sans-serif!important;letter-spacing:.13em;text-transform:uppercase;overflow-wrap:anywhere}
.vlf-page .vlf47-slide-number{white-space:nowrap;color:#776b74!important;font:600 17px/1.3 Georgia,serif!important;letter-spacing:.04em}
.vlf-page .vlf47-slide-number small{font-size:12px;color:#776b74}
.vlf-page .vlf47-copy-core{margin:auto 0;min-width:0}
.vlf-page .vlf47-small-index{color:#7b3150!important;font:700 11px/1.5 Arial,Helvetica,sans-serif!important;letter-spacing:.15em;text-transform:uppercase;display:block;margin-bottom:19px}
.vlf-page .vlf47-copy h3{color:var(--v47-ink)!important;-webkit-text-fill-color:var(--v47-ink)!important;font:400 clamp(30px,3.2vw,53px)/1.075 Georgia,'Times New Roman',serif!important;letter-spacing:-.032em!important;margin:0 0 22px!important;text-transform:none!important;overflow-wrap:break-word;hyphens:auto}
.vlf-page .vlf47-copy-core p{color:var(--v47-copy)!important;-webkit-text-fill-color:var(--v47-copy)!important;font:400 15.5px/1.68 Arial,Helvetica,sans-serif!important;margin:0!important;max-width:620px}
.vlf-page .vlf47-cta{display:flex;justify-content:space-between;align-items:center;gap:15px;text-decoration:none!important;color:var(--v47-burgundy)!important;-webkit-text-fill-color:var(--v47-burgundy)!important;border-top:1px solid #cdb9c7;padding-top:18px;margin-top:12px;font:700 12px/1.5 Arial,Helvetica,sans-serif!important;letter-spacing:.09em;text-transform:uppercase}
.vlf-page .vlf47-cta span:last-child{font:400 25px/1 Georgia,serif;transition:transform .25s}
.vlf-page .vlf47-cta:hover span:last-child{transform:translate(4px,-4px)}
.vlf-page .vlf47-media{order:2;min-width:0;min-height:100%;position:relative;background:#d9c6d1 center center/cover no-repeat;overflow:hidden;isolation:isolate}
.vlf-page .vlf47-media:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(43,22,42,.12),transparent 55%),linear-gradient(0deg,rgba(37,19,32,.27),transparent 38%);z-index:1;pointer-events:none}
.vlf-page .vlf47-media.has-image{animation:none!important}
.vlf-page .vlf47-slide.is-active .vlf47-media{animation:vlf47-kenburns 8.5s ease-out both!important}
.vlf-page .vlf47-media-shimmer{position:absolute;inset:-110% -30%;background:linear-gradient(108deg,transparent 42%,rgba(255,255,255,.18) 51%,transparent 59%);transform:translateX(-100%) rotate(10deg);pointer-events:none;z-index:1}
.vlf-page .vlf47-slide.is-active .vlf47-media-shimmer{animation:vlf47-shine 1.2s ease-out both}
.vlf-page .vlf47-media-band{position:absolute;bottom:29px;left:32px;right:32px;display:flex;justify-content:space-between;align-items:center;gap:18px;color:#fff!important;text-shadow:0 2px 10px rgba(0,0,0,.45);border-top:1px solid rgba(255,255,255,.54);padding-top:15px;z-index:2;font:700 11px/1.4 Arial,Helvetica,sans-serif!important;letter-spacing:.15em}
.vlf-page .vlf47-media-band span{color:#fff!important;-webkit-text-fill-color:#fff!important}
.vlf-page .vlf47-console{margin-top:22px}
.vlf-page .vlf47-console-row{display:flex;align-items:center;gap:12px}
.vlf-page .vlf47-console-counter{display:flex;align-items:baseline;gap:8px;white-space:nowrap;min-width:78px}
.vlf-page .vlf47-console-counter strong{color:var(--v47-burgundy)!important;font:400 27px/1 Georgia,serif!important}
.vlf-page .vlf47-console-counter span{color:#746874!important;font:600 12px/1 Arial,Helvetica,sans-serif!important}
.vlf-page .vlf47-console-progress{flex:1 1 auto;min-width:0;height:3px;background:#e0d2dc;position:relative;overflow:hidden;margin:0 11px}
.vlf-page .vlf47-console-progress span{display:block;height:100%;width:0;background:linear-gradient(90deg,#792542,#c3a06f);animation:vlf47-timer var(--vlf47-duration,6500ms) linear forwards;animation-play-state:paused}
.vlf-page .vlf47-campaign.is-playing .vlf47-console-progress span{animation-play-state:running}
.vlf-page .vlf47-campaign.is-paused .vlf47-console-progress span{animation-play-state:paused}
.vlf-page .vlf47-iconbtn,.vlf-page .vlf47-toggle{height:44px;width:44px;display:grid;place-items:center;border:1px solid #c5aebd!important;background:#fff!important;color:#792542!important;-webkit-text-fill-color:#792542!important;cursor:pointer;font:400 23px/1 Georgia,serif!important;border-radius:0!important;flex:0 0 auto;transition:background .2s,color .2s}
.vlf-page .vlf47-toggle{font:700 18px/1 Arial,Helvetica,sans-serif!important}
.vlf-page .vlf47-iconbtn:hover,.vlf-page .vlf47-toggle:hover{background:#792542!important;color:#fff!important;-webkit-text-fill-color:#fff!important}
.vlf-page .vlf47-selectors{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:6px;margin-top:16px}
.vlf-page .vlf47-selector{position:relative;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:13px clamp(8px,1.2vw,18px);min-width:0;background:#fff!important;color:#463448!important;-webkit-text-fill-color:#463448!important;border:1px solid #e0d5dd!important;border-radius:0!important;cursor:pointer;text-align:left;font:700 12px/1.2 Arial,Helvetica,sans-serif!important}
.vlf-page .vlf47-selector i{width:4px;height:4px;background:#cbb9c9;flex-shrink:0}
.vlf-page .vlf47-selector.is-active{background:#f1e5eb!important;color:#792542!important;-webkit-text-fill-color:#792542!important;border-bottom:3px solid #792542!important}
.vlf-page .vlf47-selector.is-active i{background:#792542}
.vlf-page .vlf47-campaign :is(button,a):focus-visible{outline:3px solid #792542!important;outline-offset:3px}
.vlf-page .vlf47-status{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important}
@keyframes vlf47-kenburns{from{background-position:46% center}to{background-position:55% center}}
@keyframes vlf47-shine{0%{transform:translateX(-100%) rotate(10deg)}100%{transform:translateX(100%) rotate(10deg)}}
@keyframes vlf47-timer{from{width:0}to{width:100%}}
@media (max-width:1080px){
 .vlf-page .vlf47-heading{grid-template-columns:minmax(0,1fr);gap:14px}
 .vlf-page .vlf47-heading-aside{max-width:850px}
 .vlf-page .vlf47-slide{grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:570px}
 .vlf-page .vlf47-copy{padding:36px 30px}
 .vlf-page .vlf47-copy h3{font-size:clamp(29px,3.6vw,42px)!important}
}
@media (max-width:740px){
 .vlf-page .vlf-section.vlf47-campaign{padding:46px 0!important}
 .vlf-page .vlf47-shell{max-width:calc(100% - 28px)!important}
 .vlf-page .vlf47-slide{grid-template-columns:minmax(0,1fr);grid-template-rows:270px auto;min-height:0}
 .vlf-page .vlf47-media{order:0;grid-row:1;min-height:270px}
 .vlf-page .vlf47-copy{order:1;grid-row:2;min-height:390px;padding:30px 25px}
 .vlf-page .vlf47-copy h3{font-size:clamp(30px,7.2vw,42px)!important}
 .vlf-page .vlf47-selectors{grid-template-columns:repeat(5,minmax(0,1fr))}
}
@media (max-width:430px){
 .vlf-page .vlf47-slide{grid-template-rows:220px auto}
 .vlf-page .vlf47-media{min-height:220px}
 .vlf-page .vlf47-copy{min-height:420px;padding:23px 21px}
 .vlf-page .vlf47-copy h3{font-size:clamp(28px,7vw,36px)!important;margin-bottom:13px!important}
 .vlf-page .vlf47-copy-core p{font-size:14px!important}
 .vlf-page .vlf47-console-row{gap:7px}
 .vlf-page .vlf47-console-counter{min-width:58px}
 .vlf-page .vlf47-console-counter strong{font-size:23px!important}
 .vlf-page .vlf47-iconbtn,.vlf-page .vlf47-toggle{width:38px;height:38px;font-size:19px!important}
 .vlf-page .vlf47-console-progress{margin:0 3px}
 .vlf-page .vlf47-selector{padding:12px 9px}
}
@media (prefers-reduced-motion:reduce){
 .vlf-page .vlf47-slide,.vlf-page .vlf47-slide.is-active,.vlf-page .vlf47-slide.is-exiting{transition:none!important;transform:none!important}
 .vlf-page .vlf47-slide.is-active .vlf47-media,.vlf-page .vlf47-slide.is-active .vlf47-media-shimmer,.vlf-page .vlf47-campaign.is-playing .vlf47-console-progress span{animation:none!important}
}
