:root{--accent:#22d3ee;--accent-2:#818cf8;--bg:#0b1220;--surface:#111a2e;--ink:#e6edf7;--muted:#93a4bd;--line:#1f2c47;--on-accent:#06202b;--radius:12px;--font-head:system-ui, -apple-system, 'Segoe UI', sans-serif;--font-body:system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;--card-border:1px solid var(--line);--shadow:0 1px 2px rgba(0,0,0,.06),0 10px 28px rgba(0,0,0,.07);--body-bg:var(--bg);--btn-radius:calc(var(--radius) / 1.5);--h-transform:none;--h-weight:800;--tg:#229ed9;--tg-dark:#1b86b8;--tint:color-mix(in srgb,var(--accent) 8%,var(--surface));--lift:0 22px 44px rgba(15,23,42,.16)}
@media (prefers-color-scheme:dark){:root{--accent:#22d3ee;--accent-2:#818cf8;--bg:#0b1220;--surface:#111a2e;--ink:#e6edf7;--muted:#93a4bd;--line:#1f2c47;--on-accent:#06202b;--body-bg:var(--bg);--shadow:0 1px 2px rgba(0,0,0,.4),0 10px 28px rgba(0,0,0,.35);--lift:0 22px 44px rgba(0,0,0,.5)}}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--font-body);font-size:16px;line-height:1.65;color:var(--ink);background:var(--body-bg);background-attachment:fixed;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
a{color:var(--accent);text-underline-offset:3px}
h1,h2,h3,h4,.brand{font-family:var(--font-head);text-transform:var(--h-transform)}
img{max-width:100%;height:auto}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}
.skip{position:absolute;left:-999px;top:8px;background:var(--accent);color:var(--on-accent);padding:8px 14px;border-radius:8px;z-index:100}
.skip:focus{left:8px}
.wrap{max-width:1240px;margin:0 auto;padding:0 24px}

.site-header{position:sticky;top:0;z-index:40;background:color-mix(in srgb,var(--surface) 88%,transparent);backdrop-filter:saturate(1.4) blur(14px);border-bottom:1px solid var(--line)}
.header-in{display:flex;align-items:center;gap:22px;flex-wrap:wrap;min-height:72px;padding-top:10px;padding-bottom:10px}
.brand{display:inline-flex;align-items:center;gap:11px;font-weight:var(--h-weight);font-size:1.2rem;color:var(--ink);text-decoration:none;letter-spacing:-.4px}
.logo{display:inline-grid;place-items:center;width:38px;height:38px;border-radius:calc(var(--radius) / 1.7);background:linear-gradient(135deg,var(--accent),var(--accent-2));color:var(--on-accent);font:800 1.1rem var(--font-head);text-transform:uppercase;box-shadow:0 4px 12px color-mix(in srgb,var(--accent) 35%,transparent)}
.nav{display:flex;gap:2px}
.nav a{color:var(--muted);text-decoration:none;font-weight:600;font-size:.94rem;padding:8px 14px;border-radius:999px;transition:background .15s,color .15s}
.nav a:hover{color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,transparent)}
.search-wrap{position:relative;margin-left:auto;flex:1 1 240px;max-width:400px}
.search-wrap .s-ico{position:absolute;left:16px;top:50%;transform:translateY(-50%);color:var(--muted);pointer-events:none}
.search-wrap input{width:100%;padding:11px 18px 11px 44px;border-radius:999px;border:1px solid var(--line);background:var(--bg);color:var(--ink);font:inherit;font-size:.94rem;transition:border-color .15s,box-shadow .15s}
.search-wrap input:focus{outline:0;border-color:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 18%,transparent)}
.search-results{position:absolute;left:0;top:calc(100% + 10px);width:min(520px,92vw);max-height:65vh;overflow:auto;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 24px 50px rgba(0,0,0,.25);padding:8px;z-index:50;text-align:left}
.search-wrap:not(.hero-search) .search-results{left:auto;right:0}
.search-results a{display:block;padding:10px 14px;border-radius:calc(var(--radius) / 2);text-decoration:none;color:var(--ink)}
.search-results a:hover,.search-results a:focus{background:var(--tint)}
.search-results strong{display:block;font-weight:600;line-height:1.35}
.search-results small{display:block;color:var(--muted)}
.search-results p{margin:8px 14px;color:var(--muted);font-size:.9rem}

