/* GrowthWheel: Magic Patterns geometry with the shared public brand. */
body.doo-marketing:has(.growing-page) { --nav-h: 76px; padding-top: var(--nav-h); }
body.doo-marketing .marketing-main:has(.growing-page) { padding-top: 0; }
body.doo-marketing .growing-page .growing-hero { min-height: 0; padding: 64px 0 80px; }
body.doo-marketing .growing-page .growing-hero-grid { grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 64px; align-items: center; }
body.doo-marketing .growing-hero .growing-stage-label { margin-bottom: 32px; }
body.doo-marketing .growing-hero .growing-name { margin: 0 0 20px; color: var(--public-brand-blue) !important; font-size: 14px; font-weight: 500; letter-spacing: .05em; }
body.doo-marketing .growing-hero .growing-audience { margin-top: 20px; font-size: 16px; font-weight: 400; line-height: 1.6; }
body.doo-marketing .growing-hero .growing-lede { margin-top: 16px; font-size: 16px; line-height: 1.65; }
.growth-wheel-context { min-width: 0; width: 100%; position: relative; }
.growth-wheel-disc { position: relative; isolation: isolate; container-type: inline-size; width: 100%; max-width: 520px; aspect-ratio: 1; margin: 0 auto; }
.growth-wheel-art { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; }
.growth-wheel-bloom { fill: rgba(var(--public-brand-rgb),.05); filter: blur(30px); }
.growth-segment-glow { fill: rgba(var(--public-brand-rgb),.55); filter: blur(16px); opacity: 0; transition: opacity .35s ease; }
.growth-segment-surface { fill: rgba(255,255,255,.035); stroke: rgba(255,255,255,.1); stroke-width: 1.25; transition: fill .35s ease, stroke .35s ease; }
.growth-wheel-segment.is-active .growth-segment-glow { opacity: 1; }
.growth-wheel-segment.is-active .growth-segment-surface { fill: rgba(var(--public-brand-rgb),.2); stroke: rgba(var(--public-brand-rgb),.85); }
.growth-hub-bloom { fill: rgba(var(--public-brand-rgb),.3); filter: blur(22px); }
.growth-hub-disc { fill: rgba(10,10,10,.85); stroke: rgba(var(--public-brand-rgb),.55); stroke-width: 1.5; }
.growth-hub-dots { fill: none; stroke: rgba(var(--public-brand-rgb),.25); stroke-width: 1; stroke-dasharray: .1 8; stroke-linecap: round; }
.growth-wheel-label { position: absolute; display: flex; flex-direction: column; align-items: center; width: 30%; margin-left: -15%; margin-top: -8%; padding: 0 4px; border: 0; border-radius: 12px; background: transparent; font-family: inherit; text-align: center; cursor: pointer; }
.growth-wheel-label svg { width: 20px; height: 20px; margin-bottom: 6px; color: var(--public-muted); opacity: .7; transition: color .3s ease, opacity .3s ease; }
.growth-wheel-label b { margin-bottom: 4px; font-size: 13px; font-weight: 600; letter-spacing: -.025em; line-height: 1; color: rgba(245,245,247,.7); transition: color .3s ease; }
.growth-wheel-label>span { font-size: 10.5px; line-height: 1.25; color: var(--public-muted); opacity: .7; transition: color .3s ease, opacity .3s ease; }
.growth-wheel-label.is-active svg { color: var(--public-brand-blue); opacity: 1; }
.growth-wheel-label.is-active b { color: var(--public-text); }
.growth-wheel-label.is-active>span { color: var(--public-text); opacity: .8; }
.growth-wheel-label:focus-visible { outline: 2px solid var(--public-brand-blue); outline-offset: 4px; }
.growth-wheel-hub { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; pointer-events: none; }
.growth-wheel-hub b { color: var(--public-text); font-size: 24px; font-weight: 700; line-height: 1.2; letter-spacing: -.03em; }
.growth-wheel-hub span { margin-top: 4px; color: var(--public-brand-blue); font-size: 10px; letter-spacing: .16em; text-transform: uppercase; }
.growth-wheel-readout { position: relative; margin-top: 24px; padding: 20px; box-sizing: border-box; border: 1px solid rgba(255,255,255,.1); border-radius: 16px; background: rgba(255,255,255,.04); backdrop-filter: blur(24px); -webkit-backdrop-filter: blur(24px); text-align: left; }
body.doo-marketing .growth-wheel-readout p { margin: 0; font-size: 14px; line-height: 1.625; }
body.doo-marketing .growth-wheel-readout .growth-wheel-readout-title { margin-bottom: 6px; color: var(--public-text) !important; font-size: 13px; font-weight: 600; }
.growth-wheel-tunnel { position: absolute; z-index: -1; left: 50%; top: calc(50% - 900px); height: 900px; pointer-events: none; }
.growth-wheel-tunnel>span { position: absolute; top: 0; bottom: 0; left: 50%; transform: translateX(-50%); }
.growth-tunnel-wash { width: 450px; background: linear-gradient(to bottom,rgba(var(--public-brand-rgb),.16),rgba(var(--public-brand-rgb),.09) 60%,rgba(var(--public-brand-rgb),.02)); filter: blur(54px); animation: growth-tunnel-breathe 7s ease-in-out infinite; }
.growth-tunnel-body { width: 300px; background: linear-gradient(to bottom,rgba(var(--public-brand-rgb),.24),rgba(var(--public-brand-rgb),.3) 75%,color-mix(in srgb,color-mix(in srgb,var(--public-brand-blue) 60%,white) 42%,transparent)); filter: blur(26px); }
.growth-tunnel-thread { width: 66px; background: linear-gradient(to bottom,rgba(255,255,255,.12),rgba(255,255,255,.34)); filter: blur(16px); }
.growth-wheel-tunnel>.growth-tunnel-pool { top: auto; bottom: 0; width: 570px; height: 150px; transform: translate(-50%,50%); border-radius: 100%; background: radial-gradient(ellipse at center,color-mix(in srgb,color-mix(in srgb,var(--public-brand-blue) 70%,white) 40%,transparent),rgba(var(--public-brand-rgb),.14) 55%,transparent 75%); filter: blur(30px); animation: growth-tunnel-pool-breathe 7s ease-in-out infinite; }
@keyframes growth-tunnel-breathe { 0%,100% { opacity: .65; } 50% { opacity: 1; } }
@keyframes growth-tunnel-pool-breathe { 0%,100% { opacity: .7; } 50% { opacity: 1; } }
.growth-wheel-context[data-paused="true"] .growth-wheel-tunnel>span { animation-play-state: paused; }
@media(max-width:1023px) {
    body.doo-marketing .growing-page .growing-hero-grid { grid-template-columns: minmax(0,1fr); gap: 48px; }
    .growth-wheel-context { max-width: 600px; margin: 0 auto; }
}
@media(max-width:640px) {
    body.doo-marketing .growing-page .growing-hero { padding: 40px 0 64px; }
    .growth-wheel-label svg { width: 16px; height: 16px; margin-bottom: 4px; }
    .growth-wheel-label b { font-size: clamp(10px,2.5cqw,13px); }
    .growth-wheel-label>span { font-size: clamp(8px,2cqw,10.5px); }
    .growth-wheel-hub b { font-size: 20px; }
    .growth-wheel-hub span { font-size: 8px; }
}
@media(prefers-reduced-motion:reduce) {
    .growth-wheel-tunnel>span { animation: none; }
    .growth-segment-glow,.growth-segment-surface,.growth-wheel-label svg,.growth-wheel-label b,.growth-wheel-label>span { transition: none; }
}
