/* Public marketing design. Deliberately scoped away from operational portals. */
.premium-public { --bg: #080f0f; --surface: #101b19; --surface-2: #14231f; --blue: #c5efa0; --cyan: #c5efa0; --text: #f2f3ed; --text-dim: #a2b3ac; --border: #c5efa02b; --border-soft: #ffffff12; --grad-main: linear-gradient(115deg, #e6f8cc, #9edbbb); --grad-btn: linear-gradient(120deg, #d5f6af, #b8e993); background: var(--bg); color: var(--text); font-family: var(--font-body); -webkit-font-smoothing: antialiased; }
.premium-public ::selection { color: #102019; background: #c5efa0; }
.premium-public :is(a,button,input,summary):focus-visible { outline: 2px solid #aee29d; outline-offset: 5px; }
.premium-public .container { width: min(1280px, 90%); }
.premium-public .section-pad { padding: 112px 0; }
.premium-public .section-label { font-size: 10px; letter-spacing: .19em; margin-bottom: 25px; }
.premium-public .section-label::before { width: 22px; background: #b8e993; box-shadow: none; }
.premium-public .section-title { font-size: clamp(36px, 4.5vw, 64px); letter-spacing: -.055em; line-height: 1.09; font-weight: 500; max-width: 960px; }
.premium-public .section-sub { font-size: 16px; line-height: 1.85; max-width: 590px; }
.premium-public .grad-text { background: var(--grad-main); background-clip: text; -webkit-background-clip: text; animation: none; }
.premium-public :is(.watermark,.orb,.beam,.mesh-blob,.orbit,.glow-rule,.scanline,#grain,#cursor,#cursor-ring,#spotlight,#stats-particles) { display: none; }
.premium-public .btn { border-radius: 9px; padding: 16px 22px; font-size: 13px; font-weight: 600; min-height: 52px; transform: none; transition: transform .25s, background .25s, box-shadow .25s; }
.premium-public .btn::before,.premium-public .btn::after { display: none; }
.premium-public .btn-primary { background: #c5efa0; color: #17291b; box-shadow: 0 4px 22px #b8e9930c; border: 1px solid #c5efa0; }
.premium-public .btn-primary:hover { transform: translateY(-3px); background: #dcf8c4; box-shadow: 0 8px 30px #a3d97f20; }
.premium-public .btn-ghost { color: #ebeee9; border: 1px solid #ffffff20; background: #ffffff03; }
.premium-public .btn-ghost:hover { transform: translateY(-3px); background: #ffffff08; border-color: #c5efa060; }
.premium-public .btn span[aria-hidden] { font-size: 19px; line-height: 1; }
.dp-skip { position: fixed; left: 20px; top: -70px; background: #c5efa0; color: #102019; padding: 12px 20px; border-radius: 6px; z-index: 3000; }
.dp-skip:focus { top: 20px; }
.premium-public #navbar { width: min(1360px, 94%); left: 50%; top: 20px; transform: translateX(-50%); border: 1px solid #ffffff18; border-radius: 14px; background: #0c1514d9; backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px); box-shadow: 0 8px 40px #00000015; }
.premium-public #navbar .nav-inner { width: 100%; padding: 0 25px; height: 76px; }
.premium-public #navbar .logo { font-size: 19px; gap: 7px; }
.premium-public #navbar .logo-mark { width: 33px; height: 33px; filter: none; }
.premium-public .grad-text-brand { background: none; color: #b9d8be; animation: none; }
.premium-public .nav-links { gap: 23px; }
.premium-public .nav-link { color: #aebeb5; font-size: 12px; }
.premium-public .nav-link::after { background: #c5efa0; height: 1px; }
.premium-public .nav-cta { background: #e5eedc; color: #183121; font-size: 12px; padding: 11px 17px; border-radius: 7px; box-shadow: none; border: 0; }
.premium-public .nav-cta:hover { background: #c5efa0; }
.premium-public.dp-scrolled #navbar { top: 10px; background: #0b1513f5; box-shadow: 0 8px 35px #0004; }
.premium-public .mobile-menu { background: #0d1a16; padding-top: 125px; }
.premium-public .mobile-link { font-size: clamp(24px,6vw,38px); color: #e5eddf; }
.premium-public .mobile-menu .mobile-cta { color: #c5efa0; }
.premium-public #scroll-progress,.dp-reading-progress { position: fixed; height: 2px; left: 0; right: 0; top: 0; background: #c5efa0; transform: scaleX(0); transform-origin: left; z-index: 1500; pointer-events: none; }
.premium-public #hero { position: relative; min-height: 790px; min-height: min(900px, 100svh); padding: 170px 0 0; display: flex; flex-direction: column; justify-content: space-between; background: radial-gradient(ellipse at 79% 40%, #1c45314d, transparent 48%), #080f0f; }
.premium-public #hero::after { display: none; }
.dp-hero-grid { position: absolute; inset: 0; background-image: linear-gradient(#bbefc304 1px,transparent 1px),linear-gradient(90deg,#bbefc304 1px,transparent 1px); background-size: 72px 72px; mask-image: linear-gradient(90deg, transparent, black); pointer-events: none; }
.dp-hero-layout { display: grid; grid-template-columns: 1.1fr 1fr; align-items: center; gap: 45px; }
.premium-public .hero-content { text-align: left; padding: 0; max-width: none; min-width: 0; }
.premium-public .hero-eyebrow { font-size: 9px; letter-spacing: .17em; color: #adceaf; margin: 0 0 30px; background: none; border: none; padding: 0; box-shadow: none; }
.premium-public .pulse-dot { background: #c5efa0; width: 6px; height: 6px; box-shadow: 0 0 0 4px #c5efa00d; animation: dp-pulse 4s ease-in-out infinite; }
.premium-public .hero-title { font-size: clamp(60px,7.4vw,108px); font-weight: 500; line-height: .99; letter-spacing: -.065em; margin: 0 0 30px; }
.premium-public .hero-title .grad { display: inline; background: var(--grad-main); background-clip: text; -webkit-background-clip: text; color: transparent; animation: none; }
.premium-public .hero-sub { font-size: 16px; max-width: 480px; color: #a6b8af; margin: 0 0 30px; line-height: 1.85; }
.premium-public .hero-ctas { justify-content: flex-start; gap: 12px; }
.dp-hero-note { display: flex; align-items: center; gap: 10px; margin-top: 25px; font-size: 10px; color: #7e978a; }
.dp-note-line { width: 20px; height: 1px; background: #92b7a0; }
.dp-hero-bottom { position: relative; display: flex; justify-content: space-between; align-items: center; gap: 20px; margin-top: 65px; padding-block: 24px; border-top: 1px solid #ffffff10; color: #83958c; font-size: 9px; }
.dp-hero-bottom > span:first-child { letter-spacing: .13em; }
.dp-hero-bottom a { display: flex; gap: 15px; color: #cad8c9; }
.dp-visual { position: relative; width: 100%; aspect-ratio: 1; max-width: 570px; justify-self: center; isolation: isolate; }
.dp-orbit-halo { position: absolute; inset: 12%; background: radial-gradient(circle,#b5ee7c18,transparent 68%); filter: blur(15px); }
.dp-orbit { position: absolute; border: 1px solid #d0f4bf18; border-radius: 50%; animation: dp-spin 40s linear infinite; }
.dp-orbit-outer { inset: 5%; border-style: dashed; border-color: #a5dabb1a; }
.dp-orbit-middle { inset: 14%; border-color: #d3f5ca3b; animation-duration: 30s; animation-direction: reverse; }
.dp-orbit-inner { inset: 25%; border-color: #d2fba134; animation-duration: 23s; }
.dp-orbit i { position: absolute; left: 50%; top: -4px; width: 7px; height: 7px; border-radius: 50%; background: #d7fdb1; box-shadow: 0 0 18px #c5efa07a; }
.dp-orbit-outer i { background: #7cae92; width: 5px; height: 5px; top: -3px; }
.dp-orbit-axis { position: absolute; top: 50%; left: 4%; right: 4%; height: 1px; background: linear-gradient(90deg,transparent,#b4efaf19,transparent); }
.dp-axis-one { transform: rotate(45deg); }.dp-axis-two { transform: rotate(-45deg); }
.dp-core { position: absolute; left: 50%; top: 50%; width: 31%; aspect-ratio: 1; transform: translate(-50%,-50%) rotate(-12deg); border-radius: 32px; background: linear-gradient(135deg,#6c8d651a,#314d3710); padding: 9px; border: 1px solid #a9d6903d; box-shadow: 0 25px 55px #0007,inset 0 1px 0 #d3efbd36; }
.dp-core-face { display: flex; flex-direction: column; align-items: center; justify-content: center; width: 100%; height: 100%; border-radius: 24px; background: linear-gradient(145deg,#233b2b,#0d1b14); border: 1px solid #bddfb329; gap: 5px; }
.dp-core-face img { width: 51%; height: auto; transform: rotate(12deg); filter: drop-shadow(0 0 16px #a9e39020); }
.dp-core-face span { font: 8px var(--font-head); letter-spacing: .27em; color: #c0d0b6; transform: rotate(12deg); }
.dp-orbit-label { position: absolute; display: flex; gap: 8px; align-items: center; font-size: 10px; color: #cbdcca; padding: 9px 13px; border: 1px solid #aacc9828; border-radius: 30px; background: #122018; }
.dp-label-top { top: 6%; left: 25%; }
.dp-status-dot { width: 5px; height: 5px; background: #c5efa0; border-radius: 50%; }
.dp-floating { position: absolute; display: flex; gap: 13px; padding: 18px; border-radius: 13px; background: linear-gradient(120deg,#20342ae8,#12201bee); border: 1px solid #cdebc225; box-shadow: 0 15px 35px #0004; backdrop-filter: blur(12px); animation: dp-float 7s ease-in-out infinite; }
.dp-floating > div { display: grid; gap: 4px; }.dp-floating small { color: #83a088; font-size: 7px; letter-spacing: .11em; }
.dp-floating strong { color: #e7f0df; font-size: 12px; font-weight: 500; }.dp-floating div > span { font-size: 9px; color: #9bb29d; }
.dp-widget-icon { display: grid; place-items: center; align-self: flex-start; width: 30px; height: 30px; border: 1px solid #c4e5b62a; background: #b8e9930e; border-radius: 7px; color: #c5efa0; font-size: 13px; }
.dp-float-code { top: 24%; right: -1%; }.dp-float-learn { bottom: 14%; left: -2%; animation-delay: -3.5s; }
.dp-code-bars { display: flex; gap: 3px; padding-top: 5px; }.dp-code-bars i { display: block; height: 3px; width: 40px; border-radius: 3px; background: #c5efa04f; }.dp-code-bars i:nth-child(2) { width: 23px; background:#c5efa023; }.dp-code-bars i:last-child { width:16px; }
.dp-orbit-caption { display: flex; align-items: center; justify-content: center; gap: 14px; position: absolute; bottom: 0; left: 0; right: 0; font-size: 8px; letter-spacing: .17em; color: #6f8d79; }
.dp-orbit-caption i { width: 3px; height: 3px; background: #658568; border-radius: 50%; }
.dp-paused *, .dp-tab-hidden * { animation-play-state: paused !important; }
.dp-home #services { background: #0b1312; border-block: 1px solid #ffffff09; }
.premium-public .services-grid { gap: 18px; margin-top: 48px; }
.premium-public .service-card { position: relative; border-radius: 17px; padding: 32px; border: 1px solid #bcd3b51c; background: radial-gradient(450px circle at var(--pointer-x,50%) var(--pointer-y,0%),#b8e9930b,transparent 65%),linear-gradient(135deg,#17231d,#101b17); box-shadow: none; transform-style: flat; min-height: 295px; transition: border-color .3s, background .3s, translate .3s; }
.premium-public .service-card::before,.premium-public .service-card::after { display: none; }
.premium-public .service-card:hover { border-color: #a1ca8b69; translate: 0 -5px; box-shadow: 0 18px 35px #0002; }
.premium-public .service-icon { width: 48px; height: 48px; background: #c5efa00a; border: 1px solid #c5efa029; border-radius: 12px; box-shadow: none; margin-bottom: 32px; transform: none; }
.premium-public .service-icon svg { stroke: #c5efa0; width: 24px; height: 24px; }
.premium-public .service-card h3 { font-size: 23px; font-weight: 500; letter-spacing: -.035em; margin-bottom: 14px; transform: none; }
.premium-public .service-card p { font-size: 14px; line-height: 1.8; color: #99ada0; transform: none; max-width: 490px; }
.premium-public .card-link { font-size: 12px; color: #c5efa0; margin-top: 28px; transform: none; text-shadow: none; }
.dp-home #services-grid .service-card:first-child,.dp-home #services-grid .service-card:last-child { grid-column: span 2; }
.dp-home #services-grid .service-card:first-child { background: radial-gradient(ellipse at 95% 25%,#aee98d20,transparent 65%),#15241b; }
.dp-home #services-grid .service-card:last-child { background: linear-gradient(110deg,#183027,#111f1b); }
.dp-home #college-training { background: #e9eee4; --text: #192c21; --text-dim: #536559; --cyan: #315a3d; --border: #314e2c2a; color: var(--text); }
.dp-home #college-training .grad-text { background: none; color: #4f7343; }
.dp-home #college-training .section-label::before { background: #4f7343; }
.dp-home #college-training .btn-primary { background: #1d3828; color: #e9f1df; border-color: #1d3828; }
.dp-home #college-training .btn-primary:hover { background: #30543a; }
.premium-public .college-preview-month { position: relative; padding: 35px; border-radius: 19px; background: #f8faf4; border: 1px solid #36592c26; box-shadow: 0 20px 50px #25391f0a; }
.premium-public .college-preview-stats { margin: 28px 0; border-color: #18331e17; }
.premium-public .college-preview-stats dt { font-size: 49px; font-weight: 500; letter-spacing: -.06em; }
.premium-public .college-preview-kicker { font-size: 9px; color: #466b40; letter-spacing: .13em; }
.premium-public .college-preview-weeks li > span { color: #4f7343; }
.premium-public .college-preview-weeks strong { font-size: 15px; font-weight: 500; }
.premium-public .college-preview-card { border: 1px solid #193f231a; background: #f6f8f1; border-radius: 15px; padding: 29px; transition: translate .3s, box-shadow .3s; }
.premium-public .college-preview-card:hover { background: white; translate: 0 -5px; box-shadow: 0 18px 30px #18331e0b; }
.premium-public .college-preview-card h3 { font-size: 25px; letter-spacing: -.035em; font-weight: 500; }
.premium-public .college-preview-card a { font-size: 12px; }
.dp-home #process { background: #0b1411; }
.premium-public .process-track { margin-top: 55px; }.premium-public .process-line { display: none; }
.premium-public .process-steps { gap: 25px; }.premium-public .step { text-align: left; padding: 25px 0; border-top: 1px solid #c5efa035; }
.premium-public .step-num { display: block; width: auto; height: auto; border: 0; background: none; box-shadow: none; margin: 0 0 32px; color: #729567; font-size: 46px; font-weight: 500; letter-spacing: -.06em; }
.premium-public .step h3 { font-size: 24px; letter-spacing: -.03em; font-weight: 500; }.premium-public .step p { font-size: 13px; line-height: 1.9; max-width: 255px; }
.dp-home #stats { background: #101e17; padding: 55px 0; border-block: 1px solid #ffffff0b; }.premium-public .stat { text-align: left; padding-left: 25px; border-left: 1px solid #c5efa024; }
.premium-public .stat-value { font-size: clamp(42px,5vw,65px); color: #e6eedd; font-weight: 500; letter-spacing: -.05em; text-shadow: none; }.premium-public .stat-label { font-size: 11px; letter-spacing: .06em; margin-top: 7px; }
.premium-public .tech-pill { background: #14221a; color: #b9ccba; border-color: #cee9bf20; border-radius: 9px; padding: 14px 23px; font-size: 15px; box-shadow: none; }
.premium-public .tech-pill .dot { width: 5px; height: 5px; background: #a6ca8f; box-shadow: none; }
.premium-public .marquee-track { animation-duration: 70s; }.premium-public .marquee-wrap:hover .marquee-track { animation-play-state: paused; }
.dp-home #testimonials { background: #0d1613; border-top: 1px solid #ffffff09; }
.premium-public .testimonial { border-radius: 17px; background: #152019; border: 1px solid #d6edc916; box-shadow: none; padding: 30px; transform-style: flat; }
.premium-public .testimonial::before { color: #accd9052; }.premium-public .testimonial p { color: #c0d0be; font-size: 15px; line-height: 1.9; }
.premium-public .testimonial-stars { color: #b8d69b; letter-spacing: 5px; font-size: 12px; }.premium-public .testimonial-author { border-color: #d6edc916; }
.premium-public #contact { min-height: 0; padding: 115px 0; background: radial-gradient(ellipse at 50% 100%,#42613930,transparent 65%),#0d1912; border-top: 1px solid #c5efa01a; }
.premium-public .cta-inner { max-width: 850px; }.premium-public .cta-title { font-size: clamp(40px,5.8vw,79px); font-weight: 500; letter-spacing: -.055em; line-height: 1.05; }
.premium-public .cta-sub { color: #9bb39b; font-size: 15px; max-width: 550px; line-height: 1.85; margin: 24px auto 30px; }
.premium-public .cta-form { gap: 10px; padding: 9px; border: 1px solid #c5efa028; border-radius: 13px; background: #1c2b1e; }
.premium-public .cta-form input { border-radius: 6px; border: 1px solid #ffffff0d; background: #101c14; padding: 16px; box-shadow: none; font-size: 13px; color: #e5efdf; }
.premium-public .cta-form .btn { white-space: nowrap; }.premium-public .cta-form .btn:disabled { opacity: .65; }
.dp-form-status { min-height: 22px; color: #d1e8b6; font-size: 13px; margin-top: 14px; }.premium-public .cta-alt { font-size: 11px; color: #9eb194; }
.premium-public footer { background: #080f0c; padding: 70px 0 30px; border-top: 1px solid #ffffff0a; }
.dp-footer-wordmark { color: #e1edcf; font: 500 clamp(43px,8.8vw,132px)/1.1 var(--font-head); letter-spacing: -.065em; padding: 0 0 48px; margin-bottom: 40px; border-bottom: 1px solid #b8e99322; }
.premium-public .footer-grid { gap: 35px; }.premium-public .footer-brand p { font-size: 13px; color: #869c86; }.premium-public .footer-col h3 { color: #d2dfc6; font-size: 11px; letter-spacing: .1em; }.premium-public .footer-col a { font-size: 12px; color: #8fa38e; }.premium-public .footer-bottom { border-color: #ffffff0b; font-size: 11px; }
.premium-public .svc-hero { padding: 180px 0 80px; background: radial-gradient(ellipse at 80% 0,#77935322,transparent 70%),#0c1812; border-bottom: 1px solid #d0eabd13; }
.premium-public .svc-hero .section-title { font-size: clamp(43px,6vw,82px); max-width: 1000px; }.premium-public .svc-crumb { font-size: 10px; letter-spacing: .08em; flex-wrap: wrap; }
.premium-public .svc-section { padding: 75px 0; }.premium-public .svc-section:nth-child(odd) { background: #101d15; }
.premium-public .svc-overview { max-width: 980px; }.premium-public .svc-overview p { max-width: none; font-size: 16px; line-height: 1.95; }
.premium-public .svc-h2 { font-weight: 500; font-size: 36px; letter-spacing: -.04em; }
.premium-public .faq { background: #ffffff03; border-color: #d8edbf1c; border-radius: 10px; }.premium-public .faq summary { font-size: 15px; font-weight: 500; padding: 23px; }.premium-public .faq[open] { border-color: #bdd99146; background: #bbd99307; }
.premium-public .svc-cta { padding: 90px 0; background: radial-gradient(ellipse at 50% 80%,#31522a25,transparent 60%); }.premium-public .svc-cta .section-title { margin-inline: auto; }
.premium-public .svc-footer { font-size: 12px; padding: 35px 5%; line-height: 2; }
.premium-public .legal { max-width: 850px; margin-inline: auto; }.premium-public .legal h2 { font-weight: 500; letter-spacing: -.03em; }
@keyframes dp-spin { to { transform: rotate(360deg); } }
@keyframes dp-float { 0%,100% { transform: translateY(0) rotate(-2deg); } 50% { transform: translateY(-12px) rotate(1deg); } }
@keyframes dp-pulse { 50% { box-shadow: 0 0 0 6px #c5efa014; } }
@media (max-width: 1180px) {
  .premium-public #navbar .nav-inner { height: 66px; }.premium-public #hero { min-height: auto; padding-top: 150px; }
  .dp-hero-layout { gap: 20px; }.premium-public .hero-title { font-size: clamp(62px,8vw,90px); }
  .dp-floating { padding: 13px; gap: 8px; }.dp-floating strong { font-size: 10px; }.dp-widget-icon { width: 25px; height: 25px; }
  .premium-public .hero-ctas { flex-wrap: wrap; }.premium-public .hero-ctas .btn { font-size: 12px; padding: 14px 17px; }
}
@media (max-width: 860px) {
  .premium-public .section-pad { padding: 80px 0; }.dp-hero-layout { grid-template-columns: 1fr; gap: 30px; }.premium-public .hero-content { max-width: 680px; }
  .premium-public .hero-title { font-size: clamp(62px,11vw,88px); }.premium-public .hero-sub { max-width: 570px; }
  .dp-visual { max-width: 460px; }.dp-hero-bottom { margin-top: 40px; }.dp-hero-bottom > span:nth-child(2) { display: none; }
  .dp-home #services-grid .service-card:first-child,.dp-home #services-grid .service-card:last-child { grid-column: auto; }
  .premium-public .process-steps { grid-template-columns: repeat(2,1fr); }.premium-public .step p { max-width: none; }
  .premium-public .cta-form { flex-wrap: wrap; }.premium-public .cta-form input { flex: 1 1 200px; min-width: 0; }
}
@media (max-width: 560px) {
  .premium-public #navbar { top: 12px; width: 94%; border-radius: 11px; }.premium-public #navbar .nav-inner { padding-inline: 14px; height: 64px; }
  .premium-public #navbar .logo { font-size: 15px; gap: 5px; }.premium-public #navbar .logo-mark { width: 29px; height: 29px; }
  .premium-public #hero { padding-top: 125px; }.premium-public .hero-title { font-size: clamp(57px,14vw,77px); }.premium-public .hero-eyebrow { font-size: 8px; letter-spacing: .13em; margin-bottom: 23px; }
  .premium-public .hero-sub { font-size: 14px; }.premium-public .hero-ctas { flex-direction: row; align-items: stretch; }.premium-public .hero-ctas .btn { width: auto; flex: 1 1 190px; }
  .dp-hero-note { font-size: 9px; }.dp-visual { width: 96%; margin-top: 10px; }.dp-floating { padding: 12px; }.dp-float-code { right: -2%; }.dp-float-learn { left: -2%; }
  .dp-floating small { font-size: 6px; }.dp-floating strong { font-size: 9px; }.dp-floating div > span { font-size: 8px; }.dp-widget-icon { width: 23px; height: 23px; font-size: 11px; }
  .dp-core { border-radius: 23px; padding: 6px; }.dp-core-face { border-radius: 17px; }.dp-core-face span { font-size: 6px; }.dp-orbit-label { font-size: 8px; padding: 7px 10px; }
  .dp-hero-bottom { font-size: 8px; align-items: flex-start; }.dp-hero-bottom > span:first-child { max-width: 170px; }.dp-hero-bottom a { gap: 7px; white-space: nowrap; }
  .premium-public .section-pad { padding: 65px 0; }.premium-public .service-card { padding: 25px; min-height: 270px; }.premium-public .services-grid { margin-top: 32px; }
  .premium-public .college-preview-month { padding: 25px; }.premium-public .college-preview-stats dt { font-size: 38px; }.premium-public .college-preview-card { padding: 25px; }
  .premium-public .process-steps { gap: 18px; }.premium-public .step h3 { font-size: 21px; }.premium-public .step-num { font-size: 37px; margin-bottom: 20px; }
  .premium-public .stat { padding-left: 17px; }.premium-public .stat-label { font-size: 9px; }.premium-public .cta-title { font-size: 42px; }.premium-public #contact { padding: 75px 0; }
  .premium-public .cta-form { display: grid; padding: 10px; }.premium-public .cta-form input { width: 100%; }.premium-public .cta-alt { line-height: 2.4; }
  .dp-footer-wordmark { font-size: 12vw; padding-bottom: 30px; margin-bottom: 30px; }.premium-public footer { padding-top: 45px; }
  .premium-public .svc-hero { padding: 135px 0 55px; }.premium-public .svc-section { padding: 55px 0; }
}
/* Cinematic motion layer — scoped, pausable, and independent of rendering. */
.premium-public .dp-title-line { display: block; white-space: nowrap; }
.premium-public .dp-word-mask { display: inline-block; overflow: clip; vertical-align: top; padding-bottom: .12em; margin-bottom: -.12em; text-shadow: none; }
.premium-public [data-title-word] { display: inline-block; transform-origin: 0 100%; }
.premium-public .hero-title .dp-title-line.grad { display: block; background-image: linear-gradient(110deg,#a4dba6 10%,#e6ffbe 35%,#86dfc0 60%,#e6ffbe 85%); background-size: 220% 100%; animation: dp-title-sheen 7s ease-in-out infinite alternate; }
.premium-public #hero .hero-content { translate: 0 var(--hero-travel,0px); opacity: var(--hero-fade,1); }
.premium-public .dp-visual { transform: perspective(1100px) rotateX(var(--scene-rx,0deg)) rotateY(var(--scene-ry,0deg)) rotateZ(var(--hero-turn,0deg)); transform-style: preserve-3d; }
.dp-particle-globe { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; z-index: 1; }
.dp-energy-ring { position: absolute; inset: 12%; border-radius: 50%; background: conic-gradient(from 0deg,transparent 0deg,#c8ff9255 45deg,#d7ffb7b8 65deg,transparent 90deg,transparent 180deg,#5bdbd445 225deg,transparent 265deg); mask: radial-gradient(closest-side,transparent 96%,#000 98%); animation: dp-spin 8s linear infinite; z-index: 2; }
.dp-shockwave { position: absolute; inset: 27%; border: 1px solid #c9f5a75e; border-radius: 50%; animation: dp-energy-wave 5s cubic-bezier(.2,.6,.4,1) infinite; pointer-events: none; }
.dp-shockwave-two { animation-delay: -2.5s; }
.premium-public .dp-orbit { z-index: 2; animation-duration: 15s; }.premium-public .dp-orbit-middle { animation-duration: 10s; border-color: #ccf5a45e; }.premium-public .dp-orbit-inner { animation-duration: 7s; }
.premium-public .dp-orbit i { width: 9px; height: 9px; top: -5px; box-shadow: 0 0 22px #c5efa0af,0 0 5px #c5efa0; }
.premium-public .dp-orbit-halo { background: radial-gradient(circle,#b5ee7c2a,transparent 68%); animation: dp-halo-breathe 6s ease-in-out infinite alternate; }
.premium-public .dp-core { z-index: 4; animation: dp-core-drift 7s ease-in-out infinite; }
.premium-public .dp-floating { z-index: 5; animation-duration: 4.8s; }
.premium-public .dp-code-bars i { transform-origin: left; animation: dp-code-flow 2.5s ease-in-out infinite alternate; }.premium-public .dp-code-bars i:nth-child(2) { animation-delay: -.8s; }.premium-public .dp-code-bars i:nth-child(3) { animation-delay: -1.6s; }
.dp-orbit-label,.dp-orbit-caption { z-index: 5; }
.dp-motion-ribbon { overflow: hidden; background: #c5efa0; color: #172b1d; padding: 16px 0; border-block: 1px solid #dbffc2; position: relative; }
.dp-ribbon-track { display: flex; width: max-content; animation: dp-ribbon-travel 24s linear infinite; }
.dp-ribbon-track > span { display: flex; align-items: center; flex-shrink: 0; gap: 35px; padding: 0 18px; font: 500 clamp(34px,5.8vw,84px)/1.15 var(--font-head); letter-spacing: -.05em; }
.dp-ribbon-track i { font-size: .7em; font-style: normal; color: #57783b; animation: dp-spin 12s linear infinite; }
.dp-motion-ribbon:hover .dp-ribbon-track { animation-play-state: paused; }
.premium-public .dp-tilt-card { transform: perspective(900px) rotateX(var(--card-rx,0deg)) rotateY(var(--card-ry,0deg)); transition: transform .25s ease-out,translate .3s,border-color .3s,box-shadow .3s; }
.premium-public .dp-tilt-card:hover { box-shadow: 0 25px 55px #00000022; }
.premium-public .btn,.premium-public [data-magnetic] { transition: translate .25s ease-out,transform .25s,background .25s,box-shadow .25s; }
.premium-public #process .step { position: relative; transition: border-color .4s; }
.premium-public #process .step::before { content: ""; position: absolute; top: -1px; left: 0; right: 0; height: 2px; background: #c5efa0; transform: scaleX(0); transform-origin: left; transition: transform .7s cubic-bezier(.16,1,.3,1); }
.premium-public #process .step.dp-step-active::before { transform: scaleX(1); }
.premium-public #process .dp-step-active .step-num { color: #d5f4ac; text-shadow: 0 0 32px #bdeb7340; transition: color .6s,text-shadow .6s; }
.premium-public .marquee-track { animation-duration: 32s; }
.premium-public .dp-footer-wordmark { background: linear-gradient(105deg,#90b175,#e5ffbf,#b4d0a8,#e5ffbf); background-size: 220% 100%; background-clip: text; -webkit-background-clip: text; color: transparent; animation: dp-title-sheen 8s ease-in-out infinite alternate; }
.dp-motion-toggle { position: fixed; right: 22px; bottom: 22px; z-index: 1450; border: 1px solid #c5efa049; border-radius: 30px; color: #d5ecc2; background: #142219f2; box-shadow: 0 5px 22px #0004; backdrop-filter: blur(12px); font: 500 11px/1.4 var(--font-body); padding: 12px 16px; cursor: pointer; }
.dp-motion-toggle:hover { background: #243b22; }.dp-motion-toggle:disabled { cursor: default; opacity: .8; }
.dp-motion-paused *, .dp-motion-paused *::before, .dp-motion-paused *::after { animation-play-state: paused !important; transition: none !important; }
@keyframes dp-title-sheen { from { background-position: 0% 50%; } to { background-position: 100% 50%; } }
@keyframes dp-energy-wave { 0% { transform: scale(.7); opacity: 0; } 15% { opacity: .6; } 100% { transform: scale(2.15); opacity: 0; } }
@keyframes dp-core-drift { 0%,100% { transform: translate(-50%,-50%) rotate(-15deg); } 50% { transform: translate(-50%,calc(-50% - 9px)) rotate(-4deg); } }
@keyframes dp-halo-breathe { from { transform: scale(.85); opacity: .55; } to { transform: scale(1.25); opacity: 1; } }
@keyframes dp-code-flow { from { transform: scaleX(.4); opacity: .35; } to { transform: scaleX(1); opacity: 1; } }
@keyframes dp-ribbon-travel { to { transform: translateX(-50%); } }
@media (max-width: 860px) {
  .premium-public .dp-visual { transform: none; }.dp-motion-ribbon { padding-block: 13px; }.dp-ribbon-track > span { gap: 23px; }.dp-ribbon-track { animation-duration: 28s; }
}
@media (max-width: 560px) {
  .dp-motion-toggle { right: 12px; bottom: 12px; padding: 10px 13px; font-size: 10px; }.dp-energy-ring { inset: 13%; }
}
@media print { .dp-motion-toggle,.dp-particle-globe,.dp-motion-ribbon { display: none; } }
@media (prefers-reduced-motion: reduce) {
  .premium-public *, .premium-public *::before, .premium-public *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
  html:has(.premium-public) { scroll-behavior: auto; }
}
