.skip-link{position:absolute;top:-100px;left:20px;z-index:30;background:var(--ink);color:white;padding:12px 18px}.skip-link:focus{top:10px}.draft a{text-decoration:underline}.discovery-invite{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;border-top:1px solid var(--line);padding-top:65px;padding-bottom:65px}.discovery-invite p{color:var(--muted)}.discovery-invite h2{font-size:38px}.teaching-photo{margin:0;align-self:start;position:sticky;top:35px;overflow:hidden;border-radius:100px 16px 100px 16px;background:#e8ebdf}.teaching-photo img{display:block;width:100%;height:560px;object-fit:cover;object-position:60% 50%}.teaching-photo figcaption{padding:20px 25px;font-size:13px;text-align:center}.recurring-note{padding:30px;background:#edf1e3;border:1px solid var(--line);border-radius:16px;margin:25px 0}.recurring-note .eyebrow{margin-bottom:14px}.recurring-note p{max-width:760px}.recurring-note p:last-child{margin-bottom:0}.launch-booking{max-width:650px;padding:38px 42px}.launch-booking>p{color:var(--muted)}.booking-status{padding:18px;background:#e9efdc;border-radius:10px;margin:26px 0 20px}.launch-booking .button{width:100%}dialog#booking{max-width:700px}.launch-booking a:not(.button),.faq p a,.guarantee p a,.policy-page a:not(.button){text-decoration:underline;text-underline-offset:3px}footer{flex-wrap:wrap;font-size:12px}footer a:hover{text-decoration:underline}.policy-page{max-width:850px;padding-top:45px;padding-bottom:70px}.policy-page h1{font-size:clamp(34px,5vw,52px)}.policy-page h2{font-size:24px;margin-top:35px}.policy-page p,.policy-page li{color:#46594d}.policy-page .policy-lead{font-size:19px}.policy-page table{width:100%;border-collapse:collapse;margin:25px 0}.policy-page th,.policy-page td{text-align:left;padding:12px;border-bottom:1px solid var(--line)}[hidden]{display:none!important}a,button{ -webkit-tap-highlight-color:transparent }@media(max-width:950px){.teaching-photo img{height:460px}.teaching-photo{position:static}}@media(max-width:650px){.discovery-invite{grid-template-columns:1fr;gap:10px;padding-top:45px;padding-bottom:45px}.discovery-invite h2{font-size:32px}.teaching-photo{border-radius:55px 12px;margin:0}.teaching-photo img{height:360px;object-position:62% 50%}.recurring-note{padding:23px}.launch-booking{padding:25px 22px}dialog#booking{height:auto;max-height:92dvh;border-radius:18px;width:calc(100% - 24px)}.policy-page{padding-bottom:45px}.policy-page table{font-size:13px}}

/* Restore the spacious calendar-first introduction flow. */
dialog#booking{max-width:1100px}.demo-note{background:#e9efdc;color:#215c46}.slot:not(:disabled):hover{background:#c6df80;transform:translateY(-1px)}#request-copy{text-align:left;min-height:160px}#copy-request{margin:12px auto 22px;display:block}.progress span.active{font-weight:700}@media(max-width:650px){dialog#booking{max-height:94dvh}.progress{font-size:11px}.booking-body .micro{line-height:1.55}}

.square-measure{--split:62%;position:relative;width:215px;margin:64px auto 12px}.side-total{position:absolute;font:italic 19px Georgia,serif;color:var(--ink);display:flex;align-items:center;justify-content:center}.side-top{width:215px;height:23px;top:-55px;left:0;border-bottom:1px solid #426759}.side-top:before,.side-top:after{content:'';position:absolute;bottom:-4px;height:8px;border-left:1px solid #426759}.side-top:before{left:0}.side-top:after{right:0}.side-top span{background:#eef0df;padding:0 9px;position:relative;top:10px}.side-left{width:215px;height:23px;left:-34px;top:0;transform-origin:0 0;transform:rotate(-90deg) translateX(-100%);border-bottom:1px solid #426759}.side-left:before,.side-left:after{content:'';position:absolute;bottom:-4px;height:8px;border-left:1px solid #426759}.side-left:before{left:0}.side-left:after{right:0}.side-left span{background:#eef0df;padding:0 9px;position:relative;top:10px}.side-parts{position:absolute;top:-24px;width:100%;display:grid;grid-template-columns:var(--split) calc(100% - var(--split));font:italic 17px Georgia,serif;line-height:20px}.side-parts span:first-child{color:#46672e}.side-parts span:last-child{color:#8a621e}@media(max-width:360px){.square-measure{width:195px}.square-measure .square{width:195px;height:195px}.side-top,.side-left{width:195px}.side-left{left:-28px}}

.calendar-now{padding:10px 14px;border-left:3px solid #426d55;background:#eef2e7;border-radius:0 7px 7px 0;font-size:12px!important;color:#355643}.day-heading.is-today{background:#e3edd5;border-radius:8px 8px 0 0;color:#1e513d}.day-heading small{display:block;text-transform:uppercase;font-size:9px;letter-spacing:.07em;font-weight:700}.slot.passed,.slot.passed:disabled{background:#f4d9d6;color:#93463f;opacity:1}.legend .legend-passed{color:#93463f}.slot.current-hour{outline:2px solid #b88638;outline-offset:-2px;font-weight:700;color:#76511d;opacity:1}.legend{flex-wrap:wrap}

/* Welcoming on-site booking with Google's live appointment scheduler. */
dialog#booking.connected-booking{width:calc(100% - 40px);max-width:1160px;max-height:94dvh;background:var(--paper);border:1px solid #d6dfd0;border-radius:22px;padding:0;overflow:auto;overscroll-behavior:contain}
.connected-booking::backdrop{background:#102d27aa;backdrop-filter:blur(5px)}
.connected-booking .booking-top{position:sticky;top:0;z-index:2;background:var(--paper);padding:19px 32px;border-bottom:1px solid var(--line)}
.connected-booking .booking-top .icon-button{background:#e9eddf;border:0;border-radius:50%;width:40px;height:40px;font-size:25px}
.booking-welcome{display:grid;grid-template-columns:1.4fr 1fr;gap:48px;align-items:center;padding:30px 36px 26px;background:linear-gradient(110deg,#f9f8f2 45%,#f0f3e7)}
.booking-welcome .eyebrow{margin-bottom:13px}.booking-welcome h2{font-size:36px;margin-bottom:13px}.booking-welcome p{font-size:14px;max-width:440px;color:#5b6d62;margin:0;line-height:1.65}
.intro-promise{border-left:1px solid #d3ddc6;padding:6px 0 6px 30px}.intro-symbol{display:block;font:italic 20px Georgia,serif;color:#6d8a4e;margin-bottom:9px}.intro-symbol i{font-size:25px;color:#9e772c}.intro-promise strong{display:block;font-size:17px;margin-bottom:5px}.intro-promise p{font-size:12px}.meet-note{display:block;margin-top:12px;font-size:11px;color:#365b43}.meet-note>span{display:inline-grid;place-items:center;background:#dce9bf;width:20px;height:20px;border-radius:50%;margin-right:5px}
.booking-journey{list-style:none;display:flex;gap:28px;margin:0;padding:15px 36px;border-top:1px solid #e1e6d8;border-bottom:1px solid #d8dfcf;background:#eaf0de;font-size:12px;color:#345540}.booking-journey li{display:flex;align-items:center;gap:9px}.booking-journey span{font-size:10px;font-weight:700;color:#69834f}
.connected-calendar{padding:24px 26px 16px}.calendar-intro{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 8px 18px}.calendar-intro h3{font-size:21px;margin-bottom:7px}.calendar-intro p{font-size:12px;color:var(--muted);margin:0;max-width:620px}.availability-note{white-space:nowrap;background:#e8efde;border:1px solid #d1ddc3;border-radius:20px;padding:7px 12px;font-size:10px;color:#42643a}.availability-note span{font-size:8px;margin-right:4px}
#intro-calendar{display:block;border:1px solid #d9e1d2;border-radius:12px;width:100%;height:780px;background:white}
.booking-help{display:flex;justify-content:space-between;gap:24px;padding:15px 8px 0;color:var(--muted);font-size:11px}.booking-help p{margin:0;max-width:570px}.booking-help a{text-decoration:underline;text-underline-offset:3px}
@media(max-width:650px){dialog#booking.connected-booking{width:calc(100% - 16px);max-height:96dvh;height:auto;border-radius:16px}.connected-booking .booking-top{padding:12px 17px}.booking-welcome{display:block;padding:23px 20px 20px}.booking-welcome h2{font-size:29px}.booking-welcome p{font-size:13px}.intro-promise{border-left:0;border-top:1px solid #d3ddc6;margin-top:18px;padding:13px 0 0}.intro-symbol{display:none}.intro-promise strong{font-size:14px}.intro-promise p{display:none}.meet-note{margin-top:5px}.booking-journey{gap:12px;padding:12px 18px;align-items:start;font-size:10px}.booking-journey li{flex:1;align-items:start;gap:5px}.connected-calendar{padding:19px 10px 14px}.calendar-intro{display:block;margin:0 8px 14px}.calendar-intro h3{font-size:20px}.availability-note{display:inline-block;margin-top:10px}#intro-calendar{height:900px;border-radius:9px}.booking-help{display:block;font-size:10px}.booking-help p{margin-bottom:10px}}
