/* EventCentralOps shared motion-first public experience framework.
 * Used by motion templates across event types. All effects are scoped to
 * .eco-public-layout-motion and respect reduced-motion / pause controls.
 */
.eco-public-layout-motion{
  --eco-motion-bg:#061126;
  --eco-motion-bg-2:#0b1731;
  --eco-motion-panel:rgba(13,27,57,.72);
  --eco-motion-line:rgba(255,255,255,.13);
  --eco-motion-gold:#f6b95f;
  --eco-motion-pink:#ee67c4;
  --eco-motion-violet:#725cff;
  --eco-motion-cyan:#3ccbe6;
  --eco-ink:#f8f6ff;
  --eco-muted:#b7bdd0;
  --eco-line:var(--eco-motion-line);
  --eco-soft:#0a1730;
  --eco-template-radius:24px;
  background:var(--eco-motion-bg);
  color:var(--eco-ink);
  overflow:clip;
}
.eco-public-layout-motion .eco-public-header{
  position:fixed; inset:0 0 auto; z-index:80;
  background:linear-gradient(180deg,rgba(4,10,25,.90),rgba(4,10,25,.48) 68%,transparent);
  border:0; backdrop-filter:blur(18px) saturate(140%);
  transition:background .4s ease,box-shadow .4s ease,transform .35s ease;
}
.eco-public-layout-motion .eco-public-header.eco-motion-header-solid{
  background:rgba(4,10,25,.91); box-shadow:0 10px 38px rgba(0,0,0,.18);
}
.eco-public-layout-motion .eco-public-brand,
.eco-public-layout-motion .eco-public-header nav a{color:#fff}
.eco-public-layout-motion .eco-public-header nav a{opacity:.82}
.eco-public-layout-motion .eco-public-header nav a:hover{opacity:1;color:var(--eco-site-accent)}
.eco-public-layout-motion .eco-public-portal-link{background:rgba(255,255,255,.08);color:#fff;border-color:rgba(255,255,255,.16)}
.eco-public-layout-motion .eco-announcement{position:relative;z-index:90;background:linear-gradient(90deg,#8d37e8,#d746b1 52%,#f4ab56)}

.eco-public-layout-motion .eco-public-event-hero{
  min-height:100vh; min-height:100svh;
  display:grid; align-items:center; position:relative; isolation:isolate;
  background:
    radial-gradient(circle at 77% 18%,rgba(114,92,255,.34),transparent 30%),
    radial-gradient(circle at 18% 70%,rgba(238,103,196,.22),transparent 34%),
    linear-gradient(145deg,#040b1b 0%,#071329 48%,#11133c 100%);
  overflow:hidden;
}
.eco-public-layout-motion .eco-public-event-hero .eco-hero-image,
.eco-public-layout-motion .eco-public-event-hero .eco-hero-video{
  transform:translate3d(0,calc(var(--eco-motion-scroll,0px) * .12),0) scale(1.08);
  transform-origin:center;
  will-change:transform;
}
.eco-public-layout-motion .eco-public-hero-overlay{
  background:
    linear-gradient(90deg,rgba(3,8,20,.98) 0%,rgba(3,8,20,.85) 38%,rgba(4,10,24,.22) 69%,rgba(4,10,24,.48) 100%),
    linear-gradient(180deg,rgba(4,9,22,.25),rgba(4,9,22,.18) 60%,#061126 100%);
}
.eco-public-layout-motion .eco-public-hero-pattern{
  display:block; position:absolute; inset:0; opacity:.42; pointer-events:none;
  background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);
  background-size:54px 54px; mask-image:linear-gradient(90deg,#000,transparent 74%);
}
.eco-public-layout-motion .eco-public-hero-content{
  position:relative; z-index:8; padding-top:132px; padding-bottom:110px;
  max-width:1340px;
}
.eco-public-layout-motion .eco-public-event-logo{max-width:210px;max-height:95px;object-fit:contain;object-position:left center;margin-bottom:24px}
.eco-public-layout-motion .eco-public-eyebrow{
  color:var(--eco-site-accent); letter-spacing:.28em; text-transform:uppercase; font-size:11px;
}
.eco-public-layout-motion .eco-public-hero h1{
  max-width:760px; margin:.16em 0 .16em; color:#fff;
  font-size:clamp(64px,8.6vw,138px); line-height:.84; letter-spacing:-.075em; font-weight:900;
  text-wrap:balance;
  text-shadow:0 18px 60px rgba(0,0,0,.38);
}
.eco-public-layout-motion .eco-public-lead{max-width:610px;color:rgba(255,255,255,.76);font-size:clamp(17px,1.7vw,23px);line-height:1.55}
.eco-public-layout-motion .eco-public-meta{max-width:700px}
.eco-public-layout-motion .eco-public-meta span,
.eco-public-layout-motion .eco-countdown>div{
  background:rgba(8,17,38,.56); color:#fff; border:1px solid rgba(255,255,255,.14);
  backdrop-filter:blur(14px); box-shadow:0 14px 44px rgba(0,0,0,.16);
}
.eco-public-layout-motion .eco-countdown strong{color:var(--eco-site-accent)}
.eco-public-layout-motion .eco-public-primary{
  background:linear-gradient(110deg,var(--eco-site-accent),#ffdf8d); color:#171018;
  box-shadow:0 15px 42px color-mix(in srgb,var(--eco-site-accent) 30%,transparent);
  border:0;
}
.eco-public-layout-motion .eco-public-secondary-on-dark{background:rgba(255,255,255,.07);color:#fff;border-color:rgba(255,255,255,.2);backdrop-filter:blur(12px)}

/* Floating hero presentation deck. */
.eco-motion-deck{position:absolute;z-index:7;right:clamp(26px,5.5vw,105px);top:50%;width:min(34vw,500px);height:540px;transform:translateY(-47%);pointer-events:none;perspective:1200px}
.eco-motion-card{position:absolute;width:66%;aspect-ratio:4/3;margin:0;border-radius:24px;overflow:hidden;border:1px solid rgba(255,255,255,.24);background:#111a35;box-shadow:0 30px 70px rgba(0,0,0,.34),0 0 34px rgba(114,92,255,.14);will-change:transform,translate;transform-style:preserve-3d;translate:var(--eco-pointer-x,0) var(--eco-pointer-y,0);transition:translate .3s ease-out}
.eco-motion-card img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(1.05) contrast(1.02)}
.eco-motion-card span{position:absolute;inset:0;background:linear-gradient(145deg,rgba(255,255,255,.13),transparent 30%,rgba(0,0,0,.16))}
.eco-motion-card-1{right:2%;top:1%;animation:ecoFloatOne 7.5s ease-in-out infinite}
.eco-motion-card-2{left:1%;top:34%;animation:ecoFloatTwo 8.5s ease-in-out -1.2s infinite}
.eco-motion-card-3{right:8%;bottom:0;width:58%;animation:ecoFloatThree 9.3s ease-in-out -.8s infinite}
@keyframes ecoFloatOne{0%,100%{transform:translate3d(0,0,18px) rotate(3deg)}45%{transform:translate3d(-18px,18px,34px) rotate(-1deg)}70%{transform:translate3d(7px,28px,20px) rotate(2deg)}}
@keyframes ecoFloatTwo{0%,100%{transform:translate3d(0,0,12px) rotate(-5deg)}42%{transform:translate3d(22px,-18px,38px) rotate(-1deg)}72%{transform:translate3d(10px,13px,22px) rotate(-4deg)}}
@keyframes ecoFloatThree{0%,100%{transform:translate3d(0,0,10px) rotate(5deg)}40%{transform:translate3d(-21px,-20px,36px) rotate(1deg)}75%{transform:translate3d(8px,-9px,22px) rotate(4deg)}}
.eco-motion-aurora{position:absolute;z-index:2;inset:0;overflow:hidden;pointer-events:none;mix-blend-mode:screen;opacity:.7}
.eco-motion-aurora i{position:absolute;display:block;width:38vw;height:38vw;border-radius:50%;filter:blur(80px);opacity:.21;will-change:transform}
.eco-motion-aurora i:nth-child(1){background:var(--eco-motion-violet);right:-4vw;top:-8vw;animation:ecoOrbA 13s ease-in-out infinite}
.eco-motion-aurora i:nth-child(2){background:var(--eco-motion-pink);right:16vw;bottom:-20vw;animation:ecoOrbB 15s ease-in-out infinite}
.eco-motion-aurora i:nth-child(3){background:var(--eco-motion-cyan);left:-16vw;bottom:-20vw;animation:ecoOrbC 17s ease-in-out infinite}
@keyframes ecoOrbA{50%{transform:translate(-10vw,8vw) scale(1.16)}}
@keyframes ecoOrbB{50%{transform:translate(8vw,-12vw) scale(.88)}}
@keyframes ecoOrbC{50%{transform:translate(15vw,-4vw) scale(1.12)}}
.eco-motion-toggle{position:absolute;z-index:12;right:28px;bottom:28px;display:inline-flex;align-items:center;gap:8px;padding:10px 13px;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:rgba(5,12,29,.66);color:#fff;backdrop-filter:blur(12px);font:inherit;font-size:12px;cursor:pointer}
.eco-motion-toggle span{font-size:11px;letter-spacing:-.15em}.eco-motion-toggle b{font-size:12px}
.eco-motion-toggle:hover{background:rgba(12,24,52,.86)}

/* Moving event ribbon. */
.eco-motion-marquee{position:relative;z-index:12;overflow:hidden;border-block:1px solid rgba(255,255,255,.08);background:#070f21;color:#fff}
.eco-motion-marquee>div{display:flex;width:max-content;align-items:center;gap:34px;padding:17px 0;text-transform:uppercase;letter-spacing:.18em;font-size:11px;font-weight:800;animation:ecoMarquee 28s linear infinite}
.eco-motion-marquee span{font-size:13px;color:#fff}.eco-motion-marquee i{font-style:normal;color:var(--eco-site-accent)}
@keyframes ecoMarquee{to{transform:translateX(-50%)}}

/* Presentation-style sections. */
.eco-public-layout-motion #eco-event-content{background:var(--eco-motion-bg)}
.eco-public-layout-motion .eco-public-section{
  position:relative; color:#f7f8ff; background:var(--eco-motion-bg); padding:clamp(82px,10vw,150px) 0;
  border:0; overflow:clip;
}
.eco-public-layout-motion .eco-public-section:nth-child(even){background:linear-gradient(145deg,#071329,#0a1833 64%,#0d1637)}
.eco-public-layout-motion .eco-public-soft{background:linear-gradient(145deg,#091630,#0d1735 60%,#10132e)}
.eco-public-layout-motion .eco-public-section::before{
  content:""; position:absolute; width:420px;height:420px;border-radius:50%;right:-190px;top:-130px;background:radial-gradient(circle,rgba(114,92,255,.15),transparent 68%);pointer-events:none
}
.eco-public-layout-motion .eco-public-section:nth-child(3n)::before{left:-200px;right:auto;background:radial-gradient(circle,rgba(238,103,196,.14),transparent 68%)}
.eco-public-layout-motion .eco-public-section-head h2,
.eco-public-layout-motion .eco-public-split h2,
.eco-public-layout-motion .eco-form-layout h2,
.eco-public-layout-motion .eco-faq-wrap h2,
.eco-public-layout-motion .eco-public-cta h2{
  color:#fff;font-size:clamp(38px,5.6vw,82px);line-height:.95;letter-spacing:-.055em;text-wrap:balance
}
.eco-public-layout-motion .eco-public-section-head>p,
.eco-public-layout-motion .eco-public-richtext,
.eco-public-layout-motion .eco-form-layout>div>p{color:var(--eco-muted)}
.eco-public-layout-motion .eco-public-split{gap:clamp(42px,8vw,120px);align-items:center}
.eco-public-layout-motion .eco-section-about .eco-public-split>div:first-child{position:sticky;top:150px;align-self:start}

/* Reusable cinematic glass cards. */
.eco-public-layout-motion .eco-feature-card,
.eco-public-layout-motion .eco-person-card,
.eco-public-layout-motion .eco-public-detail-grid article,
.eco-public-layout-motion .eco-hotel-grid article,
.eco-public-layout-motion .eco-media-card,
.eco-public-layout-motion .eco-public-form,
.eco-public-layout-motion .eco-faq-list details{
  background:linear-gradient(145deg,rgba(19,35,72,.84),rgba(10,22,48,.74));
  border:1px solid rgba(255,255,255,.12); color:#fff; box-shadow:0 24px 70px rgba(0,0,0,.18);
  backdrop-filter:blur(16px); border-radius:24px;
}
.eco-public-layout-motion .eco-feature-card p,
.eco-public-layout-motion .eco-person-card p,
.eco-public-layout-motion .eco-media-fallback p,
.eco-public-layout-motion .eco-hotel-grid p,
.eco-public-layout-motion .eco-public-form small,
.eco-public-layout-motion .eco-faq-list p{color:#aeb6cf}
.eco-public-layout-motion .eco-feature-card span{color:var(--eco-site-accent)}
.eco-public-layout-motion .eco-feature-card:nth-child(odd){transform:translateY(20px) rotate(-.7deg)}
.eco-public-layout-motion .eco-feature-card:nth-child(even){transform:translateY(-8px) rotate(.7deg)}
.eco-public-layout-motion .eco-feature-card:hover{transform:translateY(-8px) rotate(0deg) scale(1.02);border-color:color-mix(in srgb,var(--eco-site-accent) 55%,white 10%)}

/* Artist / people rail behaves like a moving presentation reel. */
.eco-public-layout-motion .eco-people-grid{
  display:flex;grid-template-columns:none;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;padding:26px 6vw 44px;margin-inline:-6vw;scrollbar-width:none
}
.eco-public-layout-motion .eco-people-grid::-webkit-scrollbar{display:none}
.eco-public-layout-motion .eco-person-card{flex:0 0 clamp(250px,27vw,385px);scroll-snap-align:center;overflow:hidden;transition:transform .6s cubic-bezier(.16,1,.3,1),border-color .3s}
.eco-public-layout-motion .eco-person-card:nth-child(3n+1){transform:rotate(-1.7deg) translateY(11px)}
.eco-public-layout-motion .eco-person-card:nth-child(3n+2){transform:rotate(1deg) translateY(-9px)}
.eco-public-layout-motion .eco-person-card:hover{transform:rotate(0) translateY(-12px) scale(1.025)}
.eco-public-layout-motion .eco-person-photo{aspect-ratio:4/5;min-height:0;background:linear-gradient(145deg,#1e2752,#5d3674)}
.eco-public-layout-motion .eco-person-photo img{width:100%;height:100%;object-fit:cover}

/* Media and gallery as cinematic strips. */
.eco-public-layout-motion .eco-media-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px;align-items:stretch}
.eco-public-layout-motion .eco-media-card{overflow:hidden;transform:perspective(900px) rotateX(1.5deg);height:100%}
.eco-public-layout-motion .eco-media-embed,.eco-public-layout-motion .eco-media-fallback{aspect-ratio:16/9;overflow:hidden;background:#030710}
.eco-public-layout-motion .eco-media-embed iframe,.eco-public-layout-motion .eco-media-embed video{width:100%;height:100%}
.eco-public-layout-motion .eco-gallery-carousel{display:flex;gap:18px;overflow-x:auto;padding:32px 8vw 50px;margin-inline:-8vw;scrollbar-width:none;scroll-snap-type:x mandatory}
.eco-public-layout-motion .eco-gallery-carousel::-webkit-scrollbar{display:none}
.eco-public-layout-motion .eco-gallery-carousel img{flex:0 0 min(66vw,760px);width:min(66vw,760px);height:min(45vw,520px);object-fit:cover;border-radius:28px;scroll-snap-align:center;border:1px solid rgba(255,255,255,.14);box-shadow:0 28px 70px rgba(0,0,0,.3);transition:transform .55s cubic-bezier(.16,1,.3,1),opacity .4s}
.eco-public-layout-motion .eco-gallery-carousel img:nth-child(odd){transform:rotate(-1.3deg)}
.eco-public-layout-motion .eco-gallery-carousel img:nth-child(even){transform:rotate(1.3deg)}
.eco-public-layout-motion .eco-gallery-carousel img:hover{transform:rotate(0) scale(1.015)}

/* Schedule as a horizontal storyboard. */
.eco-public-layout-motion .eco-timeline{display:flex;gap:16px;overflow-x:auto;padding:14px 4vw 34px;margin-inline:-4vw;scrollbar-width:none;scroll-snap-type:x mandatory}
.eco-public-layout-motion .eco-timeline::-webkit-scrollbar{display:none}
.eco-public-layout-motion .eco-timeline article{flex:0 0 clamp(260px,29vw,410px);display:block;scroll-snap-align:center;border:1px solid rgba(255,255,255,.12);border-radius:22px;background:linear-gradient(145deg,#111d3c,#0a1630);padding:28px;min-height:250px}
.eco-public-layout-motion .eco-timeline time{display:block;margin-bottom:52px;color:var(--eco-site-accent);letter-spacing:.12em;text-transform:uppercase}
.eco-public-layout-motion .eco-timeline h3{font-size:clamp(23px,2.5vw,34px);color:#fff}
.eco-public-layout-motion .eco-timeline p{color:#aeb6cf}

/* Testimonials float like presentation quotes. */
.eco-public-layout-motion .eco-testimonial-grid{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.eco-public-layout-motion .eco-testimonial-grid article{border:1px solid rgba(255,255,255,.12);border-radius:24px;background:rgba(15,29,61,.78);box-shadow:0 26px 70px rgba(0,0,0,.2);padding:28px}
.eco-public-layout-motion .eco-testimonial-grid article:nth-child(2){transform:translateY(28px)}
.eco-public-layout-motion .eco-testimonial-grid article:nth-child(3){transform:translateY(-18px)}

/* Travel and forms remain readable while belonging to the dark motion system. */
.eco-public-layout-motion #visit{background:linear-gradient(135deg,#0a1730,#0b2039)}
.eco-public-layout-motion .eco-hotel-grid article{overflow:hidden}
.eco-public-layout-motion .eco-info-chip{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.12);color:#fff}
.eco-public-layout-motion .eco-public-form input,
.eco-public-layout-motion .eco-public-form select,
.eco-public-layout-motion .eco-public-form textarea{background:#071126;color:#fff;border-color:rgba(255,255,255,.16)}
.eco-public-layout-motion .eco-public-form label,.eco-public-layout-motion .eco-public-form legend{color:#f4f6ff}
.eco-public-layout-motion .eco-public-form button{background:linear-gradient(110deg,var(--eco-site-accent),#ffd88b);color:#18111a;border:0}
.eco-public-layout-motion .eco-faq-list summary{color:#fff}
.eco-public-layout-motion .eco-public-cta-section{position:relative;background:radial-gradient(circle at 82% 25%,rgba(238,103,196,.21),transparent 34%),linear-gradient(135deg,#071329,#12143b);color:#fff;border:0;overflow:hidden}
.eco-public-layout-motion .eco-public-cta-section::after{content:"";position:absolute;inset:auto -10% -55% 35%;height:90%;background:radial-gradient(circle,rgba(246,185,95,.18),transparent 66%);pointer-events:none}
.eco-public-layout-motion .eco-public-footer{background:#030817;color:#8f98b0;border-color:rgba(255,255,255,.08)}

/* JS-enhanced presentation reveals; content is visible if JS never runs. */
.eco-public-layout-motion.eco-motion-enabled .eco-motion-slide .eco-public-wrap{
  opacity:.14; transform:translate3d(0,78px,0) scale(.97); filter:blur(5px);
  transition:opacity .95s cubic-bezier(.16,1,.3,1),transform .95s cubic-bezier(.16,1,.3,1),filter .9s ease;
}
.eco-public-layout-motion.eco-motion-enabled .eco-motion-slide.eco-motion-in-view .eco-public-wrap{opacity:1;transform:none;filter:none}
.eco-public-layout-motion.eco-motion-enabled .eco-motion-slide:nth-child(even) .eco-public-wrap{transform:translate3d(-70px,46px,0) scale(.98)}
.eco-public-layout-motion.eco-motion-enabled .eco-motion-slide:nth-child(3n) .eco-public-wrap{transform:translate3d(70px,46px,0) scale(.98)}
.eco-public-layout-motion.eco-motion-enabled .eco-motion-slide.eco-motion-in-view .eco-public-wrap{transform:none}

/* Presentation navigator */
.eco-motion-progress{position:fixed;z-index:75;right:18px;top:50%;transform:translateY(-50%);display:grid;gap:9px;padding:12px 9px;border:1px solid rgba(255,255,255,.1);border-radius:999px;background:rgba(5,12,29,.48);backdrop-filter:blur(14px)}
.eco-motion-progress button{width:8px;height:8px;border:0;border-radius:50%;padding:0;background:rgba(255,255,255,.32);cursor:pointer;transition:transform .25s,background .25s,box-shadow .25s}
.eco-motion-progress button[aria-current="true"]{background:var(--eco-site-accent);transform:scale(1.55);box-shadow:0 0 0 4px color-mix(in srgb,var(--eco-site-accent) 15%,transparent)}

/* Pause state is exhaustive: no surprise movement after visitor asks to stop. */
.eco-public-layout-motion.eco-motion-paused *,
.eco-public-layout-motion.eco-motion-paused *::before,
.eco-public-layout-motion.eco-motion-paused *::after{animation-play-state:paused!important;scroll-behavior:auto!important}
.eco-public-layout-motion.eco-motion-paused .eco-public-event-hero .eco-hero-image,
.eco-public-layout-motion.eco-motion-paused .eco-public-event-hero .eco-hero-video{transform:scale(1.04)!important}

@media (max-width:1100px){
  .eco-motion-deck{width:38vw;right:18px;height:470px;opacity:.88}
  .eco-public-layout-motion .eco-public-hero-content{padding-right:31vw}
  .eco-public-layout-motion .eco-public-hero h1{font-size:clamp(58px,8vw,94px)}
}
@media (max-width:820px){
  .eco-public-layout-motion .eco-public-header{position:sticky;background:rgba(4,10,25,.96)}
  .eco-public-layout-motion .eco-public-event-hero{min-height:max(100svh,760px)}
  .eco-public-layout-motion .eco-public-hero-content{padding:90px 0 84px;max-width:none}
  .eco-public-layout-motion .eco-public-hero h1{max-width:92%;font-size:clamp(52px,15vw,80px)}
  .eco-motion-deck{opacity:.42;width:62vw;right:-22vw;top:48%;height:420px}
  .eco-motion-card{border-radius:18px}
  .eco-motion-toggle{right:12px;bottom:12px}
  .eco-motion-progress{display:none}
  .eco-public-layout-motion .eco-section-about .eco-public-split>div:first-child{position:static}
  .eco-public-layout-motion .eco-public-section{padding:72px 0}
  .eco-public-layout-motion .eco-testimonial-grid{grid-template-columns:1fr}
  .eco-public-layout-motion .eco-testimonial-grid article:nth-child(n){transform:none}
  .eco-public-layout-motion .eco-feature-card:nth-child(n){transform:none}
}
@media (max-width:560px){
  .eco-public-layout-motion .eco-public-event-hero{min-height:max(100svh,700px)}
  .eco-motion-deck{display:none}
  .eco-public-layout-motion .eco-public-hero h1{font-size:clamp(48px,16vw,70px)}
  .eco-public-layout-motion .eco-public-lead{font-size:17px}
  .eco-public-layout-motion .eco-gallery-carousel img{flex-basis:84vw;width:84vw;height:58vw}
  .eco-public-layout-motion .eco-person-card{flex-basis:76vw}
  .eco-motion-marquee>div{animation-duration:22s}
}
@media (prefers-reduced-motion:reduce){
  .eco-public-layout-motion *,
  .eco-public-layout-motion *::before,
  .eco-public-layout-motion *::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
  .eco-public-layout-motion .eco-public-event-hero .eco-hero-image,
  .eco-public-layout-motion .eco-public-event-hero .eco-hero-video{transform:scale(1.04)!important}
  .eco-public-layout-motion.eco-motion-enabled .eco-motion-slide .eco-public-wrap{opacity:1!important;transform:none!important;filter:none!important}
  .eco-motion-toggle{display:none}
}

/* Motion-specific corrections for base grid wrappers. */
.eco-public-layout-motion .eco-gallery-carousel figure{flex:0 0 min(66vw,760px);width:min(66vw,760px);aspect-ratio:16/10;margin:0;border-radius:28px;overflow:hidden;scroll-snap-align:center;background:#081126;border:1px solid rgba(255,255,255,.14);box-shadow:0 28px 70px rgba(0,0,0,.3);transition:transform .55s cubic-bezier(.16,1,.3,1)}
.eco-public-layout-motion .eco-gallery-carousel figure:nth-child(odd){transform:rotate(-1.3deg)}
.eco-public-layout-motion .eco-gallery-carousel figure:nth-child(even){transform:rotate(1.3deg)}
.eco-public-layout-motion .eco-gallery-carousel figure:hover{transform:rotate(0) scale(1.015)}
.eco-public-layout-motion .eco-gallery-carousel img{width:100%;height:100%;object-fit:cover;transform:none!important;border:0;border-radius:0;box-shadow:none}
.eco-public-layout-motion .eco-quote-grid{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.eco-public-layout-motion .eco-quote-grid blockquote{margin:0;padding:30px;border:1px solid rgba(255,255,255,.12);border-radius:24px;background:linear-gradient(145deg,rgba(19,35,72,.84),rgba(10,22,48,.74));color:#fff;box-shadow:0 26px 70px rgba(0,0,0,.2)}
.eco-public-layout-motion .eco-quote-grid blockquote:nth-child(2){transform:translateY(28px)}
.eco-public-layout-motion .eco-quote-grid blockquote:nth-child(3){transform:translateY(-18px)}
.eco-public-layout-motion .eco-quote-grid footer span{color:#aeb6cf}
.eco-public-layout-motion .eco-sponsor-grid article{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.12)}
.eco-public-layout-motion .eco-sponsor-grid strong{color:#fff}
.eco-public-layout-motion .eco-consent-row{background:rgba(255,255,255,.045);border-color:rgba(255,255,255,.14)}
.eco-public-layout-motion .eco-consent-row span{color:#e7e9f3!important}
@media(max-width:820px){
  .eco-public-layout-motion .eco-quote-grid{grid-template-columns:1fr}
  .eco-public-layout-motion .eco-quote-grid blockquote:nth-child(n){transform:none}
}
@media(max-width:560px){
  .eco-public-layout-motion .eco-gallery-carousel figure{flex-basis:84vw;width:84vw}
}


/* Motion-family visual personalities. The motion behavior is shared; creative expression is event-type specific. */
.eco-public-design-conference_momentum{
  --eco-motion-bg:#06142d;--eco-motion-bg-2:#0a2240;--eco-motion-panel:rgba(10,34,67,.74);
  --eco-motion-gold:#e6b45a;--eco-motion-pink:#4f78ff;--eco-motion-violet:#3157d8;--eco-motion-cyan:#49c8e8;
}
.eco-public-design-conference_momentum .eco-public-event-hero{background:radial-gradient(circle at 80% 18%,rgba(49,87,216,.38),transparent 31%),radial-gradient(circle at 20% 72%,rgba(73,200,232,.16),transparent 33%),linear-gradient(145deg,#020916 0%,#07152f 48%,#0a2850 100%)}
.eco-public-design-conference_momentum .eco-public-hero-overlay{background:linear-gradient(90deg,rgba(2,7,18,.98) 0%,rgba(3,12,30,.88) 38%,rgba(4,18,44,.18) 70%,rgba(3,10,26,.46) 100%),linear-gradient(180deg,rgba(3,9,24,.20),rgba(3,9,24,.13) 60%,#06142d 100%)}
.eco-public-design-conference_momentum .eco-public-hero h1{text-transform:uppercase;max-width:820px;letter-spacing:-.07em}
.eco-public-design-conference_momentum .eco-motion-marquee{background:#041023}

.eco-public-design-wedding_ever_after_motion{
  --eco-motion-bg:#21131a;--eco-motion-bg-2:#341c27;--eco-motion-panel:rgba(63,34,47,.72);
  --eco-motion-gold:#efc3a8;--eco-motion-pink:#d98da2;--eco-motion-violet:#aa7ba7;--eco-motion-cyan:#d6b7a7;
  --eco-muted:#d4bec4;
}
.eco-public-design-wedding_ever_after_motion .eco-public-event-hero{background:radial-gradient(circle at 78% 14%,rgba(217,141,162,.30),transparent 31%),radial-gradient(circle at 16% 73%,rgba(239,195,168,.19),transparent 34%),linear-gradient(145deg,#160c11 0%,#2a141d 52%,#4a2732 100%)}
.eco-public-design-wedding_ever_after_motion .eco-public-hero-overlay{background:linear-gradient(90deg,rgba(24,12,17,.97) 0%,rgba(32,16,23,.84) 39%,rgba(44,23,31,.18) 71%,rgba(28,14,20,.44) 100%),linear-gradient(180deg,rgba(26,13,19,.16),rgba(26,13,19,.12) 60%,#21131a 100%)}
.eco-public-design-wedding_ever_after_motion .eco-public-hero h1,.eco-public-design-wedding_ever_after_motion .eco-public-section-head h2,.eco-public-design-wedding_ever_after_motion .eco-public-split h2,.eco-public-design-wedding_ever_after_motion .eco-form-layout h2,.eco-public-design-wedding_ever_after_motion .eco-faq-wrap h2,.eco-public-design-wedding_ever_after_motion .eco-public-cta h2{font-family:Georgia,'Times New Roman',serif;font-weight:500;letter-spacing:-.045em}
.eco-public-design-wedding_ever_after_motion .eco-public-hero h1{font-style:italic;max-width:820px}
.eco-public-design-wedding_ever_after_motion .eco-motion-marquee{background:#1b0f15}
.eco-public-design-wedding_ever_after_motion .eco-motion-card{border-radius:38px}
.eco-public-design-wedding_ever_after_motion .eco-feature-card:nth-child(odd){transform:translateY(13px) rotate(-.35deg)}
.eco-public-design-wedding_ever_after_motion .eco-feature-card:nth-child(even){transform:translateY(-5px) rotate(.35deg)}

.eco-public-design-corporate_showcase_motion{
  --eco-motion-bg:#03151e;--eco-motion-bg-2:#062632;--eco-motion-panel:rgba(7,35,47,.76);
  --eco-motion-gold:#6ed8ff;--eco-motion-pink:#318cf2;--eco-motion-violet:#596dff;--eco-motion-cyan:#2dd4bf;
  --eco-muted:#a9c1c9;
}
.eco-public-design-corporate_showcase_motion .eco-public-event-hero{background:radial-gradient(circle at 80% 15%,rgba(49,140,242,.32),transparent 30%),radial-gradient(circle at 17% 73%,rgba(45,212,191,.14),transparent 34%),linear-gradient(145deg,#020c11 0%,#041923 50%,#073746 100%)}
.eco-public-design-corporate_showcase_motion .eco-public-hero-overlay{background:linear-gradient(90deg,rgba(1,8,12,.98) 0%,rgba(2,18,25,.88) 39%,rgba(5,31,42,.17) 70%,rgba(2,14,20,.45) 100%),linear-gradient(180deg,rgba(2,12,17,.17),rgba(2,12,17,.12) 60%,#03151e 100%)}
.eco-public-design-corporate_showcase_motion .eco-public-hero h1{text-transform:uppercase;max-width:900px;font-size:clamp(58px,7.8vw,122px);letter-spacing:-.065em}
.eco-public-design-corporate_showcase_motion .eco-motion-marquee{background:#021118}
.eco-public-design-corporate_showcase_motion .eco-motion-card{border-radius:18px}
.eco-public-design-corporate_showcase_motion .eco-feature-card:nth-child(n){transform:none}
.eco-public-design-corporate_showcase_motion .eco-feature-card:hover{transform:translateY(-8px) scale(1.015)}

/* 0.3.85 premium motion personalities. These five variants are shared across
 * event types; tenant/template colors continue to flow through --eco-site-*.
 * Existing motion templates do not receive a variant class and remain unchanged.
 */
.eco-public-layout-motion.eco-motion-variant-cinema{
  --eco-motion-bg:color-mix(in srgb,var(--eco-site-primary) 44%,#050814);
  --eco-motion-bg-2:color-mix(in srgb,var(--eco-site-primary) 68%,#0a1020);
  --eco-motion-panel:color-mix(in srgb,var(--eco-site-primary) 52%,rgba(8,13,28,.72));
}
.eco-public-layout-motion.eco-motion-variant-cinema .eco-public-event-hero{
  background:radial-gradient(circle at 80% 15%,color-mix(in srgb,var(--eco-site-accent) 32%,transparent),transparent 30%),linear-gradient(145deg,#03050c 0%,color-mix(in srgb,var(--eco-site-primary) 70%,#071020) 54%,#111523 100%);
}
.eco-public-layout-motion.eco-motion-variant-cinema .eco-public-hero-overlay{background:linear-gradient(90deg,rgba(2,4,10,.98) 0%,rgba(4,7,15,.90) 38%,rgba(5,8,16,.18) 72%,rgba(3,5,12,.56) 100%),linear-gradient(180deg,rgba(2,4,10,.14),rgba(2,4,10,.12) 58%,var(--eco-motion-bg) 100%)}
.eco-public-layout-motion.eco-motion-variant-cinema .eco-motion-card{border-radius:16px;box-shadow:0 38px 90px rgba(0,0,0,.42),0 0 40px color-mix(in srgb,var(--eco-site-accent) 15%,transparent)}
.eco-public-layout-motion.eco-motion-variant-cinema .eco-public-hero h1{max-width:800px;font-size:clamp(62px,8.2vw,132px);letter-spacing:-.07em}
.eco-public-layout-motion.eco-motion-variant-cinema .eco-motion-marquee{background:#040711}

.eco-public-layout-motion.eco-motion-variant-pulse{
  --eco-motion-bg:color-mix(in srgb,var(--eco-site-primary) 58%,#090412);
  --eco-motion-bg-2:color-mix(in srgb,var(--eco-site-primary) 76%,#12081d);
}
.eco-public-layout-motion.eco-motion-variant-pulse .eco-public-event-hero{background:linear-gradient(135deg,#07020c 0%,color-mix(in srgb,var(--eco-site-primary) 74%,#15071e) 50%,color-mix(in srgb,var(--eco-site-accent) 22%,#07111f) 100%)}
.eco-public-layout-motion.eco-motion-variant-pulse .eco-public-hero-pattern{opacity:.7;background-image:linear-gradient(color-mix(in srgb,var(--eco-site-accent) 15%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--eco-site-accent) 15%,transparent) 1px,transparent 1px);background-size:36px 36px}
.eco-public-layout-motion.eco-motion-variant-pulse .eco-public-hero h1{text-transform:uppercase;max-width:880px;font-size:clamp(58px,8.5vw,130px);letter-spacing:-.065em;line-height:.82}
.eco-public-layout-motion.eco-motion-variant-pulse .eco-motion-card{border-radius:10px;box-shadow:12px 18px 0 color-mix(in srgb,var(--eco-site-accent) 17%,transparent),0 34px 80px rgba(0,0,0,.42)}
.eco-public-layout-motion.eco-motion-variant-pulse .eco-motion-marquee>div{animation-duration:19s}
.eco-public-layout-motion.eco-motion-variant-pulse .eco-feature-card:nth-child(n){transform:none}
.eco-public-layout-motion.eco-motion-variant-pulse .eco-feature-card:hover{transform:translateY(-7px) scale(1.01)}

.eco-public-layout-motion.eco-motion-variant-luminous{
  --eco-motion-bg:color-mix(in srgb,var(--eco-site-primary) 58%,#101517);
  --eco-motion-bg-2:color-mix(in srgb,var(--eco-site-primary) 72%,#162023);
  --eco-muted:#c7ccd0;
}
.eco-public-layout-motion.eco-motion-variant-luminous .eco-public-event-hero{background:radial-gradient(circle at 76% 18%,color-mix(in srgb,var(--eco-site-accent) 30%,transparent),transparent 35%),radial-gradient(circle at 18% 72%,rgba(255,255,255,.09),transparent 36%),linear-gradient(145deg,#0a0d0d 0%,var(--eco-motion-bg) 50%,var(--eco-motion-bg-2) 100%)}
.eco-public-layout-motion.eco-motion-variant-luminous .eco-public-hero-overlay{background:linear-gradient(90deg,rgba(8,11,12,.94) 0%,rgba(10,14,15,.78) 40%,rgba(10,14,15,.14) 72%,rgba(8,11,12,.34) 100%),linear-gradient(180deg,transparent 50%,var(--eco-motion-bg) 100%)}
.eco-public-layout-motion.eco-motion-variant-luminous .eco-motion-card{border-radius:38px;border-color:rgba(255,255,255,.28);box-shadow:0 32px 90px rgba(0,0,0,.30),0 0 60px color-mix(in srgb,var(--eco-site-accent) 18%,transparent)}
.eco-public-layout-motion.eco-motion-variant-luminous .eco-public-hero h1{font-weight:700;letter-spacing:-.055em;line-height:.9}
.eco-public-layout-motion.eco-motion-variant-luminous .eco-public-section{padding-block:clamp(88px,11vw,160px)}

.eco-public-layout-motion.eco-motion-variant-editorial{
  --eco-motion-bg:color-mix(in srgb,var(--eco-site-primary) 48%,#101015);
  --eco-motion-bg-2:color-mix(in srgb,var(--eco-site-primary) 66%,#17141c);
}
.eco-public-layout-motion.eco-motion-variant-editorial .eco-public-event-hero{background:linear-gradient(120deg,#08070b 0%,color-mix(in srgb,var(--eco-site-primary) 68%,#16121b) 56%,color-mix(in srgb,var(--eco-site-accent) 18%,#0e1017) 100%)}
.eco-public-layout-motion.eco-motion-variant-editorial .eco-public-hero h1{max-width:900px;font-family:Georgia,'Times New Roman',serif;font-weight:500;font-style:italic;letter-spacing:-.055em;line-height:.9;font-size:clamp(58px,7.7vw,118px)}
.eco-public-layout-motion.eco-motion-variant-editorial .eco-motion-deck{transform:translateY(-45%) rotate(2deg)}
.eco-public-layout-motion.eco-motion-variant-editorial .eco-motion-card{border-radius:4px;box-shadow:0 32px 90px rgba(0,0,0,.38)}
.eco-public-layout-motion.eco-motion-variant-editorial .eco-public-section-head h2,.eco-public-layout-motion.eco-motion-variant-editorial .eco-public-split h2,.eco-public-layout-motion.eco-motion-variant-editorial .eco-public-cta h2{font-family:Georgia,'Times New Roman',serif;font-weight:500;letter-spacing:-.04em}
.eco-public-layout-motion.eco-motion-variant-editorial .eco-motion-marquee{background:#0a080d}

.eco-public-layout-motion.eco-motion-variant-panorama{
  --eco-motion-bg:color-mix(in srgb,var(--eco-site-primary) 54%,#071015);
  --eco-motion-bg-2:color-mix(in srgb,var(--eco-site-primary) 72%,#0d1b21);
}
.eco-public-layout-motion.eco-motion-variant-panorama .eco-public-event-hero{background:linear-gradient(180deg,rgba(5,10,14,.15),rgba(5,10,14,.72)),linear-gradient(135deg,#071015,color-mix(in srgb,var(--eco-site-primary) 68%,#10222a))}
.eco-public-layout-motion.eco-motion-variant-panorama .eco-public-hero-overlay{background:linear-gradient(90deg,rgba(4,9,12,.92) 0%,rgba(4,9,12,.66) 42%,rgba(4,9,12,.08) 78%,rgba(4,9,12,.18) 100%),linear-gradient(180deg,transparent 48%,var(--eco-motion-bg) 100%)}
.eco-public-layout-motion.eco-motion-variant-panorama .eco-motion-deck{top:auto;bottom:62px;right:clamp(22px,4vw,70px);width:min(44vw,620px);height:250px;transform:none;display:flex;align-items:flex-end;gap:16px}
.eco-public-layout-motion.eco-motion-variant-panorama .eco-motion-card{position:relative;inset:auto!important;flex:1 1 0;width:auto!important;aspect-ratio:4/3;border-radius:20px;animation:none!important;transform:none!important;translate:none!important;box-shadow:0 22px 60px rgba(0,0,0,.32)}
.eco-public-layout-motion.eco-motion-variant-panorama .eco-motion-card-2{transform:translateY(-22px)!important}
.eco-public-layout-motion.eco-motion-variant-panorama .eco-public-hero-content{padding-right:43vw}
.eco-public-layout-motion.eco-motion-variant-panorama .eco-public-hero h1{font-size:clamp(58px,7.6vw,120px);line-height:.88;letter-spacing:-.065em}
@media(max-width:1050px){.eco-public-layout-motion.eco-motion-variant-panorama .eco-public-hero-content{padding-right:0}.eco-public-layout-motion.eco-motion-variant-panorama .eco-motion-deck{position:relative;right:auto;bottom:auto;top:auto;width:100%;height:auto;margin:22px 0 0;display:none}}

/* v0.7.1 — motion-template tablet composition hardening.
 * At tablet widths the media deck becomes decorative instead of reserving a
 * third of the text column, preventing long event titles from collapsing. */
@media(max-width:1100px){
  .eco-public-layout-motion .eco-public-event-hero{min-height:max(100svh,740px)}
  .eco-public-layout-motion .eco-public-hero-content{padding-right:0!important;max-width:none!important}
  .eco-public-layout-motion .eco-public-hero h1{
    max-inline-size:min(100%,780px)!important;font-size:clamp(50px,7.6vw,80px)!important;line-height:.9!important;
  }
  .eco-public-layout-motion .eco-public-lead,
  .eco-public-layout-motion .eco-public-meta,
  .eco-public-layout-motion .eco-public-actions,
  .eco-public-layout-motion .eco-countdown{max-width:min(76vw,650px)}
  .eco-public-layout-motion .eco-motion-deck{
    width:min(52vw,440px);height:430px;right:-16vw;top:50%;opacity:.30;filter:saturate(.9);
  }
}
@media(max-width:900px){
  .eco-public-layout-motion .eco-public-event-hero{min-height:max(100svh,700px)}
  .eco-public-layout-motion .eco-public-hero h1{max-inline-size:min(100%,720px)!important;font-size:clamp(46px,8.2vw,70px)!important}
  .eco-public-layout-motion .eco-public-lead,
  .eco-public-layout-motion .eco-public-meta,
  .eco-public-layout-motion .eco-public-actions,
  .eco-public-layout-motion .eco-countdown{max-width:min(84vw,620px)}
  .eco-public-layout-motion .eco-motion-deck{width:62vw;right:-25vw;opacity:.20}
}
@media(max-width:680px){
  .eco-public-layout-motion .eco-motion-deck{display:none!important}
  .eco-public-layout-motion .eco-public-event-hero{min-height:max(100svh,660px)}
  /* Reserve room for the pause control so it never sits over the registration CTA. */
  .eco-public-layout-motion .eco-public-hero-content{padding:72px 0 116px!important}
  .eco-public-layout-motion .eco-public-hero h1{font-size:clamp(42px,12.5vw,62px)!important;line-height:.92!important}
  .eco-public-layout-motion .eco-public-lead,
  .eco-public-layout-motion .eco-public-meta,
  .eco-public-layout-motion .eco-public-actions,
  .eco-public-layout-motion .eco-countdown{max-width:100%}
}
