/* Dobrynin Patriot Premium 2.8.0 — civic patriotic chrome enhancements.
   Pure CSS/transform/opacity effects; decorative layers never capture pointer events. */

.dpp-state-flag{
  --dpp-flag-speed:8.6s;
  position:absolute;
  display:grid;
  grid-template-rows:repeat(3,1fr);
  width:clamp(190px,19vw,360px);
  height:clamp(72px,7.2vw,128px);
  overflow:hidden;
  border-radius:8px 18px 18px 8px;
  opacity:.30;
  transform-origin:left center;
  filter:drop-shadow(0 12px 24px rgba(0,0,0,.24));
  pointer-events:none;
  isolation:isolate;
  animation:dpp-state-flag-float 9s ease-in-out infinite;
}
.dpp-state-flag:before{
  content:"";
  position:absolute;
  z-index:3;
  inset:-35% -30%;
  background:linear-gradient(112deg,transparent 36%,rgba(255,255,255,.28) 49%,transparent 61%);
  transform:translateX(-55%) skewX(-12deg);
  animation:dpp-state-flag-sheen var(--dpp-flag-speed) ease-in-out infinite;
}
.dpp-state-flag:after{
  content:"";
  position:absolute;
  z-index:4;
  inset:0;
  border:1px solid rgba(255,255,255,.18);
  border-radius:inherit;
  box-shadow:inset 0 1px rgba(255,255,255,.22),inset 0 -10px 24px rgba(0,0,0,.14);
}
.dpp-state-flag i{position:relative;display:block;overflow:hidden;transform-origin:left center}
.dpp-state-flag i:after{
  content:"";
  position:absolute;
  inset:-35% -20%;
  background:repeating-linear-gradient(105deg,transparent 0 28px,rgba(255,255,255,.09) 30px 42px,transparent 44px 70px);
  background-size:210% 100%;
  animation:dpp-state-flag-ripple 6.8s linear infinite;
}
.dpp-state-flag i:nth-child(1){background:linear-gradient(90deg,#f7fbff,#fff 50%,#e7eef8)}
.dpp-state-flag i:nth-child(2){background:linear-gradient(90deg,#0c4e9a,#176cc5 50%,#0d4e9b)}
.dpp-state-flag i:nth-child(3){background:linear-gradient(90deg,#b70d28,#e72d45 50%,#ba112b)}
.dpp-state-flag i:nth-child(2):after{animation-delay:-1.2s}
.dpp-state-flag i:nth-child(3):after{animation-delay:-2.4s}
.dpp-state-flag b{
  position:absolute;
  z-index:5;
  left:0;top:0;bottom:0;width:3px;
  background:linear-gradient(#f4d783,#b88728,#f8df8e);
  box-shadow:0 0 14px rgba(238,195,96,.38);
}

.dpp-header__scene{z-index:0!important}.dpp-header__inner,.dpp-header__tricolor{position:relative;z-index:2}
.dpp-footer__scene{z-index:0!important}.dpp-footer__content,.dpp-to-top{position:relative;z-index:2}

.dpp-header__state-flag{right:-2.2vw;top:50%;transform:translateY(-50%) perspective(700px) rotateY(-10deg) skewY(-1deg);opacity:calc(.16 + var(--dpp-header-fx)*.20)}
.dpp-footer__state-flag{left:-3vw;top:13%;width:clamp(250px,25vw,480px);height:clamp(92px,9.4vw,168px);opacity:calc(.10 + var(--dpp-footer-fx)*.15);transform:perspective(700px) rotateY(9deg) rotate(-4deg)}

.dpp-header__emblem-ghost,.dpp-footer__emblem-ghost{
  position:absolute;display:grid;place-items:center;pointer-events:none;will-change:transform;
}
.dpp-header__emblem-ghost{
  right:clamp(92px,8vw,170px);top:50%;
  width:clamp(90px,9vw,168px);height:clamp(90px,9vw,168px);
  transform:translateY(-50%);
  opacity:calc(.07 + var(--dpp-header-fx)*.10);
  animation:dpp-emblem-hover 8.5s ease-in-out infinite;
}
.dpp-footer__emblem-ghost{
  right:clamp(-190px,-9vw,-110px);bottom:clamp(-190px,-9vw,-110px);
  width:clamp(300px,30vw,540px);height:clamp(300px,30vw,540px);
  opacity:calc(.018 + var(--dpp-footer-fx)*.035);
  transform:rotate(-7deg);
  animation:dpp-emblem-footer 14s ease-in-out infinite;
}
.dpp-header__emblem-ghost:before,.dpp-footer__emblem-ghost:before{
  content:"";position:absolute;inset:-12%;border-radius:50%;
  background:radial-gradient(circle,rgba(222,182,82,.18),rgba(54,137,235,.08) 38%,transparent 68%);
  animation:dpp-emblem-aura 6.5s ease-in-out infinite;
}
.dpp-header__emblem-ghost img,.dpp-footer__emblem-ghost img{
  position:relative;width:100%;height:100%;object-fit:contain;
  filter:drop-shadow(0 18px 30px rgba(0,0,0,.30)) drop-shadow(0 0 20px rgba(221,181,77,.12));
}
.dpp-header__emblem-ghost:after,.dpp-footer__emblem-ghost:after{
  content:"";position:absolute;inset:6%;
  background:linear-gradient(110deg,transparent 32%,rgba(255,255,255,.28) 48%,transparent 61%);
  mix-blend-mode:screen;transform:translateX(-90%) skewX(-15deg);
  -webkit-mask:center/contain no-repeat;
  animation:dpp-emblem-sheen 7.8s ease-in-out infinite;
}

.dpp-brand-suite__municipal{position:relative}
.dpp-brand-suite__municipal:before{
  content:"";position:absolute;left:-7px;top:50%;width:56px;height:70px;border-radius:50%;
  transform:translateY(-50%);background:radial-gradient(circle,rgba(224,184,78,.20),rgba(55,139,235,.08) 44%,transparent 70%);
  opacity:.85;animation:dpp-brand-emblem-pulse 5.8s ease-in-out infinite;pointer-events:none
}
.dpp-brand-suite__municipal img{
  position:relative;
  animation:dpp-brand-emblem-idle 7.2s ease-in-out infinite;
  transform-origin:50% 72%;
}
.dpp-brand-suite:hover .dpp-brand-suite__municipal img{animation-duration:2.8s}

.dpp-footer__municipal-logo{
  animation:dpp-footer-emblem-idle 7.5s ease-in-out infinite;
  transform-origin:50% 72%;
}
.dpp-footer__logos{position:relative}
.dpp-footer__logos:after{
  content:"";position:absolute;right:-16px;top:-15px;width:100px;height:110px;border-radius:50%;
  background:radial-gradient(circle,rgba(222,181,75,.16),rgba(55,137,235,.07) 42%,transparent 70%);
  pointer-events:none;animation:dpp-emblem-aura 6.8s ease-in-out infinite
}

.dpp-header__civic-pulse{position:absolute;inset:0;opacity:calc(.16 + var(--dpp-header-fx)*.20);pointer-events:none}
.dpp-header__civic-pulse i{position:absolute;width:5px;height:5px;border-radius:50%;background:#fff;box-shadow:0 0 12px #fff,0 0 24px rgba(55,139,235,.85);animation:dpp-civic-node 5.6s ease-in-out infinite}
.dpp-header__civic-pulse i:nth-child(1){left:22%;top:29%}
.dpp-header__civic-pulse i:nth-child(2){left:61%;top:66%;animation-delay:-1.8s}
.dpp-header__civic-pulse i:nth-child(3){left:84%;top:31%;background:#df3145;box-shadow:0 0 12px #df3145,0 0 26px rgba(223,49,69,.64);animation-delay:-3.6s}

.dpp-footer__civic-rays{position:absolute;inset:0;pointer-events:none;opacity:calc(.09 + var(--dpp-footer-fx)*.16)}
.dpp-footer__civic-rays i{position:absolute;left:50%;top:46%;width:42vw;height:1px;transform-origin:left;background:linear-gradient(90deg,rgba(255,255,255,.0),rgba(72,150,240,.65),rgba(255,255,255,0));animation:dpp-civic-ray 9s ease-in-out infinite}
.dpp-footer__civic-rays i:nth-child(1){transform:rotate(8deg);animation-delay:-1s}
.dpp-footer__civic-rays i:nth-child(2){transform:rotate(28deg);animation-delay:-3s}
.dpp-footer__civic-rays i:nth-child(3){transform:rotate(156deg);animation-delay:-5s}
.dpp-footer__civic-rays i:nth-child(4){transform:rotate(190deg);animation-delay:-7s}

/* The former white breadcrumb stripe becomes a compact premium civic navigation band. */
.dpp-breadcrumbs-shell{
  --dpp-pointer-x:55%;--dpp-pointer-y:50%;
  position:relative;overflow:hidden;isolation:isolate;
  color:rgba(233,243,255,.78);
  background:
    radial-gradient(circle at var(--dpp-pointer-x) var(--dpp-pointer-y),rgba(52,135,236,.15),transparent 28%),
    linear-gradient(110deg,#031226 0%,#071f3d 47%,#06182f 73%,#020c19 100%);
  border-bottom:1px solid rgba(112,174,241,.12);
  box-shadow:inset 0 -1px rgba(255,255,255,.025),0 12px 34px rgba(1,12,27,.16);
}
.dpp-breadcrumbs-shell__grid{
  position:absolute;inset:-45%;z-index:-1;
  background-image:linear-gradient(rgba(112,174,241,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(112,174,241,.05) 1px,transparent 1px);
  background-size:38px 38px;transform:perspective(680px) rotateX(66deg) translateY(-4%);
  opacity:.55;animation:dpp-breadcrumb-grid 18s linear infinite;
}
.dpp-breadcrumbs-shell__tricolor{position:absolute;left:0;right:0;bottom:0;display:grid;grid-template-columns:1fr 1fr 1fr;height:2px;overflow:hidden;opacity:.88}
.dpp-breadcrumbs-shell__tricolor i:nth-child(1){background:#fff}
.dpp-breadcrumbs-shell__tricolor i:nth-child(2){background:#387fd2}
.dpp-breadcrumbs-shell__tricolor i:nth-child(3){background:#df3145}
.dpp-breadcrumbs-shell__tricolor:after{
  content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.85),transparent);
  transform:translateX(-110%);animation:dpp-breadcrumb-sheen 5.8s ease-in-out infinite
}
.dpp-breadcrumbs{
  position:relative;z-index:1;display:flex;align-items:center;flex-wrap:wrap;gap:10px;
  min-height:58px;padding-block:13px!important;color:rgba(218,233,249,.70)!important;
  font-size:14px!important;font-weight:650;letter-spacing:.01em
}
.dpp-breadcrumbs a{
  display:inline-flex;align-items:center;gap:8px;min-height:34px;padding:6px 10px;
  border:1px solid rgba(126,184,248,.12);border-radius:999px;
  color:#fff!important;background:rgba(255,255,255,.025);text-decoration:none!important;
  transition:transform var(--dpp-motion-normal),border-color var(--dpp-motion-normal),background var(--dpp-motion-normal),box-shadow var(--dpp-motion-normal)
}
.dpp-breadcrumbs a span{color:#e5c86c;font-size:17px}
.dpp-breadcrumbs a:hover,.dpp-breadcrumbs a:focus-visible{
  transform:translateY(-1px);border-color:rgba(127,190,255,.34);
  background:linear-gradient(110deg,rgba(58,138,231,.13),rgba(221,49,69,.07));
  box-shadow:0 0 22px rgba(52,136,234,.10)
}
.dpp-breadcrumbs__separator{color:rgba(107,166,231,.60);animation:dpp-breadcrumb-arrow 4.8s ease-in-out infinite}
.dpp-breadcrumbs__current{color:rgba(236,244,253,.82)}

/* Larger premium return-to-top control with idle breathing and a tricolor launch sweep. */
.dpp-to-top{
  width:66px!important;height:66px!important;padding:4px!important;
  background:conic-gradient(#fff 0 33%,#418add 33% 66%,#df3145 66% var(--dpp-scroll-progress),rgba(255,255,255,.13) var(--dpp-scroll-progress))!important;
  box-shadow:0 18px 42px rgba(0,0,0,.34),0 0 30px rgba(55,137,235,.18)!important;
  animation:dpp-top-idle 5.4s ease-in-out infinite;
  overflow:hidden;isolation:isolate
}
.dpp-to-top:before{inset:4px!important;background:linear-gradient(145deg,#06182e,#0a2a4c)!important;box-shadow:inset 0 1px rgba(255,255,255,.08)}
.dpp-to-top span{font-size:29px!important;font-weight:800;transition:transform .36s var(--dpp-ease-emphasis),text-shadow .36s}
.dpp-to-top i,.dpp-to-top b{position:absolute;pointer-events:none;opacity:0}
.dpp-to-top i{
  z-index:2;inset:5px;border-radius:50%;
  background:linear-gradient(180deg,#fff 0 33.333%,#2768b6 33.333% 66.666%,#d72b40 66.666%);
  transform:translateY(110%);mix-blend-mode:screen
}
.dpp-to-top b{
  z-index:3;left:-40%;top:-30%;width:38%;height:160%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.78),transparent);
  transform:skewX(-15deg)
}
.dpp-to-top:hover span,.dpp-to-top:focus-visible span{transform:translateY(-4px);text-shadow:0 0 18px rgba(255,255,255,.58)}
.dpp-to-top.is-tricolor-launch i{animation:dpp-top-flag-launch .78s var(--dpp-ease-emphasis)}
.dpp-to-top.is-tricolor-launch b{animation:dpp-top-sheen .78s ease-out}
.dpp-to-top.is-tricolor-launch span{animation:dpp-top-arrow-launch .78s var(--dpp-ease-emphasis)}

/* Existing CTA receives a stronger static patriotic presence without increasing layout cost. */
.dpp-tricolor-cta{box-shadow:0 0 0 1px rgba(255,255,255,.09),0 13px 34px rgba(0,0,0,.34),0 0 32px rgba(50,135,240,.19),0 0 18px rgba(224,46,67,.11)}
.dpp-tricolor-cta__surface:before{
  content:"";position:absolute;left:12px;right:12px;bottom:0;height:1px;
  background:linear-gradient(90deg,#fff 0 32%,#3c88dc 34% 66%,#df3145 68%);
  opacity:.58;box-shadow:0 0 12px rgba(78,151,237,.22)
}

/* Pause expensive decorative motion when the shared runtime says the page is hidden. */
.dpp-motion-paused .dpp-state-flag,
.dpp-motion-paused .dpp-state-flag *,
.dpp-motion-paused .dpp-header__emblem-ghost,
.dpp-motion-paused .dpp-footer__emblem-ghost,
.dpp-motion-paused .dpp-header__civic-pulse *,
.dpp-motion-paused .dpp-footer__civic-rays *,
.dpp-motion-paused .dpp-breadcrumbs-shell__grid,
.dpp-motion-paused .dpp-breadcrumbs-shell__tricolor:after{animation-play-state:paused!important}

@keyframes dpp-state-flag-float{0%,100%{translate:0 0}50%{translate:0 -5px}}
@keyframes dpp-state-flag-sheen{0%,58%{transform:translateX(-65%) skewX(-12deg)}78%,100%{transform:translateX(70%) skewX(-12deg)}}
@keyframes dpp-state-flag-ripple{0%{transform:translateX(-10%) skewY(0deg)}45%{transform:translateX(4%) skewY(.7deg)}100%{transform:translateX(18%) skewY(0deg)}}
@keyframes dpp-emblem-hover{0%,100%{transform:translateY(-50%) rotate(-1.2deg) scale(.98)}50%{transform:translateY(calc(-50% - 4px)) rotate(1.4deg) scale(1.02)}}
@keyframes dpp-emblem-footer{0%,100%{transform:translateY(0) rotate(-7deg) scale(.98)}50%{transform:translateY(-12px) rotate(-3.5deg) scale(1.025)}}
@keyframes dpp-emblem-aura{0%,100%{opacity:.48;transform:scale(.96)}50%{opacity:.92;transform:scale(1.06)}}
@keyframes dpp-emblem-sheen{0%,55%{transform:translateX(-90%) skewX(-15deg);opacity:0}64%{opacity:.44}82%,100%{transform:translateX(95%) skewX(-15deg);opacity:0}}
@keyframes dpp-brand-emblem-pulse{0%,100%{opacity:.42;transform:translateY(-50%) scale(.94)}50%{opacity:.85;transform:translateY(-50%) scale(1.07)}}
@keyframes dpp-brand-emblem-idle{0%,100%{transform:translateY(0) rotate(0deg)}42%{transform:translateY(-2px) rotate(-1deg)}72%{transform:translateY(1px) rotate(1.2deg)}}
@keyframes dpp-footer-emblem-idle{0%,100%{transform:translateY(0) rotate(0)}45%{transform:translateY(-4px) rotate(-1.4deg)}75%{transform:translateY(-1px) rotate(1.2deg)}}
@keyframes dpp-civic-node{0%,100%{opacity:.2;transform:scale(.65)}50%{opacity:1;transform:scale(1.25)}}
@keyframes dpp-civic-ray{0%,100%{opacity:.08;scale:.76 1}50%{opacity:.56;scale:1.04 1}}
@keyframes dpp-breadcrumb-grid{to{background-position:38px 38px,38px 38px}}
@keyframes dpp-breadcrumb-sheen{0%,58%{transform:translateX(-110%)}76%,100%{transform:translateX(110%)}}
@keyframes dpp-breadcrumb-arrow{0%,100%{opacity:.42;transform:translateX(0)}50%{opacity:.9;transform:translateX(3px)}}
@keyframes dpp-top-idle{0%,100%{filter:saturate(1);box-shadow:0 18px 42px rgba(0,0,0,.34),0 0 26px rgba(55,137,235,.14)}50%{filter:saturate(1.12);box-shadow:0 18px 42px rgba(0,0,0,.34),0 0 38px rgba(55,137,235,.24)}}
@keyframes dpp-top-flag-launch{0%{opacity:0;transform:translateY(110%)}30%{opacity:.92}72%{opacity:.72}100%{opacity:0;transform:translateY(-112%)}}
@keyframes dpp-top-sheen{0%{opacity:0;transform:translateX(-40%) skewX(-15deg)}35%{opacity:.85}100%{opacity:0;transform:translateX(390%) skewX(-15deg)}}
@keyframes dpp-top-arrow-launch{0%,100%{transform:translateY(0)}40%{transform:translateY(-9px)}65%{transform:translateY(2px)}}

@media(max-width:1100px){
  .dpp-header__emblem-ghost{right:92px;width:108px;height:108px;opacity:.08}
  .dpp-header__state-flag{right:-8%;opacity:.13}
}
@media(max-width:980px){
  .dpp-header__emblem-ghost{right:18%;opacity:.055}
  .dpp-header__state-flag{right:-17%;opacity:.10}
  .dpp-footer__state-flag{left:-17%;opacity:.08}
}
@media(max-width:680px){
  .dpp-header__emblem-ghost{right:-24px;width:92px;height:92px;opacity:.065}
  .dpp-header__state-flag{right:-108px;width:230px;height:86px;opacity:.09}
  .dpp-footer__emblem-ghost{right:-150px;bottom:-90px;width:330px;height:330px;opacity:.035}
  .dpp-footer__state-flag{left:-150px;top:7%;width:330px;height:120px;opacity:.07}
  .dpp-breadcrumbs{min-height:54px;font-size:13px!important;gap:8px}
  .dpp-to-top{width:58px!important;height:58px!important}
  .dpp-to-top span{font-size:25px!important}
}
@media(prefers-reduced-motion:reduce){
  .dpp-state-flag,.dpp-state-flag *,.dpp-header__emblem-ghost,.dpp-footer__emblem-ghost,
  .dpp-header__emblem-ghost:before,.dpp-header__emblem-ghost:after,.dpp-footer__emblem-ghost:before,.dpp-footer__emblem-ghost:after,
  .dpp-brand-suite__municipal:before,.dpp-brand-suite__municipal img,.dpp-footer__municipal-logo,
  .dpp-header__civic-pulse *,.dpp-footer__civic-rays *,.dpp-breadcrumbs-shell__grid,.dpp-breadcrumbs-shell__tricolor:after,
  .dpp-breadcrumbs__separator,.dpp-to-top{animation:none!important}
  .dpp-state-flag{opacity:.15}
  .dpp-header__emblem-ghost,.dpp-footer__emblem-ghost{transform:none}
}


/* ==========================================================
   2.8.0 — separated crest/flag zones, stronger idle motion,
   interactive civic breadcrumbs and large tricolor Back-to-Top.
   ========================================================== */

.dpp-header,.dpp-footer,.dpp-breadcrumbs-shell{
  --dpp-pointer-nx:0;--dpp-pointer-ny:0;
}

/* Separate patriotic objects: crest and flag never share a composite wrapper. */
.dpp-header__crest-zone,.dpp-header__flag-zone,
.dpp-footer__crest-zone,.dpp-footer__flag-zone{
  position:absolute;display:block;pointer-events:none;isolation:isolate;
}
.dpp-header__crest-zone{
  left:auto;right:clamp(300px,24vw,440px);top:50%;width:clamp(82px,7.5vw,126px);aspect-ratio:1;
  transform:translate3d(calc(var(--dpp-pointer-nx)*7px),calc(-50% + var(--dpp-pointer-ny)*4px),0);
  opacity:calc(.16 + var(--dpp-header-crest-fx)*.23);
  transition:transform .55s var(--dpp-ease-emphasis),opacity .35s ease;
}
.dpp-header__flag-zone{
  right:clamp(-76px,-3vw,-24px);top:50%;width:clamp(235px,20vw,390px);height:clamp(88px,7.8vw,146px);
  transform:translate3d(calc(var(--dpp-pointer-nx)*-8px),calc(-50% + var(--dpp-pointer-ny)*5px),0);
  opacity:calc(.18 + var(--dpp-header-flag-fx)*.26);
  transition:transform .55s var(--dpp-ease-emphasis),opacity .35s ease;
}
.dpp-header:not(.has-district-crest) .dpp-header__crest-zone,
.dpp-header:not(.has-state-flag) .dpp-header__flag-zone,
.dpp-footer:not(.has-district-crest) .dpp-footer__crest-zone,
.dpp-footer:not(.has-state-flag) .dpp-footer__flag-zone{display:none!important}

.dpp-header__crest-zone .dpp-header__emblem-ghost,
.dpp-footer__crest-zone .dpp-footer__emblem-ghost{
  position:absolute!important;inset:9%!important;width:auto!important;height:auto!important;
  transform:none!important;opacity:1!important;
}
.dpp-header__crest-orbit,.dpp-footer__crest-orbit{
  position:absolute;inset:-8%;border:1px solid rgba(239,203,102,.32);border-radius:50%;
  box-shadow:0 0 28px rgba(225,183,78,.10),inset 0 0 25px rgba(58,145,242,.08);
  animation:dpp-crest-orbit 13s linear infinite;
}
.dpp-header__crest-orbit:before,.dpp-footer__crest-orbit:before{
  content:"";position:absolute;width:7px;height:7px;left:13%;top:14%;border-radius:50%;
  background:#f8d97b;box-shadow:0 0 15px #f8d97b,0 0 28px rgba(64,146,238,.55)
}
.dpp-header__crest-shine,.dpp-footer__crest-shine{
  position:absolute;inset:4%;overflow:hidden;border-radius:45%;mix-blend-mode:screen;opacity:.7
}
.dpp-header__crest-shine:before,.dpp-footer__crest-shine:before{
  content:"";position:absolute;inset:-30%;background:linear-gradient(112deg,transparent 34%,rgba(255,245,199,.72) 48%,transparent 61%);
  transform:translateX(-80%) rotate(7deg);animation:dpp-crest-specular 6.8s ease-in-out infinite
}
.dpp-header__emblem-ghost img,.dpp-footer__emblem-ghost img{
  animation:dpp-crest-float-280 7.8s ease-in-out infinite;
  filter:drop-shadow(0 14px 28px rgba(0,0,0,.34)) drop-shadow(0 0 18px rgba(237,194,88,.26))!important;
}

/* More fabric-like tricolor with independent idle wave and pointer reaction. */
.dpp-header__flag-zone .dpp-state-flag,.dpp-footer__flag-zone .dpp-state-flag{
  inset:0!important;width:100%!important;height:100%!important;opacity:1!important;
  transform:none!important;border-radius:7px 20px 20px 7px;
  clip-path:polygon(0 3%,96% 0,100% 9%,97% 20%,100% 33%,96% 45%,100% 57%,96% 70%,100% 84%,96% 97%,0 100%);
  animation:dpp-flag-body-wave 9.6s ease-in-out infinite;
}
.dpp-state-flag i{
  will-change:transform;animation:dpp-flag-stripe-wave 6.8s ease-in-out infinite;
}
.dpp-state-flag i:nth-child(2){animation-delay:-1.7s}
.dpp-state-flag i:nth-child(3){animation-delay:-3.4s}
.dpp-state-flag em{
  position:absolute;z-index:6;inset:0;pointer-events:none;
  background:
    repeating-linear-gradient(92deg,transparent 0 32px,rgba(0,0,0,.12) 37px,rgba(255,255,255,.12) 43px,transparent 50px 82px),
    linear-gradient(100deg,transparent 12%,rgba(255,255,255,.20) 42%,transparent 66%);
  background-size:180% 100%,220% 100%;
  mix-blend-mode:soft-light;opacity:.9;
  animation:dpp-flag-folds 7.6s linear infinite;
}
.dpp-header.is-pointer-active.has-pointer-effects .dpp-header__crest-zone{transform:translate3d(calc(var(--dpp-pointer-nx)*12px),calc(-50% + var(--dpp-pointer-ny)*8px),0) rotateY(calc(var(--dpp-pointer-nx)*4deg)) rotateX(calc(var(--dpp-pointer-ny)*-3deg))}
.dpp-header.is-pointer-active.has-pointer-effects .dpp-header__flag-zone{transform:translate3d(calc(var(--dpp-pointer-nx)*-14px),calc(-50% + var(--dpp-pointer-ny)*8px),0) skewY(calc(var(--dpp-pointer-ny)*.8deg))}
.dpp-header.is-pointer-active.has-pointer-effects .dpp-state-flag{animation-duration:6.5s}

/* Footer objects are compositionally separated: crest left, flag right. */
.dpp-footer__crest-zone{
  left:clamp(-165px,-9vw,-90px);top:clamp(112px,10vw,160px);width:clamp(175px,13vw,225px);aspect-ratio:1;
  opacity:calc(.12 + var(--dpp-footer-fx)*.22);
  transform:translate3d(calc(var(--dpp-pointer-nx)*8px),calc(var(--dpp-pointer-ny)*6px),0);
  transition:transform .65s var(--dpp-ease-emphasis);
}
.dpp-footer__flag-zone{
  right:clamp(-95px,-3vw,-28px);top:clamp(74px,8vw,126px);width:clamp(330px,30vw,590px);height:clamp(120px,11vw,205px);
  opacity:calc(.16 + var(--dpp-footer-fx)*.24);
  transform:translate3d(calc(var(--dpp-pointer-nx)*-10px),calc(var(--dpp-pointer-ny)*7px),0) rotate(-2deg);
  transition:transform .65s var(--dpp-ease-emphasis);
}
.dpp-footer.is-pointer-active.has-pointer-effects .dpp-footer__crest-zone{transform:translate3d(calc(var(--dpp-pointer-nx)*15px),calc(var(--dpp-pointer-ny)*10px),0) rotateY(calc(var(--dpp-pointer-nx)*3deg))}
.dpp-footer.is-pointer-active.has-pointer-effects .dpp-footer__flag-zone{transform:translate3d(calc(var(--dpp-pointer-nx)*-16px),calc(var(--dpp-pointer-ny)*10px),0) rotate(calc(-2deg + var(--dpp-pointer-nx)*.8deg))}
.dpp-footer.has-entrance-motion:not(.is-in-view) .dpp-footer__crest-zone,
.dpp-footer.has-entrance-motion:not(.is-in-view) .dpp-footer__flag-zone,
.dpp-footer.has-entrance-motion:not(.is-in-view) .dpp-footer__civic-network,
.dpp-footer.has-entrance-motion:not(.is-in-view) .dpp-footer__civic-rays{opacity:0;transform:translateY(18px) scale(.97)}
.dpp-footer.has-entrance-motion .dpp-footer__crest-zone,
.dpp-footer.has-entrance-motion .dpp-footer__flag-zone,
.dpp-footer.has-entrance-motion .dpp-footer__civic-network,
.dpp-footer.has-entrance-motion .dpp-footer__civic-rays{transition:opacity .9s ease,transform 1.1s var(--dpp-ease-emphasis)}

/* Breadcrumb becomes a real animated mini-scene. */
.dpp-breadcrumbs-shell{min-height:68px}
.dpp-breadcrumbs-shell__nodes,.dpp-breadcrumbs-shell__sweep{position:absolute;inset:0;pointer-events:none}
.dpp-breadcrumbs-shell__nodes i{
  position:absolute;width:5px;height:5px;border-radius:50%;background:#d9edff;
  box-shadow:0 0 0 5px rgba(59,139,232,.05),0 0 18px rgba(59,139,232,.48);
  animation:dpp-breadcrumb-node 5.8s ease-in-out infinite
}
.dpp-breadcrumbs-shell__nodes i:nth-child(1){left:11%;top:27%}
.dpp-breadcrumbs-shell__nodes i:nth-child(2){left:38%;top:68%;animation-delay:-1.5s}
.dpp-breadcrumbs-shell__nodes i:nth-child(3){right:28%;top:25%;animation-delay:-3s}
.dpp-breadcrumbs-shell__nodes i:nth-child(4){right:8%;top:63%;background:#e4485c;box-shadow:0 0 0 5px rgba(228,72,92,.05),0 0 18px rgba(228,72,92,.38);animation-delay:-4.5s}
.dpp-breadcrumbs-shell__sweep{
  background:radial-gradient(circle at var(--dpp-pointer-x) var(--dpp-pointer-y),rgba(255,255,255,calc(.035 + var(--dpp-breadcrumb-fx)*.08)),rgba(67,145,237,calc(.02 + var(--dpp-breadcrumb-fx)*.07)) 16%,transparent 38%);
  opacity:0;transition:opacity .35s ease
}
.dpp-breadcrumbs-shell.is-pointer-active .dpp-breadcrumbs-shell__sweep{opacity:1}
.dpp-breadcrumbs ol{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:0;padding:0;list-style:none}
.dpp-breadcrumbs li{margin:0;padding:0}
.dpp-breadcrumbs a{position:relative;overflow:hidden}
.dpp-breadcrumbs a:before{
  content:"";position:absolute;left:8px;right:8px;bottom:3px;height:2px;border-radius:3px;
  background:linear-gradient(90deg,#fff 0 31%,#3f8ee4 34% 65%,#e43b51 68%);background-size:210% 100%;
  transform:scaleX(.36);transform-origin:left;opacity:.55;transition:transform .36s var(--dpp-ease-emphasis),opacity .36s;
  animation:dpp-breadcrumb-link-sweep 6.6s linear infinite
}
.dpp-breadcrumbs a:hover:before,.dpp-breadcrumbs a:focus-visible:before{transform:scaleX(1);opacity:1}
.dpp-breadcrumbs__current>span{
  display:inline-flex;min-height:34px;align-items:center;padding:6px 11px;border-radius:999px;
  border:1px solid rgba(255,255,255,.07);background:rgba(255,255,255,.018)
}
.dpp-breadcrumbs-shell.has-animated-bg .dpp-breadcrumbs-shell__grid{animation-duration:13s}
.dpp-breadcrumbs-shell:not(.has-tricolor) .dpp-breadcrumbs-shell__tricolor,
.dpp-breadcrumbs-shell:not(.has-tricolor) .dpp-breadcrumbs a:before{display:none}

/* Large, unmistakable arrow and progress ring. */
.dpp-to-top{
  --dpp-scroll-percent:0;
  width:var(--dpp-to-top-size,72px)!important;height:var(--dpp-to-top-size,72px)!important;
  min-width:var(--dpp-to-top-size,72px);min-height:var(--dpp-to-top-size,72px);
}
.dpp-to-top__arrow{
  position:relative;z-index:5;width:52%;height:52%;overflow:visible;fill:none;stroke:#fff;stroke-width:2.8;
  stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 7px rgba(255,255,255,.36));
  animation:dpp-top-arrow-breathe 3.8s ease-in-out infinite
}
.dpp-to-top__progress{
  position:absolute;z-index:4;inset:2px;width:calc(100% - 4px);height:calc(100% - 4px);transform:rotate(-90deg);
  pointer-events:none
}
.dpp-to-top__progress circle{
  fill:none;stroke:url(#none);stroke:#fff;stroke-width:1.3;stroke-linecap:round;
  stroke-dasharray:100;stroke-dashoffset:calc(100 - var(--dpp-scroll-percent));
  opacity:.42;transition:stroke-dashoffset .18s linear
}
.dpp-to-top:not(.has-progress) .dpp-to-top__progress{display:none}
.dpp-to-top:not(.has-tricolor){background:#0a294a!important}
.dpp-to-top em{
  position:absolute;z-index:3;inset:-28%;border-radius:50%;opacity:.0;pointer-events:none;
  background:conic-gradient(from 0deg,transparent,#fff 10%,transparent 22%,#2f7ad1 40%,transparent 54%,#e13b50 72%,transparent 88%);
}
.dpp-to-top:hover .dpp-to-top__arrow,.dpp-to-top:focus-visible .dpp-to-top__arrow{transform:translateY(-5px);filter:drop-shadow(0 0 12px rgba(255,255,255,.65))}
.dpp-to-top.is-tricolor-launch .dpp-to-top__arrow{animation:dpp-top-arrow-launch-280 .82s var(--dpp-ease-emphasis)}
.dpp-to-top.is-tricolor-launch em{animation:dpp-top-ring-launch .82s ease-out}
.dpp-to-top.is-tricolor-launch:after{
  content:"";position:absolute;z-index:8;left:15%;right:15%;bottom:14%;height:58%;
  background:linear-gradient(90deg,#fff 0 31%,#3179cf 34% 65%,#dc3249 68%);
  clip-path:polygon(0 80%,25% 60%,43% 69%,62% 31%,78% 39%,100% 0,100% 12%,80% 51%,64% 43%,45% 82%,26% 72%,0 94%);
  animation:dpp-top-tricolor-burst .82s ease-out forwards;pointer-events:none
}

/* Pause all 2.8 ambient motion when tab is hidden. */
.dpp-motion-paused .dpp-header__crest-zone *,
.dpp-motion-paused .dpp-header__flag-zone *,
.dpp-motion-paused .dpp-footer__crest-zone *,
.dpp-motion-paused .dpp-footer__flag-zone *,
.dpp-motion-paused .dpp-breadcrumbs-shell__nodes *,
.dpp-motion-paused .dpp-to-top__arrow{animation-play-state:paused!important}

@keyframes dpp-crest-orbit{to{transform:rotate(360deg)}}
@keyframes dpp-crest-specular{0%,54%{transform:translateX(-95%) rotate(7deg);opacity:0}65%{opacity:.72}82%,100%{transform:translateX(95%) rotate(7deg);opacity:0}}
@keyframes dpp-crest-float-280{0%,100%{transform:translateY(0) rotate(-.4deg) scale(.985)}45%{transform:translateY(-5px) rotate(1deg) scale(1.018)}72%{transform:translateY(1px) rotate(-.7deg) scale(1)}}
@keyframes dpp-flag-body-wave{0%,100%{transform:perspective(760px) rotateY(-7deg) skewY(-.3deg) scaleX(.985)}35%{transform:perspective(760px) rotateY(-2deg) skewY(.45deg) scaleX(1.012)}68%{transform:perspective(760px) rotateY(-9deg) skewY(-.5deg) scaleX(.995)}}
@keyframes dpp-flag-stripe-wave{0%,100%{transform:skewY(-.45deg) scaleX(.99)}45%{transform:skewY(.55deg) scaleX(1.015)}72%{transform:skewY(-.2deg) scaleX(1.003)}}
@keyframes dpp-flag-folds{to{background-position:180% 0,-220% 0}}
@keyframes dpp-breadcrumb-node{0%,100%{opacity:.25;transform:scale(.72)}50%{opacity:1;transform:scale(1.28)}}
@keyframes dpp-breadcrumb-link-sweep{to{background-position:210% 0}}
@keyframes dpp-top-arrow-breathe{0%,100%{transform:translateY(1px)}50%{transform:translateY(-3px)}}
@keyframes dpp-top-arrow-launch-280{0%{transform:translateY(0) scale(1)}40%{transform:translateY(-12px) scale(1.08)}68%{transform:translateY(3px) scale(.98)}100%{transform:translateY(0) scale(1)}}
@keyframes dpp-top-ring-launch{0%{opacity:0;transform:scale(.6) rotate(0)}38%{opacity:.8}100%{opacity:0;transform:scale(1.25) rotate(95deg)}}
@keyframes dpp-top-tricolor-burst{0%{opacity:0;transform:translateY(45%) scale(.7)}35%{opacity:.95}100%{opacity:0;transform:translateY(-130%) scale(1.15)}}

@media(max-width:1180px){
  .dpp-header__crest-zone{left:auto;right:300px;width:88px}
  .dpp-header__flag-zone{right:-92px;width:300px;height:112px;opacity:.25}
}
@media(max-width:980px){
  .dpp-header__crest-zone{left:auto;right:225px;width:76px;opacity:.18}
  .dpp-header__flag-zone{right:-115px;width:290px;height:106px;opacity:.19}
  .dpp-footer__crest-zone{left:-118px;width:180px;opacity:.14}
  .dpp-footer__flag-zone{right:-170px;width:410px;height:150px;opacity:.15}
}
@media(max-width:680px){
  .dpp-header__crest-zone{right:126px;width:62px;opacity:.15}
  .dpp-header__flag-zone{right:-142px;width:275px;height:100px;opacity:.14}
  .dpp-footer__crest-zone{left:-122px;top:88px;width:165px;opacity:.11}
  .dpp-footer__flag-zone{right:-205px;top:92px;width:390px;height:142px;opacity:.12}
  .dpp-breadcrumbs-shell{min-height:62px}
  .dpp-breadcrumbs{font-size:13px!important}.dpp-breadcrumbs ol{gap:7px}
  .dpp-to-top{--dpp-to-top-size:62px!important}
}
@media(prefers-reduced-motion:reduce){
  .dpp-header__crest-zone,.dpp-header__flag-zone,.dpp-footer__crest-zone,.dpp-footer__flag-zone{transform:none!important}
  .dpp-header__crest-zone *,.dpp-header__flag-zone *,.dpp-footer__crest-zone *,.dpp-footer__flag-zone *,
  .dpp-breadcrumbs-shell__nodes *,.dpp-breadcrumbs-shell__sweep,.dpp-breadcrumbs a:before,
  .dpp-to-top,.dpp-to-top *{animation:none!important;transition-duration:.01ms!important}
  .dpp-state-flag{clip-path:none}.dpp-breadcrumbs-shell__sweep{display:none}
}

/* ================================================================
 * 2.9.0 — visual refinement only. Stable 2.8 runtime is untouched.
 * ================================================================ */

/* Plugin-owned direction cards no longer expose decorative sequence numbers. */
.dpp-direction-card--unnumbered .dpp-direction-card__top{justify-content:flex-end}
.dpp-direction-card--unnumbered h3{margin-top:28px}

/* Splash signature: one readable text node, animated as a restrained RF tricolor. */
.dpp-splash p.dpp-splash__name{
  position:relative;
  max-width:min(760px,92%);
  margin:clamp(17px,2.4vh,24px) auto 0;
  color:#fff;
  font:850 clamp(25px,2.7vw,46px)/1.16 Inter,"Segoe UI",Arial,sans-serif;
  letter-spacing:-.018em;
  text-wrap:balance;
  text-shadow:0 5px 24px rgba(0,0,0,.46),0 0 18px rgba(76,153,244,.18);
  isolation:isolate;
}
@supports ((background-clip:text) or (-webkit-background-clip:text)){
  .dpp-splash p.dpp-splash__name{
    background:linear-gradient(105deg,#fff 0 14%,#f7fbff 21%,#4a99ee 34%,#0b55ad 43%,#fff 52%,#ff6a7d 64%,#d7253b 74%,#fff 88% 100%);
    background-size:320% 100%;
    -webkit-background-clip:text;background-clip:text;
    color:transparent;-webkit-text-fill-color:transparent;
    animation:dpp-splash-name-tricolor-290 7.8s cubic-bezier(.45,0,.22,1) infinite,dpp-splash-name-glow-290 5.6s ease-in-out infinite;
  }
}
.dpp-splash p.dpp-splash__name:before{
  content:"";position:absolute;z-index:-1;left:8%;right:8%;bottom:-12px;height:2px;border-radius:3px;
  background:linear-gradient(90deg,transparent,#fff 15% 31%,#3d8bdd 36% 61%,#df3148 67% 84%,transparent);
  background-size:220% 100%;opacity:.78;box-shadow:0 0 18px rgba(62,145,238,.22);
  animation:dpp-splash-name-line-290 7.4s ease-in-out infinite;
}
.dpp-splash p.dpp-splash__name:after{
  content:"";position:absolute;left:4%;top:-15%;width:24%;height:130%;pointer-events:none;
  background:linear-gradient(105deg,transparent 15%,rgba(255,255,255,.58) 48%,transparent 72%);
  transform:translateX(-185%) skewX(-12deg);mix-blend-mode:screen;opacity:0;
  animation:dpp-splash-name-specular-290 7.8s ease-in-out infinite;
}

/* Header navigation gets visible but subordinate patriotic idle motion. */
.dpp-menu>li>a{
  animation:dpp-nav-text-idle-290 8.8s ease-in-out infinite;
}
.dpp-menu>li:nth-child(2n)>a{animation-delay:-2.7s}
.dpp-menu>li:nth-child(3n)>a{animation-delay:-5.4s}
.dpp-menu>li>a:before{
  height:3px!important;
  opacity:.48!important;
  box-shadow:0 0 10px rgba(65,143,232,.16);
  animation:dpp-nav-glimmer 5.8s linear infinite,dpp-nav-line-breathe-290 7.2s ease-in-out infinite!important;
}
.dpp-menu>li>a:hover:before,.dpp-menu>li>a:focus-visible:before,.dpp-menu>.current-menu-item>a:before,.dpp-menu>.current_page_item>a:before{
  box-shadow:0 0 18px rgba(66,147,240,.32),0 0 11px rgba(222,49,70,.18);
}

/* The principal CTA receives the strongest continuous patriotic signature. */
.dpp-tricolor-cta{
  --dpp-cta-speed:4.6s;
  filter:saturate(1.08);
  box-shadow:0 0 0 1px rgba(255,255,255,.13),0 14px 36px rgba(0,0,0,.36),0 0 38px rgba(49,132,239,.23),0 0 24px rgba(231,45,69,.15)!important;
  animation:dpp-tricolor-flow var(--dpp-cta-speed) linear infinite,dpp-cta-breathe-290 4.9s ease-in-out infinite!important;
}
.dpp-tricolor-cta:before{animation:dpp-cta-halo-290 4.6s ease-in-out infinite!important}
.dpp-tricolor-cta:after{animation:dpp-cta-sheen-290 4.8s ease-in-out infinite!important}
.dpp-tricolor-cta__surface i{animation:dpp-cta-arrow-idle-290 4.3s ease-in-out infinite}
.dpp-tricolor-cta:active:before{animation:dpp-cta-click-pulse-290 .52s ease-out!important}

/* Footer controls remain active in idle without competing with the main CTA. */
.dpp-footer-menu a{
  position:relative;overflow:hidden;
  animation:dpp-footer-nav-idle-290 7.4s ease-in-out infinite!important;
}
.dpp-footer-menu a:before{
  content:"";position:absolute;left:-70%;top:0;width:48%;height:100%;pointer-events:none;
  background:linear-gradient(105deg,transparent,rgba(255,255,255,.10),rgba(60,143,239,.10),rgba(224,49,70,.08),transparent);
  transform:skewX(-14deg);animation:dpp-footer-button-sweep-290 8.6s ease-in-out infinite;
}
.dpp-footer-menu li:nth-child(2n) a:before{animation-delay:-2.9s}
.dpp-footer-menu li:nth-child(3n) a:before{animation-delay:-5.8s}
.dpp-contact-cta{
  position:relative;overflow:hidden;
  animation:dpp-contact-breathe-290 5.8s ease-in-out infinite!important;
}
.dpp-contact-cta:before{
  content:"";position:absolute;inset:0;pointer-events:none;opacity:.72;
  background:linear-gradient(100deg,transparent 0 36%,rgba(255,255,255,.11) 43%,rgba(57,137,231,.10) 50%,rgba(217,45,65,.08) 58%,transparent 66%);
  background-size:280% 100%;animation:dpp-footer-contact-sweep-290 7.4s ease-in-out infinite;
}
.dpp-contact-cta>*{position:relative;z-index:1}
.dpp-footer__replay,.dpp-socials a{
  position:relative;overflow:hidden;
  background-image:linear-gradient(105deg,rgba(255,255,255,.025),rgba(55,135,230,.06),rgba(218,47,67,.035));
  background-size:220% 100%;
  animation:dpp-footer-control-idle-290 8.2s ease-in-out infinite;
}
.dpp-footer__primary-cta{filter:saturate(1.12)}

/* Back-to-top is viewport-fixed on the RIGHT. Never inherit footer relative positioning. */
.dpp-footer__content{position:relative;z-index:2}
.dpp-to-top{
  position:fixed!important;
  left:auto!important;
  right:clamp(18px,2.2vw,36px)!important;
  bottom:max(clamp(18px,2.2vw,34px),calc(14px + env(safe-area-inset-bottom)))!important;
  z-index:2147481500!important;
  width:clamp(72px,var(--dpp-to-top-size,74px),78px)!important;
  height:clamp(72px,var(--dpp-to-top-size,74px),78px)!important;
  min-width:72px;min-height:72px;
  margin:0!important;
  overflow:hidden;isolation:isolate;
  background:conic-gradient(from -90deg,#fff 0 31%,#438de2 34% 64%,#df3147 67% 100%)!important;
  background-size:180% 180%!important;
  box-shadow:0 18px 44px rgba(0,0,0,.38),0 0 32px rgba(55,137,235,.22),0 0 17px rgba(222,48,68,.11)!important;
  animation:dpp-top-idle-290 5.2s ease-in-out infinite,dpp-top-border-flow-290 8s linear infinite!important;
  will-change:transform;
}
.dpp-to-top:before{
  inset:4px!important;background:radial-gradient(circle at 42% 31%,rgba(255,255,255,.08),transparent 36%),linear-gradient(145deg,#041327,#0a2c50)!important;
}
.dpp-to-top__arrow{
  width:48%!important;height:48%!important;stroke-width:3!important;
  filter:drop-shadow(0 0 9px rgba(255,255,255,.48));
  animation:dpp-top-arrow-idle-290 3.9s ease-in-out infinite!important;
}
.dpp-to-top__progress{inset:3px!important;width:calc(100% - 6px)!important;height:calc(100% - 6px)!important}
.dpp-to-top__progress circle{stroke-width:1.55!important;opacity:.52!important}
.dpp-to-top i{
  z-index:2!important;inset:5px!important;border-radius:50%!important;opacity:0;
  background:linear-gradient(180deg,#fff 0 33.333%,#347fd3 33.333% 66.666%,#df3047 66.666%)!important;
  transform:translateY(115%);mix-blend-mode:screen;
}
.dpp-to-top b{
  z-index:7!important;left:-45%!important;top:-35%!important;width:42%!important;height:170%!important;opacity:0;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.88),rgba(87,160,246,.42),transparent)!important;
  transform:skewX(-14deg);
}
.dpp-to-top em{
  z-index:3!important;inset:-35%!important;opacity:0;
  background:conic-gradient(from 0deg,transparent 0 8%,#fff 10% 17%,transparent 20% 34%,#3b87dc 38% 46%,transparent 50% 65%,#df3047 70% 78%,transparent 82% 100%)!important;
}
.dpp-to-top:hover,.dpp-to-top:focus-visible{
  transform:translateY(-4px) scale(1.04)!important;
  box-shadow:0 20px 50px rgba(0,0,0,.42),0 0 44px rgba(55,141,242,.36),0 0 27px rgba(225,49,70,.18)!important;
}
.dpp-to-top:hover .dpp-to-top__arrow,.dpp-to-top:focus-visible .dpp-to-top__arrow{transform:translateY(-5px)}
.dpp-to-top.is-tricolor-launch{
  animation:dpp-top-press-290 .68s var(--dpp-ease-emphasis,cubic-bezier(.16,1,.3,1)),dpp-top-border-flow-290 8s linear infinite!important;
}
.dpp-to-top.is-tricolor-launch i{animation:dpp-top-flag-launch-290 .82s var(--dpp-ease-emphasis,cubic-bezier(.16,1,.3,1))!important}
.dpp-to-top.is-tricolor-launch b{animation:dpp-top-sheen-290 .82s ease-out!important}
.dpp-to-top.is-tricolor-launch em{animation:dpp-top-ring-launch-290 .82s ease-out!important}
.dpp-to-top.is-tricolor-launch .dpp-to-top__arrow{animation:dpp-top-arrow-launch-290 .82s var(--dpp-ease-emphasis,cubic-bezier(.16,1,.3,1))!important}
.dpp-to-top.is-tricolor-launch:after{
  content:"";position:absolute;z-index:8;left:19%;right:19%;bottom:12%;height:64%;pointer-events:none;
  background:linear-gradient(90deg,#fff 0 31%,#3c88dc 34% 65%,#df3148 68%);filter:drop-shadow(0 0 9px rgba(255,255,255,.34));
  clip-path:polygon(0 84%,18% 66%,37% 73%,58% 36%,74% 45%,100% 3%,100% 17%,76% 58%,61% 50%,40% 88%,20% 80%,0 98%);
  animation:dpp-top-tricolor-burst-290 .82s ease-out forwards;
}

@keyframes dpp-splash-name-tricolor-290{0%,100%{background-position:0 50%}50%{background-position:100% 50%}}
@keyframes dpp-splash-name-glow-290{0%,100%{text-shadow:0 5px 24px rgba(0,0,0,.46),0 0 14px rgba(75,151,242,.17)}50%{text-shadow:0 5px 24px rgba(0,0,0,.46),0 0 28px rgba(75,151,242,.32),0 0 16px rgba(224,49,70,.15)}}
@keyframes dpp-splash-name-line-290{0%,100%{background-position:0 0;opacity:.62}50%{background-position:100% 0;opacity:1}}
@keyframes dpp-splash-name-specular-290{0%,52%{opacity:0;transform:translateX(-185%) skewX(-12deg)}62%{opacity:.7}79%,100%{opacity:0;transform:translateX(460%) skewX(-12deg)}}
@keyframes dpp-nav-text-idle-290{0%,100%{text-shadow:0 0 18px rgba(255,255,255,.04)}50%{text-shadow:0 0 21px rgba(78,154,243,.18)}}
@keyframes dpp-nav-line-breathe-290{0%,100%{filter:brightness(.9);opacity:.38}50%{filter:brightness(1.35);opacity:.75}}
@keyframes dpp-cta-breathe-290{0%,100%{box-shadow:0 0 0 1px rgba(255,255,255,.11),0 14px 36px rgba(0,0,0,.36),0 0 29px rgba(49,132,239,.17),0 0 17px rgba(231,45,69,.09)}50%{box-shadow:0 0 0 1px rgba(255,255,255,.18),0 17px 44px rgba(0,0,0,.41),0 0 48px rgba(49,132,239,.34),0 0 29px rgba(231,45,69,.18)}}
@keyframes dpp-cta-halo-290{0%,100%{opacity:.2;transform:scale(.92)}50%{opacity:.62;transform:scale(1.08)}}
@keyframes dpp-cta-sheen-290{0%,48%{background-position:185% 0;opacity:.2}68%{opacity:.9}86%,100%{background-position:-80% 0;opacity:.28}}
@keyframes dpp-cta-arrow-idle-290{0%,100%{transform:translateX(0)}50%{transform:translateX(3px)}}
@keyframes dpp-cta-click-pulse-290{0%{opacity:.65;transform:scale(.9)}100%{opacity:0;transform:scale(1.25)}}
@keyframes dpp-footer-nav-idle-290{0%,100%{box-shadow:inset 0 0 0 rgba(70,148,239,0),0 0 0 rgba(224,49,70,0)}50%{box-shadow:inset 0 0 26px rgba(70,148,239,.055),0 0 14px rgba(224,49,70,.025)}}
@keyframes dpp-footer-button-sweep-290{0%,52%{transform:translateX(-20%) skewX(-14deg);opacity:0}62%{opacity:.8}83%,100%{transform:translateX(390%) skewX(-14deg);opacity:0}}
@keyframes dpp-contact-breathe-290{0%,100%{box-shadow:inset 0 1px rgba(255,255,255,.05),0 0 0 rgba(60,145,244,0)}50%{box-shadow:inset 0 1px rgba(255,255,255,.08),0 0 32px rgba(60,145,244,.11),0 0 16px rgba(221,48,68,.05)}}
@keyframes dpp-footer-contact-sweep-290{0%,48%{background-position:180% 0;opacity:.38}72%{opacity:.9}100%{background-position:-80% 0;opacity:.38}}
@keyframes dpp-footer-control-idle-290{0%,100%{background-position:0 0;box-shadow:0 0 0 rgba(64,145,240,0)}50%{background-position:100% 0;box-shadow:0 0 20px rgba(64,145,240,.07)}}
@keyframes dpp-top-idle-290{0%,100%{filter:saturate(1);box-shadow:0 18px 44px rgba(0,0,0,.38),0 0 27px rgba(55,137,235,.17),0 0 13px rgba(222,48,68,.07)}50%{filter:saturate(1.18) brightness(1.04);box-shadow:0 20px 48px rgba(0,0,0,.4),0 0 43px rgba(55,137,235,.31),0 0 25px rgba(222,48,68,.15)}}
@keyframes dpp-top-border-flow-290{0%{background-position:0 50%}100%{background-position:180% 50%}}
@keyframes dpp-top-arrow-idle-290{0%,100%{transform:translateY(2px)}50%{transform:translateY(-4px)}}
@keyframes dpp-top-press-290{0%{transform:scale(1)}35%{transform:scale(.94)}100%{transform:scale(1)}}
@keyframes dpp-top-arrow-launch-290{0%,100%{transform:translateY(0) scale(1)}42%{transform:translateY(-11px) scale(1.08)}70%{transform:translateY(2px) scale(.99)}}
@keyframes dpp-top-flag-launch-290{0%{opacity:0;transform:translateY(120%)}28%{opacity:.92}72%{opacity:.78}100%{opacity:0;transform:translateY(-118%)}}
@keyframes dpp-top-sheen-290{0%{opacity:0;transform:translateX(-45%) skewX(-14deg)}32%{opacity:.92}100%{opacity:0;transform:translateX(390%) skewX(-14deg)}}
@keyframes dpp-top-ring-launch-290{0%{opacity:0;transform:scale(.55) rotate(0)}36%{opacity:.7}100%{opacity:0;transform:scale(1.12) rotate(170deg)}}
@keyframes dpp-top-tricolor-burst-290{0%{opacity:0;transform:translateY(22px) scale(.84)}35%{opacity:1}100%{opacity:0;transform:translateY(-42px) scale(1.12)}}

@media(max-width:680px){
  .dpp-splash p.dpp-splash__name{font-size:clamp(20px,6vw,29px);line-height:1.2;max-width:94%;margin-top:16px}
  .dpp-splash p.dpp-splash__name:before{bottom:-9px;width:78%;left:11%;right:auto}
  .dpp-to-top{
    right:clamp(14px,4vw,18px)!important;
    bottom:max(16px,calc(16px + env(safe-area-inset-bottom)))!important;
    width:clamp(58px,15vw,64px)!important;height:clamp(58px,15vw,64px)!important;
    min-width:58px;min-height:58px;
  }
  .dpp-to-top__arrow{width:49%!important;height:49%!important}
}

@media(prefers-reduced-motion:reduce){
  .dpp-splash p.dpp-splash__name,
  .dpp-splash p.dpp-splash__name:before,
  .dpp-splash p.dpp-splash__name:after,
  .dpp-menu>li>a,.dpp-menu>li>a:before,
  .dpp-tricolor-cta,.dpp-tricolor-cta:before,.dpp-tricolor-cta:after,.dpp-tricolor-cta__surface i,
  .dpp-footer-menu a,.dpp-footer-menu a:before,.dpp-contact-cta,.dpp-contact-cta:before,.dpp-footer__replay,.dpp-socials a,
  .dpp-to-top,.dpp-to-top__arrow,.dpp-to-top i,.dpp-to-top b,.dpp-to-top em{
    animation:none!important;transition-duration:.01ms!important;
  }
  @supports ((background-clip:text) or (-webkit-background-clip:text)){
    .dpp-splash p.dpp-splash__name{background-position:50% 50%!important}
  }
  .dpp-to-top{background:conic-gradient(from -90deg,#fff 0 31%,#438de2 34% 64%,#df3147 67% 100%)!important}
}


/* ================================================================
 * 2.10.0 — targeted visual corrections over stable 2.9 runtime.
 * ================================================================ */

/* WordPress/theme counter rules must never leak into DPP breadcrumbs.
 * This explicitly suppresses both native OL markers and theme-generated
 * ::before/::after counters, while keeping the link's own patriotic :before. */
.dpp-breadcrumbs ol{
  list-style:none!important;counter-reset:none!important;counter-increment:none!important;
  margin:0!important;padding:0!important;
}
.dpp-breadcrumbs ol>li{
  list-style:none!important;counter-reset:none!important;counter-increment:none!important;
}
.dpp-breadcrumbs ol>li::marker{content:""!important;font-size:0!important}
.dpp-breadcrumbs ol>li::before,.dpp-breadcrumbs ol>li::after{content:none!important;display:none!important}

/* Footer keeps exactly one actionable reception CTA: the lead button.
 * The contact card becomes informational and no longer renders a duplicate action. */
.dpp-footer-card__contact-note{
  margin:14px 0 0;color:rgba(218,234,251,.66);font-size:15px;line-height:1.65;
}

/* The RF tricolor now flows across the actual CTA surface, not only its border. */
.dpp-tricolor-cta__surface{
  overflow:hidden;isolation:isolate;
  background:
    radial-gradient(circle at 18% 18%,rgba(255,255,255,.10),transparent 30%),
    linear-gradient(135deg,rgba(3,17,35,.97),rgba(7,36,68,.96) 56%,rgba(34,12,24,.92));
}
.dpp-tricolor-cta__surface>span,.dpp-tricolor-cta__surface>i{position:relative;z-index:3}
.dpp-tricolor-cta__surface::after{
  content:"";position:absolute;z-index:2;inset:-18% -42%;pointer-events:none;opacity:.46;
  background:linear-gradient(108deg,
    transparent 0 12%,
    rgba(255,255,255,.52) 18% 28%,
    rgba(255,255,255,.10) 31%,
    rgba(31,112,229,.50) 40% 52%,
    rgba(20,83,174,.18) 55%,
    rgba(224,39,61,.47) 64% 76%,
    rgba(255,255,255,.18) 80%,
    transparent 88% 100%);
  background-size:260% 100%;
  transform:skewX(-12deg) translateX(-18%);
  mix-blend-mode:screen;
  animation:dpp-cta-surface-flag-2100 5.8s cubic-bezier(.45,0,.2,1) infinite;
}
.dpp-header__cta .dpp-tricolor-cta__surface::after,.dpp-footer__primary-cta .dpp-tricolor-cta__surface::after{opacity:.58}
.dpp-tricolor-cta:hover .dpp-tricolor-cta__surface::after,.dpp-tricolor-cta:focus-visible .dpp-tricolor-cta__surface::after{
  opacity:.78;animation-duration:3.2s;
}
@keyframes dpp-cta-surface-flag-2100{
  0%,10%{background-position:180% 50%;transform:skewX(-12deg) translateX(-22%)}
  48%{background-position:70% 50%;transform:skewX(-8deg) translateX(0)}
  82%,100%{background-position:-90% 50%;transform:skewX(-12deg) translateX(18%)}
}

@media(prefers-reduced-motion:reduce){
  .dpp-tricolor-cta__surface::after{
    animation:none!important;transform:none!important;opacity:.36!important;background-position:50% 50%!important;
  }
}
