/* Anticipation, effort, release, and rest give the hatch a readable sequence. */
.b-second-hatch{--born:0;--shed:0;--wing-open:0;--head-shake:0deg;--body-shake:0deg;--egg-rock:0deg}.b-second-creature{inset:80px 0 65px;opacity:var(--born);transform:translateY(calc((1 - var(--born))*120px)) scale(calc(.7 + var(--born)*.3)) rotate(var(--body-shake));transform-origin:50% 85%;z-index:2}.b-hatch-rig{position:relative;width:100%;height:100%;aspect-ratio:1;perspective:700px}.b-second-creature .b-hatch-part{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;transform:none;animation:none}.b-hatch-torso{clip-path:polygon(29% 36%,51% 30%,62% 58%,67% 75%,58% 100%,15% 100%,18% 71%);z-index:3}.b-hatch-head{clip-path:polygon(9% 0,65% 0,58% 25%,51% 45%,30% 46%,14% 34%);transform-origin:43% 43%;transform:rotate(var(--head-shake))!important;z-index:5}.b-hatch-wing-back{clip-path:polygon(0 20%,35% 23%,33% 44%,29% 67%,13% 79%,0 72%);transform-origin:32% 50%;transform:rotateY(calc((1 - var(--wing-open))*62deg)) rotate(calc((1 - var(--wing-open))*15deg))!important;z-index:1}.b-hatch-wing-front{clip-path:polygon(53% 0,100% 0,100% 62%,66% 69%,53% 57%);transform-origin:56% 53%;transform:rotateY(calc((1 - var(--wing-open))*-68deg)) rotate(calc((1 - var(--wing-open))*-18deg))!important;z-index:2}.b-hatch-tail{clip-path:polygon(63% 53%,100% 52%,100% 100%,57% 100%,62% 77%);transform-origin:64% 79%;z-index:2}.b-second-hatch[data-hatch=awake][data-visible=true] .b-hatch-rig{animation:hatch-breathe 3.8s ease-in-out infinite}.b-second-hatch[data-hatch=awake][data-visible=true] .b-hatch-head{animation:hatch-look 6.5s ease-in-out infinite!important}.b-second-hatch[data-hatch=awake][data-visible=true] .b-hatch-tail{animation:hatch-tail 4.3s ease-in-out infinite!important}.b-second-hatch[data-hatch=awake][data-visible=true] .b-hatch-wing-front{animation:hatch-wing-rest 4.7s ease-in-out infinite!important}.b-shell-piece{will-change:transform;transform-origin:50% 72%;z-index:6}.b-shell-piece-0{z-index:7}.b-hatch-caption{opacity:var(--born)}
.b-legendary .b-team>.b-team-portraits{display:grid;grid-template-columns:minmax(240px,1fr) 180px 180px;align-items:end;gap:30px;margin-top:35px}.b-team-portraits .b-team-dragon{height:300px;align-self:center;pointer-events:none}.b-team-portraits .b-team-dragon img{width:100%;height:100%;object-fit:contain;aspect-ratio:auto;filter:none}.b-legendary .b-team-portraits figure{width:100%;margin:0}.b-legendary .b-team-portraits figure img{filter:grayscale(calc(1 - var(--portrait-color,0)));transition:filter .18s linear}.b-team-portraits[data-visible=true] .b-team-dragon img{animation:team-dragon-breathe 4s ease-in-out infinite;transform-origin:65% 85%}
.b-footer-landing{position:absolute!important;left:0;top:0;width:var(--landing-w,260px);height:var(--landing-h,300px);display:block!important;margin:0!important;z-index:5!important;pointer-events:none;opacity:var(--arrival,0);transform:translate(var(--landing-x,-250px),var(--landing-y,-200px)) rotate(var(--landing-angle,0deg));will-change:transform}.b-footer-flight{position:absolute;inset:0;display:flex;align-items:center;opacity:calc(1 - var(--land,0));transform:scaleY(calc(1 - var(--land,0)*.15));transform-origin:50% 85%}.b-footer-flight .b-dragon-rig{transform:none;--fire:0}.b-footer-flight .b-local-fire{display:none}.b-footer-landing[data-visible=true] .b-footer-flight .b-dragon-near-wing{animation:near-wingbeat .85s ease-in-out infinite}.b-footer-landing[data-visible=true] .b-footer-flight .b-dragon-far-wing{animation:far-wingbeat .85s ease-in-out -.12s infinite}.b-footer-perched{position:absolute;inset:0;opacity:var(--land,0);transform:translateY(calc((1 - var(--land,0))*-12px)) scaleY(calc(.96 + var(--land,0)*.04));transform-origin:50% 100%}.b-perched-body{width:100%;height:100%;object-fit:contain;object-position:center bottom}.b-nostril-smoke{position:absolute;left:-9%;top:1%;width:40%;height:36%;object-fit:contain;opacity:var(--smoke,0);transform-origin:100% 100%;pointer-events:none}.b-footer-landing[data-landed=true][data-visible=true] .b-nostril-smoke{animation:nostril-wisp 3.6s ease-in-out infinite}.b-footer-landing[data-landed=true][data-visible=true] .b-perched-body{animation:hatch-breathe 4s ease-in-out infinite;transform-origin:50% 100%}.b-legendary .b-footer>div:not(.b-footer-landing){position:relative;z-index:4}.b-legendary .b-footer h2{max-width:72%}.b-legendary .b-footer>div:not(.b-footer-landing)>p{max-width:60%}.b-legendary .b-footer>div:not(.b-footer-landing){min-height:135px}.b-legendary .b-footer [data-contact]{min-width:180px;text-align:center;position:relative;z-index:10}
@keyframes hatch-breathe{0%,100%{transform:scaleY(1)}50%{transform:scaleY(1.018)}}@keyframes hatch-look{0%,65%,100%{transform:rotate(0deg)}76%{transform:rotate(-3deg)}87%{transform:rotate(1deg)}}@keyframes hatch-tail{0%,100%{transform:rotate(0deg)}50%{transform:rotate(4deg)}}@keyframes hatch-wing-rest{0%,100%{transform:rotateY(0deg) rotate(0deg)}50%{transform:rotateY(-8deg) rotate(-1deg)}}@keyframes team-dragon-breathe{0%,100%{transform:scaleY(1)}50%{transform:scaleY(1.025)}}@keyframes nostril-wisp{0%{opacity:calc(var(--smoke)*.15);transform:translate(6px,6px) scale(.65)}35%{opacity:calc(var(--smoke)*.7)}100%{opacity:0;transform:translate(-16px,-24px) scale(1.08)}}
@media(max-width:700px){.b-legendary .b-team>.b-team-portraits{grid-template-columns:1fr 1fr;gap:20px;margin-top:25px}.b-team-portraits .b-team-dragon{grid-column:1/-1;justify-self:start;width:85%;height:230px}.b-legendary .b-footer h2{max-width:100%}.b-legendary .b-footer>div:not(.b-footer-landing){padding-top:20px;gap:250px;align-items:stretch}.b-legendary .b-footer>div:not(.b-footer-landing)>p{max-width:100%}.b-legendary .b-footer [data-contact]{align-self:flex-end;min-width:170px}.b-second-creature{inset:50px 0 35px}}
.paused .b-hatch-rig,.paused .b-hatch-part,.paused .b-team-dragon img,.paused .b-footer-landing *{animation:none!important}.paused .b-nostril-smoke{display:none}
@media(prefers-reduced-motion:reduce){.b-hatch-rig,.b-hatch-part,.b-team-dragon img,.b-footer-landing *{animation:none!important}.b-nostril-smoke{display:none}.b-legendary .b-team-portraits figure img{filter:none;transition:none}}
/* Continuous 2D deformation replaces the separated wing/body cutouts. */
.b-skin{position:relative;width:100%;height:100%;aspect-ratio:1.5}.b-skin canvas,.b-skin-fallback{display:block;width:100%;height:100%;object-fit:contain}.b-skin canvas{position:absolute;inset:0;opacity:0}.b-skin.skin-ready canvas{opacity:1}.b-skin.skin-ready .b-skin-fallback{opacity:0}.b-hatch-rig .b-skin{aspect-ratio:1}.b-hatch-rig{animation:none!important}.b-dragon-rig{aspect-ratio:1.5}.b-second-creature .b-hatch-rig{animation:none!important}.b-growth-art .b-crack-layer{position:absolute;inset:0;opacity:var(--cracks,0)}.b-legendary .b-shell-top{transform:translate(calc(-50% + var(--hatch)*90px),calc(var(--hatch)*-120px)) rotate(calc(var(--hatch)*25deg + var(--shell-tremor,0deg)))}.b-legendary .b-shell-bottom{transform:translate(calc(-50% + var(--hatch)*20px),calc(var(--hatch)*45px)) rotate(calc(var(--hatch)*7deg + var(--shell-tremor,0deg)))}.b-legendary .b-hero-hatch{transform:translate(calc(-50% - var(--lift)*30px),calc(75px - var(--lift)*100px)) scale(calc(.59 + var(--lift)*.35));opacity:1}.b-hero-hatch .b-dragon-rig{--fire:var(--hero-fire,0)}.b-hero-hatch .b-local-fire{height:32%;top:40%;width:80%}.b-nostril-smoke{left:-32%;top:18%}.b-footer-flight .b-skin{height:auto}.b-footer-flight .b-skin canvas{height:100%}.b-second-hatch[data-hatch=awake] .b-second-creature{animation:hatch-breathe 3.8s ease-in-out infinite;transform-origin:50% 100%}
@media(max-width:700px){.b-legendary .b-hero-hatch{transform:translate(calc(-50% - var(--lift)*20px),calc(30px - var(--lift)*65px)) scale(calc(.6 + var(--lift)*.4))}.b-nostril-smoke{top:20%}}

/* iOS WebGL compositing can turn transparent illustration edges into opaque boxes.
   Keep the exact source artwork, but use its native alpha layer on narrow screens. */
@media(max-width:700px){.b-skin canvas{display:none!important}.b-skin .b-skin-fallback{opacity:1!important}}

/* A quiet paper grain ties the cream surfaces together. */
.b-legendary{position:relative;isolation:isolate}
.b-legendary::after{content:"";position:absolute;inset:0;z-index:15;pointer-events:none;opacity:.045;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='paper'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23paper)' opacity='.8'/%3E%3C/svg%3E")}
.b-legendary .b-growth-split .b-growth-heading h1 em{margin-top:6px;line-height:1}
.b-legendary .b-nav>span{display:block;position:absolute;left:50%;transform:translateX(-50%);white-space:nowrap;font-size:10px;letter-spacing:.035em;text-transform:none}
@media(max-width:850px){.b-legendary .b-nav{flex-wrap:wrap;padding-bottom:13px}.b-legendary .b-nav>span{position:static;transform:none;order:3;width:100%;text-align:center;font-size:10px}.b-legendary .b-nav nav{margin-left:auto}}

.b-legendary .b-crossing em{color:#e3774f}
