/* Public course catalogue and course pages. Colours follow the conference ticket cards. */
.sc-catalog,.sd-detail {
  --sc-navy:#10243a; --sc-rust:#a2320d; --sc-paper:#f6f3ed; --sc-line:#d6d5ce;
  --sc-muted:#4e5d65; --sc-display:var(--display,'Dala Display','Arial Narrow',sans-serif);
  box-sizing:border-box; color:var(--sc-navy); font-family:inherit;
}
.sc-catalog *, .sd-detail * {box-sizing:border-box}
.sc-catalog {scroll-margin-top:82px;padding:clamp(42px,6vw,82px) clamp(16px,4vw,58px);background:var(--sc-paper)}
.sc-inner,.sd-back-wrap,.sd-body,.sd-bottom {width:100%;max-width:1240px;margin-inline:auto}
.sc-heading {display:flex;justify-content:space-between;align-items:end;gap:36px;margin-bottom:22px}
.sc-eyebrow,.sd-kicker {margin:0 0 9px;font-size:11px;font-weight:700;letter-spacing:.13em;line-height:1.35;text-transform:uppercase;color:var(--sc-rust)}
.sc-heading h2,.sd-detail h1,.sd-main h2 {font-family:var(--sc-display);font-weight:600;letter-spacing:-.035em;line-height:1.04;text-transform:uppercase}
.sc-heading h2 {font-size:clamp(42px,5.5vw,78px);margin:0}
.sc-heading>p {max-width:435px;margin:0 0 3px;font-size:clamp(14px,1.45vw,18px);line-height:1.5;color:var(--sc-muted)}
.sc-filters {display:flex;align-items:stretch;gap:6px;margin:0 0 18px;flex-wrap:wrap}
.sc-filters[hidden],.sc-card[hidden] {display:none}
.sc-filters button {min-height:42px;max-width:100%;display:inline-flex;align-items:center;gap:7px;border:1px solid var(--sc-line);border-radius:5px;padding:7px 12px;background:transparent;color:var(--sc-navy);font-family:inherit;line-height:1.3;font-size:12px;font-weight:650;cursor:pointer}
.sc-filters button span {font-size:11px;font-variant-numeric:tabular-nums;opacity:.8}
.sc-filters button[aria-pressed=true] {border-color:var(--sc-navy);background:var(--sc-navy);color:white}
.sc-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.sc-card {min-width:0;display:flex;flex-direction:column;border-radius:13px;overflow:hidden;border:1px solid var(--sc-line);background:#fff;color:var(--sc-navy)}
.sc-card.sc-featured {color:#fff;background:var(--sc-navy);border-color:var(--sc-navy)}
.sc-cover {display:block;position:relative;background:#d9d7cf;aspect-ratio:2.5;overflow:hidden;flex:none}
.sc-cover img,.sd-hero-photo img {display:block;width:100%;height:100%;object-fit:cover;object-position:50% 55%}
.sc-image-health img {object-position:60% 40%}
.sc-image-ranch img {object-position:50% 53%}
.sd-photo-credit {position:absolute;right:6px;bottom:5px;padding:3px 7px;border-radius:4px;background:#10243ae6;color:white;font:450 10px/1.3 Golos,system-ui,sans-serif}
.sd-photo-credit a:hover,.sd-photo-credit a:focus-visible {text-decoration:underline}
.sc-image-beef img {object-position:50% 40%}
.sc-image-horses img {object-position:50% 52%}
.sc-number {position:absolute;right:11px;bottom:10px;font-size:10px;font-weight:650;line-height:1.2;letter-spacing:.1em;color:white;background:rgba(12,31,43,.77);border-radius:4px;padding:4px 7px}
.sc-card-content {display:flex;flex:1;flex-direction:column;padding:16px 18px 18px}
.sc-meta {display:flex;align-items:center;gap:6px 9px;flex-wrap:wrap;font-size:11px;line-height:1.4;color:var(--sc-muted);font-weight:550}
.sc-featured .sc-meta {color:#d4e0e4}
.sc-status {display:inline-block;border-radius:4px;padding:4px 7px;color:#345244;background:#e8efe8;font-size:10px;font-weight:700}
.sc-status.sc-upcoming {background:#eeeae1;color:#5b574f}
.sc-featured .sc-status {background:#f4d9af;color:#352a19}
.sc-card h3 {margin:12px 0 0;color:inherit;font-family:inherit;font-size:clamp(20px,1.9vw,28px);font-weight:750;line-height:1.12;letter-spacing:-.035em;text-wrap:balance;overflow-wrap:anywhere}
.sc-card a {color:inherit;text-decoration:none}
.sc-card h3 a:hover {text-decoration:underline;text-underline-offset:3px}
.sc-summary {margin:7px 0 17px;font-size:13px;line-height:1.45;color:var(--sc-muted)}
.sc-featured .sc-summary {color:#d5e0e4}
.sc-card-foot {margin-top:auto;padding-top:12px;border-top:1px solid var(--sc-line);display:flex;align-items:end;justify-content:space-between;gap:10px;flex-wrap:wrap}
.sc-featured .sc-card-foot {border-color:#ffffff40}
.sc-price {display:grid;gap:3px}
.sc-price>span {font-size:10px;line-height:1.3}
.sc-price strong,.sd-price {font-size:clamp(24px,2.3vw,34px);letter-spacing:-.05em;line-height:1.05;font-weight:750;font-variant-numeric:tabular-nums;white-space:nowrap}
.sc-featured .sc-price strong {color:#ffe4b8}
.sc-price small {font-size:.66em}
.sc-action,.sd-cta {display:inline-flex;justify-content:space-between;gap:9px;align-items:center;min-height:44px;border-radius:5px;padding:9px 12px;font-family:inherit;font-size:12px;font-weight:700;line-height:1.3}
.sc-card .sc-action {background:var(--sc-navy);color:#fff}
.sc-featured .sc-action,.sd-hero .sd-cta {background:#ffe4b8;color:var(--sc-navy)}
.sc-action span,.sd-cta span {font-size:18px;line-height:1}
.sc-catalog :is(a,button):focus-visible,.sd-detail :is(a,summary):focus-visible {outline:3px solid #b54b17;outline-offset:3px}
.sc-card .sc-action:hover,.sd-cta:hover {background:#8d311b;color:white}
.sd-detail {background:var(--sc-paper);padding:16px clamp(16px,4vw,58px) 40px}
.sd-back,.sd-back:visited {display:inline-flex;align-items:center;gap:9px;min-height:44px;font-size:13px;font-weight:650;color:var(--sc-rust);text-decoration:none}
.sd-back:hover {text-decoration:underline}
.sd-hero {max-width:1240px;margin:7px auto 0;display:grid;grid-template-columns:1.02fr 1fr;background:var(--sc-navy);color:white;border-radius:14px;overflow:hidden;position:relative}
.sd-hero-copy {padding:clamp(24px,4.2vw,62px);min-width:0;align-self:center}
.sd-kicker {color:#ffe4b8;font-size:10px}
.sd-kicker span {color:#c48660;margin:0 5px}
.sd-detail .sd-hero h1 {font-size:clamp(42px,5.1vw,76px);margin:17px 0 13px;overflow-wrap:anywhere;color:inherit}
.sd-intro {max-width:47ch;font-size:clamp(15px,1.5vw,19px);line-height:1.45;color:#dce4e7;margin:0}
.sd-facts {display:flex;flex-wrap:wrap;gap:6px;margin:18px 0 21px}
.sd-facts span {border:1px solid #ffffff5c;border-radius:40px;padding:6px 10px;font-size:11px;font-weight:600;line-height:1.3}
.sd-hero-photo {min-height:250px;position:relative}
.sd-hero-photo img {position:absolute;inset:0}
.sd-cta {text-decoration:none;background:var(--sc-navy);color:white;min-height:46px;padding-inline:17px}
.sd-body {display:grid;grid-template-columns:minmax(0,1fr) minmax(230px,.42fr);gap:clamp(30px,7vw,100px);padding-block:clamp(34px,5vw,70px)}
.sd-main {min-width:0}
.sd-main h2 {font-size:clamp(32px,4vw,52px);margin:0 0 15px}
.sd-about {font-size:clamp(16px,1.55vw,20px);line-height:1.6;margin:0}
.sd-original,.sd-caption,.sd-coming-note,.sd-notice {font-size:14px;line-height:1.55;color:var(--sc-muted);margin:13px 0}
.sd-section {margin-top:clamp(36px,5vw,64px)}
.sd-section .sd-caption {margin-top:0}
.sd-modules,.sd-lessons {padding:0;margin:0;list-style:none}
.sd-modules {border-top:1px solid #c9cbc6}
.sd-modules>li {border-bottom:1px solid #c9cbc6}
.sd-modules summary,.sd-mod-title {display:flex;align-items:baseline;gap:12px;padding:17px 0;list-style:none;color:var(--sc-navy);font-size:clamp(14px,1.5vw,18px);font-weight:650;line-height:1.4}
.sd-modules summary {cursor:pointer}
.sd-modules summary::-webkit-details-marker {display:none}
.sd-mod-no {color:var(--sc-rust);font-size:12px;letter-spacing:.08em;font-variant-numeric:tabular-nums}
.sd-plus {flex:none;align-self:center;margin-left:auto;position:relative;width:15px;height:15px}
.sd-plus::before,.sd-plus::after {content:"";display:block;position:absolute;width:13px;height:1px;left:1px;top:7px;background:currentColor}
.sd-plus::after {transform:rotate(90deg)}
details[open]>summary .sd-plus::after {display:none}
.sd-lessons {padding:0 0 14px;counter-reset:sd-lesson}
.sd-lessons li {counter-increment:sd-lesson;font-size:14px;line-height:1.4}
.sd-lessons li + li {border-top:1px solid #e1e5e2}
.sd-lessons a {display:flex;align-items:center;gap:10px;min-height:44px;padding:8px 6px;color:var(--sc-navy)}
.sd-lessons a::before {content:counter(sd-lesson,decimal-leading-zero);color:var(--sc-muted);font-size:11px;font-variant-numeric:tabular-nums}
.sd-lessons a span:last-child {margin-left:auto;color:#a03213}
.sd-lessons a:hover span:first-child,.sd-portal a:hover {text-decoration:underline}
.sd-modules small {margin-left:auto;flex-shrink:0;font-size:12px;color:var(--sc-muted);font-weight:500}
.sd-modules small + .sd-plus {margin-left:0}
.sd-portal {display:flex;flex-wrap:wrap;align-items:center;gap:5px 14px;padding:12px 0 16px;font-size:13px;color:var(--sc-muted);line-height:1.5}
.sd-portal p {flex:1 1 22em}
.sd-portal a {display:inline-flex;align-items:center;gap:6px;min-height:44px;color:var(--sc-navy);font-weight:650}
.sd-admission {align-self:start;padding:clamp(20px,2.6vw,34px);background:#fff;border:1px solid var(--sc-line);border-radius:12px}
.sd-admission h2 {font-family:inherit;font-size:16px;font-weight:600;line-height:1.35;margin:20px 0 5px}
.sd-price {font-size:clamp(32px,3vw,46px);margin:0 0 21px}
.sd-admission .sd-cta {width:100%}
.sd-bottom {padding-top:9px;border-top:1px solid var(--sc-line)}
@media(max-width:979px) {
  .sc-grid {grid-template-columns:repeat(2,minmax(0,1fr))}
  .sc-card h3 {font-size:24px}
}
@media(max-width:720px) {
  .sc-heading {display:block}
  .sc-heading>p {margin-top:12px}
  .sd-hero {grid-template-columns:1fr}
  .sd-hero-photo {min-height:0;aspect-ratio:2.5;grid-row:1}
  .sd-body {grid-template-columns:1fr;gap:24px}
  .sd-admission {max-width:none}
}
@media(max-width:600px) {
  .sc-grid {grid-template-columns:1fr;gap:13px}
  .sc-catalog {padding-inline:14px}
  .sc-heading {margin-bottom:14px}
  .sc-cover {aspect-ratio:2.75}
  .sc-filters {gap:5px}
  .sc-filters button {min-height:44px;padding-inline:8px;font-size:11px}
  .sc-card-content {padding:14px}
  .sc-price strong {font-size:29px}
  .sd-detail {padding-inline:14px}
  .sd-hero-copy {padding:22px 18px 25px}
  .sd-detail .sd-hero h1 {font-size:clamp(36px,10vw,49px)}
}

.sd-detail .sd-workshop-note{font-size:13px;margin:22px 0 0;letter-spacing:.02em}.sd-workshop-note+.sd-cta{margin-top:10px}
/* Two ways to study: a concrete free exercise and the complete online programme. */
.sc-card-brief{display:grid;gap:6px;margin:0 0 16px;line-height:1.45;font-size:12px;color:var(--sc-muted)}
.sc-card-brief a{width:fit-content;display:inline-block;padding:6px 10px;border-radius:5px;background:#eee9de;color:#263f38;font-size:11px;font-weight:650}
.sc-card-brief a:hover{text-decoration:underline;text-underline-offset:3px}
.sc-featured .sc-card-brief{color:#e4ebe8}.sc-featured .sc-card-brief a{background:#304459;color:#f8ebce}
.sc-forthcoming{color:#6b6354}.sc-card-content .sc-summary{margin-bottom:9px}
.sg-secondary{color:#fff;display:inline-flex;min-height:44px;align-items:center;vertical-align:middle;margin:1px 0 1px 12px;gap:6px;font-size:13px;font-weight:600}
.sg-secondary:hover{text-decoration:underline;text-underline-offset:4px}
.sg-workshop,.sg-field,.sg-alt{max-width:1240px;margin-inline:auto}
.sg-workshop{padding:clamp(22px,3.25vw,46px);background:#fff;border:1px solid var(--sc-line);margin-top:clamp(22px,3.4vw,52px);border-radius:14px}
.sg-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(210px,.38fr);gap:clamp(18px,4vw,60px);align-items:center}
.sg-workshop h2,.sg-alt h2,.sg-field h2{font:600 clamp(29px,3.6vw,53px)/1.07 var(--sc-display);color:var(--sc-navy);margin:0;letter-spacing:-.04em;text-transform:uppercase}
.sg-summary{margin:9px 0 0;line-height:1.55;color:var(--sc-muted);font-size:clamp(14px,1.2vw,17px);max-width:52ch}
.sg-time{color:var(--sc-navy);border-left:3px solid var(--sc-rust);padding-left:18px}
.sg-time p,.sg-planner-title{font-size:12px;font-weight:650;line-height:1.45}.sg-time strong{display:block;font:600 clamp(30px,3vw,48px)/1.12 var(--sc-display);letter-spacing:-.025em}
.sg-time strong small{font:600 14px/1.3 Golos,sans-serif}.sg-time>span{display:block;font-size:12px;max-width:30ch;color:var(--sc-muted);margin-top:5px;line-height:1.45}
.sg-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr) minmax(0,.95fr);gap:clamp(15px,2vw,30px);margin-top:clamp(22px,3vw,42px);padding-top:22px;border-top:1px solid var(--sc-line)}
.sg-grid h3{font-size:clamp(16px,1.45vw,20px);font-weight:650;line-height:1.25;letter-spacing:-.03em;margin:0 0 12px}
.sg-grid p{font-size:14px;line-height:1.55;color:var(--sc-muted);margin:0}
.sg-grid :is(ol,ul){list-style:none;margin:0;padding:0}
.sg-lessons a,.sg-materials a{display:grid;align-items:baseline;gap:9px;font-weight:600;line-height:1.4;font-size:13px;padding:8px 0;border-top:1px solid #e4e3dd;min-height:38px}.sg-lessons a{grid-template-columns:21px minmax(0,1fr) auto}
.sg-grid a:hover{text-decoration:underline;text-underline-offset:3px}.sg-order{color:var(--sc-rust);font:600 14px var(--sc-display)}
.sg-lessons small{font-weight:450;font-size:11px;color:var(--sc-muted);white-space:nowrap}
.sg-task-link{display:inline-flex;gap:5px;align-items:center;min-height:43px;font-size:13px;color:var(--sc-rust);font-weight:650}
.sg-materials a{display:flex;align-items:start;justify-content:space-between;gap:10px}
.sg-materials strong{font-weight:600}.sg-materials span{font-size:10px;color:var(--sc-muted);text-align:right;line-height:1.35;max-width:85px;flex:none}.sg-materials b{font-size:14px}
#full-programme,#workshop{scroll-margin-top:85px}
.sg-planner{border-top:1px solid var(--sc-line);margin-top:22px;padding-top:18px}.sg-planner label,.sg-planner-hint,.sg-planner noscript p{display:block;font-size:12px;line-height:1.5;color:var(--sc-muted);margin:6px 0 0}.sg-planner select{width:100%;max-width:220px;display:block;min-height:43px;border:1px solid #c8c9c1;background:#faf9f6;border-radius:7px;padding:8px 10px;color:var(--sc-navy);font-size:14px;font-weight:600;margin-top:5px}
.sg-planner select:focus-visible{outline:3px solid #b54b17;outline-offset:2px}.sg-planner output{display:block;margin:10px 0 2px;font:600 clamp(23px,1.9vw,32px)/1.15 var(--sc-display);overflow-wrap:anywhere}
.sg-field,.sg-alt{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:clamp(18px,2.2vw,34px);border-radius:10px;border:1px solid var(--sc-line);margin-bottom:20px;background:#e9e8de}.sg-field h2,.sg-alt h2{font-size:clamp(25px,2.4vw,34px)}.sg-field p:last-child,.sg-alt p:last-child{max-width:65ch;margin-top:7px;font-size:13px;line-height:1.5;color:var(--sc-muted)}.sg-field a,.sg-alt a{display:inline-flex;color:var(--sc-navy);white-space:nowrap;min-height:44px;align-items:center;font-size:13px;font-weight:650;gap:7px;text-decoration:underline;text-underline-offset:4px}
.sg-alt{background:#fff}
@media(max-width:880px){.sg-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.sg-materials{grid-column:1/-1}.sg-materials ul{display:flex;gap:14px;flex-wrap:wrap}.sg-materials li{flex:1;min-width:180px}}
@media(max-width:640px){.sg-workshop{padding:19px 15px}.sg-head,.sg-grid{grid-template-columns:minmax(0,1fr)}.sg-time{padding:7px 0 7px 12px}.sg-time>span{max-width:none}.sg-grid{gap:18px;margin-top:16px;padding-top:18px}.sg-grid h3{margin-bottom:7px}.sg-materials{grid-column:auto}.sg-materials ul{display:block}.sg-field,.sg-alt{display:block}.sg-field a,.sg-alt a{margin:4px 0 -5px}.sg-secondary{margin-left:8px;font-size:12px}.sd-detail .sd-facts{margin:13px 0}.sd-detail .sd-workshop-note{margin:12px 0 0}.sd-hero-photo{width:100%}}

.sd-admission{padding:clamp(14px,1.65vw,22px)}
.sd-admission h2{margin:8px 0 4px}
.sd-admission .sd-price{font-size:clamp(25px,2.2vw,34px);margin-bottom:12px}
.sd-admission .sd-kaspi{justify-content:center;background:#cc302e;color:white}
.sd-admission .sd-kaspi:hover{background:#a82825}
.sd-pay-hint{margin:5px 0 0;color:var(--sc-muted);font-size:12px;line-height:1.4}
.sg-planner{margin-top:10px;padding-top:9px}
.sg-pace-options{min-inline-size:0;margin:3px 0;padding:0;border:0}
.sg-pace-options legend{padding:0;color:var(--sc-muted);font:400 12px/1.35 Golos,sans-serif}
.sg-pace-options>div{display:flex;gap:4px;margin-top:4px}
.sg-pace-options label{position:relative;display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;margin:0;color:var(--sc-navy);font-weight:650;cursor:pointer}
.sg-pace-options input{position:absolute;width:100%;height:100%;inset:0;opacity:0;cursor:pointer;margin:0}
.sg-pace-options span{display:grid;place-items:center;width:100%;height:34px;border:1px solid #b7c2bd;border-radius:5px;pointer-events:none}
.sg-pace-options input:checked+span{color:white;border-color:var(--sc-navy);background:var(--sc-navy)}
.sg-pace-options input:focus-visible+span{outline:2px solid var(--sc-rust);outline-offset:1px}
.sg-planner output{font-size:20px;margin:2px 0}
.sg-planner-hint{margin-top:2px}
@media(max-width:720px){.sd-body{gap:12px}.sd-admission .sd-pay-hint{max-width:52ch}}

.sd-admission{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:10px}
.sd-admission>.sc-eyebrow{display:none}
.sd-admission>h2{grid-column:1;margin:0}
.sd-admission>.sd-price{grid-column:2;margin:0}
.sd-admission>:not(h2):not(.sd-price){grid-column:1/-1}
.sd-admission>.sd-cta{margin-top:10px}
.sg-planner{display:grid;grid-template-columns:1fr auto;align-items:center;column-gap:8px}
.sg-planner .sg-planner-title{grid-row:1;grid-column:1}
.sg-planner output{grid-row:1;grid-column:2}
.sg-planner [data-planner-controls],.sg-planner .sg-planner-hint{grid-column:1/-1}
@media(max-width:720px){
  .sg-pace-options{display:flex;align-items:center;justify-content:space-between;gap:8px}
  .sg-pace-options legend{float:left;max-width:60%;padding-block:4px}
  .sg-pace-options>div{margin:0}
}
@media(max-width:400px){
  .sg-pace-options legend{max-width:50%}
  .sg-pace-options>div{gap:2px}
}
