/* Ambient mesh stays behind content, with no pointer interception. */
main{position:relative;isolation:isolate;background:#051419}
main::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 15% 8%,#20a6b93b,transparent 28%),radial-gradient(ellipse at 85% 29%,#177a8838,transparent 30%),radial-gradient(ellipse at 25% 68%,#20a6b934,transparent 28%),radial-gradient(ellipse at 82% 90%,#16859c45,transparent 25%);background-size:150% 120%;animation:mesh-flow 24s ease-in-out infinite alternate}
.light,.final-cta{position:relative;isolation:isolate}
.light::before,.final-cta::before{content:"";position:absolute;inset:0;pointer-events:none;z-index:-1;background:radial-gradient(ellipse at 5% 10%,#20a6b925,transparent 55%),radial-gradient(ellipse at 90% 90%,#177a8820,transparent 55%);background-size:140% 140%;animation:mesh-flow 20s ease-in-out infinite alternate-reverse}
.final-cta::before{background-image:radial-gradient(ellipse at 5% 10%,#ffffff45,transparent 55%),radial-gradient(ellipse at 90% 90%,#00324930,transparent 55%)}
@keyframes mesh-flow{0%{background-position:0% 0%}50%{background-position:100% 35%}100%{background-position:30% 100%}}
.brand img{width:174px;max-width:100%;height:auto}footer>img{width:132px}
header{gap:25px}.brand{flex-shrink:0}.hero{gap:48px}.hero-copy,.journey,.pillar,.steps>*,.learning>*,.community>*{min-width:0}
.hero-word{display:inline-block;animation:word-arrive .9s cubic-bezier(.2,.8,.2,1) both;animation-delay:calc(var(--word,0)*140ms)}
.hero-word:nth-child(2){--word:1}.hero-word:nth-child(4){--word:2}.hero-word:nth-child(5){--word:3}
h1 em.hero-word{color:#36bfd0;background:linear-gradient(110deg,#20a6b9 15%,#a4f4f8 40%,#20a6b9 65%);background-size:220% 100%;background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;animation:word-arrive .9s .42s both,word-shimmer 7s 1.4s ease-in-out infinite}
@keyframes word-arrive{from{opacity:0;transform:translateY(22px);filter:blur(8px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}
@keyframes word-shimmer{0%,100%{background-position:100% 0}50%{background-position:0 0}}
a:not(.skip){position:relative;transition:transform .3s cubic-bezier(.2,.8,.2,1),background .3s,color .3s,box-shadow .3s;border-radius:6px;animation:link-breathe 6s ease-in-out infinite;animation-delay:var(--pulse-delay,0s)}
@keyframes link-breathe{0%,100%{box-shadow:0 0 0 0 #20a6b900}50%{box-shadow:0 0 0 3px #20a6b912,0 0 17px #20a6b90b}}
.button{overflow:hidden;isolation:isolate;max-width:100%;text-align:center;overflow-wrap:anywhere;min-height:44px}
.button::before{content:"";position:absolute;inset:-70% -30%;background:linear-gradient(115deg,transparent 35%,#ffffff70 48%,transparent 61%);transform:translateX(-110%) rotate(10deg);pointer-events:none;transition:transform .7s}
.button:hover::before,.button:focus-visible::before{transform:translateX(110%) rotate(10deg)}
a:not(.skip):hover,a:not(.skip):focus-visible{animation:none;transform:translateY(-3px);box-shadow:0 7px 24px #20a6b936,0 0 0 1px #20a6b955}
nav>a:not(.button),.text-link,.resource>a{background-image:linear-gradient(90deg,#20a6b9,#7de1ec);background-size:0 2px;background-position:0 100%;background-repeat:no-repeat;transition:background-size .35s,transform .3s,box-shadow .3s}
nav>a:not(.button):hover,.text-link:hover,.resource>a:hover{background-size:100% 2px}
.journey>a:hover,.journey>a:focus-visible{transform:translateY(0);background:linear-gradient(100deg,#20a6b930,#20a6b907);box-shadow:inset 4px 0 #52c5d6,inset 0 0 30px #20a6b914}
.journey>a b{transition:transform .35s,color .35s}.journey>a:hover b{transform:scale(1.18);color:#a4f4f8}
.powered-by{display:flex;align-items:center;gap:14px;text-decoration:none;flex-shrink:0}.powered-by>span:first-child{font-size:12px;white-space:nowrap;color:#bed4db}.lm-logo{display:flex;padding:7px 12px;background:#f5f9fa;border-radius:7px}.lm-logo img{width:145px;height:auto;display:block}
.link-tooltip{position:fixed;z-index:1000;max-width:min(320px,calc(100vw - 24px));padding:12px 16px;color:#eaffff;background:#102d36f5;border:1px solid #42bed17a;border-radius:12px;box-shadow:0 12px 35px #0005;backdrop-filter:blur(16px);font-size:13px;line-height:1.5;overflow-wrap:anywhere;opacity:0;visibility:hidden;transition:opacity .18s,visibility .18s;pointer-events:auto}
.link-tooltip.visible{visibility:visible;opacity:1}.link-tooltip small{display:block;font-size:10px;letter-spacing:1.3px;color:#78d7e4;margin-bottom:5px}
@media(min-width:761px) and (max-width:1100px){.hero{grid-template-columns:1fr 1fr;gap:30px}h1{font-size:clamp(38px,5.2vw,57px);letter-spacing:-2px}.community{gap:25px;padding:28px}.community>div+div{padding-left:25px}.community h3{font-size:21px}.pillar-top{flex-wrap:wrap}.pillars{gap:16px}.pillar{padding:20px}.pillar ul{min-height:0}.ready{gap:20px}.ready .button{max-width:45%}footer{flex-wrap:wrap}footer p{flex:1}}
@media(max-width:760px){header{gap:10px;padding:12px 20px;position:sticky}.brand img{width:145px}.brand{margin:auto}nav{justify-content:center;gap:14px;width:100%;font-size:13px}nav>a:first-child{display:inline}nav>a{min-height:40px;display:inline-flex;align-items:center}.hero{gap:30px}h1{font-size:clamp(35px,8.8vw,60px);letter-spacing:-1.7px;overflow-wrap:normal}.journey-head span{white-space:normal;font-size:10px}.journey-head>span:last-child{white-space:nowrap}.journey>a{gap:18px}.powered-by{margin-left:0}footer>img{width:125px}.lm-logo img{width:135px}.resource>a{padding:8px 0;min-height:44px}.community h3{font-size:clamp(19px,5.3vw,25px)}.ready .button{width:100%}.flow{padding:24px}.flow ol{gap:20px}.section-heading{gap:20px}.steps .button,.learning .button{font-size:13px}.hero .actions{gap:18px}.intro{font-size:16px}html{scroll-padding-top:150px}}
@media(max-width:760px){html{scroll-padding-top:190px}nav{gap:10px;font-size:12px}.small{font-size:12px;padding:8px 10px}}
@media(max-width:360px){.wrap{width:calc(100% - 32px)}header{padding:10px 16px}.flow ol{grid-template-columns:1fr}.pillar{padding:23px}.journey-head{padding:18px}.journey>a{padding:14px 18px}.community{padding:22px}.powered-by{gap:10px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.hero-word{opacity:1;transform:none;filter:none}h1 em.hero-word{-webkit-text-fill-color:#36bfd0}a:not(.skip):hover{transform:none}}
