/* Approved Merriweather/Lato identity and the real fee structure. */
body.registration{padding-top:0}
.subject-line{font-size:22px;line-height:1.5;max-width:45ch}
.hero-description{font-size:18px;line-height:1.65;max-width:53ch;margin-top:18px}
.vaihtoehto-3-hero .hero-copy{grid-column:1/8;max-width:690px}
.vaihtoehto-3-hero h1{font-size:clamp(44px,4.4vw,64px);line-height:1.17}
.vaihtoehto-3-event .event-chair{font-size:16px;justify-self:end}
.programme-hero .course-heading h1{font-size:clamp(40px,4vw,58px);line-height:1.2}
.programme-hero .course-heading>div{grid-column:1/8}
.programme-hero .booking-summary{grid-column:8/13}
.approved-fees{border:1px solid var(--line);box-shadow:0 20px 48px -28px #0e2b5533}
.approved-fees h2{font:400 22px/1.4 var(--font-body);letter-spacing:0;margin-bottom:24px}
.fee-options p{max-width:none}
.early-bird{padding:0 0 24px;margin-bottom:24px;border-bottom:1px solid var(--line)}
.early-bird>p{font-size:16px;line-height:1.6;margin:0}
.fee-options .fee-amount,.selected-fee .fee-amount{font:400 48px/1.2 var(--font-display);letter-spacing:-.025em;margin:12px 0 16px;color:var(--accent)}
.regular-fees-date{font-size:16px;color:var(--muted);margin:0 0 12px}
.fee-list{margin:0;padding:0}
.fee-list>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;padding:14px 0;border-bottom:1px solid var(--line);align-items:start}
.fee-list dt{font-size:17px;line-height:1.5}
.fee-list dd{font:400 24px/1.3 var(--font-body);white-space:nowrap;margin:0}
.fee-includes{font-size:16px!important;line-height:1.65;margin-top:20px!important;color:var(--muted)}
.approved-fees .button{margin-bottom:0}
.approved-event>.section-intro{grid-column:1/6}
.approved-event>.section-intro .button{margin-top:28px}
.approved-event>.booking-summary{grid-column:7/13;margin:0}
.approved-event .fee-options{display:grid;grid-template-columns:1fr 1.25fr;gap:0 32px}
.approved-event .early-bird{grid-column:1;grid-row:1/3;border:0;padding:0;margin:0}
.approved-event .regular-fees-date{grid-column:2}
.approved-event .fee-list{grid-column:2}
.approved-event .fee-includes{grid-column:1/-1;border-top:1px solid var(--line);padding-top:20px}
.programme-chair span{font-size:18px}
.approved-registration .registration-heading{max-width:850px}
.approved-registration .registration-heading h1{font-size:clamp(36px,4vw,56px)}
.approved-registration .order-summary{background:linear-gradient(145deg,var(--soft),#fff);border:1px solid var(--line)}
.approved-registration .order-summary h2{font:400 25px/1.4 var(--font-display);margin-bottom:20px}
.approved-registration .order-summary>p{font-size:17px}
.selected-fee{margin-top:28px;padding-top:24px;border-top:1px solid var(--line)}
.selected-fee>p:first-child{font-size:18px}
.selected-fee .fee-amount{font-size:40px}
.selected-fee .fee-reason{font-size:16px;color:var(--muted)}
.order-summary .tax-summary{font-size:17px;margin:24px 0 0}
.order-summary .tax-summary>div{display:flex;gap:16px;justify-content:space-between}
.order-summary .tax-summary .total dd{font-weight:400}
.all-fees{border-top:1px solid var(--line);margin-top:24px;padding-top:20px}
.all-fees summary{font-size:16px;cursor:pointer}
.all-fees .fee-options{padding-top:24px}
.all-fees .fee-options .fee-amount{font-size:32px}
.all-fees .fee-list{margin:0}
.all-fees .fee-list>div{display:grid;font-size:16px}
.all-fees .fee-list dd{font-size:20px}
.preview-notice{font-size:16px;line-height:1.6;color:var(--muted);max-width:58ch}
.approved-registration .form-grid{margin-bottom:36px}
.approved-registration .form-grid label{font-weight:400}
.approved-registration #profession-detail-label{font-size:18px;color:var(--ink)}
.approved-registration select{font-size:17px;text-overflow:ellipsis;padding-right:32px}
.dietary-fieldset{margin:0;padding:0;border:0;min-width:0}
.dietary-fieldset legend{padding:0;margin:0 0 16px;font-size:18px;line-height:1.5}
.dietary-options{display:flex;gap:12px}
.dietary-options label{display:flex;align-items:center;gap:12px;padding:12px 20px;border:1px solid #8c959f;border-radius:6px;background:#fff;min-height:52px;cursor:pointer}
.dietary-options input[type=radio]{appearance:auto;width:20px;min-height:0;height:20px;padding:0;margin:0;accent-color:var(--accent);flex-shrink:0}
.dietary-options label:has(input:checked){background:var(--soft);border-color:var(--accent)}
.dietary-detail{display:flex;flex-direction:column;gap:8px;margin-top:24px;font-size:18px}
.approved-registration .terms p{font-size:16px}
.approved-registration .checkbox{font-size:16px}
.course .closing h2{line-height:1.25}
@media(min-width:901px){.approved-registration .order-summary{position:sticky;top:32px}}
@media(max-width:1199px){.approved-event>.booking-summary{grid-column:6/13}.approved-event .fee-options{display:block}.approved-event .early-bird{border-bottom:1px solid var(--line);padding-bottom:24px;margin-bottom:24px}.approved-event .fee-includes{border:0;padding:0}.programme-hero .course-heading>div{grid-column:1/8}.programme-hero .course-heading h1{font-size:44px}.subject-line{font-size:21px}}
@media(max-width:900px){.programme-hero .course-heading{grid-template-columns:repeat(12,minmax(0,1fr))}.programme-hero .course-heading>div{grid-column:1/8}.programme-hero .booking-summary{grid-column:8/13;padding:24px 20px}.programme-hero .course-heading h1{font-size:38px}.fee-list>div{gap:12px}.fee-list dt{font-size:16px}.fee-list dd{font-size:22px}.vaihtoehto-3-hero .hero-copy{grid-column:1/9}.approved-registration .registration-grid{grid-template-columns:1fr}.approved-registration .order-summary{grid-column:1;grid-row:1;max-width:640px;width:100%}.approved-registration .registration-grid>form{grid-column:1;grid-row:2;max-width:760px;width:100%}}
@media(max-width:820px){.vaihtoehto-3-hero h1{font-size:clamp(33px,8.4vw,46px)}.subject-line{font-size:20px}.hero-description{font-size:18px;line-height:1.6}.vaihtoehto-3-event .event-chair{font-size:16px}.programme-hero .course-heading h1{font-size:clamp(33px,8vw,44px)}.programme-hero .booking-summary{padding:28px 24px;max-width:none}.approved-fees h2{font-size:21px}.approved-event>.booking-summary{max-width:none;margin-top:32px}.approved-fees .fee-amount{font-size:44px}.approved-registration .registration-heading h1{font-size:clamp(31px,8vw,42px)}.approved-registration .order-summary{padding:24px}.approved-registration .order-summary h2{font-size:23px}.selected-fee{margin-top:24px;padding-top:20px}.selected-fee .fee-amount{font-size:36px}.approved-registration .order-summary dl>div{padding-block:10px}.dietary-options label{flex:1;justify-content:center}.fee-list dt{font-size:17px}.all-fees .fee-list dt{font-size:16px}.programme-facts dd{font-size:17px}.site-header nav{gap:8px 20px}}
@media print{.approved-registration .order-summary{position:static}.preview-notice{color:#333}.dietary-options input[type=radio]{width:20px}.approved-fees,.early-bird{break-inside:avoid}}
.dietary-consent{margin:20px 0 0}.dietary-consent[hidden]{display:none!important}
.payment-fieldset{margin-top:32px}.payment-fieldset .dietary-options{flex-wrap:wrap}.payment-fieldset .dietary-options label{flex:1 1 240px}.billing-fields{margin:24px 0 0}.billing-note{margin:0;font-size:16px;line-height:1.55;color:var(--muted)}
.human-check{width:fit-content;align-items:center;margin:20px 0 0;padding:12px 20px;border:1px solid #8c959f;border-radius:6px;background:#fff;min-height:52px;cursor:pointer}.human-check input{margin:0}
