/* WebPro360 Greenville landing page: live effects layer (2026-10-07).
   Everything here is progressive: without this file (or with reduced motion) the page is the
   2026-09-15 design. Motion uses transform and opacity only, so it never moves layout. */

.wp360-landing{position:relative}

/* ---------- page progress (top bar) ---------- */
.wp360-landing .wp360-lp-progress{position:fixed;inset:0 0 auto 0;height:3px;z-index:60;pointer-events:none}
.wp360-landing .wp360-lp-progress i{display:block;height:100%;transform-origin:0 50%;transform:scaleX(var(--sp,0));background:linear-gradient(90deg,#2f9f98,#5ce6df 60%,#c8fffb);box-shadow:0 0 12px #5ce6df99}

/* ---------- hero aura: drifting light, cursor glow, film grain ---------- */
.wp360-landing .wp360-lp-aura{position:absolute;left:0;right:0;top:0;height:min(1080px,100vh + 200px);z-index:-1;overflow:hidden;pointer-events:none;
  -webkit-mask-image:linear-gradient(#000 70%,transparent);mask-image:linear-gradient(#000 70%,transparent)}
.wp360-landing .wp360-lp-aura>i{position:absolute;border-radius:50%;opacity:.55;will-change:transform}
.wp360-landing .wp360-lp-aura>i:nth-child(1){width:780px;height:780px;left:-180px;top:-260px;background:radial-gradient(closest-side,#1f8c86 0%,#1f8c8600 100%);animation:wpfx-drift-a 26s ease-in-out infinite alternate}
.wp360-landing .wp360-lp-aura>i:nth-child(2){width:640px;height:640px;right:-160px;top:40px;background:radial-gradient(closest-side,#16525a 0%,#16525a00 100%);animation:wpfx-drift-b 31s ease-in-out infinite alternate}
.wp360-landing .wp360-lp-aura>i:nth-child(3){width:520px;height:520px;left:34%;top:380px;background:radial-gradient(closest-side,#0f6b5e 0%,#0f6b5e00 100%);opacity:.38;animation:wpfx-drift-c 37s ease-in-out infinite alternate}
.wp360-landing .wp360-lp-aura::before{content:'';position:absolute;inset:-50%;opacity:.07;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  animation:wpfx-grain 1.2s steps(4) infinite}
.wp360-landing .wp360-lp-aura::after{content:'';position:absolute;width:560px;height:560px;left:calc(var(--gx,50%) - 280px);top:calc(var(--gy,30%) - 280px);border-radius:50%;
  background:radial-gradient(closest-side,#5ce6df2e,#5ce6df00);opacity:var(--go,0);transition:opacity .5s}
@keyframes wpfx-drift-a{to{transform:translate(160px,120px) scale(1.12)}}
@keyframes wpfx-drift-b{to{transform:translate(-140px,90px) scale(.9)}}
@keyframes wpfx-drift-c{to{transform:translate(90px,-70px) scale(1.18)}}
@keyframes wpfx-grain{0%{transform:translate(0,0)}25%{transform:translate(-3%,2%)}50%{transform:translate(2%,-3%)}75%{transform:translate(-2%,-1%)}100%{transform:translate(0,0)}}

/* headline accent: one slow light sweep across "Your next chapter." */
.wp360-landing .wp360-lp-hero h1 em{background:linear-gradient(100deg,var(--wp360-lp-accent) 0 38%,#e9fffd 50%,var(--wp360-lp-accent) 62% 100%);background-size:260% 100%;background-position:100% 0;
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:wpfx-sweep 2.6s .5s cubic-bezier(.4,0,.2,1) both}
@keyframes wpfx-sweep{from{background-position:100% 0}to{background-position:0 0}}

/* ---------- buttons, fields, form panel micro-interactions ---------- */
.wp360-landing .wp360-lp-button>svg{transition:transform .25s cubic-bezier(.2,.7,.2,1)}
.wp360-landing .wp360-lp-button:hover>svg{transform:translate(2px,-2px)}
.wp360-landing .wp360-lp-mobile-jump:hover>svg{transform:translateY(3px)}
.wp360-landing .wp360-lp-button:active{transform:scale(.975)}
.wp360-landing .wp360-lp-button{box-shadow:0 0 0 0 #5ce6df00;transition:background .2s,transform .2s,box-shadow .35s}
.wp360-landing .wp360-lp-button:hover{box-shadow:0 10px 30px -8px #5ce6df8c}
.wp360-landing .wp360-lp-field :is(input:not([type=checkbox]),select,textarea){transition:border-color .2s,box-shadow .25s}
.wp360-landing .wp360-lp-field :is(input:not([type=checkbox]),select,textarea):focus{border-color:#5ce6df;box-shadow:0 0 0 3px #5ce6df2e,0 0 22px -4px #5ce6df66;outline:none}
.wp360-landing .wp360-lp-form-panel{transition:border-color .35s,box-shadow .35s}
.wp360-landing .wp360-lp-form-panel:focus-within{border-color:#4f8f8c;box-shadow:0 25px 65px #0003,0 0 0 1px #5ce6df33,0 0 60px -20px #5ce6df55}
.wp360-landing .wp360-lp-error{animation:wpfx-shake .4s cubic-bezier(.36,.07,.19,.97)}
@keyframes wpfx-shake{20%,60%{transform:translateX(-5px)}40%,80%{transform:translateX(5px)}}
.wp360-landing .wp360-lp-success:not([hidden]) svg path{stroke-dasharray:24;stroke-dashoffset:24;animation:wpfx-draw .6s .15s ease forwards}
@keyframes wpfx-draw{to{stroke-dashoffset:0}}

/* ---------- reveal on scroll (armed by JS, so no-JS shows everything) ---------- */
.wp360-landing.wpfx-on [data-fx=up]{opacity:0;transform:translateY(26px);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1);transition-delay:calc(var(--d,0) * 90ms)}
.wp360-landing.wpfx-on [data-fx=up].wpfx-in{opacity:1;transform:none}
.wp360-landing .wpfx-w{display:inline-block;will-change:transform}
.wp360-landing.wpfx-on [data-fx-words] .wpfx-w{opacity:0;transform:translateY(.55em);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1);transition-delay:calc(var(--i,0) * 55ms)}
.wp360-landing.wpfx-on [data-fx-words].wpfx-in .wpfx-w{opacity:1;transform:none}

/* self-drawing dividers on the three value points */
.wp360-landing .wp360-lp-value-list article{position:relative}
.wp360-landing.wpfx-on .wp360-lp-value-list article[data-fx=line]{border-top-color:transparent}
.wp360-landing.wpfx-on .wp360-lp-value-list article[data-fx=line]:first-child::before{display:none}
.wp360-landing.wpfx-on .wp360-lp-value-list article[data-fx=line]::before{content:'';position:absolute;left:0;right:0;top:-1px;height:1px;background:linear-gradient(90deg,#5ce6df,#385053 70%);transform:scaleX(0);transform-origin:0 50%;transition:transform 1.1s cubic-bezier(.2,.7,.2,1)}
.wp360-landing.wpfx-on .wp360-lp-value-list article[data-fx=line]>span{transition:color .6s,text-shadow .6s}
.wp360-landing.wpfx-on .wp360-lp-value-list article[data-fx=line].wpfx-in::before{transform:scaleX(1)}
.wp360-landing.wpfx-on .wp360-lp-value-list article[data-fx=line].wpfx-in>span{color:#5ce6df;text-shadow:0 0 16px #5ce6df88}

/* ---------- recent launches marquee ---------- */
.wp360-landing .wp360-lp-launches{display:flex;align-items:center;gap:28px;padding:22px 0 0;overflow:hidden}
.wp360-landing .wp360-lp-launches-label{flex-shrink:0;padding-left:max(48px,calc((100% - 1240px)/2));font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:#4e6f68}
.wp360-landing .wp360-lp-launches-track{display:flex;min-width:0;flex:1;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.wp360-landing .wp360-lp-launches ul{display:flex;flex-shrink:0;gap:0;margin:0;padding:0;list-style:none;animation:wpfx-marquee 58s linear infinite}
.wp360-landing .wp360-lp-launches:hover ul{animation-play-state:paused}
.wp360-landing .wp360-lp-launches li{display:flex;align-items:center;white-space:nowrap;font-size:1.0625rem;letter-spacing:-.01em;color:#27443f}
.wp360-landing .wp360-lp-launches li::after{content:'';width:5px;height:5px;margin:0 26px;border-radius:50%;background:#3d8f86;opacity:.7}
@keyframes wpfx-marquee{to{transform:translateX(-100%)}}

/* ---------- Our Work: live site videos in a bento of browser frames ---------- */
.wp360-landing .wp360-lp-work-hint{display:block;margin-top:8px;color:#286c65;font-size:.9375rem}
.wp360-landing .wp360-lp-showcase{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;perspective:1600px}
.wp360-landing .wp360-lp-shot{--rx:0deg;--ry:0deg;--lift:0px;--mx:50%;--my:50%;position:relative;display:flex;flex-direction:column;min-width:0;margin:0;padding:0;font:inherit;text-align:left;color:#e7f2f0;
  background:#0c181d;border:1px solid #1f343a;border-radius:14px;overflow:hidden;isolation:isolate;cursor:pointer;
  box-shadow:0 1px 0 #ffffff12 inset,0 20px 40px -22px #0b2a2a80;transform:translateY(var(--lift)) rotateX(var(--rx)) rotateY(var(--ry));
  transition:transform .5s cubic-bezier(.2,.7,.2,1),box-shadow .5s cubic-bezier(.2,.7,.2,1),opacity .8s cubic-bezier(.2,.7,.2,1)}
.wp360-landing .wp360-lp-shot--feature{grid-column:1/3;grid-row:1/3}
.wp360-landing .wp360-lp-shot::after{content:'';position:absolute;inset:0;z-index:4;border-radius:inherit;padding:1px;pointer-events:none;opacity:0;transition:opacity .35s;
  background:radial-gradient(260px circle at var(--mx) var(--my),#5ce6dfdd,#5ce6df00 65%);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude}
.wp360-landing .wp360-lp-shot:hover,.wp360-landing .wp360-lp-shot:focus-visible{--lift:-6px;box-shadow:0 1px 0 #ffffff12 inset,0 34px 60px -26px #0b3a3acc,0 0 0 1px #5ce6df40}
.wp360-landing .wp360-lp-shot:hover::after,.wp360-landing .wp360-lp-shot:focus-visible::after{opacity:1}
.wp360-landing .wp360-lp-shot:focus-visible{outline:2px solid #286c65;outline-offset:4px}
.wp360-landing .wp360-lp-shot-bar{display:flex;align-items:center;gap:6px;height:34px;padding:0 12px;background:#11232a;border-bottom:1px solid #1d363d;flex-shrink:0}
.wp360-landing .wp360-lp-shot-bar>i{width:8px;height:8px;border-radius:50%;background:#2c464d;flex-shrink:0}
.wp360-landing .wp360-lp-shot-bar>i:first-child{background:#e46b5d}
.wp360-landing .wp360-lp-shot-bar>i:nth-child(2){background:#e6b450}
.wp360-landing .wp360-lp-shot-bar>i:nth-child(3){background:#5dbb7a}
.wp360-landing .wp360-lp-shot-url{display:flex;align-items:center;gap:6px;flex:1;min-width:0;height:22px;margin-left:8px;padding:0 10px;border-radius:11px;background:#0a171c;color:#a9c7c5;font-size:.72rem;line-height:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wp360-landing .wp360-lp-shot-url svg{flex-shrink:0;color:#6fcfa0}
.wp360-landing .wp360-lp-shot-live{display:flex;align-items:center;gap:6px;flex-shrink:0;font-size:.625rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#9fe8c4}
/* "Live" dot: the ring is its own layer (::after, moved under the dot with order:-1 and a
   negative margin, so flex centers both the same) that scales and fades on the GPU. It used to
   animate box-shadow, which repaints on the main thread every frame, six times over. 2026-10-14 */
.wp360-landing .wp360-lp-shot-live::before{content:'';width:6px;height:6px;border-radius:50%;background:#3ddc97}
.wp360-landing .wp360-lp-shot-live::after{content:'';order:-1;width:6px;height:6px;margin-right:-12px;flex-shrink:0;border-radius:50%;background:#3ddc97;opacity:0;pointer-events:none;animation:wpfx-pulse 2.2s infinite}
@keyframes wpfx-pulse{0%{transform:scale(1);opacity:.6}70%{transform:scale(3.33);opacity:0}100%{transform:scale(3.33);opacity:0}}
.wp360-landing .wp360-lp-shot-screen{position:relative;display:block;aspect-ratio:16/10;background:#08131a;overflow:hidden;flex-shrink:0}
.wp360-landing .wp360-lp-shot-screen>:is(img,video){position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:top center;transition:transform .9s cubic-bezier(.2,.7,.2,1),opacity .5s}
.wp360-landing .wp360-lp-shot-screen>video{opacity:0}
.wp360-landing .wp360-lp-shot-screen>video.wpfx-playing{opacity:1}
.wp360-landing .wp360-lp-shot:hover .wp360-lp-shot-screen>:is(img,video){transform:scale(1.035)}
.wp360-landing .wp360-lp-shot-progress{position:absolute;left:0;right:0;bottom:0;z-index:2;height:2px;background:#ffffff1a}
.wp360-landing .wp360-lp-shot-progress>i{display:block;height:100%;transform-origin:0 50%;transform:scaleX(var(--p,0));background:#5ce6df;box-shadow:0 0 8px #5ce6df}
.wp360-landing .wp360-lp-shot-watch{position:absolute;right:12px;bottom:12px;z-index:3;display:flex;align-items:center;gap:7px;padding:7px 12px 7px 10px;border-radius:99px;
  background:#071114cc;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid #ffffff26;color:#eafffd;font-size:.75rem;font-weight:600;
  opacity:0;transform:translateY(6px);transition:opacity .3s,transform .3s}
.wp360-landing .wp360-lp-shot-watch svg{color:#5ce6df}
.wp360-landing .wp360-lp-shot:hover .wp360-lp-shot-watch,.wp360-landing .wp360-lp-shot:focus-visible .wp360-lp-shot-watch{opacity:1;transform:none}
.wp360-landing .wp360-lp-shot-caption{display:flex;gap:14px;align-items:flex-start;flex:1;padding:14px 16px 16px;background:linear-gradient(180deg,#0e1c22,#0b171c)}
.wp360-landing .wp360-lp-shot-num{padding-top:3px;font-size:.75rem;color:#5ce6df}
.wp360-landing .wp360-lp-shot-text{display:flex;flex-direction:column;min-width:0}
.wp360-landing .wp360-lp-shot-text strong{font-size:1.0625rem;font-weight:500;letter-spacing:-.02em;line-height:1.3;color:#f2f7f6}
.wp360-landing .wp360-lp-shot-text small{margin-top:4px;font-size:.78rem;color:#97b4b5}
.wp360-landing .wp360-lp-shot-desc{display:block;margin-top:12px;max-width:520px;font-size:.9375rem;line-height:1.65;color:#b7cccc}
.wp360-landing .wp360-lp-shot--feature .wp360-lp-shot-caption{padding:20px 22px 22px}
.wp360-landing .wp360-lp-shot--feature .wp360-lp-shot-text strong{font-size:1.5rem}
.wp360-landing .wp360-lp-shot--feature .wp360-lp-shot-watch{opacity:1;transform:none}
.wp360-landing .wp360-lp-showcase-dots{display:none}

@media(max-width:1100px) and (min-width:801px){
  .wp360-landing .wp360-lp-showcase{grid-template-columns:repeat(2,minmax(0,1fr))}
  .wp360-landing .wp360-lp-shot--feature{grid-column:1/-1;grid-row:auto}
  .wp360-landing .wp360-lp-showcase>.wp360-lp-shot:last-child:nth-child(even){grid-column:1/-1}
}
@media(max-width:800px){
  .wp360-landing .wp360-lp-launches{flex-direction:column;align-items:stretch;gap:12px;padding-top:18px}
  .wp360-landing .wp360-lp-launches-label{padding-left:22px}
  .wp360-landing .wp360-lp-launches li{font-size:.9375rem}
  .wp360-landing .wp360-lp-launches li::after{margin:0 18px}
  /* swipeable row: native scroll-snap, full bleed, first card on the content edge, next card peeking */
  .wp360-landing .wp360-lp-showcase{display:flex;gap:14px;margin:0 calc(50% - 50vw);padding:6px 22px 14px;overflow-x:auto;overscroll-behavior-x:contain;
    scroll-snap-type:x mandatory;scroll-padding-left:22px;-webkit-overflow-scrolling:touch;scrollbar-width:none;perspective:none}
  .wp360-landing .wp360-lp-showcase::-webkit-scrollbar{display:none}
  .wp360-landing .wp360-lp-shot,.wp360-landing .wp360-lp-shot--feature{flex:0 0 min(84vw,430px);grid-column:auto;grid-row:auto;scroll-snap-align:start;transform:none}
  .wp360-landing .wp360-lp-shot:hover{box-shadow:0 1px 0 #ffffff12 inset,0 20px 40px -22px #0b2a2a80}
  .wp360-landing .wp360-lp-shot:hover .wp360-lp-shot-screen>:is(img,video){transform:none}
  .wp360-landing .wp360-lp-shot-watch{opacity:1;transform:none}
  .wp360-landing .wp360-lp-shot--feature .wp360-lp-shot-caption{padding:14px 16px 16px}
  .wp360-landing .wp360-lp-shot--feature .wp360-lp-shot-text strong{font-size:1.0625rem}
  .wp360-landing .wp360-lp-shot-desc{display:none}
  .wp360-landing .wp360-lp-showcase-dots:not([hidden]){display:flex;justify-content:center;gap:4px;margin-top:6px}
  .wp360-landing .wp360-lp-showcase-dots button{width:28px;height:28px;padding:0;border:0;background:none;cursor:pointer;display:flex;align-items:center;justify-content:center}
  .wp360-landing .wp360-lp-showcase-dots button::before{content:'';width:7px;height:7px;border-radius:99px;background:#9db8b1;transition:width .3s,background .3s}
  .wp360-landing .wp360-lp-showcase-dots button[aria-current=true]::before{width:22px;background:#286c65}
}

/* ---------- project preview dialog ---------- */
.wp360-landing dialog.wp360-lp-work-modal{position:fixed;inset:0;margin:auto;width:min(1080px,calc(100% - 40px),calc((100dvh - 300px) * 1.6));min-width:min(560px,calc(100% - 40px));max-width:none;max-height:calc(100dvh - 40px);padding:0;border:1px solid #2c4a50;border-radius:18px;
  background:#0b161b;color:#eef5f4;overflow-y:auto;overscroll-behavior:contain;box-shadow:0 40px 120px #000a}
.wp360-landing dialog.wp360-lp-work-modal:not([open]){display:none}
.wp360-landing dialog.wp360-lp-work-modal[open]{animation:wpfx-pop .38s cubic-bezier(.2,.8,.2,1)}
.wp360-landing dialog.wp360-lp-work-modal::backdrop{background:#02090dd6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
@keyframes wpfx-pop{from{opacity:0;transform:translateY(14px) scale(.97)}to{opacity:1;transform:none}}
.wp360-landing .wp360-lp-work-frame .wp360-lp-shot-bar{height:44px;padding-right:6px}
.wp360-landing .wp360-lp-work-close{display:flex;align-items:center;justify-content:center;width:40px;height:40px;margin-left:8px;border:0;border-radius:50%;background:none;color:#c7dfdc;cursor:pointer}
.wp360-landing .wp360-lp-work-close:hover{background:#244249;color:#fff}
.wp360-landing .wp360-lp-work-screen{position:relative;aspect-ratio:16/10;background:#08131a;overflow:hidden}
.wp360-landing .wp360-lp-work-screen>:is(img,video){position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:top center}
.wp360-landing .wp360-lp-work-screen>video{opacity:0;transition:opacity .4s}
.wp360-landing .wp360-lp-work-screen>video.wpfx-playing{opacity:1}
.wp360-landing .wp360-lp-work-toggle{position:absolute;left:14px;bottom:14px;z-index:3;display:flex;align-items:center;gap:7px;min-height:36px;padding:6px 13px 6px 11px;border-radius:99px;border:1px solid #ffffff2e;
  background:#071114cc;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#eafffd;font-size:.75rem;font-weight:600;cursor:pointer}
.wp360-landing .wp360-lp-work-toggle svg{color:#5ce6df}
.wp360-landing .wp360-lp-work-copy{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:28px;align-items:end;padding:26px 30px 30px}
.wp360-landing .wp360-lp-work-copy .wp360-lp-kicker{color:#9cceca;margin-bottom:8px}
.wp360-landing .wp360-lp-work-copy h3{font-size:1.75rem;letter-spacing:-.035em;line-height:1.2}
.wp360-landing .wp360-lp-work-desc{margin-top:10px;max-width:560px;font-size:.9875rem;line-height:1.65;color:#b9cdcd}
.wp360-landing .wp360-lp-work-tags{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0 0;padding:0;list-style:none}
.wp360-landing .wp360-lp-work-tags li{padding:5px 11px;border-radius:99px;border:1px solid #2f5157;background:#10242a;color:#bfe3df;font-size:.78rem}
.wp360-landing .wp360-lp-work-actions{display:flex;flex-direction:column;align-items:stretch;gap:12px;min-width:270px}
.wp360-landing .wp360-lp-work-visit{display:flex;align-items:center;justify-content:center;gap:9px;min-height:44px;font-size:.875rem;color:#9fdcd5}
.wp360-landing .wp360-lp-work-visit:hover{color:#fff}
@media(max-width:800px){
  .wp360-landing dialog.wp360-lp-work-modal{width:calc(100% - 24px);max-height:calc(100dvh - 24px)}
  .wp360-landing .wp360-lp-work-copy{grid-template-columns:1fr;gap:20px;padding:20px 20px 22px}
  .wp360-landing .wp360-lp-work-copy h3{font-size:1.4rem}
  .wp360-landing .wp360-lp-work-actions{min-width:0}
}

/* ---------- team: gentle parallax where scroll-linked CSS exists ---------- */
.wp360-landing .wp360-lp-team-photos img{transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.wp360-landing .wp360-lp-team-photos figure{overflow:hidden;border-radius:8px}
.wp360-landing .wp360-lp-team-photos figure:hover img{transform:scale(1.04)}
.wp360-landing .wp360-lp-team-photos figcaption{background:transparent}
@supports (animation-timeline:view()){
  .wp360-landing .wp360-lp-team-photos figure:nth-child(1){animation:wpfx-par-a linear both;animation-timeline:view();animation-range:entry 0% exit 100%}
  .wp360-landing .wp360-lp-team-photos figure:nth-child(2){animation:wpfx-par-b linear both;animation-timeline:view();animation-range:entry 0% exit 100%}
  @keyframes wpfx-par-a{from{transform:translateY(18px)}to{transform:translateY(-18px)}}
  @keyframes wpfx-par-b{from{transform:translateY(-14px)}to{transform:translateY(22px)}}
}

/* ---------- FAQ: animated open where the browser supports it ---------- */
@supports (interpolate-size:allow-keywords){
  .wp360-landing .wp360-lp-faq{interpolate-size:allow-keywords}
  .wp360-landing .wp360-lp-faq details::details-content{block-size:0;overflow:hidden;opacity:0;transition:block-size .4s cubic-bezier(.2,.7,.2,1),opacity .35s,content-visibility .4s allow-discrete}
  .wp360-landing .wp360-lp-faq details[open]::details-content{block-size:auto;opacity:1}
}
.wp360-landing .wp360-lp-faq summary>svg{transition:transform .3s cubic-bezier(.2,.7,.2,1)}
.wp360-landing .wp360-lp-faq summary{transition:color .2s}
.wp360-landing .wp360-lp-faq summary:hover{color:#1f5f58}

/* ---------- closing call to action: shifting light, dust, magnetic button ---------- */
/* The light is a 300% x 300% gradient layer slid sideways with transform (GPU only), the same
   picture the old background-position animation drew on the main thread. It only runs while
   the section is on screen (.wpfx-live, set by greenville-lp-fx.js). 2026-10-14. */
.wp360-landing .wp360-lp-close{position:relative;overflow:hidden;isolation:isolate;background:#123230}
.wp360-landing .wp360-lp-close::before{content:'';position:absolute;left:0;top:-100%;width:300%;height:300%;z-index:-2;pointer-events:none;
  background:linear-gradient(120deg,#123230,#15312f 30%,#0f3a3c 55%,#163b33 80%,#123230);
  animation:wpfx-shift 18s ease-in-out infinite alternate;animation-play-state:paused}
.wp360-landing .wp360-lp-close.wpfx-live::before{animation-play-state:running}
@keyframes wpfx-shift{from{transform:translateX(0)}to{transform:translateX(-66.6667%)}}
.wp360-landing .wp360-lp-dust{position:absolute;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none}
.wp360-landing [data-fx-magnet]{transition:transform .35s cubic-bezier(.2,.7,.2,1),background .2s,box-shadow .35s}
.wp360-landing [data-fx-magnet].wpfx-mag{transition:transform .12s linear,background .2s,box-shadow .35s}

@media(max-width:800px){
  .wp360-landing .wp360-lp-aura{height:1500px}
  .wp360-landing .wp360-lp-aura>i:nth-child(1){width:520px;height:520px;left:-200px;top:-180px}
  .wp360-landing .wp360-lp-aura>i:nth-child(2){width:460px;height:460px;right:-220px;top:300px}
  .wp360-landing .wp360-lp-aura>i:nth-child(3){display:none}
}

/* ---------- reduced motion: keep the content, drop the motion ---------- */
@media(prefers-reduced-motion:reduce){
  .wp360-landing .wp360-lp-aura>i,.wp360-landing .wp360-lp-aura::before{animation:none!important}
  .wp360-landing .wp360-lp-hero h1 em{background:none;-webkit-text-fill-color:currentColor}
  .wp360-landing .wp360-lp-launches-track{overflow-x:auto;-webkit-mask-image:none;mask-image:none}
  .wp360-landing .wp360-lp-launches ul+ul{display:none}
  .wp360-landing .wp360-lp-shot-watch{opacity:1;transform:none}
  .wp360-landing .wp360-lp-team-photos figure{animation:none!important}
  .wp360-landing .wp360-lp-shot-live::after{animation:none!important}
}
