/* 播视网 · 职业培训门户。Desktop 1200px grid; load after the original site CSS. */
:root{--fs-forest:#285b45;--fs-green:#348464;--fs-sage:#e8f1e5;--fs-paper:#f8faf6;--fs-cream:#fffef9;--fs-ink:#2a4438;--fs-muted:#748374;--fs-line:#dfe9db;--fs-wood:#c4a681;--lp-primary:#348464;--lp-primary-hover:#285b45;--lp-text:#2a4438;--lp-muted:#748374;--lp-background:#f8faf6;}
html{scroll-padding-top:96px;}
body.lp-body,body.lp-core,body.lp-account-page{min-width:1280px;color:var(--fs-ink);background:var(--fs-paper);font-family:"PingFang SC","Microsoft YaHei","Noto Sans CJK SC",Arial,sans-serif;-webkit-font-smoothing:antialiased;}
.lp-body{line-height:1.7;}
.lp-body a,.lp-account-page a{transition:color .2s,background-color .2s,border-color .2s;}
.lp-body a:focus-visible,.lp-body button:focus-visible,.lp-body input:focus-visible,.lp-header a:focus-visible,.lp-header button:focus-visible{outline-color:#63a078;}
.lp-container,.lp-home-body .lp-container,.fp-container{width:1200px;max-width:none;margin-right:auto;margin-left:auto;}
.lp-header{position:sticky;top:0;z-index:50;background:#fff;box-shadow:0 3px 15px #285b4510;border-bottom:1px solid #e5ede0;color:var(--fs-ink);}
.lp-header .lp-header-top{height:80px;min-height:80px;gap:24px;}
.lp-brand{gap:10px;color:var(--fs-forest);flex-shrink:0;}
.lp-brand-logo{width:43px;height:43px;}
.lp-brand-name{font-size:24px;font-weight:600;letter-spacing:1px;line-height:1.3;}
.fs-brand-subtitle{font-size:11px;letter-spacing:1px;color:#8b9986;margin-top:4px;}
.lp-user-links{gap:13px;}
.lp-user-links a{color:#456b52;font-size:13px;}
.lp-user-links a[href="/register"]{padding:9px 17px;border-radius:7px;background:var(--fs-green);color:#fff;}
.lp-user-links .lp-vip-link{color:#967b50;}
.lp-user-divider{background:#dbe5d6;}
.lp-nav{background:#eaf2e7;}
.lp-nav-items{height:48px;}
.lp-nav-link{font-size:15px;color:#41664d;}
.lp-nav-link:hover,.lp-nav-link.is-active{background:#deebd8;color:var(--fs-forest);}
.lp-header.fs-header-ready .lp-header-top{flex-wrap:nowrap!important;min-height:80px!important;height:80px!important;padding-top:0!important;padding-bottom:0!important;gap:24px;}
.lp-header.lp-header-vip.fs-header-ready .lp-user-links{order:0!important;flex-basis:auto!important;flex-wrap:nowrap!important;white-space:nowrap!important;justify-content:flex-end!important;}
.lp-header.fs-header-ready .lp-brand{max-width:none;}
.fs-header-ready .lp-nav{display:block!important;background:transparent;flex:1;min-width:0;}
.fs-header-ready .lp-nav-items{height:80px;width:100%;gap:25px;justify-content:center;}
.fs-header-ready .lp-nav-link{position:relative;flex:0 0 auto;font-size:14px;font-weight:400;background:transparent;}
.fs-header-ready .lp-nav-link.is-active{color:#2d8057;}
.fs-header-ready .lp-nav-link.is-active::after{content:'';position:absolute;bottom:0;left:1px;right:1px;height:3px;background:#438e61;border-radius:2px 2px 0 0;}
.lp-header.fs-header-ready .lp-menu-toggle{display:none;}
.lp-main{min-height:65vh;}
/* Shared course surfaces on the existing catalogue. */
.lp-course-card{border:1px solid #e0e8d9;background:#fffef9;border-radius:10px;box-shadow:0 3px 10px #3c6d4710;}
.lp-course-card:hover{transform:translateY(-3px);box-shadow:0 9px 22px #3c6d471a;}
.lp-course-cover{background:#e7eee0;}
.lp-course-title{color:#3d5944;font-size:15px;font-weight:500;line-height:24px;height:48px;white-space:normal;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;}
.lp-course-info{padding:16px;}
.lp-course-meta{margin-top:10px;}
.lp-course-price{font-size:13px;color:#8e764f;}
.lp-course-source{font-size:11px;color:#839178;}
.lp-course-duration{font-size:11px;background:linear-gradient(180deg,transparent,#244b32b3);}

/* Catalogue, details, player, commerce, and existing account workflows. */
.lp-catalog { padding-top: 43px; padding-bottom: 48px; }
.fs-catalog-heading { display: flex; gap: 24px; align-items: center; justify-content: space-between; padding-bottom: 30px; margin-bottom: 28px; border-bottom: 1px solid var(--fs-line); }
.fs-catalog-heading .fs-eyebrow { margin: 0 0 8px; font-size: 11px; }
.fs-catalog-heading h2 { font-size: 30px; font-weight: 500; color: var(--fs-forest); margin: 0 0 7px; line-height: 1.6; }
.fs-catalog-heading p:last-child { font-size: 12px; color: #8b937f; margin: 0; }
.fs-catalog-heading > a { display: inline-flex; align-items: center; gap: 15px; color: #6c7d5d; font-size: 12px; white-space: nowrap; }
.fs-catalog-heading svg { width: 18px; height: 18px; }
.lp-filter-form { padding: 20px; background: #eaf0e2; border-radius: 8px; border: 1px solid #dce3d1; margin-bottom: 30px; }
.lp-select-wrap select, .lp-search-box { background: #fffdf7; border-color: #d5dcc8; border-radius: 5px; color: #5f7053; }
.lp-search-box input { color: #4d6144; }
.lp-search-box input::placeholder { color: #a1aa95; }
.lp-search-box button { color: #6e8660; }
.lp-search-box button:hover { background: #e4ebda; }
.lp-select-wrap select { font-size: 13px; }
.lp-pagination { color: #8b957e; }
.lp-page-links > a, .lp-page-links > span, .lp-page-jump input, .lp-page-jump button { border-color: #dce2d1; background: #fffdf7; color: #6d7b60; border-radius: 4px; }
.lp-page-links > .is-current { border-color: var(--fs-green); background: var(--fs-green); color: #fffdf7; }
.lp-help-intro, .lp-help-card { background: #fffdf7; border: 1px solid var(--fs-line); border-radius: 9px; }
.lp-help-intro h1 { color: var(--fs-forest); font-weight: 500; }
.lp-help-text, .lp-help-card { color: #7b8771; }
.cc-shell { padding-top: 36px; padding-bottom: 48px; }
.cc-breadcrumb, .lp-breadcrumb { color: #a0a78e; font-size: 12px; }
.cc-breadcrumb a, .lp-breadcrumb a { color: #829174; }
.cc-heading h1, .ct-detail-copy h1 { color: #35533c; font-weight: 500; line-height: 1.6; }
.cc-heading > div > p, .cc-muted, .ct-small { color: #8a957d; }
.cc-eyebrow { color: #849a72; letter-spacing: 2px; }
.cc-card { border: 1px solid #dfe4d5; background: #fffdf7; box-shadow: none; border-radius: 10px; }
.ct-detail { background: #eef0e2; border-color: #dfe1cd; padding: 30px; }
.ct-detail-cover { border: 7px solid #fdfaf0; box-shadow: 0 7px 0 #ceb391, 0 12px 20px #6b6c4720; border-radius: 5px; }
.ct-panel { padding: 26px; }
.ct-panel h2 { color: #4e6546; font-size: 18px; font-weight: 500; }
.ct-panel p, .ct-panel .editor-text { color: #7b866f; font-size: 14px; line-height: 2; }
.ct-badge, .ct-badge-light { background: #e5eddc; border-color: #d4dfc7; color: #6a8752; border-radius: 5px; }
.cc-button, .lp-button { border-radius: 5px; font-size: 13px; }
.cc-button-primary, .lp-button, .cc-button.cc-button-primary { background: var(--fs-forest); border-color: var(--fs-forest); color: #fffdf1; }
.cc-button-primary:hover, .cc-button.cc-button-primary:hover, .lp-button:hover { background: #426f51; border-color: #426f51; }
.cc-text-link { color: #6f875a; }
.ct-directory li { border-color: #e6e9db; }
.ct-directory li:hover { background: #f1f4e8; }
.ct-episode-index { background: #e8eddc; color: #789463; }
.ct-directory a { color: #607152; }
.ct-player-panel { background: #e2e8d8; border-radius: 9px; padding: 10px; border: 1px solid #d4dcc8; }
.ct-player { display: block; background: #1a281d; border-radius: 4px; }
.ct-watch-note { padding: 0 9px; }
.ct-watch-list li.is-active { background: #eaf0df; }
.ct-watch-list li.is-active a, .ct-watch-list small { color: #638249; }
.ct-watch-list li { border-color: #e4e8d9; }
.ct-watch-list a { color: #75836a; }
.cc-input, .cc-select, .cc-textarea, .cc-shell input:not([type="checkbox"]):not([type="radio"]), .cc-shell select, .cc-shell textarea { border-color: #d8dfcb; border-radius: 5px; color: #4f6744; background: #fffef8; }
.cc-tabs { border-color: #d7dfc9; }
.cc-tabs a.is-active { color: #54773f; border-color: #54773f; }
.cc-alert, .cc-notice { border-color: #d6dfc7; background: #eef3e5; color: #6b805b; }
.vm-hero { background: #e3ebd7; border-color: #d2dec2; }
.vm-title, .vm-hero h1 { color: #355a3d; }
.vm-card, .vm-plan, .vm-benefits { background: #fffdf5; border-color: #dfe5d2; }
.vm-price, .vm-card h2 { color: #806845; }
.vm-card.is-featured, .vm-plan.is-featured { border-color: #99ad7e; background: #eef3e3; }
.vm-account { background: #eaf0e1; border-color: #d6e1c7; }
.vm-account h2, .vm-intro h2, .vm-plan-heading h2, .vm-learning-note h3 { color: #4f6944; font-weight: 500; }
.vm-account p, .vm-plan-description, .vm-learning-note p, .vm-plan-heading > span { color: #859477; }
.vm-intro { background: #fffdf7; }
.vm-badge { color: #8b784a; border-color: #d7c7a1; background: #f0e6ce; }
.vm-course-count { background: #eff3e7; border-color: #d9e3cd; }
.vm-course-count strong, .vm-plan-price, .vm-payment-amount, .ct-number, .ct-order-amount { color: #7d724a; }
.vm-course-count > span, .vm-course-count small { color: #8b997e; }
.vm-plan { border-top: 4px solid #bdcda7; }
.vm-plan:nth-child(2) { border-top-color: #c8ae86; }
.ct-tabs { border-color: #d8e0cb; }
.ct-tabs a { color: #87967a; }
.ct-tabs a.is-active { color: #587b43; border-color: #587b43; }
.ct-table th { background: #ecf1e3; color: #738769; }
.ct-table th, .ct-table td { border-color: #e0e7d5; }
.ct-watch-list li.is-active a { color: #638249; background: #eaf0df; }
body.lp-core { color: #3d5037; background: var(--fs-paper); }
.lp-core .btn-primary { color: #fffdf6; background: var(--fs-forest); border-color: var(--fs-forest); }
.lp-core .btn-primary:hover, .lp-core .btn-primary:focus { background: #416e50; border-color: #416e50; }
.lp-core .link-primary, .lp-core a.link-primary, .lp-core .color-primary, .lp-core .text-primary { color: #5d7c49; }
.lp-core .nav-tabs > li.active > a, .lp-core .nav-tabs > li.active > a:hover, .lp-core .nav-tabs > li.active > a:focus { color: #567746; border-bottom-color: #567746; }
.lp-core .es-section, .lp-core .panel, .lp-core .course-detail-section { background: #fffdf7; border: 1px solid #e0e5d5; border-radius: 8px; }
.lp-core .course-detail-info__title { color: #385134; font-weight: 500; }
.lp-core .course-detail-gray { background: #edf1e4; }
.lp-core .form-control:focus { border-color: #86a36b; box-shadow: 0 0 0 2px #86a36b20; }

/* Existing EduSoho authentication: preserve validation and CSRF fields. */
.lp-account-page { background: #edf0e3 !important; }
.lp-account-page .lp-account-background-image { display: none; }
.lp-account-page .lp-account-background { background: radial-gradient(ellipse at 20% 40%, #dbe5cb, #f3f4e9 65%); }
.lp-account-page .lp-account-main { background: transparent !important; }
.lp-account-header { border-bottom: 1px solid #dbe1d0 !important; background: #fffdf6 !important; }
.lp-account-brand-name { color: var(--fs-forest) !important; }
.lp-account-brand-logo { width: 48px !important; height: 48px !important; }
.lp-account-page .lp-account-stage { background: #e3ead7 !important; border-color: #d3ddc2 !important; border-radius: 16px !important; box-shadow: none !important; }
.lp-account-page .lp-account-card { background: #fffdf7 !important; border: 1px solid #dce3cf !important; border-radius: 12px !important; box-shadow: 0 15px 40px #36542a0c !important; }
.lp-account-page .lp-account-art { filter: sepia(.2) hue-rotate(35deg) saturate(.48); }
.lp-account-page .lp-account-art { filter: none; }
.lp-account-page .lp-account-stage { padding: 25px; }
.lp-account-page .lp-account-home { color: #718361; }
.lp-account-page .lp-account-logo { width: 46px; height: 46px; }
.lp-account-page .lp-account-brand-name { font-weight: 600; letter-spacing: 2px; }
.lp-account-page .login-section, .lp-account-page .es-section { border: none !important; box-shadow: none !important; background: transparent !important; }
.lp-account-page .login-section .logon-tab a.active, .lp-account-page .login-section .logon-tab a:hover, .lp-account-page .login-section a, .lp-account-page .lp-account-back { color: #567648; }
.lp-account-page .login-section .logon-tab a.active { border-color: #678b54 !important; }
.lp-account-page .form-control { border-color: #d4ddc5; color: #5c7150; background: #fffef9; border-radius: 5px; box-shadow: none; }
.lp-account-page .form-control:focus { border-color: #86a36b; box-shadow: 0 0 0 3px #86a36b18; }
body.lp-account-page #login-form .form-control, body.lp-account-page #register-form .form-control { border-color: #d5dfc8; background: #fffef9; color: #5a7050; font-size: 14px; }
body.lp-account-page #login-form .form-control:focus, body.lp-account-page #register-form .form-control:focus { border-color: #8ea875; box-shadow: 0 0 0 3px #8ea87518; }
body.lp-account-page .login-main .link-primary, body.lp-account-page .login-main .link-primary.lp-account-forgot { color: #6c8559 !important; }
body.lp-account-page .login-section .logon-tab > a.active { color: #46643a; }
body.lp-account-page .login-section .logon-tab > a.active::after { background: #73935b; }
body.lp-account-page .login-section .logon-tab { border-color: #e4e9db; }
body.lp-account-page .lp-account-remember input, body.lp-account-page .login-main .controls input[name="agree_policy"] { accent-color: #73935b; }
.lp-account-page .btn-primary, .lp-account-page .btn-success { background: var(--fs-forest) !important; border-color: var(--fs-forest) !important; color: #fffdf5 !important; border-radius: 5px !important; }
.lp-account-page .btn-primary:hover, .lp-account-page .btn-success:hover { background: #426f51 !important; }
.lp-account-footer, .lp-account-footer a { color: #8c987b !important; }

/* Natural materials support the content instead of sitting behind body text. */
.lp-footer { color: #a4b39a; background: #2c4837; border-top: 4px solid #bda080; }
.lp-footer-top { min-height: 164px; padding-top: 34px; padding-bottom: 34px; }
.lp-footer-info .lp-footer-owner { color: #d4ddc8; }
.lp-footer-info p { color: #91a384; font-size: 12px; }
.lp-footer-links { gap: 24px; }
.lp-footer-links a { color: #c5d3ba; font-size: 12px; }
.lp-footer-bottom { background: #253e2e; }
.lp-footer-legal, .lp-footer-legal a { color: #8da17d; font-size: 11px; }
.lp-footer-learning, .lp-footer-mobile { color: #b3c5a6; background: #3a5542; }
.lp-services { width: 54px; right: 12px; box-shadow: none; border: 1px solid #d7dfca; border-radius: 8px; overflow: hidden; }
.lp-service-action { width: 54px; min-height: 64px; background: #fffdf3; color: #6d805c; font-size: 12px; border-color: #e5e8d9; }
.lp-service-action .lp-icon { width: 20px; height: 20px; }
.lp-back-top { margin-top: 0; }


  .lp-header.lp-header-vip.fs-header-ready .lp-header-top { flex-wrap: nowrap !important; min-height: 80px !important; height: 80px !important; padding-top: 0 !important; padding-bottom: 0 !important; }
  .lp-header.lp-header-vip.fs-header-ready .lp-user-links { order: 0 !important; flex-basis: auto !important; justify-content: flex-end !important; flex-wrap: nowrap !important; }







/* The home page is rebuilt as a training portal, using the original real records. */
.fp-home{background:#fff;color:#314b3d;}
.fp-home *,.fp-home *::before,.fp-home *::after{box-sizing:border-box;}
.fp-home a{text-decoration:none;}
.fp-home button,.fp-home input{font:inherit;}
.fp-home button{cursor:pointer;}
.fp-home button:disabled{cursor:wait;}
.fp-home svg{width:20px;height:20px;flex:0 0 auto;}
.fp-home [hidden],.fp-source-baseline[hidden]{display:none!important;}
.fp-home a:focus-visible,.fp-home button:focus-visible,.fp-home summary:focus-visible,.fp-home input:focus-visible{outline:3px solid #79a977;outline-offset:4px;}
.fp-banner{height:425px;position:relative;overflow:hidden;background:linear-gradient(108deg,#edf5e6 0%,#dfeeda 45%,#eaf3e5 76%,#f5f8ee 100%);}
.fp-banner::before{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 43% 23%,#ffffffad,transparent 56%),linear-gradient(0deg,#c2d7b350,transparent 42%);}
.fp-banner-inner{height:425px;position:relative;}
.fp-banner-copy{position:absolute;left:0;top:50px;width:385px;z-index:2;}
.fp-kicker{font-size:12px;letter-spacing:2px;color:#7b9569;margin:0 0 14px;}
.fp-banner h1{font-size:38px;line-height:1.55;letter-spacing:1px;font-weight:600;margin:0 0 16px;color:#2f6245;}
.fp-banner h1 span{color:#49885c;}
.fp-banner-note{font-size:13px;color:#708564;line-height:1.9;margin:0 0 24px;}
.fp-home-search{height:47px;width:360px;display:flex;align-items:center;border:1px solid #c3d7b6;background:#fffffff2;border-radius:8px;box-shadow:0 5px 16px #537b3f0b;overflow:hidden;}
.fp-home-search:focus-within{border-color:#6d9e69;box-shadow:0 0 0 3px #6d9e6917;}
.fp-home-search input{height:45px;flex:1;min-width:0;padding:0 16px;color:#3f6248;border:0;background:transparent;font-size:13px;outline:none;}
.fp-home-search input::placeholder{color:#9aaa8d;}
.fp-home-search button{width:52px;height:45px;border:0;background:#39845c;color:#fff;display:flex;align-items:center;justify-content:center;}
.fp-home-search button:hover{background:#286b48;}
.fp-banner-links{display:flex;align-items:center;gap:13px;margin-top:15px;font-size:12px;color:#a3b396;}
.fp-banner-links a{color:#6b855c;display:inline-flex;align-items:center;gap:5px;}
.fp-banner-links a:hover{color:#285b45;}
.fp-banner-links svg{width:14px;height:14px;}
.fp-professionals{position:absolute;left:370px;bottom:3px;width:440px;height:380px;object-fit:contain;z-index:1;filter:drop-shadow(0 10px 13px #4f784711);}
.fp-login-card{position:absolute;z-index:3;right:0;top:20px;width:320px;min-height:360px;height:auto;padding:22px 25px 20px;background:#fffefa;border:1px solid #e1ead6;border-radius:13px;box-shadow:0 10px 30px #49733d14;}
.fp-login-tabs{display:flex;justify-content:space-between;align-items:center;min-height:35px;padding-bottom:14px;border-bottom:1px solid #e7eddf;}
.fp-login-tabs strong{font-size:19px;font-weight:600;color:#366d49;}
.fp-login-tabs > a{font-size:12px;color:#92a283;}
.fp-login-tabs > a:hover{color:#3b7d53;}
#forest-home-login{margin:14px 0 0;}
#forest-home-login > label{display:block;font-size:12px;line-height:18px;color:#6b825d;margin:0 0 5px;}
#forest-home-login > input:not([type=hidden]){display:block;width:100%;height:42px;border:1px solid #dce6d3;background:#fdfef9;border-radius:6px;padding:0 12px;font-size:13px;color:#345840;box-shadow:inset 0 1px 2px #315d2a03;margin-bottom:12px;}
#forest-home-login > input:focus{border-color:#7da36c;outline:0;box-shadow:0 0 0 3px #7da36c15;}
#forest-home-login > input::placeholder{color:#a4b097;}
.fp-button{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:43px;padding:0 20px;color:#fff!important;background:linear-gradient(110deg,#39845b,#58956b);border:1px solid #39845b;border-radius:7px;font-size:14px;line-height:1.5;transition:box-shadow .2s,background .2s;}
.fp-button:hover{background:#2e7550;box-shadow:0 7px 16px #39845b26;}
.fp-button:disabled{color:#e6ede2!important;background:#8fab83;border-color:#8fab83;}
.fp-button svg{width:17px;height:17px;}
#forest-home-login .fp-button{width:100%;margin-top:3px;}
.fp-login-links{display:flex;justify-content:space-between;margin-top:13px;font-size:12px;}
.fp-login-links a{color:#92a282;}
.fp-login-links a:last-child{color:#5c8c58;}
[data-portal-login-status]{max-height:40px;overflow:auto;color:#a34436;font-size:11px;line-height:1.6;margin:-4px 0 6px;}
.fp-login-noscript{font-size:12px;margin:8px 0 0;}
.fp-welcome{text-align:center;padding-top:19px;}
.fp-welcome-icon{display:flex;justify-content:center;align-items:center;width:62px;height:62px;background:#edf4e4;color:#84a572;border-radius:50%;margin:0 auto 13px;}
.fp-welcome-icon svg{width:32px;height:32px;}
.fp-welcome h2{font-size:20px;font-weight:500;margin:0 0 5px;}
.fp-welcome p{font-size:12px;color:#95a387;margin:0 0 18px;}
.fp-welcome .fp-button{width:100%;}
.fp-welcome-links{display:flex;justify-content:center;gap:35px;margin-top:15px;font-size:12px;}
.fp-welcome-links a{color:#64885a;}
.fp-notice{position:relative;z-index:5;margin-top:-24px;height:48px;display:flex;align-items:center;padding:0 25px;border:1px solid #e1ead8;border-radius:11px;background:#fff;box-shadow:0 12px 26px -17px #497c3d50;gap:23px;}
.fp-notice > strong{font-size:15px;font-weight:600;color:#57814c;white-space:nowrap;border-right:1px solid #e5ecd9;padding-right:24px;}
.fp-notice-content{min-width:0;flex:1;}
.fp-notice-content a{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:13px;color:#78896b;}
.fp-notice-content a:hover{color:#3d7f50;}
.fp-notice-more{flex:0 0 auto;font-size:12px;color:#56884e;}
.fp-training{padding:58px 0 65px;margin-top:0;background:radial-gradient(ellipse at 50% 4%,#e2efdc8a,transparent 63%),linear-gradient(180deg,#f8fbf5,#f5f9ef);border-top:1px solid #e8efdf;border-bottom:1px solid #e8efdf;}
.fp-section-title{text-align:center;margin-bottom:37px;position:relative;}
.fp-section-title > span{display:block;color:#9eb891;font-size:12px;line-height:1.5;letter-spacing:3px;margin-bottom:6px;}
.fp-section-title h2{display:inline-block;position:relative;z-index:1;margin:0;color:#325c3d;font-size:32px;line-height:1.6;font-weight:600;letter-spacing:2px;}
.fp-section-title h2::after{content:'';position:absolute;z-index:-1;left:15%;right:15%;bottom:5px;height:7px;border-radius:1px;background:#d4bc8d77;}
.fp-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;}
.fp-tabs button{position:relative;display:flex;align-items:center;justify-content:center;gap:24px;height:65px;border:1px solid #dce7d3;border-radius:11px;background:linear-gradient(140deg,#fff,#f8fcf4);color:#6f8264;font-size:19px;box-shadow:0 3px 3px #3b6a2e03;}
.fp-tabs button svg{width:18px;height:18px;opacity:.35;}
.fp-tabs button[aria-selected=true]{background:linear-gradient(115deg,#dcebd3,#f7fcf1);border-color:#a8c697;color:#3a7c4b;box-shadow:inset 0 1px 0 #fff,0 5px 13px #668b4220;font-weight:600;}
.fp-tabs button[aria-selected=true]::after{content:'';position:absolute;bottom:-9px;left:calc(50% - 9px);width:16px;height:16px;transform:rotate(45deg);border-bottom:1px solid #a8c697;border-right:1px solid #a8c697;background:#edf6e4;}
.fp-course-board{position:relative;z-index:2;margin-top:30px;padding:22px 35px 34px;border:1px solid #dbe7d1;border-radius:21px;background:#fff;box-shadow:0 20px 36px -25px #527b3a52;}
.fp-board-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:19px;padding-bottom:15px;border-bottom:1px solid #e9efdf;gap:20px;}
.fp-board-toolbar > span{font-size:13px;color:#8a9c7b;}
.fp-board-toolbar > div{display:flex;align-items:center;gap:25px;}
.fp-board-more{display:inline-flex;align-items:center;gap:8px;font-size:12px;color:#5b8850;}
.fp-board-more svg{width:15px;height:15px;}
.fp-subcategories{position:relative;font-size:12px;}
.fp-subcategories summary{cursor:pointer;color:#7b926c;list-style:none;}
.fp-subcategories summary::-webkit-details-marker{display:none;}
.fp-subcategories summary span{margin-left:8px;}
.fp-subcategories nav{position:absolute;z-index:10;right:0;top:29px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;width:400px;padding:12px;background:#fffefa;border:1px solid #d9e6cc;border-radius:10px;box-shadow:0 14px 30px #3f642926;}
.fp-subcategories nav a{display:block;padding:9px 12px;border-radius:5px;font-size:12px;line-height:1.6;color:#6e855f;}
.fp-subcategories nav a:hover{background:#edf5e6;color:#3e7549;}
.fp-course-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px 17px;}
.fp-course-grid .ph-compact-card{height:258px;min-width:0;border:1px solid #dde7d3;border-radius:11px;background:#fff;box-shadow:0 6px 15px -9px #4b74343b;overflow:hidden;transition:transform .2s,box-shadow .2s,border-color .2s;}
.fp-course-grid .ph-compact-card::after{display:none;}
.fp-course-grid .ph-compact-card:hover{transform:translateY(-4px);border-color:#a6c594;box-shadow:0 14px 24px -13px #4b74346b;}
.fp-course-grid .ph-compact-card > a{display:block;color:#374e3b;height:100%;}
.fp-course-grid .ph-compact-cover{width:100%;height:147px;border-radius:10px 10px 0 0;position:relative;overflow:hidden;background:#e7efdf;}
.fp-course-grid .ph-compact-cover > img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .4s;}
.fp-course-grid .ph-compact-card:hover .ph-compact-cover > img{transform:scale(1.025);}
.fp-course-grid .ph-compact-cover > span{position:absolute;left:0;right:auto;top:0;bottom:auto;height:25px;padding:0 12px;background:#478859;color:#fff;border-radius:10px 0 9px 0;font-size:11px;line-height:25px;}
.fp-course-grid .ph-compact-info{height:110px;display:flex;flex-direction:column;padding:13px 15px;min-width:0;}
.fp-course-grid .ph-compact-info h3{height:45px;min-height:45px;margin:0;font-size:14px;line-height:23px;font-weight:400;color:#3e5540;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;}
.fp-course-grid .ph-compact-meta{margin-top:auto;padding-top:7px;border-top:1px solid #eff3e8;line-height:20px;}
.fp-course-grid .lp-course-price{font-size:12px;color:#7b805f;line-height:20px;}
.fp-course-grid .ph-compact-info > p{display:none;}
.fp-empty{grid-column:1/-1;text-align:center;min-height:260px;margin:0;padding-top:105px;color:#8fa17f;}
.fp-empty a{color:#5f8b54;}
.fp-popular{padding:58px 0 60px;background:#fff;}
.fp-job-layout{display:grid;grid-template-columns:590px minmax(0,1fr);gap:25px;align-items:start;}
.fp-job-featured{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;}
.fp-job-card{position:relative;height:280px;border:1px solid #dcead1;border-radius:12px;display:block;text-align:center;color:#52794c;background:linear-gradient(135deg,#f6fbef,#e1efd7);box-shadow:inset 1px 1px 0 #fff,0 12px 18px -17px #5a853e80;transition:transform .25s,box-shadow .25s!important;overflow:hidden;}
.fp-job-card::before{content:'';position:absolute;left:-25px;right:-30px;top:26px;height:75px;border:1px solid #ffffffd9;border-radius:50%;transform:rotate(17deg);pointer-events:none;}
.fp-job-card-1{background:linear-gradient(135deg,#fffaf0,#f1e6d2);border-color:#e9dbc4;color:#9a8257;}
.fp-job-card-2{background:linear-gradient(135deg,#f1f8f5,#dcebe4);border-color:#d3e4db;color:#557e6a;}
.fp-job-card:hover{transform:translateY(-7px);box-shadow:0 16px 23px -14px #5a853e52;}
.fp-job-number{position:absolute;left:15px;top:12px;font-size:13px;color:currentColor;opacity:.48;letter-spacing:1px;}
.fp-job-cover{display:block;position:relative;width:146px;height:94px;margin:40px auto 17px;border:4px solid #ffffffbd;border-radius:9px;box-shadow:0 8px 12px -9px #54733a70;background:#ffffff87;overflow:hidden;}
.fp-job-cover img{display:block;width:100%;height:100%;object-fit:cover;}
.fp-job-cover > svg{height:56px;width:56px;margin-top:14px;opacity:.4;}
.fp-job-card > strong{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;font-size:18px;line-height:1.6;font-weight:500;height:58px;padding:0 14px;}
.fp-job-enter{position:absolute;bottom:24px;left:0;right:0;font-size:11px;display:flex;justify-content:center;align-items:center;gap:8px;opacity:.8;}
.fp-job-enter svg{height:14px;width:14px;}
.fp-job-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 11px;}
.fp-job-links a{min-height:61px;display:flex;align-items:center;justify-content:center;padding:9px 13px;text-align:center;font-size:14px;line-height:1.5;color:#66845a;border:1px solid #e1ead7;border-radius:8px;background:linear-gradient(135deg,#f1f7e9,#fbfdf8);box-shadow:inset 1px 1px 0 #fff;}
.fp-job-links a:nth-child(3n+2){background:linear-gradient(135deg,#f8f3e8,#fffdf7);color:#97805a;border-color:#ede4d3;}
.fp-job-links a:nth-child(3n){background:linear-gradient(135deg,#edf6f0,#fafffc);color:#668777;border-color:#deebe2;}
.fp-job-links a:hover{border-color:#9bbd89;box-shadow:0 5px 14px #5b793412;}
.fp-job-links span{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;}
.fp-recommendation-section{padding:56px 0 40px;background:linear-gradient(180deg,#f8fbf5,#fff);border-bottom:1px solid #edf2e6;}
.fp-recommendation{margin-top:0;}
.fp-recommendation-title > a{position:absolute;right:0;bottom:16px;display:flex;align-items:center;gap:9px;font-size:12px;color:#809771;}
.fp-recommendation-title > a:hover{color:#3d7f50;}
.fp-recommendation-title svg{width:16px;height:16px;}
.fp-carousel{position:relative;}
.fp-carousel-stage{position:relative;height:282px;overflow:hidden;}
.fp-slide{position:absolute;left:50%;top:0;margin-left:-438px;width:876px;height:280px;display:grid;grid-template-columns:420px minmax(0,1fr);background:#fff;border:1px solid #d9e8cd;border-radius:15px;overflow:hidden;opacity:0;transform:translateX(0) scale(.8);transition:transform .55s ease,opacity .55s ease;pointer-events:none;}
.fp-slide.is-current{opacity:1;transform:translateX(0) scale(1);z-index:3;box-shadow:0 16px 30px -24px #4c7c31a1;pointer-events:auto;}
.fp-slide.is-previous{opacity:.28;transform:translateX(-52%) scale(.8);z-index:1;}
.fp-slide.is-next{opacity:.28;transform:translateX(52%) scale(.8);z-index:1;}
.fp-slide-image{position:relative;width:420px;height:280px;background:#e7f0dd;display:flex;align-items:center;justify-content:center;}
.fp-slide-image > svg{width:80px;height:80px;color:#a7bf93;}
.fp-slide-image img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.fp-slide-copy{padding:28px 31px;display:flex;flex-direction:column;align-items:flex-start;background:radial-gradient(ellipse at 100% 0,#f1f7e8,transparent 65%);}
.fp-slide-kicker{font-size:11px;color:#8aa278;letter-spacing:2px;}
.fp-slide h4{font-size:21px;line-height:1.7;font-weight:500;margin:12px 0 12px;min-height:72px;max-height:72px;overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;}
.fp-slide h4 a{color:#3f6545;}
.fp-slide-meta{display:flex;gap:20px;font-size:12px;color:#8b9b79;min-height:20px;}
.fp-slide .fp-button{margin-top:auto;font-size:13px;min-width:142px;}
.fp-carousel-arrow{position:absolute;top:111px;z-index:5;width:42px;height:42px;background:#ffffffed;color:#7ba164;border:1px solid #dce7d2;border-radius:50%;font-family:Arial,sans-serif!important;font-size:29px!important;line-height:36px;box-shadow:0 4px 15px #476b2c0a;}
.fp-carousel-arrow:hover{background:#eef6e5;}
.fp-carousel-prev{left:13px;}
.fp-carousel-next{right:13px;}
.fp-carousel-controls{height:43px;display:flex;align-items:center;justify-content:center;gap:20px;}
.fp-carousel-dots{display:flex;align-items:center;gap:7px;}
.fp-carousel-dots button{height:5px;width:25px;padding:0;border:0;background:#e2ebd9;border-radius:3px;transition:background .2s,width .2s;}
.fp-carousel-dots button.is-current{background:#6b9c58;width:38px;}
.fp-carousel-pause{border:0;padding:3px 0;background:transparent;font-size:11px!important;color:#9caf8c;}
.fp-providers{padding:48px 0 56px;border-top:1px solid #e5eddc;background:#f5f9ee;}
.fp-providers .fp-section-title{margin-bottom:28px;}
.fp-providers .ph-provider-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;}
.fp-providers .ph-provider-card{display:flex;align-items:center;justify-content:center;flex-direction:row;gap:17px;min-height:96px;padding:19px;border:1px solid #e2ead6;border-radius:10px;background:#fff;}
.fp-providers .ph-provider-card img{width:76px;height:51px;object-fit:contain;}
.fp-providers .ph-provider-card h3{font-size:14px;font-weight:400;margin:0;color:#6f8560;}
.fp-providers .ph-provider-card:hover{border-color:#a9c592;box-shadow:0 5px 16px #5b773d10;}
/* Keep service labels on one line and leave the 1200px content unobstructed. */
.lp-services{width:64px;right:12px;border:1px solid #e0e8d7;border-radius:11px;overflow:hidden;box-shadow:0 4px 18px #3d55390a;}
.lp-service-action{width:62px;min-height:68px;padding:10px 6px;white-space:nowrap;word-break:keep-all;font-size:12px;line-height:1.4;background:#fffef9;color:#7c936a;border-color:#e7eddf;}
.lp-service-action .lp-icon{width:21px;height:21px;margin-bottom:4px;}
.lp-service-action:hover{background:#edf4e6;color:#3c774c;}
.fp-portal-ready .lp-services{top:auto;bottom:24px;right:12px;}
.cc-alert-error{border-color:#e4c1b9;background:#fcf0ec;color:#a04336;}
.cc-alert-error a{color:#923a2f;}
body.lp-body .cc-shell a.cc-text-link,body.lp-body .cc-shell .cc-eyebrow{color:#4e7152;}
body.lp-body .cc-shell a.cc-text-link:hover{color:#285345;}
@media (prefers-reduced-motion:reduce){
 *,*::before,*::after{scroll-behavior:auto!important;}
 .fp-slide,.fp-course-grid .ph-compact-card,.fp-course-grid .ph-compact-cover > img,.fp-job-card,.lp-course-card{transition:none!important;}
 .fp-course-grid .ph-compact-card:hover,.fp-course-grid .ph-compact-card:hover .ph-compact-cover > img,.fp-job-card:hover,.lp-course-card:hover{transform:none;}
}
