:root {
    --ease-out-expo: cubic-bezier(.16, 1, .3, 1);
    --ease-spring: cubic-bezier(.2, .85, .32, 1.25);
    --experience-shadow: 0 32px 90px rgba(6, 68, 34, .14);
}

.public-marketing {
    overflow-x: hidden;
}

.page-progress { position:fixed; z-index:10000; left:0; right:0; top:0; height:3px; pointer-events:none; }
.page-progress i { display:block; width:100%; height:100%; background:linear-gradient(90deg,var(--lime),var(--soft-lime)); transform:scaleX(0); transform-origin:left; will-change:transform; }

.public-marketing::before {
    content: "";
    position: fixed;
    inset: 0;
    pointer-events: none;
    z-index: 9997;
    opacity: 0;
    background: radial-gradient(360px circle at var(--pointer-x, 50%) var(--pointer-y, 30%), rgba(95, 234, 57, .075), transparent 72%);
    transition: opacity .4s ease;
}

.public-marketing.pointer-active::before { opacity: 1; }

.public-marketing .site-header {
    position: sticky;
    top: 0;
    z-index: 60;
    transition: height .35s var(--ease-out-expo), box-shadow .35s ease, background .35s ease;
}

.public-marketing .site-header.is-scrolled {
    height: 68px;
    background: rgba(255, 255, 255, .86);
    box-shadow: 0 10px 42px rgba(6, 68, 34, .09);
}

.public-marketing .main-nav a { position: relative; }
.public-marketing .main-nav a::after {
    content: "";
    position: absolute;
    left: 50%;
    right: 50%;
    bottom: -8px;
    height: 2px;
    border-radius: 2px;
    background: var(--lime);
    transition: left .3s var(--ease-out-expo), right .3s var(--ease-out-expo);
}
.public-marketing .main-nav a:hover::after { left: 0; right: 0; }

.motion-ready [data-reveal] {
    opacity: 0;
    filter: blur(8px);
    transform: translate3d(0, 42px, 0) scale(.985);
    transition: opacity .85s var(--ease-out-expo), transform .85s var(--ease-out-expo), filter .85s ease;
    transition-delay: var(--reveal-delay, 0ms);
    will-change: transform, opacity;
}
.motion-ready [data-reveal="left"] { transform: translate3d(-48px, 0, 0); }
.motion-ready [data-reveal="right"] { transform: translate3d(48px, 0, 0); }
.motion-ready [data-reveal="scale"] { transform: scale(.91); }
.motion-ready [data-reveal].is-visible { opacity: 1; filter: none; transform: none; }
.motion-ready [data-reveal][data-parallax].is-visible { transform: translate3d(var(--parallax-x, 0), calc(var(--parallax-y, 0) + var(--parallax-scroll, 0px)), 0); }
.motion-ready [data-reveal].tilt-card.is-visible { transform: perspective(1000px) rotateX(var(--rx)) rotateY(var(--ry)) translateZ(0); }

.cursor-dot,
.cursor-ring {
    position: fixed;
    left: 0;
    top: 0;
    z-index: 9999;
    pointer-events: none;
    opacity: 0;
    transform: translate3d(-50%, -50%, 0);
    transition: opacity .2s ease, width .25s var(--ease-out-expo), height .25s var(--ease-out-expo), background .25s ease, border-color .25s ease;
}
.cursor-dot { width: 6px; height: 6px; border-radius: 50%; background: var(--lime); }
.cursor-ring { width: 36px; height: 36px; border-radius: 50%; border: 1px solid rgba(95, 234, 57, .76); mix-blend-mode: difference; }
.pointer-active .cursor-dot,.pointer-active .cursor-ring { opacity: 1; }
.cursor-ring.is-hovering { width: 64px; height: 64px; background: rgba(95, 234, 57, .2); border-color: var(--lime); }
.cursor-ring.is-pressed { width: 26px; height: 26px; }

