/* Compact reading layout: less empty space, clear hierarchy, usable touch targets. */
body{font-size:16px;line-height:1.55}
header{max-width:1240px;min-height:76px;padding:16px 26px}header .logoBrand img{width:170px}header nav{gap:12px}header nav button{font-size:13px}
#home{--section-gap:44px}#home>.wrap,.page>.wrap{max-width:1080px;padding:40px 28px}#home>.wrap:first-child{max-width:1180px;padding:16px 28px 0!important}
#home .hero{min-height:0;padding:38px 34px;gap:26px;border-radius:20px}#home .hero .actions{margin:20px 0 14px;gap:10px}#home .hero .small{margin:12px auto 0}#home .art{min-height:345px}#home .report{width:235px;padding:22px}#home .report h3{font-size:24px}#home .note{padding:12px 15px;font-size:13px}#home .hero h1.brushImageTitle{max-width:580px;margin:0 auto 12px}
#home .strip{padding:16px 10px;gap:12px}#home .strip span{font-size:13px}#home .intro>p{margin:12px auto 0}#home h2,.page h2{font-size:clamp(27px,3.2vw,38px);line-height:1.2;margin:12px auto 18px}#home h3,.page h3{font-size:clamp(22px,2.4vw,27px);line-height:1.25;margin:12px auto}#home p,.page p{font-size:16px;line-height:1.6;margin:12px auto}#home .small,.page .small{font-size:14px;line-height:1.55}
.page h1{font-size:clamp(32px,4vw,48px);line-height:1.15;margin:16px auto}.page>.wrap>.center{margin-bottom:25px;max-width:720px}.page .grid{gap:18px}.page .card,#home #resets .card{min-height:0;padding:24px 22px;border-radius:14px}.page .feature{padding:28px;gap:24px}.page .card .price{font-size:clamp(30px,3.8vw,39px)}.page .card details{margin-top:12px;padding:8px 10px}.page .card .pill{font-size:12px;padding:4px 10px}
#home .pathways{display:block!important;padding-top:28px;padding-bottom:28px}#home .localPath{max-width:720px;margin:0 auto;padding:24px!important}#home .pathway h2{font-size:32px;margin:8px auto 12px}#home .pathway h3{font-size:21px;margin:8px auto}#home .localPath p{max-width:570px}
#home #resets{padding-top:36px;padding-bottom:36px}#home #resets>.grid{margin-top:25px;gap:18px}#home #resets .card h3{font-size:27px;margin:14px auto 10px}#home #resets .card:before{margin-bottom:12px}#home #resets .card p{font-size:15px;line-height:1.6}#home #resets .card .btn{padding:11px 14px;font-size:14px}#home .textLink{padding:10px 0}
.consultPriceSummary{margin:14px auto 18px;padding:13px 14px;background:#fff9;border:1px solid #cfb2c0;border-radius:10px;width:100%;max-width:310px;color:#624152;line-height:1.45}.consultPriceLabel{display:block;font-size:13px;font-weight:700;margin-bottom:8px}.consultPriceRow{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;align-items:center;padding:5px 0;font-size:14px}.consultPriceRow+ .consultPriceRow{border-top:1px solid #d4bec855}.consultPriceRow strong{font-size:15px!important;color:#603a50!important;white-space:nowrap}.consultPriceNote{display:block;font-size:12px;margin-top:8px;color:#6c5662}
#home #liveClasses{padding:36px 28px}#home #liveClasses .intro{margin-bottom:22px}.liveCalendar{padding:16px}.weeklyDay{min-height:145px}.calendarNoClass{margin:16px auto;font-size:12px}.calendarEvent{margin-top:6px;padding:8px 5px}#calendarEmpty{margin-bottom:0}
#home #ninaPicks{padding-top:36px;padding-bottom:30px;gap:20px}#home .storeTabs{gap:14px;margin:16px 0}#home .storeTabs a.storeTab{min-height:120px;padding:18px}#home #ninaPicks>.small{padding-top:14px;font-size:12px}
#home>.wrap:has(.faqList){display:block;padding-top:36px;padding-bottom:36px}#home .faqList{max-width:760px;margin:20px auto 0}#home .faqList details{padding:12px 0}#home .faqList summary{font-size:18px;line-height:1.5;min-height:32px;padding-block:4px}#home .faqList p{font-size:15px;margin-top:10px}
.page .formbox,.formbox{padding:24px;max-width:720px;margin:24px auto}.formbox .field{padding:8px}.formbox label{font-size:15px}.formbox input,.formbox select,.formbox textarea{font-size:16px!important;min-height:44px}input[type=radio],input[type=checkbox]{min-height:22px!important}.clientType .choice{padding:12px;margin:9px 0;font-size:15px}.clientType legend{font-size:21px;margin-bottom:12px}.maintenanceRules{padding:14px 16px;margin:16px 0}.maintenanceRules p{font-size:15px}.sampleButton img{max-height:350px;object-fit:contain}.sampleButton{width:100%}
#practiceCourses,#practiceLiveClasses,#classReplays{padding-top:34px!important}#practiceCourses .intro{margin-bottom:18px}#practiceLiveClasses .intro,#classReplays .intro{margin-bottom:18px}#consultation .grid{margin-bottom:18px}#consultation .calendarPending{padding:16px;margin:16px 0}#resetsPage .fullResetSection{margin-top:24px;padding-top:22px}#resetsPage .fullReset{padding:24px}#about .aboutLogo{width:95px;height:95px;margin-bottom:14px}#about .ninaBio p{font-size:16px;margin-bottom:12px}.previewNote,.message{padding:15px;font-size:14px;line-height:1.55;margin:16px 0}
.socialSection{padding:30px 24px 42px}.socialDevice{max-width:720px;border-width:5px}.socialDevice>.center{padding:22px 20px 26px}.socialDevice h2{font-size:28px}.socialDevice p{font-size:15px}.socialDevice .socialLinks{margin-top:18px}.newFooter{padding-top:20px;padding-bottom:16px}
body:has(#schemaForm) main{max-width:900px;padding:28px 24px}.intakeIntro h1{font-size:clamp(30px,4vw,44px)}.intakeIntro p{margin:10px auto}.previewRouting{padding:18px;max-width:720px;margin:18px auto}.previewBanner{padding:14px;font-size:14px}.intakeProgress{margin-bottom:18px}#schemaFields .field{padding-bottom:15px}.stepIntro h2{font-size:26px}.stepNote{font-size:15px}
@media(max-width:800px){#home>.wrap,.page>.wrap{padding:30px 22px}#home .hero{padding:30px 24px;gap:22px}#home .hero h1.brushImageTitle{max-width:540px}#home #resets{padding-top:30px;padding-bottom:30px}#home #resets .card,.page .card{padding:22px}#home #liveClasses{padding:30px 22px}.page .feature{padding:24px}.page .formbox{padding:22px}.weeklyDay{min-height:130px}.socialDevice>.center{padding:20px 16px 23px}}
@media(max-width:600px){header{padding:12px 18px;gap:9px}header .logoBrand img{width:145px}#home>.wrap:first-child{padding:12px 16px 0!important}#home>.wrap,.page>.wrap{padding:26px 18px}#home .hero{padding:24px 20px;gap:20px;border-radius:16px}#home .hero .actions{margin:16px 0 12px}#home .hero>div:first-child>p{font-size:15px}#home .art{min-height:305px;max-width:290px}#home .report{width:225px}#home .strip{padding:14px 8px;gap:7px}#home .strip span{font-size:12px}#home h2,.page h2{font-size:28px;margin-bottom:14px}.page h1{font-size:34px}#home h3,.page h3{font-size:24px}.page .card,#home #resets .card,.page .formbox{padding:20px}.page .card p,#home #resets .card p{font-size:15px}.page .grid{gap:15px}#home .localPath{padding:20px!important}#home .pathway h2{font-size:29px}#home #liveClasses{padding:28px 18px}.liveCalendar{padding:11px}.calendarEvent .btn{min-height:44px}.weeklyDay{min-height:0;padding:10px}.calendarNoClass{margin:12px auto}.consultPriceSummary{max-width:330px;padding:12px}.consultPriceRow{font-size:15px}.consultPriceRow strong{font-size:16px!important}.consultPriceNote{font-size:12px}#home>.wrap:has(.faqList){padding:28px 18px}#home .faqList summary{font-size:17px;min-height:36px}.socialSection{padding:26px 18px 38px}.sampleButton img{max-height:280px}#practiceCourses,#practiceLiveClasses,#classReplays{padding-top:26px!important}body:has(#schemaForm) main{padding:22px 18px}#schemaForm .actions .btn{min-height:46px}.previewRouting{padding:16px}}
@media(max-width:420px){#home .hero h1.brushImageTitle{width:calc(100% + 16px);margin:0 -8px 10px}.page .card,.page .formbox{padding:18px}.page h1{font-size:32px}.page h2{font-size:26px}.page h3{font-size:23px}#home .hero .art{max-width:260px}#home .report{width:215px}#home .note{margin-top:12px;padding:10px 13px}.bookingCalendar{margin:18px auto}.bookingCalendarNav .bookingCalendarTitle{font-size:21px}.bookingCalendar button.bookingDate{min-height:36px!important}}
/* Seven-day overview at every screen width; full details open in a dialog. */
#home #liveClasses{padding-top:26px;padding-bottom:26px}#home #liveClasses .intro{margin-bottom:14px}.liveCalendar{padding:12px!important}.liveCalendar #calendarZone{font-size:12px;margin:4px auto 10px}
#liveCalendarGrid{grid-template-columns:repeat(7,minmax(0,1fr))!important;gap:4px!important;cursor:zoom-in;border-radius:10px}#liveCalendarGrid:focus-visible{outline:3px solid #a47540;outline-offset:4px}
#liveCalendarGrid .weeklyDay,#liveCalendarGrid .weeklyDay:last-child{grid-column:auto!important;min-height:78px!important;padding:6px 3px!important;border-radius:8px}
#liveCalendarGrid .calendarDayName{font-size:13px;padding:5px 0;margin:0!important}#liveCalendarGrid .calendarEvent{padding:4px 2px;margin-top:4px;font-size:11px;line-height:1.35}#liveCalendarGrid .calendarEvent time{font-size:12px}#liveCalendarGrid .calendarEvent .btn,#liveCalendarGrid .calendarEvent>span{display:none!important}#liveCalendarGrid .calendarNoClass{font-size:10px;line-height:1.4;margin:10px auto;overflow-wrap:anywhere}
.calendarExpandHint{display:block;font-size:12px;color:#704b60;margin:9px auto 0}#home #calendarEmpty{font-size:12px;line-height:1.5;margin:8px auto 0;max-width:650px}
#liveCalendarDialog{width:min(1050px,calc(100vw - 24px));max-width:calc(100vw - 24px);padding:24px;border:1px solid #b69baa;border-radius:18px;background:#fcf9f5}#liveCalendarDialog::backdrop{background:#38263199;backdrop-filter:blur(3px)}.calendarZoomClose{display:block;margin:0 auto 16px!important}.calendarZoomScroll{overflow-x:auto;-webkit-overflow-scrolling:touch;padding:5px 3px 12px}.calendarZoomScroll .calendarGrid{grid-template-columns:repeat(7,minmax(85px,1fr))!important;min-width:650px;gap:8px}.calendarZoomScroll .weeklyDay,.calendarZoomScroll .weeklyDay:last-child{grid-column:auto!important;min-height:150px!important;padding:10px!important}.calendarZoomScroll .calendarDayName{font-size:17px}.calendarZoomScroll .calendarEvent{font-size:13px}.calendarZoomScroll .calendarEvent time{font-size:15px}.calendarSwipeHint{display:none}#liveCalendarDialog h2{font-size:28px;line-height:1.25;margin:12px auto}
@media(max-width:700px){#liveCalendarGrid .calendarEvent strong{display:none}#liveCalendarGrid .calendarEvent time{font-size:10px}#liveCalendarGrid .calendarNoClass{font-size:9px}#liveCalendarGrid .calendarDayName{font-size:11px}#liveCalendarGrid .weeklyDay{border-top-width:3px}#liveCalendarDialog{padding:16px}.calendarSwipeHint{display:block}#liveCalendarDialog h2{font-size:24px}}
@media(max-width:420px){#liveCalendarGrid{gap:3px!important}#liveCalendarGrid .calendarDayName{font-size:10px}#liveCalendarGrid .calendarEvent time{font-size:9px}#liveCalendarGrid .weeklyDay,#liveCalendarGrid .weeklyDay:last-child{min-height:68px!important;padding:5px 2px!important}#liveCalendarGrid .calendarNoClass{font-size:9px}}

/* A single weekly class, without calendar chrome or empty weekdays. */
#liveClasses .weeklyLiveCard{max-width:620px;margin:20px auto 0;padding:26px 24px;border:1px solid #cbb5c1;border-top:4px solid #785165;border-radius:22px;background:linear-gradient(135deg,#f4e6ec,#f5eee4);text-align:center;box-shadow:0 8px 24px #68465c0a}
#liveClasses .weeklyLiveCard h3{color:#694357;margin:10px 0;font-size:clamp(1.25rem,3vw,1.65rem)}
#liveClasses .weeklyLiveCard time{display:block;color:#493c44;font-weight:600;line-height:1.6}
#liveClasses .weeklyLiveCard p{margin:10px 0}
#liveClasses .weeklyLiveCard .btn{margin-top:10px}

#home .storeTabs{flex-wrap:wrap;justify-content:center}#home .storeTabs a.storeTab{flex:1 1 150px;max-width:240px}.infrarediWordmark{font:600 clamp(24px,4vw,34px)/1.2 Arial,sans-serif;letter-spacing:-1px;color:#403238}

#home .storeTabs{align-items:flex-start}
#home .storeTabs .infrarediPick{flex:1 1 150px;max-width:240px;min-width:0;text-align:center}
#home .storeTabs .infrarediPick a.redLightTile{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:8px;width:100%;max-width:none;min-height:120px;margin:0;padding:16px;background:#fff5f2;color:#9a4f59;border-color:#d7b2ad;font-size:18px;font-weight:600;line-height:1.2;text-decoration:none;box-sizing:border-box}
.redLightCaption{font-size:12px;line-height:1.5;color:#66545c;margin:9px 0 3px}
.redLightDetails{font-size:12px;line-height:1.5;border:0!important;padding:0!important}
.redLightDetails summary{cursor:pointer;color:#784c5b;font-size:12px;text-decoration:underline;list-style:none;padding:3px!important;display:block!important}
.redLightDetails summary::-webkit-details-marker{display:none}.redLightDetails summary:after{display:none!important}.redLightDetails .readLessLabel{display:none}.redLightDetails[open] .readMoreLabel{display:none}.redLightDetails[open] .readLessLabel{display:inline}
.redLightMore{margin-top:8px}.redLightMore p{font-size:12px!important;line-height:1.6;margin:8px 0!important}.redLightMore a{font-weight:600;color:#784c5b;text-decoration:underline}

.infrarediTileBrand{font:600 clamp(25px,3vw,34px)/1.2 Arial,sans-serif;letter-spacing:-1px;color:#403238}.infrarediTileSubtitle{font:400 12px/1.4 Arial,sans-serif;letter-spacing:.3px;color:#86616a}.redLightCaption{font-size:11px!important}.redLightDetails summary{font-size:11px!important}

.infrarediOfficialLogo{display:block;width:min(100%,190px);height:auto;object-fit:contain;margin:0 auto}#home .storeTabs .infrarediPick a.redLightTile{gap:13px}
