/* Scoped, theme-independent presentation for the companion plugin. */
.sfk-directory,.sfk-programme,.sfk-profile-page{--sfk-accent:var(--sf-red,#e23527);--sfk-ink:var(--sf-black,#161713);--sfk-paper:var(--sf-cream,#f4efdf);color:var(--sfk-ink);width:100%;font-family:inherit}
.sfk-directory *,.sfk-programme *,.sfk-profile-page *{box-sizing:border-box}
.sfk-filters{display:flex;gap:18px;align-items:flex-end;flex-wrap:wrap;padding:22px 0;border-top:1px solid #16171333;border-bottom:1px solid #16171333;margin-bottom:32px}
.sfk-filters label{display:flex;flex-direction:column;gap:8px;min-width:190px;flex:1;font-size:12px;font-weight:700;letter-spacing:.02em;margin:0}
.sfk-filters select{appearance:auto;background:transparent;border:1px solid #16171366;border-radius:0;padding:13px 35px 13px 12px;color:inherit;font:inherit;min-height:48px;width:100%;line-height:1.3}
.sfk-filter-button{border:1px solid var(--sfk-ink);border-radius:0;background:var(--sfk-ink);color:var(--sfk-paper);padding:13px 22px;min-height:48px;font:700 12px/1.4 inherit;cursor:pointer}
.sfk-filter-button:hover{background:var(--sfk-accent);border-color:var(--sfk-accent)}
.sfk-filter-reset{font-size:12px;color:inherit!important;padding:14px 3px;text-underline-offset:5px}
.sfk-directory a,.sfk-programme a,.sfk-profile-page a{color:inherit}
.sfk-directory a:focus-visible,.sfk-programme a:focus-visible,.sfk-profile-page a:focus-visible,.sfk-filters button:focus-visible,.sfk-filters select:focus-visible{outline:3px solid var(--sfk-accent);outline-offset:4px}
.sfk-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}
.sfk-card{border-bottom:1px solid #16171344;min-width:0;display:flex;flex-direction:column}
.sfk-card-media{display:block;aspect-ratio:1.35;overflow:hidden;background:#ded7c5;text-decoration:none}
.sfk-card-image{display:block;width:100%;height:100%;object-fit:cover;transition:transform .3s ease}
.sfk-card:hover .sfk-card-image{transform:scale(1.025)}
.sfk-card-people .sfk-card-media{aspect-ratio:1.1}
.sfk-card-partners .sfk-card-media{aspect-ratio:1.8;background:var(--sfk-ink);color:var(--sfk-paper)}
.sfk-card-partners .sfk-card-image{object-fit:contain;padding:18px}
.sfk-card-fallback{display:flex;align-items:center;justify-content:center;padding:24px;text-align:center;font-weight:900;font-size:clamp(25px,3vw,42px);line-height:1;letter-spacing:-.035em;text-transform:uppercase;height:100%;background:var(--sfk-ink);color:var(--sfk-paper)}
.sfk-card-body{padding:22px 0 26px;display:flex;flex:1;flex-direction:column;align-items:flex-start;gap:9px}
.sfk-card-body h3{font-family:inherit;font-size:clamp(25px,2.3vw,34px);line-height:1.08;letter-spacing:-.025em;margin:0;font-weight:800}
.sfk-card-body h3 a,.sfk-session-body h4 a{text-decoration:none}
.sfk-card-body h3 a:hover,.sfk-session-body h4 a:hover{color:var(--sfk-accent)}
.sfk-card-body p{margin:0;font-size:14px;line-height:1.6}
.sfk-demo-label{display:inline-block;font:700 9px/1.3 inherit;letter-spacing:.12em;text-transform:uppercase;background:var(--sfk-ink);color:var(--sfk-paper);padding:5px 8px;max-width:100%;margin:0 0 3px}
.sfk-eyebrow{font-size:10px!important;line-height:1.55!important;text-transform:uppercase;letter-spacing:.07em;font-weight:700;margin:0;color:#625b4e}
.sfk-role{font-weight:700}.sfk-meta{font-size:12px!important;line-height:1.65;color:#625b4e}
.sfk-card-excerpt{max-width:37em}.sfk-card-link{display:inline-flex;align-items:center;gap:15px;font-size:12px;font-weight:800;text-decoration:none!important;padding:10px 0 2px;border-bottom:1px solid currentColor;margin-top:auto}
.sfk-card-link span{font-size:20px;font-weight:400}.sfk-tags{display:flex;flex-wrap:wrap;gap:5px;margin:2px 0}
.sfk-tags span{font-size:9px;line-height:1.5;border:1px solid #16171355;padding:3px 6px;text-transform:uppercase;letter-spacing:.04em;font-weight:700}
.sfk-empty{padding:32px;border:1px solid #16171344;font-size:16px;line-height:1.7}
.sfk-programme-day{font-family:inherit;font-size:clamp(23px,3vw,36px);font-weight:800;margin:34px 0 12px;letter-spacing:-.025em;border-bottom:4px solid var(--sfk-accent);padding-bottom:12px}
.sfk-programme-row{display:grid;grid-template-columns:130px minmax(0,1fr) 150px;gap:24px;border-bottom:1px solid #16171333;padding:25px 0;align-items:start}
.sfk-session-time{font-size:20px;font-weight:800;letter-spacing:-.02em;line-height:1.3}
.sfk-session-time small{display:block;font-size:10px;letter-spacing:.01em;font-weight:500;margin-top:7px;color:#625b4e}
.sfk-session-body{min-width:0}.sfk-session-body h4{font-family:inherit;font-size:26px;line-height:1.15;margin:8px 0;letter-spacing:-.025em;font-weight:800}
.sfk-session-body p{font-size:13px;line-height:1.7;margin:8px 0}.sfk-session-person a{font-weight:700;text-underline-offset:4px}
.sfk-session-stage{font-size:12px;font-weight:700;text-align:right;line-height:1.55;padding-top:4px}
.sfk-session-stage a{display:block;margin-top:17px;font-size:11px;text-underline-offset:5px}
.sfk-profile-page{max-width:1260px;margin:0 auto;padding:60px 5% 90px}
.sfk-back{display:inline-block;font-size:12px;font-weight:700;margin-bottom:38px;text-underline-offset:5px}
.sfk-profile-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.85fr);gap:50px;align-items:start;margin-bottom:40px}
.sfk-profile-heading h1,.sfk-archive-heading h1{font-family:inherit;font-weight:900;font-size:clamp(40px,5vw,72px);line-height:1;letter-spacing:-.045em;margin:18px 0}
.sfk-profile-role{font-size:20px;line-height:1.5;margin:18px 0 24px}.sfk-profile-image img{width:100%;height:auto;max-height:650px;object-fit:cover}
.sfk-profile-meta{display:grid;gap:0;border-top:1px solid #16171344;margin:30px 0 0}.sfk-profile-meta>div{display:grid;grid-template-columns:135px 1fr;gap:15px;border-bottom:1px solid #16171333;padding:13px 0;font-size:13px;line-height:1.55}
.sfk-profile-meta dt{font-weight:800}.sfk-profile-meta dd{margin:0}.sfk-profile-content{max-width:780px;line-height:1.8;font-size:16px}.sfk-profile-content h2,.sfk-menu h2{font-family:inherit;font-size:32px;font-weight:800;margin:32px 0 20px}.sfk-menu{max-width:780px;margin:45px 0}.sfk-menu ul{list-style:none;padding:0;margin:0}.sfk-menu li{border-top:1px solid #16171344;display:flex;gap:25px;justify-content:space-between;padding:19px 0;align-items:flex-start}.sfk-menu li:last-child{border-bottom:1px solid #16171344}.sfk-menu h3{font-family:inherit;font-size:19px;line-height:1.4;margin:0;font-weight:800}.sfk-menu p{font-size:13px;line-height:1.6;margin:7px 0}.sfk-menu strong{font-size:13px;line-height:1.8;white-space:nowrap}.sfk-archive-heading{margin:0 0 45px}.sfk-archive-heading>p:last-child{font-size:16px;line-height:1.7;max-width:730px}
/* Shortcodes remain usable without the ScaffFest theme. */
.sf-countdown{display:flex;gap:28px;align-items:center;flex-wrap:wrap;padding:28px 0}.sf-countdown-label{font-size:12px;line-height:1.6}.sf-countdown-label strong{font-size:17px}.sf-countdown-units{display:flex;gap:20px;flex:1;justify-content:center}.sf-countdown-units>div{display:flex;flex-direction:column;text-align:center;min-width:58px}.sf-countdown-units b{font-size:42px;line-height:1.1}.sf-countdown-units span{font-size:10px;text-transform:uppercase;letter-spacing:.06em;margin-top:8px}.sf-countdown .sf-link{font-size:12px;color:inherit}.sf-icon{width:20px;height:20px;display:inline-block;vertical-align:middle}
.sf-application{max-width:850px}.sf-application fieldset{border:0;padding:0;margin:0}.sf-application [hidden]{display:none!important}.sf-application .sf-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.sf-application label,.sf-booking-demo label{display:flex;flex-direction:column;gap:9px;font-size:12px;font-weight:700}.sf-application input:not([type=checkbox]),.sf-application textarea,.sf-application select,.sf-booking-demo select,.sf-booking-demo input[type=number]{background:transparent;border:1px solid #16171377;border-radius:0;padding:13px;color:inherit;font:inherit;width:100%;min-height:48px}.sf-application textarea{min-height:130px}.sf-form-span{grid-column:1/-1}.sf-application .sf-terms-check{display:flex;flex-direction:row;align-items:flex-start;font-weight:400;font-size:12px;line-height:1.7;margin:20px 0}.sf-application .sf-terms-check input{flex-shrink:0;margin-top:4px}.sf-application .sf-button,.sf-booking-demo .sf-button{display:inline-flex;align-items:center;justify-content:center;padding:15px 24px;font:700 12px/1.5 inherit;border:1px solid #161713;background:#161713;color:#f4efdf;text-decoration:none;cursor:pointer}.sf-application .sf-button.alt{background:transparent;color:#161713}.sf-step-indicator{display:flex;gap:22px;list-style:none;padding:0;margin:25px 0;font-size:11px}.sf-step-indicator li{padding:8px 0;border-bottom:2px solid #16171344}.sf-step-indicator li.active{border-color:var(--sf-red,#e23527);font-weight:800}.sf-review{display:grid;grid-template-columns:160px 1fr;gap:14px;font-size:14px}.sf-review dt{font-weight:700}.sf-review dd{margin:0;overflow-wrap:anywhere}.sf-application-status{margin-top:18px;line-height:1.6}.sf-application .sf-form-notice{font-size:12px;line-height:1.7;background:#e5decd;padding:16px}.sf-booking-demo .sf-booking-layout{display:grid;grid-template-columns:1.3fr 1fr;gap:30px}.sf-booking-demo .sf-order-summary{padding:25px;background:#161713;color:#f4efdf}.sf-booking-demo dl{display:grid;grid-template-columns:1fr auto;gap:14px}.sf-booking-demo dd{margin:0}.sf-booking-demo .sf-order-summary p{font-size:12px;line-height:1.7}.sf-booking-demo label{margin:15px 0}
.sfk-filter-button,.sf-application .sf-button,.sf-booking-demo .sf-button{font-family:inherit;font-size:12px;line-height:1.5;font-weight:700}.sfk-demo-label{font-family:inherit;font-size:9px;line-height:1.3;font-weight:700}.sf-application .sf-consent,.sf-booking-demo .sf-consent{display:flex;flex-direction:row;align-items:flex-start;font-size:12px;font-weight:400;line-height:1.7;margin:20px 0}.sf-application .sf-consent input,.sf-booking-demo .sf-consent input{width:18px;height:18px;flex-shrink:0;margin-top:3px}.sf-application .sf-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.sf-application .sf-row{display:flex;gap:12px;flex-wrap:wrap}.sf-application legend{font-size:23px;font-weight:800;margin-bottom:20px}
@media(max-width:900px){.sfk-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sfk-programme-row{grid-template-columns:110px minmax(0,1fr);gap:18px}.sfk-session-stage{grid-column:2;text-align:left;padding:0;display:flex;justify-content:space-between;gap:15px}.sfk-session-stage a{margin:0}.sfk-profile-hero{gap:28px}.sfk-profile-meta>div{grid-template-columns:110px 1fr}.sfk-menu li{gap:15px}}
@media(max-width:600px){.sfk-grid{grid-template-columns:1fr;gap:25px}.sfk-filters{gap:14px;padding:18px 0}.sfk-filters label{min-width:100%;flex:1}.sfk-card-media{aspect-ratio:1.55}.sfk-programme-row{grid-template-columns:1fr;gap:10px;padding:22px 0}.sfk-session-time{font-size:17px}.sfk-session-time small{display:inline;margin-left:10px}.sfk-session-stage{grid-column:1}.sfk-session-body h4{font-size:25px}.sfk-programme-day{font-size:27px}.sfk-profile-page{padding:35px 5% 60px}.sfk-profile-hero{grid-template-columns:1fr;gap:25px}.sfk-profile-image{order:-1}.sfk-profile-image img{max-height:420px}.sfk-profile-heading h1{font-size:43px}.sfk-menu li{flex-wrap:wrap;gap:7px}.sfk-menu strong{white-space:normal}.sf-countdown{gap:18px}.sf-countdown-units{justify-content:space-between;gap:12px;width:100%}.sf-countdown-units b{font-size:34px}.sf-application .sf-form-grid,.sf-booking-demo .sf-booking-layout{grid-template-columns:1fr}.sf-review{grid-template-columns:1fr;gap:7px}.sf-review dd{margin-bottom:14px}}
@media(prefers-reduced-motion:reduce){.sfk-card-image{transition:none}.sfk-card:hover .sfk-card-image{transform:none}}
