.classes-page{--class-blue:#254b66;--class-ground:#fffefa;color:#171514;padding-top:clamp(48px,7vw,90px);padding-bottom:80px;min-height:80vh}.classes-sheet{width:min(1280px,calc(100% - 48px));margin-inline:auto}.classes-intro{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:end;padding-bottom:40px}.classes-eyebrow{font-size:11px;letter-spacing:.16em;text-transform:uppercase;font-weight:500;line-height:1.7;color:var(--class-blue)}.classes-page h1,.classes-page h2,.classes-page h3{font-family:var(--font-display),Georgia,serif;font-weight:500;letter-spacing:-.025em;line-height:1.08}.classes-page h1{font-size:clamp(44px,5.7vw,76px);margin:18px 0 0;max-width:10em}.classes-intro p{font-size:17px;line-height:1.7;max-width:33em;margin:0 0 8px}.classes-union{padding:21px 25px;border-block:1px solid #c9d4db;background:#eff4f6;display:grid;grid-template-columns:1fr 1.3fr;gap:32px;margin-bottom:48px;font-size:14px;line-height:1.6}.classes-union strong{font-weight:500;font-size:17px;color:var(--class-blue)}.classes-page details summary{cursor:pointer;list-style-position:outside;line-height:1.6;min-height:28px}.classes-union details p{margin:10px 0 0;font-size:13px;max-width:55em}.classes-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:55px 36px}.class-item{min-width:0;display:flex;flex-direction:column;border-bottom:1px solid #c9c6bf;padding-bottom:32px}.class-image{aspect-ratio:16/10;position:relative;overflow:hidden;background:#ede9e2}.class-image img{-o-object-fit:cover;object-fit:cover;transition:transform .7s var(--ease-luxe)}@media(hover:hover){.class-item:hover .class-image img{transform:scale(1.025)}}.class-number{display:flex;justify-content:space-between;margin-top:23px;font-size:11px;letter-spacing:.13em;text-transform:uppercase;line-height:1.6;color:var(--class-blue)}.class-item h2{font-size:clamp(30px,3vw,40px);margin:14px 0}.class-item>p{font-size:15px;line-height:1.65;max-width:38em;margin:0 0 17px}.class-included{font-size:12px!important;color:#4e4a44;line-height:1.65!important}.class-price-row{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:auto;padding-top:15px;padding-bottom:23px;min-height:77px}.class-price{font-size:20px;font-variant-numeric:tabular-nums;letter-spacing:-.02em;white-space:nowrap}.class-price small{display:block;font-size:12px;letter-spacing:0;margin-top:7px;color:#4e4a44}.classes-page select{border:1px solid #8d8b86;background:transparent;min-height:44px;padding:9px 32px 9px 12px;font-size:15px;border-radius:0;max-width:100%}.class-group-label{display:flex;flex-direction:column;gap:5px;font-size:11px;line-height:1.4}.class-action{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 21px;background:#1a232a;color:#fff;font-size:12px;letter-spacing:.045em;min-height:50px;transition:background .2s;border:1px solid #1a232a;cursor:pointer;text-decoration:none;width:100%}.class-action:hover{background:var(--class-blue);color:#fff}.class-action.secondary{background:transparent;color:#171514;border-color:#85837e}.classes-page button:disabled{cursor:not-allowed;opacity:.5}.classes-page :is(button,a,input,select,textarea,summary):focus-visible{outline:2px solid var(--class-blue);outline-offset:4px}.classes-booking{scroll-margin-top:100px;border-top:1px solid #171514;padding-top:37px;margin-top:70px}.classes-booking-heading{display:flex;align-items:start;justify-content:space-between;gap:24px;margin-bottom:28px}.classes-booking-heading h2{font-size:40px;margin:8px 0 0}.classes-text-button{font-size:13px;text-decoration:underline;text-underline-offset:4px;min-height:44px;padding:8px;cursor:pointer}.classes-booking-layout{display:grid;grid-template-columns:1.15fr 1fr;gap:clamp(28px,5vw,74px);align-items:start}.classes-calendar{border:1px solid #c9c6bf;padding:24px}.classes-calendar-bar{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;gap:12px}.classes-calendar-bar h3{font-family:var(--font-body),sans-serif;font-size:16px;letter-spacing:0;margin:0;font-weight:500;text-transform:capitalize;line-height:1.5}.classes-calendar-bar button{border:1px solid #c9c6bf;width:44px;height:44px;font-size:20px;cursor:pointer}.classes-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.classes-calendar-grid>span{font-size:11px;text-align:center;padding:7px 0 12px;color:#4e4a44}.classes-calendar-grid button{min-height:44px;font-size:14px;border:1px solid transparent;cursor:pointer;font-variant-numeric:tabular-nums}.classes-calendar-grid button:disabled{color:#6c6861;background:#f6f4ef;opacity:.7;text-decoration:line-through}.classes-calendar-grid button:not(:disabled):hover{border-color:var(--class-blue);background:#eff4f6}.classes-calendar-grid button[aria-pressed=true]{background:var(--class-blue);color:#fff;border-color:var(--class-blue)}.classes-calendar-note{font-size:12px;line-height:1.6;margin:18px 0 0;color:#4e4a44}.classes-status{font-size:14px;line-height:1.7;padding:16px 20px;background:#f5f3ee;border-left:2px solid var(--class-blue);margin:18px 0}.classes-status.error{background:#faf0eb;border-color:#9b2d20;color:#7e251a}.classes-times{padding-top:25px}.classes-times h3{font-family:var(--font-body),sans-serif;font-size:14px;font-weight:500;letter-spacing:0;line-height:1.6;margin:0 0 14px}.classes-times-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.classes-times-grid button{border:1px solid #9c9a93;padding:13px 7px;min-height:46px;font-size:13px;white-space:nowrap;cursor:pointer}.classes-times-grid button[aria-pressed=true]{background:var(--class-blue);color:white;border-color:var(--class-blue)}.classes-summary{border-block:1px solid #c9c6bf;padding-block:22px;margin-bottom:26px}.classes-summary h3{font-size:30px;margin:0 0 18px}.classes-summary dl{display:grid;grid-template-columns:1fr auto;gap:12px 20px;font-size:13px;line-height:1.5}.classes-summary dd{text-align:right;font-variant-numeric:tabular-nums}.classes-summary .total{font-size:19px;border-top:1px solid #c9c6bf;padding-top:15px;margin-top:5px}.classes-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:21px 18px}.classes-field{display:flex;flex-direction:column;gap:8px;font-size:12px;line-height:1.6}.classes-field.full,.classes-form>.full{grid-column:1/-1}.classes-field :is(input,textarea){border:1px solid #8d8b86;background:transparent;padding:11px 12px;min-height:46px;font-size:16px;max-width:100%;width:100%;border-radius:0;color:#171514}.classes-field textarea{min-height:100px;resize:vertical}.classes-checkbox{display:flex;align-items:start;gap:11px;font-size:13px;line-height:1.6;cursor:pointer;padding-block:7px}.classes-checkbox input{width:18px;height:18px;flex-shrink:0;margin-top:2px;accent-color:var(--class-blue)}.classes-invoice{display:grid;gap:17px;border:1px solid #c9c6bf;padding:20px}.classes-small{font-size:12px;line-height:1.7;color:#4e4a44}.classes-small a{color:var(--class-blue);text-decoration:underline;text-underline-offset:3px}.classes-mini-union{padding:16px;background:#eff4f6;font-size:12px;line-height:1.7}.classes-mini-union strong{display:block;font-weight:500;font-size:13px;color:var(--class-blue);margin-bottom:5px}.classes-faq{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;border-top:1px solid #c9c6bf;padding-top:50px;margin-top:75px}.classes-faq h2{font-size:40px;max-width:7em;margin:12px 0}.classes-faq details{border-bottom:1px solid #c9c6bf;padding:18px 0;font-size:14px}.classes-faq details summary{font-size:15px;list-style:none;display:flex;justify-content:space-between;gap:20px}.classes-faq details summary:after{content:"+";color:var(--class-blue)}.classes-faq details[open] summary:after{content:"−"}.classes-faq details p{font-size:14px;line-height:1.8;margin-top:15px;max-width:42em}.classes-return{border:1px solid #c9c6bf;padding:26px;margin-bottom:36px;scroll-margin-top:100px}.classes-return h2{font-size:32px;margin:0 0 14px}.classes-return p{font-size:15px;line-height:1.7}.classes-scheduled{margin-top:55px;border-top:1px solid #c9c6bf;padding-top:30px}.classes-scheduled h2{font-size:32px;margin:12px 0 20px}.classes-scheduled a{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid #c9c6bf;padding:20px 0;font-size:15px}@media(max-width:760px){.classes-sheet{width:calc(100% - 40px)}.classes-intro{grid-template-columns:1fr;gap:24px;padding-bottom:28px}.classes-intro p{font-size:15px}.classes-union{grid-template-columns:1fr;gap:9px;padding:18px;margin-bottom:30px}.classes-union strong{font-size:16px}.classes-grid{gap:36px 24px}.class-item h2{font-size:30px}.class-item>p{font-size:14px}.class-image{aspect-ratio:5/4}.class-price-row{flex-wrap:wrap;gap:12px}.class-price{font-size:18px}.classes-booking-layout{grid-template-columns:1fr;gap:30px}.classes-booking-heading h2{font-size:32px}.classes-faq{grid-template-columns:1fr;gap:22px}.classes-faq h2{font-size:34px;max-width:none}.classes-calendar{padding:19px}.classes-times-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:540px){.classes-grid{grid-template-columns:1fr;gap:36px}.class-image{aspect-ratio:16/10}.class-item h2{font-size:33px}.class-price-row{flex-wrap:nowrap}.class-number{margin-top:18px}.classes-booking-heading{gap:12px}.classes-form{grid-template-columns:1fr}.classes-field{grid-column:1/-1}.classes-calendar-grid{gap:3px}.classes-calendar-grid button{min-height:40px}.classes-calendar{padding:14px}.classes-intro h1{font-size:46px}.classes-booking{margin-top:48px}}@media(prefers-reduced-motion:reduce){.class-action,.class-image img{transition:none}.class-item:hover .class-image img{transform:none}}.classes-page{--class-ground:#fff;background:var(--class-ground);padding-top:48px;padding-bottom:56px}.classes-sheet{width:min(1180px,calc(100% - 64px))}.classes-intro{padding-bottom:28px;gap:28px}.classes-page h1{font-size:48px;max-width:none;margin:10px 0 0}.classes-intro p{font-size:15px;line-height:1.6;max-width:25em}.classes-union{background:transparent;grid-template-columns:1fr auto;padding:15px 0;margin-bottom:32px;gap:24px;font-size:13px;border-color:#d9dedf}.classes-union strong{font-size:13px;color:#171514}.classes-union details{max-width:35rem}.classes-union summary{color:var(--class-blue)}.classes-grid{gap:40px 32px}.class-item{padding-bottom:0;border:0}.class-image{aspect-ratio:4/3}.class-number{margin-top:17px;font-size:10px;letter-spacing:.08em}.class-item h2{font-size:28px;margin:10px 0 0}.class-item h2 a{text-decoration:none}.class-price-row{padding-top:14px;padding-bottom:17px;min-height:0}.class-price{font-size:18px}.class-action{background:transparent;color:#171514;border:0;border-top:1px solid #d6d8d8;padding:14px 0;min-height:48px;letter-spacing:0;font-size:13px}.class-action:hover{background:transparent;color:var(--class-blue)}.is-detail .classes-sheet{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:0 64px;align-items:start}.private-back{font-size:12px;text-decoration:none;margin-bottom:22px;width:-moz-fit-content;width:fit-content;min-height:30px}.classes-return,.is-detail .classes-union,.private-back{grid-column:1/-1}.private-hero{grid-column:1;min-width:0}.private-hero .class-image{aspect-ratio:4/3;margin-bottom:24px}.private-hero h1{font-size:38px;line-height:1.1;max-width:13em}.private-facts{font-size:13px;color:#555;display:flex;gap:12px;margin-top:17px}.private-price{font-size:24px;font-variant-numeric:tabular-nums;margin-top:17px;letter-spacing:-.02em}.private-price small{display:block;font-size:12px;letter-spacing:0;margin-top:5px;color:#555}.private-description{font-size:14px;line-height:1.75;max-width:34em;margin-top:20px}.private-practical{margin-top:26px;border-top:1px solid #dedede}.private-practical details{border-bottom:1px solid #dedede;padding:12px 0;font-size:13px}.private-practical summary{display:flex;justify-content:space-between;gap:20px;list-style:none}.private-practical summary:after{content:"+";color:var(--class-blue)}.private-practical details[open] summary:after{content:"−"}.private-practical details p{font-size:13px;line-height:1.75;margin:12px 0 0}.private-practical>.classes-small{margin-top:20px}.is-detail .classes-booking{grid-column:2;border:0;padding:0;margin:0;min-width:0}.is-detail .classes-booking-heading{margin-bottom:20px}.is-detail .classes-booking-heading h2{font-size:27px;margin:0}.is-detail .classes-booking-layout{grid-template-columns:1fr;gap:26px}.classes-summary h3{font-size:23px}.classes-summary{padding-block:18px;margin-bottom:22px}.classes-summary dl{margin:0}.classes-summary .total{font-size:18px}.classes-status{font-size:13px;line-height:1.6;padding:14px 16px}.classes-status a{color:var(--class-blue)}.classes-form .class-action{background:#1a232a;color:#fff;padding-inline:18px}.classes-form .class-action:hover{background:var(--class-blue)}.scheduled-catalogue{padding:0 0 80px;background:#fff}.scheduled-catalogue h2{font-family:var(--font-display),Georgia,serif;font-size:32px;margin:0 0 28px;font-weight:400}.scheduled-catalogue>.classes-sheet{border-top:1px solid #d8d8d8;padding-top:32px}.scheduled-course{display:grid;grid-template-columns:140px 1fr;gap:24px;text-decoration:none;color:inherit;align-items:center;min-width:0}.scheduled-course .class-image{aspect-ratio:1}.scheduled-course h3{font-family:var(--font-display),Georgia,serif;font-size:25px;line-height:1.2;font-weight:400;margin:0}.scheduled-course p{font-size:12px;line-height:1.65;margin:8px 0 0}.scheduled-more{font-size:12px;display:block;margin-top:15px;color:var(--class-blue)}@media(max-width:900px){.is-detail .classes-sheet{gap:0 36px}.private-hero h1{font-size:32px}.scheduled-course{grid-template-columns:100px 1fr;gap:18px}.classes-times-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.classes-page{padding-top:30px}.classes-sheet{width:calc(100% - 40px)}.classes-intro{grid-template-columns:1fr;gap:14px}.classes-page h1{font-size:40px}.classes-union{grid-template-columns:1fr;gap:4px;margin-bottom:26px}.is-detail .classes-sheet{display:block}.private-hero .class-image{aspect-ratio:16/9;max-height:320px}.private-hero h1{font-size:34px}.private-practical{margin-bottom:30px}.is-detail .classes-booking{border-top:1px solid #d8d8d8;padding-top:28px}.classes-times-grid{grid-template-columns:repeat(3,1fr)}.classes-grid{gap:30px 24px}.class-item h2{font-size:27px}.class-image{aspect-ratio:4/3}.class-price-row{flex-wrap:wrap}.scheduled-catalogue .classes-grid{grid-template-columns:1fr}.scheduled-course{grid-template-columns:100px 1fr}.classes-union details p{font-size:12px}.class-group-label select{max-width:100%}}@media(max-width:540px){.classes-grid{grid-template-columns:1fr}.class-image{aspect-ratio:16/10}.class-price-row{flex-wrap:nowrap}.class-item h2{font-size:29px}.classes-calendar-grid button{min-height:44px}}