/* Final device adaptation layer; centred layout and established colours retained. */
html{scroll-padding-top:24px}body{min-width:0}header,.page,.wrap,.grid,.card,.formbox,.feature,.pathway,.liveCalendar,.previewRouting{min-width:0}
header .logoBrand{max-width:100%}button,a.btn,summary{touch-action:manipulation}button,.btn{max-width:100%;white-space:normal;overflow-wrap:anywhere;line-height:1.45;min-height:44px}button .themeArrow,.btn .themeArrow{flex-shrink:0}
.card .btn,.formbox .btn{width:fit-content}input,select,textarea{width:100%;max-width:100%;min-width:0;font-size:16px!important}input[type=checkbox],input[type=radio]{width:22px!important;min-width:22px;max-width:22px;height:22px;min-height:22px;flex:0 0 22px}
label,.fieldHelp,.err,.message,.previewNote{overflow-wrap:anywhere}.choice{gap:10px}.formbox textarea{min-height:110px;resize:vertical}.chips{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.chips button{margin:0!important;flex:0 1 auto}.actions{justify-content:center}
.page>.wrap>.center{margin-inline:auto;max-width:850px}.page .intro{margin-inline:auto;max-width:760px}.page h1{font-size:clamp(34px,5vw,62px);line-height:1.15}.page h2{font-size:clamp(27px,3.5vw,42px);line-height:1.2}.page h3{font-size:clamp(23px,2.6vw,30px);line-height:1.25}
#home .strip{width:100%;gap:18px}.weeklyDay .calendarDayName{font-size:17px}.calendarEvent .btn{width:100%;min-height:44px}
#sampleDialog{padding:12px}#sampleDialog img{display:block;max-width:100%;height:auto}dialog .closeSample{display:block;margin:0 auto 12px!important}dialog{width:min(720px,calc(100vw - 28px));max-height:calc(100dvh - 28px)}
@media(min-width:1600px){#home>.wrap,.page>.wrap{max-width:1240px}header{max-width:1400px}.page .grid{gap:28px}}
@media(min-width:801px) and (max-width:1100px){header nav.open button{width:100%}#home .hero{gap:24px;padding:38px 30px}#home .hero h1{font-size:clamp(40px,5vw,52px)}#home .art{width:100%;max-width:350px;margin:auto}#home .report{width:min(100%,260px)}.page .card{padding:25px}.liveCalendar{padding:16px}.calendarGrid{gap:7px}.weeklyDay{padding:6px}.calendarEvent{padding:8px 4px;font-size:12px}}
@media(min-width:701px) and (max-width:900px){.calendarGrid{grid-template-columns:repeat(4,minmax(0,1fr))}.weeklyDay{min-height:160px}.weeklyDay:last-child{grid-column:auto}}
@media(max-width:800px){#home .hero .actions{width:100%;gap:12px}#home .hero .actions .btn{flex:1 1 220px}.page>.wrap{padding:36px 22px}.page .card{padding:25px}.formbox{max-width:100%}.previewRouting{padding:22px}.previewRouting label{display:block;margin-top:14px}.newFooter .footerTop button,.newFooter .footerTop a:not(.brand){min-height:44px;padding:10px 4px;display:block}.footerBottom{justify-content:center}.sampleLogo{margin-inline:auto}.page .pill{line-height:1.5}}
@media(max-width:750px){header{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:16px 20px;align-items:center}header .logoBrand{grid-column:1;grid-row:1;margin:0 auto!important}header .logoBrand img{width:160px;max-width:100%}.menuToggle{grid-column:2;grid-row:1;margin:0!important;min-width:76px}.bookingShortcut{display:flex;grid-column:1/-1;grid-row:2;width:100%;max-width:none;min-height:46px;font-size:14px;padding:11px 16px}header nav{grid-column:1/-1;grid-row:3;margin:0;padding-top:4px}header nav button{width:100%;margin:0!important}#home .hero .art{max-width:330px;width:100%;margin:10px auto 0}#home .report{width:min(100%,270px);margin-inline:auto}#home .note{max-width:160px;right:0}#home .strip{gap:9px;padding-inline:20px}}
@media(max-width:600px){#home>.wrap{padding-inline:18px}#home .hero{padding:32px 22px;gap:24px}#home .hero h1{font-size:clamp(34px,8vw,46px);line-height:1.12}#home .hero .actions{flex-direction:column;align-items:stretch}#home .hero .actions .btn{width:100%;flex:auto}#home .hero .eyebrow{letter-spacing:.1em;font-size:11px}#home .localPath{padding:25px 20px!important}#home .localPath .localClientsTitle{font-size:clamp(28px,7vw,35px)}#home .localPath .btn,#home #resets .card .btn{width:100%}.page>.wrap{padding:30px 18px}.page .card,.page .formbox{padding:22px}.page .card .btn{width:100%}.page .grid{gap:18px}#practiceCourses,#practiceLiveClasses,#classReplays{padding-top:38px!important}.page .center{margin-bottom:26px}.calendarGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.weeklyDay{min-height:140px;padding:9px}.weeklyDay:last-child{grid-column:1/-1}.calendarNoClass{margin-top:18px}.calendarEvent{font-size:14px}.calendarEvent time{font-size:16px}#calendarZone{font-size:13px}.liveCalendar{padding:12px}.noticeActions{flex-direction:column}.noticeActions .btn{width:100%}.socialSection{padding-inline:18px}.socialDevice>.center{padding:22px 15px 26px}.socialDevice .socialLinks{display:flex;flex-direction:column;gap:12px}.socialDevice .socialLinks a{width:100%;min-height:48px}.newFooter .footerTop{grid-template-columns:1fr 1fr;gap:18px}.footerTop>div{min-width:0}.footerBottom span{display:block;width:100%;text-align:center}.previewRouting,.productSummary{padding:18px}#schemaFields .choice{flex-wrap:nowrap!important;align-items:center}#schemaFields .choice label{min-width:0}#schemaForm .actions{display:grid;grid-template-columns:1fr 1fr;gap:12px}.intakeReturn{display:block;padding:14px;min-height:44px}.designSkip{width:100%;padding:12px}.previewBanner{font-size:14px;line-height:1.6}}
@media(max-width:420px){.calendarGrid{grid-template-columns:minmax(0,1fr)}.weeklyDay,.weeklyDay:last-child{grid-column:auto;min-height:0;padding:12px}.calendarNoClass{margin:12px 0}.calendarEvent{padding:12px}.calendarEvent .btn{width:100%;font-size:14px}.newFooter .footerTop{grid-template-columns:1fr}.newFooter{padding:22px 18px}.page .card,.page .formbox{padding:20px}#home .hero .art{max-width:280px}#home .note{position:static!important;margin:16px auto 0;width:100%;max-width:240px}#home .hero .art{min-height:0!important}header{padding:14px 16px}header .logoBrand img{width:145px}.page .price{font-size:34px!important}.page .card .eyebrow{font-size:11px;letter-spacing:.08em}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
/* Booking selection states override general button text colours. */
body .chips button{background:#fffaf6!important;color:#654256!important;border:1px solid #ac939f!important;font-weight:600}
body .chips button[aria-pressed=true]{background:#755064!important;color:#fff!important;border:2px solid #755064!important;box-shadow:0 0 0 2px #75506422}
body .chips button:not(:disabled):hover{background:#ead8e1!important;color:#543447!important;border-color:#755064!important}
body .chips button[aria-pressed=true]:not(:disabled):hover{background:#553447!important;color:#fff!important;border-color:#553447!important}
body .chips button:disabled{background:#e5dce1!important;color:#75636c!important;border-color:#c9bac2!important;opacity:1;cursor:not-allowed;box-shadow:none}
body .chips button:focus-visible{outline:3px solid #a47540;outline-offset:3px}
.bookingCalendar{width:100%;max-width:560px;margin:24px auto}.bookingCalendarNav{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;gap:10px;align-items:center;margin-bottom:16px}.bookingCalendarNav .bookingCalendarTitle{font-size:clamp(21px,5vw,28px);margin:0!important;color:#654256}.bookingMonthGrid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.bookingWeekday{font-size:12px;font-weight:700;color:#654256;padding:8px 0}.bookingBlank{min-width:0}
body .bookingCalendar button.calendarMonthButton{width:44px;height:44px;min-height:44px;padding:0;border:1px solid #ad909f;border-radius:50%;background:#fffaf6;color:#654256;font-size:28px;line-height:1}
body .bookingCalendar button.bookingDate{width:100%;min-width:0;min-height:44px;aspect-ratio:1;padding:0;margin:0!important;border:1px solid transparent;border-radius:12px;background:#f4edf1;color:#aa9aa3;font-size:16px;font-weight:600;box-shadow:none}
body .bookingCalendar button.bookingDate.isAvailable{background:#fffaf6;border-color:#aa7c92;color:#654256;font-weight:700}
body .bookingCalendar button.bookingDate[aria-pressed=true]{background:#755064!important;color:#fff!important;border:2px solid #755064;box-shadow:0 0 0 2px #75506422}
body .bookingCalendar button.bookingDate.isToday{outline:1px solid #aa7c92;outline-offset:-5px}
body .bookingCalendar button.bookingDate:not(:disabled):hover{background:#ead8e1;color:#553447}
body .bookingCalendar button:disabled{opacity:1;cursor:default}.bookingCalendar button.calendarMonthButton:disabled{opacity:.4}.calendarHelp{font-size:14px;line-height:1.6;margin:16px auto}.selectedDateHeading{font-size:22px!important;margin-top:26px!important}
@media(max-width:420px){.bookingMonthGrid{gap:3px}.bookingWeekday{font-size:11px}.bookingCalendar{margin:20px auto}.bookingCalendarNav{gap:5px}.bookingCalendarNav .bookingCalendarTitle{font-size:21px}.bookingCalendar button.bookingDate{border-radius:9px;font-size:14px!important;min-height:36px!important}.calendarHelp{font-size:13px}}
/* Ink-inspired headline: refined serif strokes, quiet vermilion accent, generous space. */
@font-face{font-family:'Nina Cormorant';src:url('assets/fonts/cormorant-garamond-600.ttf') format('truetype');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:'Nina Cormorant';src:url('assets/fonts/cormorant-garamond-500-italic.ttf') format('truetype');font-weight:500;font-style:italic;font-display:swap}
#home .hero h1.resetHeroTitle{font-family:'Nina Cormorant',Georgia,serif;font-size:inherit;line-height:1.12;letter-spacing:0;margin:24px auto 28px;max-width:660px;position:relative}
#home .resetHeroTitle .heroTitleLead{display:block;font-size:clamp(42px,4.7vw,64px);font-weight:600;line-height:1.04;color:#503747;letter-spacing:-.025em;text-wrap:balance}
#home .resetHeroTitle .heroTitleWisdom{display:block;margin-top:22px;font-size:clamp(30px,3.15vw,43px);font-weight:500;font-style:italic;line-height:1.13;color:#79505c;letter-spacing:-.012em;text-wrap:balance}
#home .hero h1.resetHeroTitle:after{content:'';display:block;width:62px;height:3px;margin:27px auto 0;border-radius:65% 10% 65% 15%;background:#a96159;transform:rotate(-2deg);opacity:.85}
@media(max-width:800px){#home .hero h1.resetHeroTitle{max-width:590px;margin:20px auto 24px}#home .resetHeroTitle .heroTitleLead{font-size:clamp(39px,6.7vw,55px)}#home .resetHeroTitle .heroTitleWisdom{font-size:clamp(29px,4.8vw,38px);margin-top:19px}}
@media(max-width:420px){#home .resetHeroTitle .heroTitleLead{font-size:clamp(36px,9.6vw,41px);line-height:1.08}#home .resetHeroTitle .heroTitleWisdom{font-size:clamp(28px,7.1vw,31px);line-height:1.16;margin-top:18px}#home .hero h1.resetHeroTitle:after{margin-top:22px;width:50px}}
.visuallyHidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important}
#home .hero h1.brushImageTitle{width:100%;max-width:700px;margin:12px auto 18px;line-height:0}
#home .hero h1.brushImageTitle:after{display:none}
#home .brushHeadlineImage{display:block;width:100%;height:auto;margin:0 auto;mix-blend-mode:multiply}
@media(max-width:800px){#home .hero h1.brushImageTitle{max-width:620px;margin:6px auto 16px}}
@media(max-width:420px){#home .hero h1.brushImageTitle{width:calc(100% + 20px);max-width:none;margin:0 -10px 12px}}