.catbar{background:var(--surface);border-bottom:1px solid var(--line)}
.catbar-in{display:flex;gap:8px;overflow-x:auto;padding-top:11px;padding-bottom:11px;scrollbar-width:thin}
.catbar a{flex:none;white-space:nowrap;padding:6px 15px;border-radius:999px;border:1px solid var(--line);background:var(--bg);color:var(--ink);text-decoration:none;font-size:.86rem;font-weight:600;transition:all .15s}
.catbar a:hover{border-color:var(--accent);color:var(--accent)}
.catbar a.active{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}
.catbar a.all{border-style:dashed;color:var(--muted);margin-left:auto}

.hero{position:relative;overflow:hidden;padding:76px 0 64px;border-bottom:1px solid var(--line);color:var(--ink)}
.hero-in{position:relative;display:grid;grid-template-columns:minmax(0,1fr);gap:40px}
.hero--home .hero-in{grid-template-columns:minmax(0,1.3fr) minmax(280px,.7fr);align-items:center}
.hero h1{font-size:clamp(2rem,4.8vw,3.4rem);line-height:1.08;letter-spacing:-1.2px;margin:0 0 14px;font-weight:var(--h-weight)}
.hero .lead{font-size:1.15rem;max-width:660px;margin:0 0 8px;opacity:.92}
.hero .count{margin:14px 0 0;opacity:.78;font-size:.9rem}
.eyebrow{display:inline-block;font-size:.76rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;padding:5px 13px;border-radius:999px;background:color-mix(in srgb,currentColor 13%,transparent);margin:0 0 18px}
.hero--gradient{background:linear-gradient(135deg,var(--accent),var(--accent-2));color:var(--on-accent);border-bottom:0}
.hero--soft{background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 13%,var(--bg)),var(--bg))}
.hero--bold{background:var(--ink);color:var(--bg);border-bottom:0}
.hero--pattern{background:radial-gradient(circle at 1px 1px,color-mix(in srgb,var(--accent) 28%,transparent) 1.5px,transparent 0) 0 0/22px 22px,var(--bg)}
.hero-search{margin:26px 0 0;max-width:580px;flex:none}
.hero-search input{padding:17px 24px 17px 52px;font-size:1.02rem;border:0;box-shadow:0 14px 34px rgba(0,0,0,.16);background:var(--surface)}
.hero-search .s-ico{left:20px}
.stats{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.stat{padding:20px 22px;border-radius:var(--radius);background:color-mix(in srgb,var(--surface) 82%,transparent);color:var(--ink);border:1px solid color-mix(in srgb,var(--line) 80%,transparent);backdrop-filter:blur(8px);box-shadow:var(--shadow)}
.stat b{display:block;font:var(--h-weight) 1.75rem/1.1 var(--font-head);letter-spacing:-.5px;text-transform:none;color:var(--accent)}
.stat span{display:block;margin-top:4px;font-size:.82rem;color:var(--muted)}
.crumbs{display:flex;flex-wrap:wrap;gap:8px;font-size:.85rem;margin-bottom:16px;opacity:.9}
.crumbs a{color:inherit}
.crumbs span:not([aria-current]){opacity:.5}
.crumbs--plain{padding-top:24px;margin-bottom:0;color:var(--muted)}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
.chip{display:inline-block;padding:6px 15px;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--ink);text-decoration:none;font-size:.88rem;font-weight:600;transition:all .15s}
.chip small{color:var(--muted);font-weight:500;margin-left:4px}
.chip:hover{border-color:var(--accent);color:var(--accent)}

.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin:44px 0 4px}
.section-head h2{margin:0;font-size:1.55rem;letter-spacing:-.5px;font-weight:var(--h-weight)}
.section-head a{font-size:.92rem;font-weight:600;text-decoration:none}
.section-head--list{margin-top:40px}

