/* Small, consistent interactions across the complete campaign. */
.site-particles { position:fixed; inset:0; z-index:85; width:100%; height:100%; pointer-events:none; }
.cursor-glow { display:none; }
:is(.hero-copy,.cinema-copy,.manifesto-grid > h2,.manifesto-copy,.audience-copy,.journey-heading,.format-heading,.revenue-copy,.ivb-copy,.faq-heading,.register-heading,.fact,.flow-card,.format-card,.week,.accordion details,.form-shell,.floating-chip,.skill-cloud span) { outline:1px solid rgba(69,209,204,.55); outline-offset:0; filter:drop-shadow(0 0 5px rgba(69,209,204,.13)); }
.motion-section { position:relative; }
/* One outline language for content panels, cards, FAQs and editable fields. */
:is(.hero-copy,.cinema-copy,.manifesto-grid > h2,.manifesto-copy,.audience-copy,.journey-heading,.format-heading,.revenue-copy,.ivb-copy,.faq-heading,.register-heading) { border:1px solid rgba(29,166,166,.65); border-radius:22px; padding:clamp(1rem,2vw,1.6rem); box-shadow:0 0 18px rgba(69,209,204,.13),inset 0 0 16px rgba(69,209,204,.04); }
:is(.fact,.flow-card,.format-card,.week,.accordion details,.form-shell,.floating-chip,.skill-cloud span) { border:1px solid rgba(29,166,166,.65); box-shadow:0 0 16px rgba(69,209,204,.16),inset 0 0 12px rgba(69,209,204,.05); }
.fact:last-child { border-right:1px solid rgba(29,166,166,.65); }
.week,.accordion details { border-radius:16px; margin-bottom:12px; }
.accordion summary { padding-inline:1rem; }
:is(.section-dark,footer) :is(.hero-copy,.audience-copy,.revenue-copy,.register-heading,.floating-chip,.skill-cloud span),.cinema-copy { border-color:rgba(101,244,233,.65); box-shadow:0 0 24px rgba(69,209,204,.2),inset 0 0 20px rgba(69,209,204,.06); }
.field :is(input,textarea,select),.chat-form input { border-color:#38aaa9; box-shadow:0 0 9px rgba(69,209,204,.12); }
.field.invalid :is(input,textarea,select) { border-color:#cf3f3f; }
@media(max-width:640px) { .venture-cinema { height:520svh; }.cinema-copy { width:calc(100% - 2.4rem); }.journey-heading { gap:1rem; } }
.floating-copy { animation:copy-float var(--float-duration,7s) ease-in-out var(--float-delay,0s) infinite; animation-play-state:paused; transform-origin:center; }
.section-in-view .floating-copy { animation-play-state:running; }
@keyframes copy-float { 0%,100% { translate:0 0; } 50% { translate:0 -5px; } }
@media(max-width:640px) { @keyframes copy-float { 0%,100% { translate:0 0; } 50% { translate:0 -3px; } } }
@media(prefers-reduced-motion:reduce) { .venture-cinema { height:100svh; }.floating-copy { animation:none; translate:none; } }
.section-orbit { position:absolute; top:28px; right:clamp(1.2rem,4vw,4rem); width:140px; height:140px; pointer-events:none; color:var(--aqua-dark); opacity:.38; }
.section-dark .section-orbit { color:var(--aqua); opacity:.5; }
.section-orbit svg { width:100%; height:100%; overflow:visible; }
.section-orbit .orbit-path { transform-origin:80px 80px; animation:orbit-section 24s linear infinite; animation-play-state:paused; }
.section-orbit .orbit-dot { transform-origin:80px 80px; animation:orbit-section 11s linear infinite reverse; animation-play-state:paused; }
.section-in-view .section-orbit .orbit-path,.section-in-view .section-orbit .orbit-dot { animation-play-state:running; }
@keyframes orbit-section { to { transform:rotate(360deg); } }
.section-in-view .flow-icon { animation:icon-wander 5s ease-in-out infinite; }.flow-card:nth-of-type(3n) .flow-icon { animation-delay:-2s; }
@keyframes icon-wander { 50% { transform:translateY(-6px) rotate(12deg); } }
.section-tag { position:relative; width:fit-content; padding-left:1.1rem; }
.section-tag::before { content:""; position:absolute; left:0; top:50%; width:5px; height:5px; transform:translateY(-50%); border-radius:50%; background:currentColor; box-shadow:0 0 0 4px rgba(69,209,204,.1); }
.section-in-view .section-tag::before { animation:tag-signal 2.5s ease-in-out infinite; }
@keyframes tag-signal { 50% { box-shadow:0 0 0 8px rgba(69,209,204,0); } }
.week.week-current::before { background:var(--aqua); box-shadow:0 0 0 6px rgba(69,209,204,.15),0 0 22px rgba(69,209,204,.4); transition:background .5s,box-shadow .5s; }
.week.week-current .week-number { color:var(--ink); }.finale-week.week-current .week-number { color:var(--aqua); }
.week-number { transition:color .4s; }.week h3 { transition:transform .45s; }.week-current h3 { transform:translateX(4px); }
.accordion details[open] { border-color:var(--aqua-dark); }.accordion details[open] > div { animation:answer-in .38s ease both; }.accordion summary { transition:color .2s; }.accordion summary:hover { color:var(--aqua-dark); }
@keyframes answer-in { from { opacity:0; transform:translateY(-8px); } to { opacity:1; transform:none; } }
.field > span { transition:color .2s,transform .2s; }.field:focus-within > span { color:var(--aqua-dark); transform:translateX(3px); }
.form-progress span { transition:background .3s,transform .3s; }.form-progress span.active { box-shadow:0 0 0 5px rgba(69,209,204,.15); transform:scale(1.06); }
.skill-cloud span { position:relative; overflow:hidden; }.skill-cloud span::after { content:""; position:absolute; bottom:0; left:0; width:100%; height:2px; transform:scaleX(0); transform-origin:left; transition:transform .35s; background:var(--aqua); }.skill-cloud span:hover::after { transform:scaleX(1); }
.site-header nav a[aria-current="location"]:not(.nav-cta) { color:var(--aqua); }
.replay-opening { appearance:none; display:inline-flex; gap:.7rem; align-items:center; background:none; border:0; border-bottom:1px solid #37666b; padding:.6rem 0; margin-top:1.8rem; color:#8fc8cc; font-size:.7rem; cursor:pointer; }
.opening-film { perspective:900px; gap:1.6rem; background:radial-gradient(ellipse at 50% 42%,#104555,#02131b 65%); }
.opening-film .intro-mark { position:absolute; top:35px; left:5vw; font-size:1.25rem; letter-spacing:-.06em; }
.opening-object { width:150px; height:150px; position:relative; transform-style:preserve-3d; transform:rotateX(-22deg) rotateY(-35deg); animation:opening-turn 3s ease both; margin-bottom:2.3rem; }
.opening-object i { position:absolute; inset:0; border:1px solid rgba(169,255,238,.8); background:repeating-linear-gradient(0deg,transparent 0 48px,rgba(152,255,237,.4) 49px 50px),repeating-linear-gradient(90deg,transparent 0 48px,rgba(152,255,237,.4) 49px 50px),linear-gradient(145deg,rgba(69,209,204,.8),rgba(10,145,236,.3)); transform:var(--orientation) translateZ(75px); box-shadow:inset 0 0 35px rgba(69,209,204,.25); animation:opening-assemble 1.3s cubic-bezier(.16,1,.3,1) both; }
.opening-front { --orientation:rotateY(0deg); }.opening-right { --orientation:rotateY(90deg); }.opening-left { --orientation:rotateY(-90deg); }.opening-top { --orientation:rotateX(90deg); }.opening-bottom { --orientation:rotateX(-90deg); }.opening-back { --orientation:rotateY(180deg); }
@keyframes opening-assemble { from { opacity:0; transform:var(--orientation) translateZ(230px) scale(.6); } to { opacity:1; transform:var(--orientation) translateZ(75px); } }
@keyframes opening-turn { from { transform:rotateX(-10deg) rotateY(-70deg) scale(.7); } to { transform:rotateX(-22deg) rotateY(25deg) scale(1); } }
.opening-story { text-align:center; position:relative; z-index:1; }.opening-story small { display:block; font-size:.55rem; letter-spacing:.2em; color:#8cb4bc; margin-bottom:.7rem; }.opening-story strong { display:block; font-size:clamp(2rem,5vw,4rem); letter-spacing:-.06em; font-weight:600; }
.opening-film .intro-line { width:250px; background:var(--aqua); height:1px; animation:opening-load 1.2s linear both !important; transform-origin:left; }
.opening-film.leaving { transition-duration:.35s; }
.opening-film .opening-object { animation-duration:1.2s; }.opening-film .opening-object i { animation-duration:.6s; }
.hero .hero-copy { animation-delay:.15s; animation-duration:.65s; }.hero .venture-visual { animation-delay:.25s; animation-duration:.8s; }.hero .hero-ticker { animation-delay:.45s; animation-duration:.4s; }
@keyframes opening-load { from { transform:scaleX(0); } to { transform:scaleX(1); } }
.opening-skip { position:absolute; z-index:3; bottom:35px; right:5vw; border:1px solid #537f87; background:#062430; color:#e0f3f2; border-radius:999px; padding:.7rem 1rem; cursor:pointer; font-size:.65rem; }.opening-skip:hover { background:var(--aqua); color:var(--ink); }
@media(max-width:640px) { .section-orbit { width:85px; height:85px; top:10px; right:24px; opacity:.3; }.opening-object { width:120px; height:120px; }.opening-object i { transform:var(--orientation) translateZ(60px); } }
@media(prefers-reduced-motion:reduce) { .site-particles,.replay-opening { display:none; }.section-orbit * { animation:none !important; }.section-tag::before { animation:none; }.week-current h3,.form-progress span.active { transform:none; } }