.home-hero {
    position: relative;
    isolation: isolate;
    min-height: calc(100vh - 78px);
    background: #043b20;
}
.home-hero .hero-grid { min-height: 760px; position: relative; z-index: 2; }
.home-hero .hero-copy { padding: 72px 0 96px; }
.home-hero .hero-copy h1 { max-width: 790px; }
.text-gradient {
    color: transparent;
    background: linear-gradient(105deg, #fff 5%, #bbf9a7 45%, #5fea39 92%);
    -webkit-background-clip: text;
    background-clip: text;
}
.hero-pill {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    border: 1px solid rgba(187, 249, 167, .24);
    background: rgba(255, 255, 255, .075);
    backdrop-filter: blur(12px);
    padding: 8px 14px;
    border-radius: 999px;
    font-size: .68rem;
    letter-spacing: .08em;
    text-transform: uppercase;
    font-weight: 800;
    color: #dff9d6;
}
.hero-pill i,.image-chip i,.live-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--lime);
    box-shadow: 0 0 0 5px rgba(95, 234, 57, .12);
    animation: pulseDot 2s ease-in-out infinite;
}
.hero-aurora { position: absolute; z-index: -1; border-radius: 50%; filter: blur(10px); pointer-events: none; }
.hero-aurora-one { width: 620px; height: 620px; right: -170px; top: -280px; background: radial-gradient(circle, rgba(95,234,57,.27), transparent 68%); animation: auroraDrift 12s ease-in-out infinite alternate; }
.hero-aurora-two { width: 450px; height: 450px; left: -260px; bottom: -260px; background: radial-gradient(circle, rgba(187,249,167,.13), transparent 70%); animation: auroraDrift 15s ease-in-out infinite alternate-reverse; }
.hero-grid-lines,.cta-grid {
    position: absolute;
    inset: 0;
    z-index: -1;
    opacity: .12;
    background-image: linear-gradient(rgba(255,255,255,.12) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.12) 1px, transparent 1px);
    background-size: 64px 64px;
    mask-image: linear-gradient(to right, transparent, #000 38%, #000 100%);
}
.video-link { display: inline-flex; align-items: center; gap: 12px; color: #fff; }
.video-link > span:last-child { display: flex; flex-direction: column; }
.video-link b { font-size: .82rem; }
.video-link small { color: #9fbba8; font-size: .64rem; }
.play-orb {
    width: 48px;
    height: 48px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    border: 1px solid rgba(255,255,255,.3);
    background: rgba(255,255,255,.08);
    font-size: .72rem;
    transition: background .3s ease, color .3s ease, transform .3s var(--ease-spring);
}
.video-link:hover .play-orb { background: #fff; color: var(--green); transform: scale(1.08); }
.hero-social-proof { display: flex; gap: 16px; align-items: center; margin: -26px 0 28px; }
.avatar-stack { display: flex; padding-left: 8px; }
.mini-avatar {
    width: 34px;
    height: 34px;
    margin-left: -8px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    border: 2px solid #064422;
    color: #173a27;
    font-size: .54rem;
    font-weight: 900;
}
.stars,.testimonial-stars { color: #ffe36d; letter-spacing: .11em; font-size: .72rem; }
.hero-social-proof p { margin: 1px 0 0; color: #a9c1b1; font-size: .69rem; }
.hero-social-proof strong { color: #fff; }
.avatar-mint { background: #baf5d8; }.avatar-violet { background: #d8c7ff; }.avatar-coral { background: #ffc8b9; }.avatar-blue { background: #b9dcff; }.avatar-amber { background: #ffe097; }.avatar-lime { background: #bbf9a7; }.avatar-rose { background: #ffc2d8; }.avatar-cyan { background: #b8eff0; }.avatar-peach { background: #ffd3b5; }.avatar-indigo { background: #c6ccff; }.avatar-green { background: #a9e4bc; }.avatar-orange { background: #ffc48f; }

.hero-image-frame {
    position: relative;
    overflow: hidden;
    border-radius: 260px 260px 36px 36px;
    border: 1px solid rgba(255, 255, 255, .18);
    background: rgba(255,255,255,.08);
    box-shadow: 0 50px 120px rgba(0,0,0,.25);
}
.hero-image-frame::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 68%, rgba(4,59,32,.35)); pointer-events: none; }
.hero-image-frame img { width: 100%; min-height: 590px; object-fit: cover; }
.image-chip { position: absolute; z-index: 2; top: 30px; left: 50%; transform: translateX(-50%); display: flex; align-items: center; gap: 9px; white-space: nowrap; padding: 9px 14px; border-radius: 999px; background: rgba(255,255,255,.91); color: var(--green); font-weight: 800; font-size: .65rem; box-shadow: 0 14px 35px rgba(0,0,0,.14); }
.hero-play { position: absolute; z-index: 3; inset: 50% auto auto 50%; width: 76px; height: 76px; transform: translate(-50%,-50%); border: 0; border-radius: 50%; background: var(--lime); color: var(--green); box-shadow: 0 0 0 14px rgba(95,234,57,.18); }
.hero-play::before,.hero-play::after { content:""; position:absolute; inset:-15px; border:1px solid rgba(95,234,57,.42); border-radius:50%; animation: playRipple 2.6s ease-out infinite; }
.hero-play::after { animation-delay: 1.3s; }
.hero-play span { position: relative; z-index: 1; }
.home-hero .floating-card { z-index: 4; border: 1px solid rgba(6,68,34,.09); }
.home-hero .fc-progress { left: -44px; bottom: 110px; width: 190px; flex-direction: column; }
.home-hero .fc-progress strong { font-size: 2rem; color: var(--green); }
.home-hero .fc-progress em { color: #2f9848; font-size: .62rem; font-style: normal; margin-top: 7px; }
.home-hero .fc-progress .mini-progress i { width: 0; }
.home-hero .fc-progress.is-visible .mini-progress i,.home-hero .is-visible .fc-progress .mini-progress i { width: var(--progress); }
.fc-note { right: -32px; bottom: 38%; align-items: center; gap: 11px; }
.fc-note div,.fc-community div:last-child { display: flex; flex-direction: column; }
.fc-note div span,.fc-community span { color: var(--muted); font-size: .62rem; }
.note-icon { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 12px; background: var(--soft-lime); color: var(--green); }
.fc-community { right: 7%; top: 16%; gap: 13px; align-items: center; }
.live-dot { flex: 0 0 auto; }
[data-float="1"] { animation: floatOne 5s ease-in-out infinite; }[data-float="2"] { animation: floatTwo 6s ease-in-out infinite; }[data-float="3"] { animation: floatOne 7s ease-in-out infinite reverse; }
.hero-orbit { position: absolute; overflow: visible; fill: none; stroke: rgba(187,249,167,.32); stroke-width: 1; animation: spin 13s linear infinite; }
.hero-orbit .orbit-dot { fill: var(--lime); stroke: none; }.orbit-one { right: -46px; top: 16%; width: 120px; }.orbit-two { left: -28px; top: 12%; width: 80px; animation-direction: reverse; animation-duration: 9s; }
.scroll-cue { position: absolute; z-index: 5; left: 28px; bottom: 30px; display: flex; align-items: center; gap: 10px; color: rgba(255,255,255,.55); font-size: .58rem; letter-spacing: .16em; text-transform: uppercase; transform: rotate(-90deg); transform-origin: left center; }
.scroll-cue span { width: 34px; height: 1px; background: currentColor; position: relative; overflow: hidden; }.scroll-cue span::after { content:""; position:absolute; inset:0; background:var(--lime); animation: scrollLine 2s ease-in-out infinite; }

.motion-marquee { overflow: hidden; background: #fff; }
.marquee-track { width: max-content; display: flex; animation: marquee 34s linear infinite; }
.marquee-group { min-height: 78px; display: flex; align-items: center; gap: 72px; padding-right: 72px; }
.marquee-group span { white-space: nowrap; text-transform: uppercase; font-size: .69rem; font-weight: 800; letter-spacing: .09em; color: #77817b; }
.marquee-group i { color: var(--green); font-style: normal; margin-right: 10px; }
.motion-marquee:hover .marquee-track { animation-play-state: paused; }

.marker-text { position: relative; z-index: 0; }
.marker-text::after { content:""; position:absolute; z-index:-1; left:-3px; right:-5px; bottom:4px; height:13px; background:var(--soft-lime); transform:scaleX(0); transform-origin:left; transition:transform 1s .35s var(--ease-out-expo); }
.is-visible .marker-text::after,.section-head.is-visible .marker-text::after { transform: scaleX(1); }
.experience-section { background: linear-gradient(180deg,#fff,#f7f9f7); }
.experience-bento { display: grid; grid-template-columns: 1.2fr .8fr .8fr; grid-template-rows: repeat(2, minmax(290px,auto)); gap: 20px; }
.bento-card { position: relative; overflow: hidden; border: 1px solid var(--border); border-radius: 26px; padding: 30px; background: #fff; transform-style: preserve-3d; box-shadow: 0 10px 35px rgba(6,68,34,.04); }
.bento-card h3 { margin: 18px 0 8px; font-size: 1.45rem; line-height: 1.2; }.bento-card p { color: var(--muted); margin: 0; font-size: .87rem; }
.bento-number { position: absolute; right: 24px; top: 20px; font-size: .65rem; font-weight: 800; color: rgba(6,68,34,.38); letter-spacing: .12em; }
.feature-icon { width: 48px; height: 48px; display:grid; place-items:center; border-radius:15px; background:var(--soft-lime); color:var(--green); }.feature-icon svg { width:24px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }.feature-icon.light { background:#fff; }
.bento-large { grid-row: span 2; display:flex; flex-direction:column; }.bento-large img { width: calc(100% + 30px); max-width:none; margin: auto -30px -30px 45px; border-radius: 20px 0 0 0; box-shadow: -20px -20px 55px rgba(6,68,34,.12); }
.bento-green { background:var(--green); color:#fff; }.bento-green p { color:#bcd0c2; }.bento-green .bento-number { color:rgba(255,255,255,.4); }
.chat-bubbles { display:flex; flex-direction:column; gap:8px; margin-top:25px; }.chat-bubbles span { align-self:flex-start; padding:9px 12px; background:rgba(255,255,255,.09); border-radius:12px 12px 12px 2px; font-size:.65rem; }.chat-bubbles span:last-child { align-self:flex-end; background:var(--lime); color:var(--green); border-radius:12px 12px 2px 12px; }
.bento-lime { background:var(--soft-lime); }.file-stack { display:flex; margin-top:28px; }.file-stack span { width:54px; aspect-ratio:1; display:grid; place-items:center; margin-right:-8px; border:2px solid var(--soft-lime); border-radius:16px; background:#fff; color:var(--green); font-size:.62rem; font-weight:900; transform:rotate(-5deg); box-shadow:0 9px 20px rgba(6,68,34,.08); }.file-stack span:nth-child(2n){transform:rotate(5deg)}
.bento-wide { grid-column: span 2; display:grid; grid-template-columns:.85fr 1.15fr; align-items:center; }.bento-wide img { width:110%; align-self:end; margin-bottom:-30px; }
.tilt-card { --rx:0deg; --ry:0deg; transform: perspective(1000px) rotateX(var(--rx)) rotateY(var(--ry)) translateZ(0); transition: transform .22s ease, box-shadow .35s ease; will-change:transform; }.tilt-card:hover { box-shadow:var(--experience-shadow); }

.courses-showcase { position:relative; }.courses-showcase::before { content:""; position:absolute; width:300px; height:300px; right:-180px; top:120px; border:65px solid rgba(187,249,167,.25); border-radius:50%; }
.public-marketing .course-card { transform-style:preserve-3d; transition: transform .25s ease, box-shadow .35s ease, border-color .35s ease; }.public-marketing .course-card:hover { border-color:rgba(6,68,34,.28); box-shadow:0 28px 70px rgba(6,68,34,.14); }.public-marketing .course-thumb img,.public-marketing .blog-card img,.public-marketing .resource-grid img { transition:transform .8s var(--ease-out-expo); }.public-marketing .course-card:hover img,.public-marketing .blog-card:hover img,.public-marketing .resource-grid article:hover img { transform:scale(1.055); }

.growth-section { position:relative; overflow:hidden; background:#072f1b; color:#fff; }.growth-noise { position:absolute; inset:0; opacity:.22; background:radial-gradient(circle at 10% 20%,rgba(95,234,57,.27),transparent 28%),radial-gradient(circle at 90% 80%,rgba(187,249,167,.12),transparent 35%); }.growth-grid { position:relative; display:grid; grid-template-columns:.82fr 1.18fr; gap:90px; align-items:center; }.growth-copy h2 { font-size:clamp(2.7rem,4.6vw,4.35rem); line-height:1.05; letter-spacing:-.05em; margin:16px 0 24px; }.growth-copy h2 span { color:var(--soft-lime); }.growth-copy>p { color:#abc1b2; max-width:550px; }.growth-stats { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin:36px 0; padding-top:25px; border-top:1px solid rgba(255,255,255,.13); }.growth-stats div { display:flex; flex-direction:column; }.growth-stats strong { font-size:1.6rem; color:var(--lime); }.growth-stats small { color:#8eaa98; font-size:.62rem; }
.growth-dashboard { position:relative; border:1px solid rgba(255,255,255,.15); border-radius:28px; background:rgba(255,255,255,.075); backdrop-filter:blur(20px); padding:30px; box-shadow:0 50px 100px rgba(0,0,0,.28); }.dashboard-top { display:flex; justify-content:space-between; align-items:start; }.dashboard-top>div { display:flex; flex-direction:column; }.dashboard-top small { color:#91aa9a; font-size:.62rem; letter-spacing:.12em; }.dashboard-top strong { font-size:2.7rem; }.trend-pill { padding:8px 12px; border-radius:999px; background:rgba(95,234,57,.13); color:var(--lime); font-size:.64rem; font-weight:800; }
.growth-chart { width:100%; margin:18px 0; overflow:visible; }.chart-grid path { fill:none; stroke:rgba(255,255,255,.09); stroke-width:1; }.chart-area { fill:url(#chartFill); opacity:0; transition:opacity .8s .45s ease; }.chart-line { fill:none; stroke:var(--lime); stroke-width:5; stroke-linecap:round; stroke-dasharray:1; stroke-dashoffset:1; transition:stroke-dashoffset 1.8s .2s var(--ease-out-expo); }.chart-points { fill:#fff; stroke:var(--lime); stroke-width:4; opacity:0; transition:opacity .5s 1.2s ease; }.growth-dashboard.is-visible .chart-line { stroke-dashoffset:0; }.growth-dashboard.is-visible .chart-area,.growth-dashboard.is-visible .chart-points { opacity:1; }
.dashboard-bottom { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }.dashboard-bottom>div { display:flex; gap:10px; align-items:center; padding:12px; border:1px solid rgba(255,255,255,.1); border-radius:14px; }.dashboard-bottom>div>span:last-child { display:flex; flex-direction:column; }.dashboard-bottom b { font-size:.75rem; }.dashboard-bottom small { color:#8da596; font-size:.55rem; }.metric-icon { width:32px; height:32px; display:grid; place-items:center; border-radius:10px; color:var(--green); background:var(--lime); font-size:.65rem; }.achievement-pop { position:absolute; right:-42px; bottom:-36px; display:flex; align-items:center; gap:11px; padding:14px 18px; border-radius:16px; background:#fff; color:var(--ink); box-shadow:0 20px 55px rgba(0,0,0,.25); }.achievement-pop>span { font-size:1.45rem; }.achievement-pop div { display:flex; flex-direction:column; }.achievement-pop small { color:var(--muted); font-size:.57rem; }

.method-section { position:relative; overflow:hidden; }.method-glow { position:absolute; width:600px; height:600px; right:-300px; top:-300px; border-radius:50%; background:radial-gradient(circle,rgba(95,234,57,.18),transparent 68%); }.method-section .method-grid article { transition:background .35s ease, transform .35s var(--ease-out-expo); }.method-section .method-grid article:hover { background:rgba(255,255,255,.05); transform:translateY(-8px); }.method-section .method-icon { transition:transform .5s var(--ease-spring), background .3s ease; }.method-section article:hover .method-icon { transform:rotate(12deg) scale(1.12); background:#fff; }

.testimonial-section { overflow:hidden; background:#f4f6f4; }.testimonial-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:40px; margin-bottom:46px; }.testimonial-heading h2 { font-size:clamp(2.5rem,4vw,3.8rem); line-height:1.07; letter-spacing:-.045em; margin:12px 0 0; }.carousel-controls { display:flex; align-items:center; gap:15px; }.carousel-controls button { width:48px; height:48px; border-radius:50%; border:1px solid var(--border); background:#fff; color:var(--green); font-size:1.1rem; transition:.25s ease; }.carousel-controls button:hover { background:var(--green); color:#fff; transform:scale(1.06); }.carousel-controls span { min-width:62px; text-align:center; color:var(--muted); font-size:.68rem; }.carousel-controls b { color:var(--green); }
.testimonial-rail { display:grid; grid-auto-flow:column; grid-auto-columns:calc((100% - 40px)/3); gap:20px; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; padding:3px 3px 28px; overscroll-behavior-inline:contain; }.testimonial-rail::-webkit-scrollbar{display:none}.testimonial-card { position:relative; min-height:330px; display:flex; flex-direction:column; scroll-snap-align:start; border:1px solid var(--border); border-radius:24px; background:#fff; padding:28px; box-shadow:0 14px 38px rgba(6,68,34,.05); transition:transform .35s var(--ease-out-expo),box-shadow .35s ease; }.testimonial-card:hover { transform:translateY(-7px); box-shadow:0 24px 60px rgba(6,68,34,.11); }.quote-mark { position:absolute; top:14px; right:23px; color:var(--soft-lime); font-family:Georgia,serif; font-size:5rem; line-height:1; }.testimonial-stars { margin-top:5px; }.testimonial-card blockquote { margin:25px 0 35px; font-size:.96rem; line-height:1.75; font-weight:600; flex:1; }.testimonial-person { display:grid; grid-template-columns:auto 1fr auto; gap:12px; align-items:center; border-top:1px solid var(--border); padding-top:20px; }.testimonial-person>div { display:flex; flex-direction:column; }.testimonial-person strong { font-size:.78rem; }.testimonial-person span,.testimonial-person small { color:var(--muted); font-size:.59rem; }.testimonial-person small { max-width:90px; text-align:right; }.svg-avatar { position:relative; width:48px; height:48px; display:grid; place-items:center; border-radius:50%; overflow:hidden; }.svg-avatar svg { position:absolute; inset:7px 5px -8px; fill:rgba(6,68,34,.16); }.svg-avatar b { position:relative; font-size:.6rem; color:var(--green); }.testimonial-progress { height:3px; background:#dce3de; border-radius:3px; overflow:hidden; }.testimonial-progress i { display:block; width:100%; height:100%; background:var(--green); border-radius:3px; transition:transform .5s var(--ease-out-expo); transform:scaleX(.0833); transform-origin:left; }

.instructor-section { overflow:hidden; }.photo-orbit { position:absolute; inset:-34px; border:1px dashed rgba(6,68,34,.22); border-radius:220px 220px 45px 45px; animation:orbitPulse 5s ease-in-out infinite; }.photo-orbit span { position:absolute; width:14px; height:14px; border-radius:50%; background:var(--lime); box-shadow:0 0 0 8px rgba(95,234,57,.15); }.photo-orbit span:nth-child(1){left:9%;top:20%}.photo-orbit span:nth-child(2){right:4%;top:43%}.photo-orbit span:nth-child(3){left:35%;bottom:-7px}.mentor-badge { position:absolute; right:-35px; bottom:55px; width:130px; aspect-ratio:1; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; border-radius:50%; background:var(--lime); color:var(--green); box-shadow:0 20px 45px rgba(6,68,34,.18); }.mentor-badge strong { font-size:2rem; line-height:1; }.mentor-badge span { max-width:80px; font-size:.58rem; font-weight:800; text-transform:uppercase; letter-spacing:.08em; }.mentor-points { display:flex; flex-direction:column; gap:7px; margin:22px 0 28px; color:var(--green); font-size:.78rem; font-weight:700; }

.visual-story-section { background:#fff; }.visual-story-grid { display:grid; grid-template-columns:1.25fr .75fr; grid-template-rows:repeat(2,280px); gap:20px; }.story-shot { position:relative; margin:0; overflow:hidden; border-radius:24px; background:#eef3ef; }.story-shot-main { grid-row:span 2; }.story-shot img { width:100%; height:100%; object-fit:cover; }.story-shot figcaption { position:absolute; left:20px; right:20px; bottom:20px; display:flex; flex-direction:column; padding:16px 18px; border:1px solid rgba(255,255,255,.25); border-radius:15px; background:rgba(4,53,27,.82); backdrop-filter:blur(12px); color:#fff; }.story-shot figcaption b { font-size:.82rem; }.story-shot figcaption span { color:#bcd0c2; font-size:.62rem; }.story-shot-accent { background:var(--soft-lime); }.creative-orbit { position:absolute; inset:20px 20px 70px; }.creative-orbit::before,.creative-orbit::after { content:""; position:absolute; inset:12%; border:1px dashed rgba(6,68,34,.3); border-radius:50%; animation:spin 22s linear infinite; }.creative-orbit::after { inset:31%; animation-direction:reverse; }.creative-orbit span,.creative-orbit strong { position:absolute; z-index:1; width:54px; height:54px; display:grid; place-items:center; border-radius:17px; background:#fff; color:var(--green); font-size:.75rem; box-shadow:0 12px 25px rgba(6,68,34,.13); }.creative-orbit span:nth-child(1){left:4%;top:35%}.creative-orbit span:nth-child(2){right:3%;top:15%}.creative-orbit span:nth-child(3){right:12%;bottom:0}.creative-orbit strong{left:42%;top:34%;width:70px;height:70px;border-radius:50%;background:var(--green);color:var(--lime);font-size:1.7rem}

.public-marketing .accordion details { transition:background .3s ease, padding .3s var(--ease-out-expo), border-color .3s ease; }.public-marketing .accordion details[open] { background:#f5f9f5; border-color:rgba(6,68,34,.22); padding-inline:18px; }.public-marketing .accordion summary span { transition:transform .35s var(--ease-spring); }.public-marketing .accordion details[open] summary span { transform:rotate(45deg); }
.home-final-cta { position:relative; overflow:hidden; isolation:isolate; }.home-final-cta .cta-grid { mask-image:radial-gradient(circle,#000,transparent 73%); }.home-final-cta .container { position:relative; z-index:2; }.home-final-cta h2 span { color:var(--soft-lime); }.home-final-cta p { color:#a8c1b0; margin:-17px 0 30px; }.cta-float { position:absolute; z-index:1; display:grid; place-items:center; border:1px solid rgba(255,255,255,.18); border-radius:22px; background:rgba(255,255,255,.06); color:var(--lime); backdrop-filter:blur(10px); }.cta-float-one { width:75px;height:75px;left:10%;top:23%;animation:floatOne 5s ease-in-out infinite}.cta-float-two{width:55px;height:55px;right:13%;top:19%;animation:floatTwo 6s ease-in-out infinite}.cta-float-three{width:86px;height:86px;right:8%;bottom:13%;animation:floatOne 7s ease-in-out infinite reverse}

/* Shared polish for every public-facing page. */
.public-marketing .page-hero,.public-marketing .course-hero,.public-marketing .about-hero,.public-marketing .article-hero { position:relative; overflow:hidden; isolation:isolate; }.public-marketing .page-hero::before,.public-marketing .course-hero::before,.public-marketing .about-hero::before { content:""; position:absolute; z-index:-1; width:520px;height:520px;right:-190px;top:-300px;border-radius:50%;background:radial-gradient(circle,rgba(95,234,57,.27),transparent 70%);animation:auroraDrift 12s ease-in-out infinite alternate}.public-marketing .page-hero::after,.public-marketing .course-hero::after { content:""; position:absolute; z-index:-1; inset:0; opacity:.1; background-image:linear-gradient(rgba(255,255,255,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.12) 1px,transparent 1px);background-size:64px 64px;mask-image:linear-gradient(90deg,transparent,#000)}
.public-marketing .hero-search,.public-marketing .big-search { transition:transform .3s var(--ease-out-expo),box-shadow .3s ease; }.public-marketing .hero-search:focus-within,.public-marketing .big-search:focus-within { transform:translateY(-3px);box-shadow:0 20px 45px rgba(0,0,0,.16)}
.public-marketing .article-cover,.public-marketing .hero-course-image,.public-marketing .about-grid img,.public-marketing .resource-cover { overflow:hidden; }.public-marketing .article-cover img,.public-marketing .hero-course-image img,.public-marketing .about-grid img,.public-marketing .resource-cover { transition:transform 1s var(--ease-out-expo); }.public-marketing .article-cover:hover img,.public-marketing .hero-course-image:hover img,.public-marketing .about-grid img:hover { transform:scale(1.025); }

/* Motion layer 1.2 for all public pages. */
.marquee-group i{display:inline-grid;place-items:center;width:32px;height:32px;margin-right:13px;border-radius:11px;background:rgba(187,249,167,.62);font-size:1.05rem;line-height:1;vertical-align:middle;box-shadow:0 7px 18px rgba(6,68,34,.08)}
.mini-avatar{overflow:hidden}.mini-avatar img,.svg-avatar img{width:100%;height:100%;object-fit:cover;display:block}.svg-avatar b{position:absolute;inset:0;place-items:center;background:var(--soft-lime)}.svg-avatar b:not([hidden]){display:grid}
.motion-title span{display:inline-block;opacity:0;transform:translateY(.72em) rotate(2deg);filter:blur(6px);animation:titleWordIn .9s calc(.12s + var(--word-delay)) var(--ease-out-expo) forwards}
.public-motion-orb{position:absolute;z-index:-1;width:150px;height:150px;border:1px solid rgba(95,234,57,.34);border-radius:42% 58% 65% 35%;right:8%;bottom:-55px;box-shadow:inset 0 0 55px rgba(95,234,57,.1),0 0 80px rgba(95,234,57,.08);animation:morphOrb 9s ease-in-out infinite,spin 22s linear infinite}.public-motion-orb-1{width:95px;height:95px;right:23%;bottom:auto;top:18%;animation-duration:7s,18s}.public-motion-orb-2{right:4%;width:220px;height:220px;opacity:.6}
.public-motion-card{position:relative;isolation:isolate;transition:transform .45s var(--ease-out-expo),box-shadow .45s ease,border-color .35s ease}.public-motion-card:after{content:"";position:absolute;z-index:-1;inset:-1px;border-radius:inherit;background:radial-gradient(260px circle at var(--card-x,50%) var(--card-y,50%),rgba(95,234,57,.13),transparent 56%);opacity:0;transition:opacity .35s ease;pointer-events:none}.public-motion-card:hover:after{opacity:1}.public-motion-card:hover{transform:translateY(-6px);border-color:rgba(6,68,34,.24);box-shadow:0 24px 65px rgba(6,68,34,.12)}
.public-marketing .content-block{border-radius:22px;padding:24px 24px 65px;margin-inline:-24px}.public-marketing .curriculum details,.public-marketing .outcomes div,.public-marketing .topic-tabs a,.public-marketing .social-links a{transition:transform .35s var(--ease-out-expo),box-shadow .35s ease,background .35s ease}.public-marketing .curriculum details:hover,.public-marketing .outcomes div:hover{transform:translateX(6px);box-shadow:0 14px 36px rgba(6,68,34,.08)}.public-marketing .topic-tabs a:hover,.public-marketing .social-links a:hover{transform:translateY(-3px);background:var(--soft-lime)}
.public-marketing .pagination .page-link{transition:transform .3s var(--ease-spring),background .25s ease}.public-marketing .pagination .page-link:hover{transform:translateY(-4px) rotate(-2deg);background:var(--soft-lime)}

@keyframes pulseDot { 0%,100%{transform:scale(1);box-shadow:0 0 0 4px rgba(95,234,57,.12)}50%{transform:scale(.82);box-shadow:0 0 0 8px rgba(95,234,57,0)} }
@keyframes auroraDrift { to{transform:translate3d(-70px,60px,0) scale(1.14)} }
@keyframes playRipple { 0%{transform:scale(.78);opacity:0}25%{opacity:1}100%{transform:scale(1.45);opacity:0} }
@keyframes floatOne { 0%,100%{transform:translate3d(0,0,0) rotate(0)}50%{transform:translate3d(0,-13px,0) rotate(1deg)} }
@keyframes floatTwo { 0%,100%{transform:translate3d(0,0,0) rotate(0)}50%{transform:translate3d(8px,-10px,0) rotate(-2deg)} }
@keyframes spin { to{transform:rotate(360deg)} }
@keyframes scrollLine { 0%{transform:translateX(-100%)}50%,100%{transform:translateX(100%)} }
@keyframes marquee { to{transform:translateX(-50%)} }
@keyframes orbitPulse { 0%,100%{transform:scale(1);opacity:.75}50%{transform:scale(1.025);opacity:1} }
@keyframes titleWordIn{to{opacity:1;transform:translateY(0) rotate(0);filter:blur(0)}}
@keyframes morphOrb{0%,100%{border-radius:42% 58% 65% 35%;transform:translateY(0)}50%{border-radius:68% 32% 41% 59%;transform:translateY(-18px)}}

@media (max-width: 1120px) {
    .home-hero .hero-grid { grid-template-columns: 1fr 1fr; gap: 25px; }
    .hero-image-frame img { min-height: 510px; }
    .home-hero .fc-progress { left: -20px; }
    .fc-note { right: -10px; }
    .experience-bento { grid-template-columns: 1fr 1fr; grid-template-rows:auto; }
    .bento-large { grid-row:span 2; }.bento-wide { grid-column:span 1; grid-template-columns:1fr; }.bento-wide img { margin-top:20px; }
    .growth-grid { gap:45px; }.achievement-pop { right:-15px; }
}

@media (max-width: 900px) {
    .home-hero .hero-grid { grid-template-columns:1fr; padding-top:0; }.home-hero .hero-copy { padding:75px 0 40px; }.home-hero .hero-visual { max-width:650px; margin-inline:auto; }.hero-image-frame img { min-height:0; }.scroll-cue { display:none; }
    .experience-bento { grid-template-columns:1fr 1fr; }.bento-large { grid-column:span 2; grid-row:auto; min-height:600px; }.bento-wide { grid-column:span 2; grid-template-columns:1fr 1fr; }
    .growth-grid { grid-template-columns:1fr; }.growth-dashboard { margin-top:20px; }.testimonial-rail { grid-auto-columns:calc((100% - 20px)/2); }.visual-story-grid { grid-template-columns:1fr 1fr;grid-template-rows:420px 300px}.story-shot-main{grid-column:span 2;grid-row:auto}.mentor-badge{right:0}
}

@media (max-width: 760px) {
    .cursor-dot,.cursor-ring { display:none; }
    .public-marketing .site-header.is-scrolled { height:62px; }
    .home-hero { min-height:auto; }.home-hero .hero-copy { padding-top:58px; }.home-hero .hero-copy h1 { font-size:clamp(2.85rem,14vw,4.2rem); }.hero-pill { font-size:.56rem; }.hero-actions { align-items:flex-start; flex-direction:column; margin-bottom:45px; }.hero-social-proof { margin-top:-20px; }.home-hero .trust-row { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }.home-hero .trust-row b { font-size:.9rem; }.home-hero .trust-row span { font-size:.57rem; }.hero-image-frame { border-radius:170px 170px 25px 25px; }.hero-play { width:62px;height:62px}.home-hero .floating-card { display:flex; transform:scale(.82); }.home-hero .fc-progress { left:-18px;bottom:35px }.fc-note { right:-20px;bottom:38% }.fc-community { display:none!important }.hero-orbit { display:none; }.marquee-group { gap:38px;padding-right:38px }.marquee-track { animation-duration:24s }
    .experience-bento { display:flex; flex-direction:column; }.bento-card { min-height:280px; }.bento-large { min-height:570px; }.bento-large img { margin-top:35px; }.bento-wide { display:block; }.bento-wide img { width:120%;margin:20px -10% -30px }.growth-stats { gap:8px }.growth-stats strong { font-size:1.15rem }.growth-stats small { font-size:.52rem }.growth-dashboard { padding:20px }.dashboard-bottom { grid-template-columns:1fr }.achievement-pop { position:static;margin-top:15px }.testimonial-heading { display:block }.carousel-controls { margin-top:25px;justify-content:flex-end }.testimonial-rail { grid-auto-columns:88%; }.testimonial-card { min-height:350px }.testimonial-person { grid-template-columns:auto 1fr }.testimonial-person small { grid-column:2;text-align:left }.visual-story-grid { display:flex;flex-direction:column }.story-shot { min-height:290px }.story-shot-main { min-height:420px }.photo-orbit { display:none }.mentor-badge { width:105px;right:0;bottom:35px }.cta-float { opacity:.45 }.cta-float-one { left:-20px }.cta-float-two { right:-10px }.cta-float-three { display:none }.public-marketing .page-hero::after,.public-marketing .course-hero::after { background-size:42px 42px }
}

@media (prefers-reduced-motion: reduce) {
    .public-marketing *, .public-marketing *::before, .public-marketing *::after { animation-duration:.01ms!important; animation-iteration-count:1!important; scroll-behavior:auto!important; transition-duration:.01ms!important; }
    .motion-ready [data-reveal] { opacity:1!important; filter:none!important; transform:none!important; }
    .cursor-dot,.cursor-ring { display:none!important; }
    .marquee-track { transform:none!important; }
    [data-parallax] { transform:none!important; }
}
