/* A compact course announcement, followed by the photographic archive. */
.nav .nav-links{display:flex;align-items:center;gap:inherit}
@media(max-width:640px){.page-shell .nav{display:grid;grid-template-columns:1fr auto;gap:0;height:auto;min-height:0;padding-top:7px;padding-bottom:8px}.page-shell .nav .brand{grid-column:1;grid-row:1;width:35px;min-width:35px}.page-shell .nav nav,html[lang=sq] .page-shell .nav nav{display:contents}.page-shell .nav .nav-language{grid-column:2;grid-row:1;padding-left:12px}.page-shell .nav .nav-links{grid-column:1/-1;grid-row:2;justify-content:space-between;gap:9px;font-size:11px}.page-shell .nav .nav-links a{min-height:34px;display:flex;align-items:center;white-space:nowrap}}
.page-shell #in-person-course{--ip-sand:#d0ad88;--ip-sage:#cfd6a0;position:relative;isolation:isolate;overflow:hidden;padding-top:55px;padding-bottom:48px;background:radial-gradient(ellipse at 16% 37%,#82552b1e,transparent 65%),radial-gradient(ellipse at 85% 75%,#70653b13,transparent 65%);color:#efeee5}
#in-person-course .ip-orbit{position:absolute;z-index:-1;pointer-events:none;left:-15%;top:21%;width:128%;height:70%;border:1px solid #c49a6218;border-radius:50%;transform:rotate(-9deg)}
#in-person-course .ip-heading{position:relative}
#in-person-course .ip-eyebrow{color:var(--ip-sand);font-size:10px;line-height:1.6;letter-spacing:.16em;text-transform:uppercase;margin:0 0 14px}
#in-person-course h2{font-size:clamp(28px,3cqw,42px);line-height:1.2;letter-spacing:-.04em;font-weight:400;margin:0}
#in-person-course .ip-description{font-size:15px;line-height:1.7;color:#bdb9ad;margin:13px 0 0}
#in-person-course .ip-course-row{display:grid;grid-template-columns:1.12fr .85fr 1fr;align-items:center;gap:35px;margin:31px 0 40px}
#in-person-course .ip-date{display:flex;align-items:center;gap:17px;perspective:800px}
#in-person-course .ip-date-number{font-size:clamp(42px,5.6cqw,78px);line-height:1.1;letter-spacing:-.055em;color:#dfbc98;font-variant-numeric:tabular-nums;text-shadow:0 2px 0 #4c3522,0 9px 27px #a8773520;white-space:nowrap}
#in-person-course .ip-month{font-size:12px;line-height:1.6;letter-spacing:.12em;text-transform:uppercase;max-width:7ch;color:#d5b591}
#in-person-course .ip-schedule{border-left:1px solid #cba57836;padding-left:29px;font-size:14px;line-height:1.7;color:#ded8cb}
#in-person-course .ip-hours{font-size:23px;letter-spacing:-.03em;color:#ece9de;margin:2px 0}
#in-person-course .ip-duration{font-size:11px;color:#a7a397}
#in-person-course .ip-action{justify-self:end;min-width:0}
#in-person-course .ip-availability{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--ip-sage);margin:0 0 11px}

