/* EDIT BRAND BACKGROUND here and in animation.js / the inline canvas style. */
[data-frozzo-burst] { --burst-bg: #0d3b2b; position: relative; height: 400vh; background: #0d3b2b; color: #fff; isolation: isolate; }
.fb-stage { position: sticky; top: 0; height: 100vh; height: 100svh; overflow: hidden; background: #0d3b2b; }
.fb-canvas { display: block; width: 100%; height: 100%; background-color: #0d3b2b; }
/* Source photos have dark/gold edges: this blend meets the exact section green. */
.fb-stage::after { content: ''; position: absolute; inset: 0; pointer-events: none; background: radial-gradient(ellipse at center, transparent 38%, rgba(13,59,43,.22) 62%, #0d3b2b 100%); }
.fb-copy { position: absolute; z-index: 2; inset: auto 0 0; padding: clamp(28px, 6vw, 80px) max(24px, calc((100vw - 1240px) / 2)); padding-top: 110px; background: linear-gradient(transparent, rgba(13,59,43,.96) 55%); opacity: 0; transform: translateY(24px); will-change: opacity, transform; pointer-events: none; }
.fb-copy h2 { margin: 0 0 18px; color: #fff; font-family: Montserrat, sans-serif; font-weight: 700; font-size: clamp(30px, 4vw, 56px); line-height: 1.1; letter-spacing: -.035em; }
.fb-copy h2 em { font-family: 'Playfair Display', Georgia, serif; font-style: italic; font-weight: 500; color: #d9b204; }
.fb-copy p { max-width: 68ch; margin: 0; color: #fff; font-family: Montserrat, sans-serif; font-size: clamp(14px, 1.2vw, 18px); line-height: 1.65; text-align: left; }
.fb-loader { position: fixed; z-index: 100; bottom: 24px; left: 50%; width: min(280px, calc(100vw - 32px)); padding: 12px 16px; border: 1px solid rgba(255,255,255,.18); border-radius: 10px; background: rgba(13,59,43,.92); box-shadow: 0 10px 30px rgba(0,0,0,.22); color: #fff; font: 12px Montserrat, sans-serif; transform: translateX(-50%); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); }
.fb-loader[hidden] { display: none; }
.fb-loader progress { display: block; width: 100%; height: 2px; margin-top: 8px; border: 0; background: rgba(255,255,255,.2); accent-color: #fff; }
.fb-loader progress::-webkit-progress-bar { background: rgba(255,255,255,.2); }
.fb-loader progress::-webkit-progress-value { background: #fff; }
.fb-loader progress::-moz-progress-bar { background: #fff; }
.fb-nav { background: transparent !important; transition: background .25s ease; }
.fb-nav.fb-nav-past-hero { background: rgba(13,59,43,.85) !important; backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); }
[data-frozzo-burst][data-static] { height: 100vh; height: 100svh; }
[data-frozzo-burst][data-static] .fb-copy { opacity: 1; transform: none; }
@media(max-width:767px) { .fb-copy { padding: 80px 24px 32px; } .fb-copy h2 { font-size: clamp(28px, 7vw, 34px); } }
@media(prefers-reduced-motion:reduce) { .fb-nav { transition: none; } }
