/* Scoped presentation for the editable front page; header/footer stay with Eduker. */
@font-face {
    font-family: 'STVM Front Roboto';
    src: url('../fonts/Roboto.woff2') format('woff2');
    font-style: normal;
    font-weight: 100 900;
    font-display: swap;
}
#stvm-main-content.stvm-front-page {
    --stvm-accent: #007a70;
    --stvm-ink: #18322e;
    --stvm-muted: #52665f;
    --stvm-pale: #f1f6f3;
    --stvm-line: #d7e3dc;
    --display: flex;
    --flex-direction: column;
    --gap: 0;
    --padding-top: 0;
    --padding-right: 0;
    --padding-bottom: 0;
    --padding-left: 0;
    font-family: 'STVM Front Roboto', Roboto, sans-serif;
    color: var(--stvm-ink);
    background: #fff;
}
#stvm-main-content.stvm-front-page .e-con { min-width: 0; padding: 0; gap: 0; }
#stvm-main-content.stvm-front-page .elementor-widget { margin: 0; min-width: 0; }
#stvm-main-content.stvm-front-page.e-con { gap: 0; }
#stvm-main-content.stvm-front-page .elementor-widget-heading .elementor-heading-title { color: var(--stvm-ink); font-family: inherit; }
#stvm-main-content.stvm-front-page .elementor-heading-title,
#stvm-main-content.stvm-front-page :is(h1,h2,h3,p,a,button,table) { font-family: inherit; }
#stvm-main-content.stvm-front-page :is(h1,h2,h3) { color: var(--stvm-ink); font-weight: 700; margin: 0; overflow-wrap: break-word; }
#stvm-main-content.stvm-front-page h2.elementor-heading-title { font-size: 34px; line-height: 1.2; letter-spacing: -.8px; }
#stvm-main-content.stvm-front-page h3.elementor-heading-title { font-size: 22px; line-height: 1.25; letter-spacing: -.3px; }
#stvm-main-content.stvm-front-page p { margin: 0; color: var(--stvm-muted); font-size: 17px; line-height: 1.6; }
#stvm-main-content.stvm-front-page .stvm-inner { width: calc(100% - 80px); max-width: 1240px; margin-inline: auto; }
#stvm-main-content.stvm-front-page .stvm-section { padding-block: 60px; }
#stvm-main-content.stvm-front-page .stvm-eyebrow p { color: var(--stvm-accent); font-size: 14px; line-height: 1.5; font-weight: 700; letter-spacing: .7px; }
#stvm-main-content.stvm-front-page .stvm-hero { padding: 26px 0 56px; background: var(--stvm-pale); }
#stvm-main-content.stvm-front-page .stvm-home-label p { font-size: 13px; }
#stvm-main-content.stvm-front-page .stvm-hero-row { display: grid; grid-template-columns: minmax(0, 620fr) minmax(0, 570fr); gap: 50px; align-items: center; margin-top: 38px; }
#stvm-main-content.stvm-front-page .stvm-hero-copy { gap: 20px; }
#stvm-main-content.stvm-front-page .stvm-hero-title h1 { font-size: 60px; line-height: 1.08; letter-spacing: -1.8px; }
#stvm-main-content.stvm-front-page .stvm-hero-intro p { font-size: 20px; line-height: 1.55; max-width: 620px; }
#stvm-main-content.stvm-front-page .stvm-hero-actions { display: flex; flex-direction: row; flex-wrap: wrap; gap: 12px; margin-top: 6px; }
#stvm-main-content.stvm-front-page img { max-width: 100%; }
#stvm-main-content.stvm-front-page .stvm-hero-image img { display: block; width: 100%; height: 330px; object-fit: cover; object-position: 50% 48%; border-radius: 14px; }
#stvm-main-content.stvm-front-page .elementor-button {
    background: var(--stvm-accent); color: #fff; border: 1px solid transparent;
    border-radius: 5px; padding: 15px 20px; min-height: 52px;
    font-size: 16px; line-height: 20px; font-weight: 600; text-decoration: none;
}
#stvm-main-content.stvm-front-page .elementor-button-content-wrapper { gap: 18px; align-items: center; }
#stvm-main-content.stvm-front-page .elementor-button-text { text-align: left; }
#stvm-main-content.stvm-front-page .elementor-button-icon { display: inline-flex; align-items: center; }
#stvm-main-content.stvm-front-page .elementor-button-icon svg { width: 14px; height: 14px; fill: currentColor; }
#stvm-main-content.stvm-front-page .stvm-outline .elementor-button { background: #fff; color: var(--stvm-accent); border-color: var(--stvm-accent); }
#stvm-main-content.stvm-front-page .elementor-button:hover { background: #00665d; color: #fff; }
#stvm-main-content.stvm-front-page .stvm-students { padding: 44px 0; background: #183b36; }
#stvm-main-content.stvm-front-page .stvm-students-inner { display: grid; grid-template-columns: minmax(0, 660fr) minmax(0, 510fr); gap: 70px; align-items: center; }
#stvm-main-content.stvm-front-page .stvm-students .elementor-widget-heading h2 { color: #fff; }
#stvm-main-content.stvm-front-page .stvm-students .stvm-eyebrow p { color: #c5dbd2; font-size: 13px; }
#stvm-main-content.stvm-front-page .stvm-quick-links { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; margin-top: 20px; }
#stvm-main-content.stvm-front-page .stvm-quick-links .elementor-button-wrapper,
#stvm-main-content.stvm-front-page .stvm-quick-links .elementor-button { width: 100%; }
#stvm-main-content.stvm-front-page .stvm-quick-links .elementor-button { background: #244e47; padding: 14px 16px; font-size: 15px; }
#stvm-main-content.stvm-front-page .stvm-quick-links .elementor-button-content-wrapper { justify-content: space-between; }
#stvm-main-content.stvm-front-page .stvm-quick-links .elementor-button:hover { background: #32665d; }
#stvm-main-content.stvm-front-page .stvm-lessons-panel { padding: 26px 28px; background: #fff; border-radius: 10px; gap: 16px; }
#stvm-main-content.stvm-front-page .stvm-lessons-panel h3 { font-size: 22px; }
#stvm-main-content.stvm-front-page .stvm-lessons-panel table { width: 100%; border: 0; border-collapse: collapse; font-size: 15px; font-variant-numeric: tabular-nums; }
#stvm-main-content.stvm-front-page .stvm-lessons-panel :is(th,td) { border: 0; padding: 6px 0; text-align: left; }
#stvm-main-content.stvm-front-page .stvm-lessons-panel th { font-weight: 400; }
#stvm-main-content.stvm-front-page .stvm-lessons-panel td { font-weight: 700; }
#stvm-main-content.stvm-front-page .stvm-lunch p { border-top: 1px solid var(--stvm-line); padding-top: 14px; font-size: 14px; }
#stvm-main-content.stvm-front-page .stvm-programme-top { display: flex; flex-direction: row; align-items: center; justify-content: space-between; gap: 20px; }
#stvm-main-content.stvm-front-page .stvm-preview-label p { background: #e7f2ed; color: #006b62; border-radius: 20px; padding: 6px 12px; font-size: 12px; }
#stvm-main-content.stvm-front-page .stvm-programme-filters { display: flex; flex-wrap: wrap; gap: 10px; margin: 20px 0 26px; }
#stvm-main-content.stvm-front-page .stvm-programme-filters button { border: 1px solid var(--stvm-line); background: #fff; color: var(--stvm-ink); border-radius: 24px; min-height: 44px; padding: 10px 18px; font-size: 14px; font-weight: 500; line-height: 1.4; cursor: pointer; }
#stvm-main-content.stvm-front-page .stvm-programme-filters button[aria-pressed='true'] { background: var(--stvm-accent); color: #fff; border-color: var(--stvm-accent); }
#stvm-main-content.stvm-front-page .stvm-programme-filters button:hover { border-color: var(--stvm-accent); }
#stvm-main-content.stvm-front-page .stvm-programme-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 24px; }
#stvm-main-content.stvm-front-page .stvm-programme-card { display: flex; flex-direction: column; border: 1px solid var(--stvm-line); border-radius: 9px; overflow: hidden; background: #fff; }
#stvm-main-content.stvm-front-page .stvm-programme-card img { display: block; width: 100%; height: 190px; object-fit: cover; object-position: 50% 37%; }
#stvm-main-content.stvm-front-page .stvm-card-body { display: flex; flex: 1; flex-direction: column; gap: 14px; padding: 22px 20px 14px; }
#stvm-main-content.stvm-front-page .stvm-programme-card h3 { font-size: 22px; }
#stvm-main-content.stvm-front-page .stvm-audience p { font-size: 14px; }
#stvm-main-content.stvm-front-page .stvm-card-action { margin-top: auto; padding-top: 4px; }
#stvm-main-content.stvm-front-page .stvm-card-action .elementor-button { padding: 10px 0; min-height: 44px; border: 0; border-radius: 0; background: transparent; color: var(--stvm-accent); font-size: 15px; line-height: 1.5; }
#stvm-main-content.stvm-front-page .stvm-card-action .elementor-button:hover { text-decoration: underline; }
#stvm-main-content.stvm-front-page [hidden] { display: none !important; }
#stvm-main-content.stvm-front-page .stvm-front-empty { padding: 28px; background: var(--stvm-pale); border: 1px solid var(--stvm-line); border-radius: 9px; }
#stvm-main-content.stvm-front-page .stvm-statistics { padding: 0; }
#stvm-main-content.stvm-front-page .stvm-stats-inner { padding: 36px 0 32px; border-block: 1px solid var(--stvm-line); }
#stvm-main-content.stvm-front-page .stvm-stat-grid { display: grid; grid-template-columns: 1.25fr repeat(3,minmax(0,1fr)); gap: 36px; }
#stvm-main-content.stvm-front-page .stvm-stat-title h2 { font-size: 26px; }
#stvm-main-content.stvm-front-page .stvm-stat-number p { color: var(--stvm-accent); font-size: 50px; line-height: 1.1; font-weight: 700; font-variant-numeric: tabular-nums; margin-bottom: 14px; }
#stvm-main-content.stvm-front-page .stvm-stat-label p { font-size: 16px; }
#stvm-main-content.stvm-front-page .stvm-source { margin-top: 32px; }
#stvm-main-content.stvm-front-page .stvm-source p,
#stvm-main-content.stvm-front-page .stvm-source a { font-size: 12px; color: var(--stvm-muted); }
#stvm-main-content.stvm-front-page .stvm-source a:hover { text-decoration: underline; }
#stvm-main-content.stvm-front-page .stvm-news { padding-bottom: 0; }
#stvm-main-content.stvm-front-page .stvm-news-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; margin-top: 24px; }
#stvm-main-content.stvm-front-page .stvm-news-card { display: flex; flex-direction: column; border: 1px solid var(--stvm-line); border-radius: 9px; overflow: hidden; }
#stvm-main-content.stvm-front-page .stvm-news-photo img { display: block; width: 100%; aspect-ratio: 392 / 190; height: auto; object-fit: cover; }
#stvm-main-content.stvm-front-page .stvm-news-body { display: flex; flex: 1; flex-direction: column; align-items: flex-start; gap: 14px; padding: 20px 24px 16px; }
#stvm-main-content.stvm-front-page .stvm-news-meta { color: var(--stvm-accent); font-size: 12px; font-weight: 600; }
#stvm-main-content.stvm-front-page .stvm-news-body h3 { font-size: 22px; line-height: 1.3; }
#stvm-main-content.stvm-front-page .stvm-news-action { display: inline-flex; gap: 16px; align-items: center; min-height: 44px; color: var(--stvm-accent); font-weight: 700; font-size: 15px; margin-top: auto; }
#stvm-main-content.stvm-front-page .stvm-news-action:hover { text-decoration: underline; }
#stvm-main-content.stvm-front-page .stvm-community { padding-block: 44px 0; }
#stvm-main-content.stvm-front-page .stvm-community-inner { background: var(--stvm-pale); padding: 32px; border-radius: 12px; display: grid; grid-template-columns: 1fr 1fr; gap: 40px; align-items: center; }
#stvm-main-content.stvm-front-page .stvm-community-image img { width: 100%; height: 260px; display: block; object-fit: cover; object-position: 50% 50%; border-radius: 7px; }
#stvm-main-content.stvm-front-page .stvm-community-copy { gap: 18px; }
#stvm-main-content.stvm-front-page .stvm-info-grid { margin-top: 24px; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; }
#stvm-main-content.stvm-front-page .stvm-info-card { padding: 24px; border: 1px solid var(--stvm-line); border-radius: 9px; gap: 18px; }
#stvm-main-content.stvm-front-page .stvm-info-icon { display: flex; align-items: center; justify-content: center; width: 46px; height: 46px; background: #e7f2ed; color: var(--stvm-accent); border-radius: 10px; font-size: 20px; }
#stvm-main-content.stvm-front-page .stvm-info-card h3 { font-size: 22px; }
#stvm-main-content.stvm-front-page .stvm-info-card .stvm-card-action { padding-top: 0; }
#stvm-main-content.stvm-front-page .stvm-info { padding-bottom: 90px; }
#stvm-main-content.stvm-front-page a:focus-visible,
#stvm-main-content.stvm-front-page button:focus-visible { outline: 3px solid var(--stvm-accent); outline-offset: 4px; }
#stvm-main-content.stvm-front-page .stvm-students a:focus-visible { outline-color: #fff; }
#stvm-main-content.stvm-front-page [id] { scroll-margin-top: 130px; }
#stvm-main-content.stvm-front-page .stvm-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
@media (max-width: 1024px) {
    #stvm-main-content.stvm-front-page .stvm-hero-row,
    #stvm-main-content.stvm-front-page .stvm-students-inner { grid-template-columns: minmax(0,1fr); gap: 32px; }
    #stvm-main-content.stvm-front-page .stvm-hero-image img { height: auto; aspect-ratio: 1.78; }
    #stvm-main-content.stvm-front-page .stvm-programme-grid,
    #stvm-main-content.stvm-front-page .stvm-news-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    #stvm-main-content.stvm-front-page .stvm-stat-grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; }
    #stvm-main-content.stvm-front-page .stvm-stats-heading { grid-column: 1 / -1; }
    #stvm-main-content.stvm-front-page .stvm-community-inner { grid-template-columns: minmax(0,1fr); gap: 26px; }
    #stvm-main-content.stvm-front-page .stvm-community-image img { height: auto; aspect-ratio: 1.8; }
    #stvm-main-content.stvm-front-page .stvm-info-grid { grid-template-columns: minmax(0,1fr); }
}
@media (max-width: 767px) {
    #stvm-main-content.stvm-front-page .stvm-inner { width: calc(100% - 40px); }
    #stvm-main-content.stvm-front-page .stvm-section { padding-block: 40px; }
    #stvm-main-content.stvm-front-page h2.elementor-heading-title { font-size: 31px; letter-spacing: -.7px; }
    #stvm-main-content.stvm-front-page p { font-size: 16px; }
    #stvm-main-content.stvm-front-page .stvm-hero { padding: 20px 0 38px; }
    #stvm-main-content.stvm-front-page .stvm-home-label p { font-size: 12px; }
    #stvm-main-content.stvm-front-page .stvm-hero-row { margin-top: 30px; gap: 28px; }
    #stvm-main-content.stvm-front-page .stvm-hero-copy { gap: 18px; }
    #stvm-main-content.stvm-front-page .stvm-eyebrow p { font-size: 12px; letter-spacing: .4px; }
    #stvm-main-content.stvm-front-page .stvm-hero-title h1 { font-size: clamp(34px,11vw,43px); line-height: 1.08; letter-spacing: -1px; }
    #stvm-main-content.stvm-front-page .stvm-hero-intro p { font-size: 17px; }
    #stvm-main-content.stvm-front-page .stvm-hero-actions { flex-direction: column; flex-wrap: nowrap; gap: 12px; }
    #stvm-main-content.stvm-front-page .stvm-hero-actions :is(.elementor-widget,.elementor-button) { width: 100%; }
    #stvm-main-content.stvm-front-page .stvm-hero-actions .elementor-button-content-wrapper { justify-content: space-between; }
    #stvm-main-content.stvm-front-page .stvm-hero-image img { aspect-ratio: 350 / 220; border-radius: 10px; }
    #stvm-main-content.stvm-front-page .stvm-students { padding: 36px 0; }
    #stvm-main-content.stvm-front-page .stvm-quick-links { grid-template-columns: minmax(0,1fr); }
    #stvm-main-content.stvm-front-page .stvm-lessons-panel { padding: 24px; }
    #stvm-main-content.stvm-front-page .stvm-lessons-panel h3 { font-size: 22px; }
    #stvm-main-content.stvm-front-page .stvm-programme-top { align-items: flex-start; flex-direction: column; gap: 12px; }
    #stvm-main-content.stvm-front-page .stvm-programme-filters { margin: 18px 0 22px; gap: 8px; }
    #stvm-main-content.stvm-front-page .stvm-programme-filters button { padding: 10px 13px; font-size: 12px; }
    #stvm-main-content.stvm-front-page .stvm-programme-grid { gap: 16px; }
    #stvm-main-content.stvm-front-page .stvm-programme-card img { height: 125px; }
    #stvm-main-content.stvm-front-page .stvm-card-body { padding: 14px 12px 10px; gap: 12px; }
    #stvm-main-content.stvm-front-page .stvm-programme-card h3 { font-size: 17px; line-height: 1.3; letter-spacing: -.2px; }
    #stvm-main-content.stvm-front-page .stvm-audience p { font-size: 12px; }
    #stvm-main-content.stvm-front-page .stvm-programme-card .elementor-button { font-size: 12px; }
    #stvm-main-content.stvm-front-page .stvm-programme-card .elementor-button-content-wrapper { gap: 8px; }
    #stvm-main-content.stvm-front-page .stvm-statistics { padding: 0; }
    #stvm-main-content.stvm-front-page .stvm-stats-inner { padding-block: 30px; }
    #stvm-main-content.stvm-front-page .stvm-stat-grid { grid-template-columns: minmax(0,1fr); gap: 30px; }
    #stvm-main-content.stvm-front-page .stvm-stat-title h2 { font-size: 25px; }
    #stvm-main-content.stvm-front-page .stvm-stat-number p { font-size: 46px; margin-bottom: 8px; }
    #stvm-main-content.stvm-front-page .stvm-source { margin-top: 28px; }
    #stvm-main-content.stvm-front-page .stvm-news { padding-bottom: 0; }
    #stvm-main-content.stvm-front-page .stvm-news-grid { grid-template-columns: minmax(0,1fr); gap: 24px; }
    #stvm-main-content.stvm-front-page .stvm-news-photo img { aspect-ratio: 350 / 200; }
    #stvm-main-content.stvm-front-page .stvm-news-body { padding: 20px; gap: 12px; }
    #stvm-main-content.stvm-front-page .stvm-news-meta { font-size: 12px; }
    #stvm-main-content.stvm-front-page .stvm-news-body h3 { font-size: 23px; }
    #stvm-main-content.stvm-front-page .stvm-community { padding-bottom: 0; }
    #stvm-main-content.stvm-front-page .stvm-community-inner { padding: 24px; gap: 24px; }
    #stvm-main-content.stvm-front-page .stvm-community-image img { aspect-ratio: 302 / 185; }
    #stvm-main-content.stvm-front-page .stvm-community-copy { gap: 16px; }
    #stvm-main-content.stvm-front-page .stvm-community-copy .elementor-button { width: 100%; }
    #stvm-main-content.stvm-front-page .stvm-community-copy .elementor-button-content-wrapper { justify-content: space-between; }
    #stvm-main-content.stvm-front-page .stvm-info-grid { gap: 20px; }
    #stvm-main-content.stvm-front-page .stvm-info-card { padding: 24px; gap: 16px; }
    #stvm-main-content.stvm-front-page .stvm-info-card h3 { font-size: 23px; }
    #stvm-main-content.stvm-front-page .stvm-info { padding-bottom: 52px; }
}
@media (max-width: 359px) {
    #stvm-main-content.stvm-front-page .stvm-programme-grid { grid-template-columns: minmax(0,1fr); }
    #stvm-main-content.stvm-front-page .stvm-programme-card img { height: 180px; }
    #stvm-main-content.stvm-front-page .stvm-programme-card h3 { font-size: 21px; }
    #stvm-main-content.stvm-front-page .stvm-programme-card .elementor-button { font-size: 15px; }
}
@media (prefers-reduced-motion: reduce) {
    #stvm-main-content.stvm-front-page *, #stvm-main-content.stvm-front-page *::before, #stvm-main-content.stvm-front-page *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