.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:26px;padding:26px 0 8px}
.grid.layout-list{grid-template-columns:1fr;max-width:920px;margin:0 auto}
.course-card{position:relative;background:var(--surface);border:var(--card-border);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden;display:flex;flex-direction:column;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.course-card:hover{transform:translateY(-5px);box-shadow:var(--lift);border-color:color-mix(in srgb,var(--accent) 45%,var(--line))}
.card-img{display:block;aspect-ratio:16/10;background:var(--line);overflow:hidden}
.card-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s ease}
.course-card:hover .card-img img{transform:scale(1.06)}
.placeholder{display:grid;place-items:center;background:linear-gradient(135deg,var(--accent),var(--accent-2));color:var(--on-accent);text-decoration:none}
.placeholder span,.placeholder b{font:800 2.8rem var(--font-head);opacity:.9}
.card-body{padding:20px 22px 22px;display:flex;flex-direction:column;flex-grow:1}
.meta{display:flex;align-items:center;flex-wrap:wrap;gap:8px;min-height:22px}
.cat{font-size:.72rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--accent);text-decoration:none}
.cat:hover{text-decoration:underline}
.badge-new{background:var(--accent);color:var(--on-accent);font-size:.62rem;font-weight:800;padding:2px 9px;border-radius:999px;text-transform:uppercase;letter-spacing:.05em}
.card-title{font-size:1.08rem;line-height:1.32;margin:8px 0 10px;font-weight:var(--h-weight);letter-spacing:-.2px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.card-title a{color:var(--ink);text-decoration:none}
.card-title a:hover{color:var(--accent)}
.card-text{font-size:.92rem;color:var(--muted);margin:0 0 14px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.card-foot{margin-top:auto}
.tags{list-style:none;margin:0 0 14px;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.tags li{font-size:.76rem}
.tags a,.tags span{display:inline-block;padding:3px 11px;border-radius:999px;background:var(--tint);color:var(--muted);text-decoration:none;border:1px solid color-mix(in srgb,var(--accent) 10%,transparent)}
.tags a:hover{color:var(--accent);border-color:var(--accent)}
.tags--lg{margin:6px 0 0}
.tags--lg li{font-size:.84rem}
.card-btn{display:flex;align-items:center;justify-content:center;gap:8px;text-align:center;background:var(--accent);color:var(--on-accent);padding:12px 18px;border-radius:var(--btn-radius);font-weight:700;font-size:.95rem;text-decoration:none;transition:filter .15s,transform .15s}
.card-btn:hover{filter:brightness(1.08)}
.layout-list .course-card{flex-direction:row}
.layout-list .card-img{width:280px;aspect-ratio:auto;min-height:190px;flex-shrink:0}

.course-page{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:52px;padding:26px 0 8px;align-items:start}
.cp-main{min-width:0}
.cp-main h1{font-size:clamp(1.8rem,3.6vw,2.7rem);line-height:1.12;letter-spacing:-1px;margin:12px 0 14px;font-weight:var(--h-weight)}
.cp-side{position:sticky;top:96px}
.cp-card{background:var(--surface);border:var(--card-border);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}
.cp-card img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover}
.cp-ph{aspect-ratio:16/10}
.cp-card-body{padding:22px;display:grid;gap:12px}
.cp-card .btn-tg{width:100%;justify-content:center;padding:13px 18px}
.cp-btn{padding:15px 20px;font-size:1.05rem}
.facts{margin:6px 0 0;display:grid}
.facts div{display:flex;justify-content:space-between;gap:14px;padding:11px 0;border-top:1px solid var(--line);font-size:.9rem}
.facts dt{color:var(--muted)}
.facts dd{margin:0;font-weight:600;text-align:right}
.facts a{text-decoration:none}
.cp-desc{margin-top:30px;padding-top:26px;border-top:1px solid var(--line)}
.cp-desc h2{font-size:1.35rem;margin:0 0 14px;letter-spacing:-.3px}
.cp-desc p{margin:0 0 15px;font-size:1.02rem;opacity:.93;max-width:760px}
.cp-related .grid{padding-top:16px}

.with-side{display:grid;grid-template-columns:260px minmax(0,1fr);gap:36px;align-items:start;padding-top:30px}
.content{min-width:0}
.with-side .grid{padding-top:0}
.with-side .section-head:first-child{margin-top:0}
.side{position:sticky;top:92px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:18px 12px;max-height:calc(100vh - 120px);overflow:auto}
.side-title{margin:0 10px 10px;font-size:.74rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.side ul{list-style:none;margin:0;padding:0}
.side a{display:flex;justify-content:space-between;gap:10px;padding:8px 12px;border-radius:calc(var(--radius) / 2);color:var(--ink);text-decoration:none;font-size:.92rem;font-weight:500}
.side a:hover{background:var(--tint)}
.side a.active{background:var(--accent);color:var(--on-accent);font-weight:700}
.side small{color:var(--muted)}
.side a.active small{color:inherit;opacity:.85}
.side-more{margin:10px 12px 0;font-size:.86rem}
.side-more a{padding:0;color:var(--accent);display:inline}

.btn-tg{display:inline-flex;align-items:center;gap:8px;background:var(--tg);color:#fff;text-decoration:none;font-weight:700;padding:11px 20px;border-radius:var(--btn-radius);border:0;cursor:pointer;font-size:.95rem;line-height:1.2;transition:background .15s ease,transform .15s ease}
.btn-tg:hover{background:var(--tg-dark);color:#fff}
.btn-tg svg{flex:none}
.btn-tg--sm{padding:9px 16px;font-size:.88rem;border-radius:999px}
.btn-tg--lg{padding:14px 26px;font-size:1.02rem}
details.tg-menu,details.tg-float{position:relative}
details summary{list-style:none}
details summary::-webkit-details-marker{display:none}
.tg-pop{position:absolute;right:0;top:calc(100% + 10px);display:flex;flex-direction:column;gap:8px;width:max-content;min-width:230px;max-width:86vw;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 24px 50px rgba(0,0,0,.28);padding:14px;z-index:60}
.tg-pop strong{font-size:.9rem;margin-bottom:2px}
.tg-pop .btn-tg{justify-content:center}
.tg-float{position:fixed;right:20px;bottom:20px;z-index:70}
.btn-tg--float{border-radius:999px;padding:13px 21px;box-shadow:0 12px 30px rgba(34,158,217,.45)}
.btn-tg--float:hover{transform:translateY(-2px)}
.tg-pop--up{top:auto;bottom:calc(100% + 10px)}
.tg-banner{position:relative;overflow:hidden;margin-top:72px;background:linear-gradient(135deg,#1a78b0,#2aa7e6);color:#fff}
.tg-banner::after{content:"";position:absolute;right:-80px;top:-120px;width:340px;height:340px;border-radius:50%;background:rgba(255,255,255,.1)}
.tg-banner-in{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:28px;flex-wrap:wrap;padding-top:42px;padding-bottom:42px}
.tg-banner-text{max-width:620px}
.tg-banner h2{margin:0 0 8px;font-size:1.75rem;letter-spacing:-.5px;text-transform:none}
.tg-banner p{margin:0;opacity:.95}
.tg-banner-btns{display:flex;flex-wrap:wrap;gap:12px}
.tg-banner .btn-tg{background:#fff;color:#16689a}
.tg-banner .btn-tg:hover{background:#e8f6fd;color:#0f4d73}

.pager{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin:38px 0 60px}
.pager a,.pager span{min-width:44px;text-align:center;padding:9px 14px;border-radius:calc(var(--radius) / 1.5);border:1px solid var(--line);background:var(--surface);color:var(--ink);text-decoration:none;font-weight:600}
.pager a:hover{border-color:var(--accent);color:var(--accent)}
.pager .current{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}
.pager .gap{border:0;background:none}

.hub-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:22px;padding:38px 0 60px}
.hub-grid--sm{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:16px;padding:18px 0 8px}
.hub-card{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;text-decoration:none;color:var(--ink);transition:transform .2s ease,box-shadow .2s ease,border-color .2s}
.hub-card:hover{transform:translateY(-4px);border-color:var(--accent);box-shadow:var(--lift)}
.hub-img{display:block;height:128px;background:var(--line);overflow:hidden}
.hub-grid--sm .hub-img{height:96px}
.hub-img.placeholder{display:grid;place-items:center;background:linear-gradient(135deg,var(--accent),var(--accent-2))}
.hub-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s}
.hub-card:hover .hub-img img{transform:scale(1.06)}
.hub-name{font-weight:700;padding:14px 18px 0;line-height:1.3}
.hub-count{color:var(--muted);font-size:.85rem;padding:2px 18px 16px}
.cloud{display:flex;flex-wrap:wrap;justify-content:center;align-items:baseline;gap:12px;padding:46px 0 68px}
.cloud a{text-decoration:none;color:var(--ink);padding:4px 16px;border-radius:999px;background:var(--surface);border:1px solid var(--line);transition:all .15s}
.cloud a:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-2px)}
.cloud small{color:var(--muted)}
.cloud .s1{font-size:.85rem}.cloud .s2{font-size:1rem}.cloud .s3{font-size:1.2rem}.cloud .s4{font-size:1.45rem}.cloud .s5{font-size:1.8rem;font-weight:700}

.site-footer{border-top:1px solid var(--line);padding:52px 0 0;color:var(--muted);font-size:.92rem;background:var(--surface)}
.foot-grid{display:grid;grid-template-columns:2fr 1.2fr 1.2fr;gap:44px;padding-bottom:40px}
.site-footer p{margin:6px 0}
.foot-blurb{max-width:420px;margin-top:14px!important}
.foot-meta{font-size:.84rem}
.foot-title{font-weight:800;color:var(--ink);text-transform:uppercase;letter-spacing:.1em;font-size:.74rem}
.site-footer ul{list-style:none;margin:10px 0 0;padding:0}
.site-footer li{margin:8px 0}
.site-footer a{color:var(--muted);text-decoration:none}
.site-footer a:hover{color:var(--accent)}
.site-footer .brand{color:var(--ink)}
.foot-bottom{border-top:1px solid var(--line);padding:18px 0;font-size:.84rem}
.foot-bottom-in{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}

.header--dark{background:var(--ink);border-color:var(--ink);backdrop-filter:none}
.header--dark .brand,.header--dark .nav a{color:var(--bg)}
.header--accent{background:var(--accent);border-color:var(--accent);backdrop-filter:none}
.header--accent .brand,.header--accent .nav a{color:var(--on-accent)}
.header--dark .nav a:hover,.header--accent .nav a:hover{opacity:.75;color:inherit;background:transparent}
.header--center .header-in{flex-direction:column;justify-content:center;gap:8px;padding-top:16px;padding-bottom:16px}
.header--center .brand{font-size:1.7rem}
.header--center .search-wrap{margin:0 auto;width:100%}
.align-center{text-align:center}
.align-center .lead{margin-left:auto;margin-right:auto}
.align-center .chips,.align-center .crumbs{justify-content:center}
.align-center .hero-search{margin-left:auto;margin-right:auto}
.align-center.hero--home .hero-in{grid-template-columns:1fr}
.align-center .stats{grid-template-columns:repeat(4,1fr);max-width:920px;margin:0 auto;width:100%}
.btn--outline .card-btn{background:transparent;color:var(--accent);border:2px solid var(--accent)}
.btn--outline .card-btn:hover{background:var(--accent);color:var(--on-accent);filter:none}

.fam-editorial .hero{padding:64px 0 52px;border-bottom:3px double var(--ink)}
.fam-editorial .hero h1{letter-spacing:-1.6px;font-size:clamp(2.2rem,5.4vw,4rem)}
.fam-editorial .course-card{background:transparent;border:0;border-top:3px solid var(--ink);border-radius:0;box-shadow:none}
.fam-editorial .course-card:hover{transform:none;box-shadow:none}
.fam-editorial .card-img{margin-top:14px;border-radius:0}
.fam-editorial .card-body{padding:16px 0 8px}
.fam-editorial .card-title{font-size:1.28rem}
.fam-editorial .card-btn{display:inline-flex;background:none;color:var(--ink);padding:0 0 2px;border:0;border-bottom:2px solid var(--accent);border-radius:0;justify-content:flex-start;align-self:flex-start;width:max-content}
.fam-editorial .card-btn:hover{color:var(--accent);filter:none}
.fam-editorial .stat{border-radius:0;box-shadow:none;background:transparent;border:0;border-top:3px solid currentColor;padding:14px 0 0;backdrop-filter:none}
.fam-editorial .stat span{color:inherit;opacity:.72}
.fam-editorial .section-head{border-bottom:1px solid var(--line);padding-bottom:10px}
.fam-editorial .hub-card{border-radius:0;border-width:0;border-top:3px solid var(--ink);background:transparent}
.fam-editorial .hub-card:hover{box-shadow:none}

.fam-market .hero{padding:48px 0 40px}
.fam-market .hero h1{font-size:clamp(1.8rem,4vw,2.7rem)}
.fam-market .card-body{padding:16px 18px 18px}
.fam-market .card-title{font-size:1rem}
.fam-market .card-btn{padding:10px 16px;font-size:.9rem}
.fam-market .grid{gap:20px}

.fam-bold .hero::before{content:"";position:absolute;right:-10%;top:-40%;width:60%;height:150%;background:radial-gradient(closest-side,color-mix(in srgb,var(--accent) 38%,transparent),transparent);pointer-events:none}
.fam-bold .hero::after{content:"";position:absolute;left:-8%;bottom:-60%;width:46%;height:120%;background:radial-gradient(closest-side,color-mix(in srgb,var(--accent-2) 26%,transparent),transparent);pointer-events:none}
.fam-bold .course-card{border:1px solid var(--line)}
.fam-bold .course-card:hover{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent),0 20px 50px color-mix(in srgb,var(--accent) 22%,transparent)}
.fam-bold .stat{background:color-mix(in srgb,var(--surface) 70%,transparent);border-color:color-mix(in srgb,var(--accent) 30%,var(--line))}
.fam-bold .hero:not(.hero--gradient) h1{background:linear-gradient(90deg,var(--ink),var(--accent));-webkit-background-clip:text;background-clip:text;color:transparent}

.fam-minimal .hero{padding:96px 0 76px}
.fam-minimal .hero h1{font-weight:300;letter-spacing:-2px}
.fam-minimal .course-card{background:transparent;border:0;box-shadow:none;border-radius:0}
.fam-minimal .course-card:hover{transform:none;box-shadow:none}
.fam-minimal .card-img{border-radius:var(--radius)}
.fam-minimal .card-body{padding:16px 2px 0}
.fam-minimal .grid{gap:40px 28px}
.fam-minimal .card-btn{display:inline-flex;background:none;color:var(--accent);padding:0;border:0;justify-content:flex-start;align-self:flex-start;width:max-content}
.fam-minimal .card-btn:hover{filter:none;text-decoration:underline}
.fam-minimal .stat{background:transparent;border:0;box-shadow:none;border-left:2px solid var(--accent);border-radius:0;padding:4px 0 4px 16px;backdrop-filter:none}

.fam-soft .hero{border-radius:0 0 calc(var(--radius) * 1.5) calc(var(--radius) * 1.5);border-bottom:0}
.fam-soft .course-card{background:var(--tint);border-color:transparent}
.fam-soft .card-img{margin:10px 10px 0;border-radius:calc(var(--radius) * .8)}
.fam-soft .stat{border-radius:calc(var(--radius) * 1.2)}
.fam-soft .hub-card{background:var(--tint)}

@media (max-width:1000px){
  .course-page{grid-template-columns:1fr;gap:26px}
  .cp-side{position:static;order:-1}
  .hero--home .hero-in{grid-template-columns:1fr}
  .with-side{display:block}
  .side{position:static;max-height:none;margin-bottom:22px;padding:14px 10px}
  .side ul{display:flex;gap:6px;overflow-x:auto;padding-bottom:6px}
  .side li{flex:none}
  .side a{border:1px solid var(--line);border-radius:999px;white-space:nowrap;gap:8px}
  .side-more{display:none}
  .foot-grid{grid-template-columns:1fr 1fr}
  .foot-about{grid-column:1/-1}
}
@media (max-width:640px){
  .nav{order:3;width:100%}
  .search-wrap{max-width:none;flex-basis:100%;order:2;margin-left:0}
  .layout-list .course-card{flex-direction:column}
  .layout-list .card-img{width:100%;aspect-ratio:16/10;min-height:0}
  .hero{padding:44px 0 36px}
  .stats,.align-center .stats{grid-template-columns:1fr 1fr}
  .foot-grid{grid-template-columns:1fr}
  .btn-tg--float span{display:none}
  .btn-tg--float{padding:14px}
  .tg-pop{right:auto;left:0}
  .tg-float .tg-pop{left:auto;right:0}
  .wrap{padding:0 18px}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