#in-person-course .ip-cta{min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:27px;padding:0 0 8px;border-bottom:1px solid #cbb393;color:#e6cfad;font-size:18px;text-align:left;transition:color .2s}
#in-person-course .ip-cta:hover{color:#fff9e9}
#in-person-course .ip-cta svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.2;flex-shrink:0;transition:transform .2s}
#in-person-course .ip-cta:hover svg{transform:translate(2px,-2px)}
#in-person-course .ip-action-note{font-size:10px;line-height:1.6;color:#9c988c;margin:9px 0 0;max-width:29ch}
#in-person-course .ip-gallery-heading{display:flex;align-items:center;gap:20px;margin-bottom:7px}
#in-person-course .ip-gallery-heading h3{font-size:18px;letter-spacing:-.025em;font-weight:400;margin:0;color:#ddd0bd}
#in-person-course .ip-gallery-heading p{font-size:11px;line-height:1.6;color:#b4a089;padding-left:20px;border-left:1px solid #cba57840}
#in-person-course .ip-pause{margin-left:auto;min-height:44px;font-size:10px;color:#b6ac9d;padding:6px 0 6px 12px;white-space:nowrap}
#in-person-course .ip-pause[hidden]{display:none}
#in-person-course .ip-gallery{position:relative;overflow:hidden;padding:23px 0 37px;perspective:1100px;mask-image:linear-gradient(90deg,transparent,#000 2%,#000 98%,transparent)}
#in-person-course .ip-gallery:focus-visible{outline:1px solid var(--ip-sand);outline-offset:-2px}
#in-person-course .ip-gallery-track{display:flex;width:max(200%,2560px);animation:ip-travel 70s linear infinite;animation-play-state:paused;transform-style:preserve-3d}
#in-person-course .ip-gallery-set{display:flex;flex:0 0 50%;min-width:0;gap:15px;padding-right:15px;perspective:1000px;align-items:center}
#in-person-course .ip-photo{margin:0;flex:1;min-width:0;aspect-ratio:.69;position:relative;transform:translateY(var(--lift)) rotateY(var(--tilt));border-bottom:1px solid #c59a648c;box-shadow:0 14px 19px -16px #d1a15a7d;pointer-events:none}
#in-person-course .ip-photo:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(0deg,#30220f2b,transparent 26%),#a37b3810}
#in-person-course .ip-photo img{height:100%;width:100%;object-fit:cover;filter:saturate(.55) sepia(.15) brightness(.86);user-select:none}
#in-person-course.ip-running .ip-gallery-track{animation-play-state:running}
#in-person-course .ip-gallery:hover .ip-gallery-track{animation-play-state:paused}
#in-person-course.ip-manual .ip-gallery{overflow-x:auto;scrollbar-width:thin;scrollbar-color:#ad906448 transparent}
#in-person-course.ip-manual .ip-gallery-track{animation:none;width:max(100%,1280px)}
#in-person-course.ip-manual .ip-gallery-set{flex-basis:100%}
#in-person-course.ip-manual .ip-gallery-set[aria-hidden=true]{display:none}
#in-person-course.ip-in-view .ip-date-number{animation:ip-date-arrive .9s cubic-bezier(.2,.7,.2,1) both}
.callback-course-note{font-size:13px;line-height:1.65;color:#d5b591;border-left:2px solid #c5aa8e;padding-left:13px;margin:16px 0}
@keyframes ip-travel{to{transform:translateX(-50%)}}
@keyframes ip-date-arrive{from{opacity:.35;transform:translateY(9px) rotateX(15deg)}to{opacity:1;transform:none}}
@media(min-width:1450px){#in-person-course .ip-gallery-track{width:200%}#in-person-course.ip-manual .ip-gallery-track{width:100%}}
@media(max-width:950px){#in-person-course .ip-course-row{gap:20px;grid-template-columns:1fr 1fr}#in-person-course .ip-action{grid-column:1/-1;justify-self:stretch;display:grid;grid-template-columns:1fr auto;align-items:center;gap:0 20px}#in-person-course .ip-availability{margin:0}#in-person-course .ip-action-note{max-width:none;margin-top:7px}#in-person-course .ip-cta{grid-column:2;grid-row:1/3;font-size:17px}}
@media(max-width:600px){.page-shell #in-person-course{padding:34px 5% 30px}#in-person-course .ip-eyebrow{font-size:9px;margin-bottom:11px}#in-person-course h2{font-size:28px;max-width:20ch}#in-person-course .ip-description{font-size:13px;margin-top:12px;max-width:38ch}#in-person-course .ip-course-row{gap:21px 17px;margin:25px 0 26px}#in-person-course .ip-date{display:block}#in-person-course .ip-date-number{font-size:49px;display:block}#in-person-course .ip-month{display:block;max-width:none;font-size:10px;margin-top:9px;letter-spacing:.12em}#in-person-course .ip-schedule{padding-left:17px;font-size:12px}#in-person-course .ip-hours{font-size:21px}#in-person-course .ip-duration{font-size:10px}#in-person-course .ip-action{display:flex;flex-wrap:wrap;gap:10px 20px;justify-content:space-between}#in-person-course .ip-availability{font-size:11px}#in-person-course .ip-cta{font-size:15px;gap:17px}#in-person-course .ip-action-note{flex-basis:100%;margin-top:0;font-size:10px}#in-person-course .ip-gallery-heading{gap:6px 12px;flex-wrap:wrap;margin:0}#in-person-course .ip-gallery-heading h3{font-size:16px}#in-person-course .ip-gallery-heading p{font-size:10px;padding:0;border:0;flex-basis:100%;order:3}#in-person-course .ip-pause{font-size:10px}#in-person-course .ip-gallery{margin-inline:-5.56%;padding:20px 0 29px}#in-person-course .ip-gallery-track{width:2560px}#in-person-course .ip-photo{aspect-ratio:.79}#in-person-course.ip-manual .ip-gallery-track{width:1280px}}
@media(prefers-reduced-motion:reduce){#in-person-course .ip-gallery-track,#in-person-course.ip-in-view .ip-date-number{animation:none}#in-person-course .ip-cta svg{transition:none}}

#in-person-course.ip-cross-month .ip-date-number{font-size:clamp(26px,3vw,46px)}
#in-person-course .ip-cta:disabled{opacity:.5;cursor:wait}

/* Selected design 02: a five-day calendar rail, with the practical details below. */
#in-person-course .ip-calendar{margin:40px 0 0}
#in-person-course .ip-month{font-size:13px;max-width:none;letter-spacing:.17em;margin:0 0 20px;color:#d4b48f}
#in-person-course .ip-days{--day-count:5;position:relative;display:grid;grid-template-columns:repeat(var(--day-count),minmax(0,1fr));align-items:center;gap:clamp(16px,5vw,90px);list-style:none;margin:0;padding:20px 5% 28px;isolation:isolate;perspective:1000px}
#in-person-course .ip-days:before{content:'';position:absolute;left:0;right:0;top:calc(50% - 4px);height:1px;background:linear-gradient(90deg,#d2af7470,#dac797b0 25%,#acb48a70 75%,#a7ab7130);z-index:-1}
#in-person-course .ip-day{position:relative;justify-self:center;width:100%;max-width:116px;min-height:126px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;border:1px solid #ba986447;border-radius:5px;background:linear-gradient(145deg,#333327,#1c1d15 70%);box-shadow:inset 0 1px #e6d4a524,0 12px 22px -15px #000;transform:rotateX(4deg);transition:transform .35s,border-color .35s}
#in-person-course .ip-day:first-child{background:linear-gradient(140deg,#9b7950,#574631 42%,#28251b);border-color:#d5b77d9c;box-shadow:inset 0 1px #f5dfae66,0 8px 27px -14px #b88f42}
#in-person-course .ip-day:first-child:before{content:'';position:absolute;inset:-1px;border-radius:inherit;pointer-events:none;background:linear-gradient(130deg,#fff3c22e,transparent 40%)}
#in-person-course .ip-day span{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:#d7d6ad}
#in-person-course .ip-day time{font-size:clamp(34px,3.5vw,52px);font-weight:400;letter-spacing:-.04em;line-height:1.1;color:#e4d4b3;font-variant-numeric:tabular-nums}
#in-person-course .ip-day:after{content:'';position:absolute;right:calc(-1 * clamp(16px,5vw,90px) / 2 - 3px);top:50%;width:5px;height:5px;border-radius:50%;background:#c8c594;box-shadow:0 0 7px #e6d5a52b}
#in-person-course .ip-day:last-child:after{display:none}
#in-person-course.ip-in-view .ip-day{animation:ip-calendar-arrive .7s cubic-bezier(.2,.7,.2,1) both;animation-delay:calc(min(var(--day-index),5) * 80ms)}
#in-person-course .ip-days-long{grid-auto-flow:column;grid-template-columns:none;grid-auto-columns:100px;overflow-x:auto;gap:20px;padding-inline:8px;scrollbar-width:thin;scrollbar-color:#ad906448 transparent}
#in-person-course .ip-days-long .ip-day:after{right:-13px}
#in-person-course .ip-course-details{grid-template-columns:1.1fr 1.05fr .95fr 1.1fr;gap:25px;margin:24px 0 47px}
#in-person-course .ip-course-details .ip-hours{margin:0;padding-left:20px;border-left:1px solid #cba57845;font-size:clamp(24px,2.6vw,37px);line-height:1.45;white-space:nowrap;letter-spacing:-.035em}
#in-person-course .ip-course-details .ip-schedule{padding-left:23px;font-size:15px;line-height:1.6}
#in-person-course .ip-weekdays{margin:0 0 5px}
#in-person-course .ip-course-details .ip-duration{font-size:11px;margin:0}
#in-person-course .ip-capacity{padding-left:23px;border-left:1px solid #cba57836}


#in-person-course .ip-course-details .ip-availability{margin:0;font-size:12px}
#in-person-course .ip-course-details .ip-action{display:block;grid-column:auto;justify-self:stretch}
#in-person-course .ip-course-details .ip-cta{width:100%;font-size:16px;gap:15px}
#in-person-course .ip-course-details .ip-action-note{font-size:10px;margin-top:6px}
@keyframes ip-calendar-arrive{from{opacity:0;transform:translateY(14px) rotateX(16deg)}to{opacity:1;transform:translateY(0) rotateX(4deg)}}
@media(max-width:1000px){#in-person-course .ip-course-details{grid-template-columns:1fr 1fr;gap:25px}#in-person-course .ip-course-details .ip-hours{font-size:30px}#in-person-course .ip-capacity{padding-left:20px}#in-person-course .ip-course-details .ip-action{display:block}#in-person-course .ip-course-details .ip-action-note{max-width:none}#in-person-course .ip-course-details .ip-cta{font-size:17px}}
@media(max-width:600px){#in-person-course .ip-calendar{margin-top:27px}#in-person-course .ip-month{font-size:10px;margin-bottom:13px}#in-person-course .ip-days{gap:12px;padding:12px 0 20px}#in-person-course .ip-day{min-height:82px;gap:7px;border-radius:4px}#in-person-course .ip-day span{font-size:8px;letter-spacing:.07em}#in-person-course .ip-day time{font-size:30px}#in-person-course .ip-day:after{right:-9px;width:4px;height:4px}#in-person-course .ip-days-long{grid-auto-columns:64px}#in-person-course .ip-course-details{gap:21px 16px;margin:15px 0 35px}#in-person-course .ip-course-details .ip-hours{font-size:26px;padding-left:11px}#in-person-course .ip-course-details .ip-schedule{padding-left:13px;font-size:12px}#in-person-course .ip-course-details .ip-duration{font-size:10px}#in-person-course .ip-capacity{padding-left:11px}#in-person-course .ip-course-details .ip-availability{font-size:11px}#in-person-course .ip-course-details .ip-cta{font-size:14px;gap:8px;min-height:38px}#in-person-course .ip-course-details .ip-action-note{font-size:9px}}
@media(prefers-reduced-motion:reduce){#in-person-course.ip-in-view .ip-day{animation:none;transform:none;transition:none}}

/* Selected availability detail 03: quiet typographic counter. */
#in-person-course .ip-course-details .ip-capacity{position:relative;justify-self:start;min-width:0;padding:0 0 11px;border:0;max-width:100%}
#in-person-course .ip-capacity:after{content:'';position:absolute;bottom:0;left:0;width:100%;height:1px;background:linear-gradient(90deg,#d9bb8d,#a98b5855 65%,transparent)}
#in-person-course .ip-course-details .ip-availability{display:flex;align-items:center;gap:12px;margin:0;color:#e9e7d9}
#in-person-course .ip-counter-number{font-size:clamp(38px,3.8vw,52px);font-weight:400;line-height:.94;letter-spacing:-.06em;font-variant-numeric:tabular-nums;color:var(--ip-sage);text-shadow:0 3px 15px #b6bd7920}
#in-person-course .ip-counter-label{font-size:13px;font-weight:400;line-height:1.4;letter-spacing:0;white-space:pre-line}
#in-person-course .ip-counter-accessible{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
#in-person-course .ip-capacity[data-digits="3"] .ip-counter-number{font-size:40px}
#in-person-course .ip-capacity[data-digits="4"] .ip-counter-number{font-size:32px}
@media(max-width:600px){#in-person-course .ip-course-details .ip-capacity{padding:0 0 9px 11px}#in-person-course .ip-capacity:after{left:11px;width:calc(100% - 11px)}#in-person-course .ip-course-details .ip-availability{gap:9px}#in-person-course .ip-counter-number{font-size:39px}#in-person-course .ip-counter-label{font-size:12px}#in-person-course .ip-capacity[data-digits="3"] .ip-counter-number{font-size:32px}#in-person-course .ip-capacity[data-digits="4"] .ip-counter-number{font-size:27px}}
