.commerce-hero{padding-block:60px 42px}.commerce-hero>.kicker{font-size:15px}.commerce-hero h1{font-size:clamp(48px,6vw,88px);line-height:1.02;max-width:1000px;margin-bottom:28px}.commerce-hero>p{font-size:21px;line-height:1.65;max-width:68ch;margin:0}.pricing-collection{padding-top:24px}.pricing-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.price-card{background:#f2efe6;border:1px solid #202a2733;border-radius:7px;padding:30px;display:flex;flex-direction:column;min-width:0}.price-card.price-core{background:#eee2ab}.price-card>.kicker{font-size:13px;margin-bottom:23px}.price-card h2{font-size:34px;line-height:1.08;margin-bottom:17px;letter-spacing:-.035em}.price-description{font-size:17px;line-height:1.6;margin:0 0 24px}.price-amount{font-family:var(--display);font-size:48px;line-height:1.12;letter-spacing:-.045em;margin-bottom:25px}.price-amount>span{display:block;font-family:var(--body);font-size:15px;line-height:1.55;letter-spacing:0;margin-top:10px}.price-card ul{padding:0 0 20px 19px;margin:0;font-size:16px;line-height:1.6}.price-card li{padding-left:4px;margin-bottom:10px}.price-card-base{display:grid;gap:16px;border-top:1px solid #202a2733;padding-top:20px;margin-top:auto}.price-card-base>[data-programme-availability]{font-size:15px;line-height:1.5}.price-card .button{font-size:15px;min-height:52px;width:100%}.price-card .text-link{font-size:15px;text-decoration:underline;text-underline-offset:4px}.pricing-note{font-size:16px;line-height:1.7;max-width:94ch;margin:30px 0 0}.commerce-custom{border-block:1px solid #202a2733;display:flex;align-items:center;justify-content:space-between;gap:45px}.commerce-custom>div{max-width:760px}.commerce-custom h2,.commerce-steps h2,.programme-pricing h2{font-size:clamp(36px,4vw,58px);line-height:1.06;margin:18px 0 25px}.commerce-custom p{font-size:18px;line-height:1.7;margin-bottom:0}.commerce-custom>.button{flex:none}.commerce-steps{display:grid;grid-template-columns:1fr 1.2fr;gap:65px}.commerce-steps>ol:only-child{grid-column:1/-1;max-width:1000px}.commerce-steps ol{list-style:none;counter-reset:booking;padding:0;margin:0}.commerce-steps li{counter-increment:booking;position:relative;padding:0 0 27px 50px;margin-bottom:25px;border-bottom:1px solid #202a2733}.commerce-steps li::before{content:counter(booking,decimal-leading-zero);position:absolute;left:0;top:0;font-family:var(--serif);font-size:25px;color:#17606d}.commerce-steps li strong{font-size:22px;font-weight:500;line-height:1.4}.commerce-steps li p{font-size:18px;line-height:1.65;margin:12px 0 0}.commerce-steps li a{display:inline-block;margin-top:15px;text-decoration:underline;text-underline-offset:4px}.commerce-questions{padding-top:20px;max-width:1100px}.commerce-questions h2{font-size:40px}.commerce-questions details{padding:23px 0;border-bottom:1px solid #202a2733}.commerce-questions summary{font-size:21px;line-height:1.5;cursor:pointer}.commerce-questions details p{font-size:18px;line-height:1.7;margin:18px 0 0}.commerce-questions details a{text-decoration:underline;text-underline-offset:4px;display:inline-block;margin-top:16px}.programme-pricing{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:50px;padding-block:46px;border-block:1px solid #202a2733}.programme-pricing h2{font-size:clamp(33px,3.3vw,49px)}.programme-price-options{display:grid;gap:22px}.programme-price-options article{padding-bottom:23px;border-bottom:1px solid #202a2726}.programme-price-options h3{font-size:26px;margin-bottom:12px}.programme-price-options p{font-size:17px;line-height:1.65;margin:10px 0}.programme-price-options>.inline-price,.inline-price{font-size:33px!important;font-family:var(--display)}.inline-price span{font-size:16px;font-family:var(--body);letter-spacing:0}.inline-availability{display:block;font-size:15px;margin-top:10px}.programme-price-options>p{font-size:15px}.programme-price-options>p>a{text-decoration:underline;text-underline-offset:4px}.booking-workspace{padding-top:20px;display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(28px,5vw,70px)}.booking-workspace:has(>.booking-detail[hidden]){grid-template-columns:minmax(0,1fr);max-width:1000px}.booking-selector>label{display:block;font-size:17px;margin-bottom:12px}.booking-selector>select,.booking-detail input:not([type=checkbox]),.booking-detail select{width:100%;padding:14px;border:1px solid #202a2766;border-radius:5px;background:#fffdf8;min-height:53px;font-size:17px}.booking-selector>p{font-size:18px;line-height:1.65;margin-top:20px}.intake-card{padding:25px 0;border-top:1px solid #202a2733}.intake-card h3{font-size:25px;margin-bottom:12px}.intake-card p{font-size:17px;line-height:1.65;margin:12px 0}.intake-card button{margin-top:10px}.booking-empty{padding:28px;background:#f2efe6;border:1px solid #202a2726;border-radius:6px}.booking-empty h3{font-size:27px}.booking-empty p{font-size:17px}.booking-empty a{display:inline-block;min-height:44px;text-decoration:underline;text-underline-offset:4px}.booking-detail{background:#f2efe6;padding:clamp(25px,3vw,42px);border-radius:6px;min-width:0}.booking-detail h2{font-size:36px}.booking-detail h3{font-size:26px;margin-bottom:12px}.booking-detail p,.booking-detail li{font-size:17px;line-height:1.65}.booking-detail ol{padding-left:23px}.booking-detail form{display:grid;gap:21px;padding-top:25px;border-top:1px solid #202a2733;margin-top:25px}.booking-detail form>p{margin:0}.booking-detail label:not(.booking-check){display:grid;gap:9px;font-size:16px}.booking-total{display:grid;gap:8px;border-block:1px solid #202a2733;padding-block:22px}.booking-total>strong{font-size:40px;font-weight:500;line-height:1.2}.booking-total>span{font-size:15px;line-height:1.6}.booking-policy{font-size:16px;line-height:1.7}.booking-policy p{font-size:16px}.booking-check{display:block!important;font-size:16px;line-height:1.7}.booking-check input{width:19px;height:19px;margin-right:10px;vertical-align:middle}.booking-check a{text-decoration:underline;text-underline-offset:4px}.booking-detail .booking-payment-note{font-size:15px;line-height:1.65}.booking-feedback{font-size:17px;line-height:1.65}.booking-feedback.error{color:#922e1d}.booking-confirmation{padding-top:15px;max-width:1100px}.booking-confirmation h2{font-size:38px}.booking-confirmation h3{font-size:25px}.booking-confirmation dl{display:grid;grid-template-columns:1fr 1fr;gap:25px 40px;padding-block:22px;border-block:1px solid #202a2733}.booking-confirmation dt{font-size:15px;margin-bottom:8px}.booking-confirmation dd{margin:0;font-size:21px;overflow-wrap:anywhere}.booking-confirmation p,.booking-confirmation li{font-size:18px;line-height:1.7}.booking-status-actions{display:flex;flex-wrap:wrap;gap:16px;margin-top:28px}.booking-badge{display:inline-block;padding:8px 14px;background:#eee2ab;color:#202a27;border-radius:4px;margin-bottom:22px;font-size:16px}.booking-confirmation .booking-contact{display:inline-block;text-decoration:underline;text-underline-offset:5px;margin-top:18px}.commerce-terms{padding-top:20px;max-width:1100px}.commerce-terms h2{font-size:32px;margin:36px 0 22px}.commerce-terms p{font-size:18px;line-height:1.75}.commerce-terms a{text-decoration:underline;text-underline-offset:4px}.commerce-table{overflow-x:auto}.commerce-table table{width:100%;border-collapse:collapse;font-size:17px;line-height:1.65;min-width:590px}.commerce-table th,.commerce-table td{text-align:left;vertical-align:top;padding:22px 18px;border-bottom:1px solid #202a2733}.commerce-table th{font-weight:500;width:30%}.commerce-table thead{background:#eee2ab}.commerce-honeypot{position:absolute!important;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}.commerce-page button:disabled{cursor:wait;opacity:.65}.commerce-page [hidden]{display:none!important}.commerce-page :focus-visible{outline:3px solid #17606d;outline-offset:5px}
@media(max-width:1100px){.pricing-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.price-card h2{font-size:31px}.commerce-custom{align-items:flex-start;flex-direction:column}.commerce-steps{gap:35px}.programme-pricing{gap:30px}}
@media(max-width:760px){.commerce-hero{padding-top:38px;padding-bottom:28px}.commerce-hero h1{font-size:clamp(41px,9vw,62px)}.commerce-hero>p{font-size:18px}.pricing-grid{grid-template-columns:minmax(0,1fr);gap:20px}.price-card{padding:28px}.price-card h2{font-size:32px}.price-amount{font-size:45px}.commerce-steps,.programme-pricing,.booking-workspace{grid-template-columns:minmax(0,1fr);gap:28px}.commerce-steps h2{font-size:38px}.programme-pricing h2{font-size:35px}.booking-detail h2{font-size:32px}.booking-confirmation dl{grid-template-columns:1fr}.booking-status-actions .button{width:100%}.commerce-terms h2{font-size:29px}.commerce-steps li{padding-left:42px}.commerce-steps li strong{font-size:21px}}
@media print{.site-header,.site-footer,.booking-status-actions,.booking-feedback,.topline,.booking-contact{display:none!important}.commerce-hero{padding-block:15px!important}.commerce-hero h1{font-size:36px}.booking-confirmation{padding-block:15px!important}body{background:#fff!important;color:#000!important}.booking-confirmation dl{break-inside:avoid}.booking-confirmation li{break-inside:avoid}}

/* Programme fees: an editorial introduction, then complete programme details. */
.fees-introduction{display:grid;grid-template-columns:1fr 1fr;gap:64px;padding-block:28px 42px;border-block:1px solid #202a2726}
.fees-introduction .kicker{font-size:14px;margin-bottom:14px}
.fees-introduction p{font-size:18px;line-height:1.75;max-width:54ch;margin:0}
.fees-step-intro{font-size:19px;line-height:1.7;max-width:35ch;margin:20px 0}
.fees-closing{display:flex;flex-wrap:wrap;align-items:center;gap:18px;padding-top:28px;font-size:17px;line-height:1.7}
.fees-closing a{text-decoration:underline;text-underline-offset:5px}
.fees-closing>span{font-family:var(--serif);font-style:italic;color:#555d52}
@media(max-width:760px){.fees-introduction{grid-template-columns:1fr;gap:25px;padding-block:26px 32px}.fees-introduction p{font-size:17px}.fees-closing{gap:12px}}
