@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=DM+Serif+Display:ital@0;1&display=swap');

:root{--blue:#173d91;--blue2:#244fa8;--red:#e52632;--ink:#171d2a;--muted:#667085;--paper:#f7f6f2;--white:#fff;--line:#e5e7eb;--pale:#eef2fa;--shadow:0 18px 55px rgba(25,42,75,.09);--radius:20px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;line-height:1.6}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button{cursor:pointer}.site-header{height:84px;padding:0 max(5vw,24px);display:flex;align-items:center;justify-content:space-between;background:rgba(255,255,255,.94);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20;backdrop-filter:blur(12px)}.brand{display:flex;align-items:center;gap:10px;color:var(--blue);font-size:12px;font-weight:700;line-height:1.15}.brand img{width:54px;height:54px;object-fit:contain}.brand b{color:var(--red)}nav{display:flex;align-items:center;gap:30px}nav a{font-size:13px;font-weight:600;color:#40485a}nav a:hover,.text-link:hover{color:var(--red)}.btn{border:0;border-radius:10px;padding:13px 19px;font-weight:700;font-size:13px;display:inline-flex;align-items:center;justify-content:center;gap:12px;transition:.2s}.btn-primary{background:var(--blue);color:white;box-shadow:0 8px 20px rgba(23,61,145,.16)}.btn-primary:hover{background:#102e70;transform:translateY(-1px)}.btn-light{background:white;color:var(--blue)}.btn-outline{border:1px solid #cbd2df;background:white;color:var(--blue)}.menu-toggle{display:none;background:none;border:0;font-size:24px;color:var(--blue)}.section{padding:100px max(7vw,24px)}.hero{display:grid;grid-template-columns:1.05fr .95fr;gap:6vw;align-items:center;padding-top:78px;padding-bottom:72px;max-width:1500px;margin:auto}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:700;color:var(--red);margin:0 0 16px}.hero h1,.section h2,.intro-band h2,.books-copy h2{font:600 clamp(40px,5vw,68px)/1.08 'Playfair Display',Georgia,serif;letter-spacing:-1.6px;margin:0 0 22px;color:#15213c}.hero h1 em,.about h2 em{color:var(--blue);font-style:normal}.lead{font-size:17px;color:#596276;max-width:540px;line-height:1.8}.hero-actions{display:flex;align-items:center;gap:25px;margin-top:30px}.text-link{font-size:13px;font-weight:700;color:var(--blue);border-bottom:1px solid #aab7d2;padding-bottom:4px}.hero-proof{display:flex;gap:22px;flex-wrap:wrap;margin-top:42px;color:#778094;font-size:11px}.hero-proof span:before{content:'✓';color:var(--red);font-weight:bold;margin-right:8px}.hero-photo-wrap{position:relative;max-width:490px;justify-self:end;width:100%;padding:0 20px 20px 0}.hero-photo-wrap:before{content:'';position:absolute;inset:28px 0 0 32px;background:#e8edf7;border-radius:180px 180px 18px 18px}.hero-photo{position:relative;width:100%;height:560px;object-fit:cover;object-position:center 20%;border-radius:180px 180px 16px 16px;display:block}.photo-caption{position:absolute;bottom:42px;left:-26px;background:white;padding:16px 20px;border-radius:12px;box-shadow:var(--shadow);display:flex;flex-direction:column;font-size:13px}.photo-caption span{color:var(--muted);font-size:11px}.hero-stamp{position:absolute;right:-15px;top:55px;background:var(--red);color:white;border-radius:50%;width:105px;height:105px;display:grid;place-items:center;text-align:center;font-size:11px;font-weight:700;transform:rotate(9deg);padding:15px}.trust-strip{background:var(--blue);color:white;padding:26px 7vw;display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.trust-strip div{display:flex;flex-direction:column;border-right:1px solid #ffffff35;padding-left:20px}.trust-strip div:first-child{padding-left:0}.trust-strip div:last-child{border:0}.trust-strip b{font:600 19px 'Playfair Display',serif}.trust-strip span{font-size:11px;color:#d6def0}.services{max-width:1400px;margin:auto}.section-heading{max-width:650px;margin-bottom:45px}.section h2{font-size:clamp(36px,4vw,52px)}.section-heading>p:last-child,.about-copy>p{color:#687184;max-width:630px}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.service-card{background:white;border:1px solid var(--line);border-radius:17px;padding:26px 23px;min-height:300px;display:flex;flex-direction:column;box-shadow:0 6px 25px rgba(25,42,75,.025)}.service-card.featured{border-color:#b9c8e6;background:#f1f4fa}.service-icon{width:38px;height:38px;border-radius:12px;background:#eef2fa;color:var(--blue);display:grid;place-items:center;font-weight:700;font-size:12px}.service-card h3{font:600 23px 'Playfair Display',serif;margin:22px 0 8px}.service-card p{font-size:12px;color:#687184;min-height:55px}.service-meta{border-top:1px solid var(--line);padding-top:14px;margin-top:auto;display:flex;flex-direction:column;gap:4px}.service-meta span{font-size:11px;color:#778094}.service-meta b{font-size:16px;color:var(--blue)}.service-meta small{font-size:10px;color:#778094;font-weight:500}.card-link{border:0;background:none;color:var(--red);text-align:left;padding:18px 0 0;font-size:12px;font-weight:700}.pricing-note{font-size:11px;color:#7b8495;margin-top:20px}.intro-band{background:var(--blue);color:white;padding:66px max(8vw,24px);display:grid;grid-template-columns:1.5fr .8fr;gap:7vw;align-items:center}.eyebrow.light{color:#ffb8bd}.intro-band h2{color:white;font-size:clamp(34px,4vw,48px);max-width:650px}.intro-band p{color:#dce4f5;max-width:680px;font-size:14px}.weekly-note{font-weight:700;color:white!important}.intro-price{border:1px solid #ffffff50;border-radius:17px;padding:25px;display:flex;flex-direction:column;gap:8px}.intro-price span,.intro-price small{font-size:11px;color:#dce4f5}.intro-price strong{font:600 34px 'Playfair Display',serif}.intro-price .btn{margin-top:10px}.about{display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw;align-items:center;max-width:1300px;margin:auto}.about-image{position:relative;max-width:420px}.about-image img{width:100%;height:520px;object-fit:cover;object-position:center top;border-radius:16px;display:block}.credential-card{position:absolute;bottom:25px;right:-25px;background:white;border-radius:12px;padding:16px 22px;box-shadow:var(--shadow);display:flex;flex-direction:column}.credential-card b{font:600 24px 'Playfair Display',serif;color:var(--blue)}.credential-card span{font-size:11px;color:var(--muted)}.about h2{font-size:clamp(38px,4.4vw,56px)}.about-copy>p{font-size:13px;line-height:1.9}.fine-print{font-size:10px!important;color:#9aa1ae!important;margin-top:25px}.books-section{background:#edf1f8;display:grid;grid-template-columns:.85fr 1.15fr;align-items:center;gap:8vw;padding:55px max(8vw,24px)}.books-photo{max-width:390px}.books-photo img{width:100%;height:340px;object-fit:cover;object-position:center 30%;border-radius:14px}.books-copy h2{font-size:44px}.books-copy p:not(.eyebrow){color:#667085;max-width:450px}.cohort-banner{padding:25px max(8vw,24px);display:flex;align-items:center;justify-content:space-between;gap:20px;background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.cohort-banner div{display:flex;flex-direction:column}.cohort-banner b{color:var(--blue)}.cohort-banner span{font-size:12px;color:#687184}.cohort-banner a{font-size:12px;color:var(--red);font-weight:700}.contact{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:center}.contact h2{font-size:48px}.contact>div>p:last-child{color:var(--muted)}.contact-links{display:grid;grid-template-columns:1fr 1fr;gap:12px}.contact-links a{background:white;border:1px solid var(--line);border-radius:12px;padding:16px;display:flex;align-items:center;gap:12px}.contact-links a>span{width:34px;height:34px;border-radius:10px;background:#eef2fa;color:var(--blue);display:grid;place-items:center;font-weight:700}.contact-links a div{display:flex;flex-direction:column;flex:1}.contact-links b{font-size:12px}.contact-links small{font-size:10px;color:var(--muted)}.contact-links i{font-style:normal;color:var(--red)}footer{padding:24px max(5vw,24px);display:flex;align-items:center;justify-content:space-between;gap:15px;background:white;border-top:1px solid var(--line);font-size:10px;color:#778094}.footer-brand{display:flex;align-items:center;gap:8px;color:var(--blue);font-weight:700}.footer-brand img{width:38px;height:38px;object-fit:contain}footer a{color:var(--red);font-weight:700}
/* Booking wizard */.modal-backdrop{display:none;position:fixed;inset:0;background:rgba(12,22,43,.62);z-index:50;align-items:center;justify-content:center;padding:18px}.modal-backdrop.open{display:flex}.booking-modal{background:#fff;width:min(100%,570px);max-height:92vh;overflow:auto;border-radius:22px;padding:30px;position:relative;box-shadow:0 25px 90px #07142c55}.modal-close{position:absolute;right:18px;top:12px;border:0;background:none;font-size:29px;color:#6b7280}.wizard-top{display:flex;justify-content:space-between;font-size:9px;font-weight:700;letter-spacing:1.4px;color:var(--blue);padding-right:25px}.progress{height:4px;background:#edf0f5;border-radius:8px;margin:14px 0 28px;overflow:hidden}.progress i{display:block;width:20%;height:100%;background:var(--red);transition:.2s}.wizard-title{font:600 29px/1.2 'Playfair Display',serif;margin:0 0 8px;color:#19233a}.wizard-sub{font-size:12px;color:#778094;margin:0 0 20px}.choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.choice{border:1px solid var(--line);border-radius:12px;padding:15px;text-align:left;background:#fff;color:var(--ink)}.choice strong{display:block;font-size:13px}.choice span{display:block;font-size:10px;color:#778094;margin-top:4px}.choice.selected{border:1.5px solid var(--blue);background:#f1f4fa}.field-label{display:block;font-size:11px;font-weight:700;margin:15px 0 7px}.field{width:100%;padding:13px 14px;border:1px solid #dce1e9;border-radius:10px;background:white;outline:none;font-size:13px}.field:focus{border-color:var(--blue);box-shadow:0 0 0 3px #173d9114}.wizard-actions{display:flex;justify-content:space-between;gap:12px;margin-top:25px}.wizard-actions button{min-width:120px}.wizard-foot{font-size:10px;color:#9299a7;text-align:center;margin:17px 0 0}.participant-row{border:1px solid var(--line);border-radius:12px;padding:12px;margin:10px 0}.participant-row strong{font-size:12px}.slot-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.slot{border:1px solid var(--line);background:white;border-radius:9px;padding:10px 5px;font-size:11px}.slot.selected{background:var(--blue);border-color:var(--blue);color:white}.slot:disabled{opacity:.35;text-decoration:line-through;cursor:not-allowed}.notice{padding:12px;border-radius:10px;background:#f1f4fa;color:#34425e;font-size:11px;margin:12px 0}.notice.error{background:#fff0f0;color:#9b2028}.summary-list{display:grid;gap:9px}.summary-list div{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);padding-bottom:8px;font-size:12px}.summary-list span{color:#778094}.add-person{border:1px dashed #b8c4d8;background:#f8f9fc;color:var(--blue);padding:10px;border-radius:9px;width:100%;font-size:11px;font-weight:700}
/* Admin */.admin-body{background:#f4f6fa}.admin-shell{display:grid;grid-template-columns:245px 1fr;min-height:100vh}.admin-sidebar{background:#fff;border-right:1px solid var(--line);padding:22px 16px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.admin-brand{padding:0 8px 25px;border-bottom:1px solid var(--line);font-size:13px}.admin-brand img{width:45px;height:45px}.admin-brand span{color:var(--blue)}.admin-brand b{display:block;color:#7b8495;font-size:10px}.side-label{font-size:9px;letter-spacing:1.5px;color:#9aa1ae;font-weight:700;margin:25px 10px 10px}.admin-sidebar nav{display:flex;flex-direction:column;gap:4px;align-items:stretch}.admin-sidebar nav button{border:0;background:transparent;text-align:left;padding:11px 12px;border-radius:9px;font-size:12px;color:#596276;font-weight:600}.admin-sidebar nav button.active,.admin-sidebar nav button:hover{background:#eef2fa;color:var(--blue)}.back-site{margin-top:auto;padding:13px 10px;color:var(--red);font-size:11px;font-weight:700}.admin-main{padding:32px;min-width:0}.admin-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.admin-top .eyebrow{margin-bottom:4px;font-size:9px}.admin-top h1{font:600 30px 'Playfair Display',serif;margin:0}.admin-top-right{display:flex;align-items:center;gap:12px}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.metric-card,.panel{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px}.metric-card span{font-size:10px;color:#7b8495}.metric-card strong{display:block;font:600 26px 'Playfair Display',serif;color:var(--blue);margin:6px 0}.metric-card small{font-size:10px;color:#8a93a3}.admin-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:15px;margin-top:15px}.panel h3{font:600 18px 'Playfair Display',serif;margin:0 0 15px}.panel-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.panel-head h3{margin:0}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:11px;white-space:nowrap}th{text-align:left;color:#7b8495;font-weight:600;padding:11px 9px;border-bottom:1px solid var(--line)}td{padding:12px 9px;border-bottom:1px solid #eff1f4}td b{color:#29344a}.status{display:inline-block;padding:4px 8px;border-radius:20px;font-size:9px;font-weight:700;background:#eef2fa;color:var(--blue)}.status.approved,.status.confirmed,.status.paid{background:#e8f6ee;color:#247447}.status.pending,.status.pending_approval{background:#fff5df;color:#946313}.status.declined,.status.cancelled,.status.unpaid{background:#fff0f0;color:#a52a31}.admin-btn{border:1px solid #d9dfeb;background:#fff;color:var(--blue);padding:7px 10px;border-radius:8px;font-size:10px;font-weight:700}.admin-btn.primary{background:var(--blue);color:#fff;border-color:var(--blue)}.admin-form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:13px}.admin-field label{display:block;font-size:10px;font-weight:700;margin-bottom:6px}.admin-field input,.admin-field select,.admin-field textarea{width:100%;border:1px solid var(--line);border-radius:8px;padding:10px;font-size:11px;background:white}.day-row{display:grid;grid-template-columns:100px 1fr 1fr 70px;gap:10px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line);font-size:11px}.day-row input{min-width:0;width:100%;padding:8px;border:1px solid var(--line);border-radius:7px}.empty-state{text-align:center;color:#8992a2;padding:35px;font-size:12px}.chart-bars{height:190px;display:flex;align-items:end;gap:12px;padding:15px 5px 0;border-bottom:1px solid var(--line)}.bar-col{flex:1;display:flex;flex-direction:column;align-items:center;gap:7px;height:100%;justify-content:end}.bar{width:min(36px,70%);background:linear-gradient(180deg,#e52632,#173d91);border-radius:6px 6px 0 0;min-height:4px}.bar-col small{font-size:9px;color:#8992a2}.bar-col b{font-size:9px;color:#4b5565}.quick-links{display:flex;flex-wrap:wrap;gap:8px}.inline-note{font-size:10px;color:#7b8495}.toggle{accent-color:var(--blue)}
@media(max-width:1000px){.service-grid{grid-template-columns:repeat(2,1fr)}.hero{gap:4vw}.hero-photo{height:480px}.admin-shell{grid-template-columns:205px 1fr}.metric-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:720px){.site-header{height:70px}.brand img{width:45px;height:45px}.menu-toggle{display:block}#mainNav{display:none;position:absolute;top:70px;left:0;right:0;background:#fff;padding:18px 24px 24px;box-shadow:var(--shadow);flex-direction:column;align-items:stretch;gap:15px}#mainNav.open{display:flex}.nav-book{width:100%}.section{padding:70px 23px}.hero{grid-template-columns:1fr;padding-top:55px}.hero h1{font-size:45px}.hero-photo-wrap{max-width:400px;justify-self:center;margin:15px 0 0}.hero-photo{height:440px}.trust-strip{grid-template-columns:repeat(2,1fr);gap:18px;padding:24px}.trust-strip div{padding-left:0;border:0}.service-grid{grid-template-columns:1fr}.service-card{min-height:250px}.intro-band{grid-template-columns:1fr;padding:55px 24px}.about{grid-template-columns:1fr;gap:40px}.about-image{max-width:360px;margin:auto}.about-image img{height:440px}.books-section{grid-template-columns:1fr;padding:45px 24px;gap:25px}.books-photo{max-width:100%}.books-photo img{height:270px}.cohort-banner{align-items:flex-start;flex-direction:column;padding:22px 24px}.contact{grid-template-columns:1fr;gap:30px}.contact-links{grid-template-columns:1fr}footer{flex-wrap:wrap}.booking-modal{padding:24px 19px}.wizard-title{font-size:25px}.slot-grid{grid-template-columns:repeat(2,1fr)}.admin-shell{grid-template-columns:1fr}.admin-sidebar{position:relative;height:auto;padding:12px}.admin-brand{padding-bottom:10px}.admin-sidebar nav{display:grid;grid-template-columns:repeat(3,1fr)}.admin-sidebar nav button{font-size:10px;padding:9px 5px}.side-label,.back-site{display:none}.admin-main{padding:18px 12px}.admin-top{align-items:flex-start;gap:10px;flex-direction:column}.admin-top h1{font-size:25px}.admin-top-right{flex-wrap:wrap}.metric-grid{gap:8px}.metric-card{padding:12px}.metric-card strong{font-size:21px}.admin-grid{grid-template-columns:1fr}.admin-form-grid{grid-template-columns:1fr}.day-row{grid-template-columns:75px 1fr 1fr 45px;gap:5px;font-size:9px}.day-row input{font-size:9px;padding:6px}}


/* Final visual refinement: EPS blue and red lead; sage green is a restrained supporting accent. */
:root{--blue:#173d91;--blue2:#244fa8;--red:#e52632;--green:#718b78;--green-dark:#3f5d4b;--green-soft:#edf2ed;--ink:#1c2433;--muted:#687386;--paper:#faf9f6;--white:#fff;--line:#e7e8eb;--pale:#f1f3f7;--shadow:0 16px 48px rgba(23,45,83,.08)}
body{font-family:'DM Sans',Arial,sans-serif;background:var(--paper);color:var(--ink);letter-spacing:-.01em}
.site-header{background:rgba(255,255,255,.97);box-shadow:0 3px 20px rgba(23,45,83,.045)}
.brand{color:var(--blue);font-family:'DM Sans',sans-serif}.brand b{color:var(--red)}
nav a{color:#46516a}nav a:hover,.text-link:hover{color:var(--red)}
.btn{border-radius:9px}.btn-primary{background:var(--blue);box-shadow:0 8px 18px rgba(23,61,145,.13)}.btn-primary:hover{background:#102e70}.btn-outline{color:var(--blue);border-color:#cbd3e2}
.hero h1,.section h2,.intro-band h2,.books-copy h2,.about h2{font-family:'DM Serif Display',Georgia,serif;letter-spacing:-1.25px}.hero h1{color:#17213a}.hero h1 em,.about h2 em{color:var(--blue)}.eyebrow{color:var(--red);letter-spacing:1.65px}.lead{color:#626d80}.hero-photo-wrap:before{background:#e8edf6;border-radius:150px 150px 18px 18px}.hero-photo{border-radius:150px 150px 14px 14px;object-position:center 13%}.photo-caption{border:1px solid var(--line);box-shadow:0 8px 25px rgba(20,35,65,.08)}.hero-proof span:before{color:var(--green)}
.trust-strip{background:var(--blue);}.trust-strip b{font-family:'DM Serif Display',Georgia,serif}
.section-heading h2{color:#19243d}.service-grid{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-areas:'couples individual family' '. group .';gap:18px;align-items:stretch}.service-card{cursor:pointer;border:1px solid #e5e7ec;border-radius:17px;box-shadow:0 8px 25px rgba(20,35,65,.035);background:#fff;transition:transform .2s,box-shadow .2s,border-color .2s}.service-card:hover,.service-card:focus-visible{transform:translateY(-4px);box-shadow:0 16px 34px rgba(20,35,65,.09);border-color:#b8c6df;outline:none}.service-card:nth-child(1){grid-area:individual}.service-card:nth-child(2){grid-area:couples}.service-card:nth-child(3){grid-area:family}.service-card:nth-child(4){grid-area:group}.service-card.featured,.service-card.individual-card{background:linear-gradient(145deg,#f0f3fa,#fff 72%);border:1px solid #c9d4e8;min-height:345px;transform:translateY(-7px);box-shadow:0 15px 35px rgba(23,61,145,.09)}.service-card.individual-card:hover{transform:translateY(-11px)}.service-icon{background:#edf1f8;color:var(--blue);border-radius:11px}.service-tag{color:var(--red)!important}.service-card h3{font-family:'DM Serif Display',Georgia,serif;color:#1c2943}.service-card p{color:#687286}.service-meta b{color:var(--blue)}.card-link{color:var(--blue)}.pricing-note{color:#798294}
.intro-band{background:var(--blue);}.eyebrow.light{color:#f4c4c7}.intro-band p{color:#e5eaf4}.intro-price{border-color:#ffffff48;background:#ffffff10}.intro-price strong{font-family:'DM Serif Display',Georgia,serif}.btn-light{color:var(--blue)}
.about-image img{border-radius:17px;object-position:center 10%;background:#fff}.credential-card b{color:var(--blue);font-family:'DM Serif Display',Georgia,serif}.about-copy>p{color:#626e81;line-height:1.85}.about-copy .text-link{color:var(--blue)}
.books-section{background:#f0f3f8}.books-photo img{border-radius:17px;object-position:center 22%}.books-copy h2{color:#1d2942}.books-copy .btn-primary{background:var(--blue)}.cohort-banner{background:#fff}.cohort-banner b{color:var(--blue)}.cohort-banner a{color:var(--red)}.unstoppable-banner{background:#f1f3f7;border-bottom:1px solid var(--line)}.unstoppable-banner b{color:var(--blue)}.unstoppable-banner a{color:var(--red)}
.contact-direct{background:#fff;border:1px solid var(--line);color:#626e81}.contact-direct a{color:var(--blue)}footer{background:#fff}.footer-brand{color:var(--blue)}.footer-socials a{background:#f0f3f8;border:1px solid #e1e6ef;color:var(--blue)}.footer-socials a:hover{background:var(--blue);color:#fff}
.booking-modal{border:1px solid #e4e7ed}.wizard-top{color:var(--blue)}.progress i{background:var(--blue)}.wizard-title{font-family:'DM Serif Display',Georgia,serif;color:#1d2942}.choice{border-radius:13px;background:#fff;border:1px solid #e1e5ed}.choice strong{font-family:'DM Sans',Arial,sans-serif;font-weight:700}.choice b{color:var(--blue)}.choice .choice-kicker{color:var(--red)}.choice-featured{background:#f4f6fa;border:1px solid #d8deeb;box-shadow:none}.choice.selected{border:2px solid var(--blue);background:#f1f4fa;box-shadow:0 0 0 2px rgba(23,61,145,.05)}.field:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(23,61,145,.10)}.slot.selected{background:var(--blue);border-color:var(--blue)}.notice{background:#f0f3f8;color:#34415c}.fixed-duration{background:#f5f7fa;color:#33405a}.success-mark{background:#edf2ed;color:var(--green)}.response-promise{border-color:#d9e4db;background:#f2f6f2;color:#405a47}
.admin-body{background:#f6f7fa}.admin-sidebar{border-right-color:#e4e7ee}.admin-brand span{color:var(--blue)}.admin-sidebar nav button.active,.admin-sidebar nav button:hover{background:#edf1f8;color:var(--blue)}.admin-btn{color:var(--blue);border-color:#d7deea}.admin-btn.primary{background:var(--blue);border-color:var(--blue)}.metric-card strong{color:var(--blue);font-family:'DM Serif Display',Georgia,serif}.admin-top h1,.panel h3{font-family:'DM Serif Display',Georgia,serif}.toggle{accent-color:var(--blue)}.status.approved,.status.confirmed,.status.paid{background:#edf3ee;color:#42614a}
.faq-section{padding:48px max(7vw,24px) 58px;background:#f7f7f5;border-top:1px solid #eceef1;border-bottom:1px solid #eceef1}.faq-inner{max-width:1060px;margin:0 auto;display:grid;grid-template-columns:.75fr 1.25fr;gap:48px;align-items:start}.faq-heading .eyebrow{font-size:9px;margin-bottom:8px}.faq-heading h2{font:600 25px/1.2 'DM Sans',Arial,sans-serif;letter-spacing:-.6px;color:#26334b;margin:0}.faq-list{border-top:1px solid #e4e6e9}.faq-item{border-bottom:1px solid #e4e6e9}.faq-item summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 2px;font-size:12px;font-weight:600;color:#47536a}.faq-item summary::-webkit-details-marker{display:none}.faq-arrow{font-size:17px;color:var(--blue);transition:transform .2s}.faq-item[open] .faq-arrow{transform:rotate(180deg)}.faq-item p{font-size:12px;color:#6c7585;line-height:1.65;margin:0;padding:0 26px 14px 2px}
.admin-login{min-height:100vh;display:grid;place-items:center;padding:24px}.admin-login-card{width:min(100%,430px);background:#fff;border:1px solid var(--line);border-radius:18px;padding:34px;box-shadow:var(--shadow)}.admin-login-card>img{width:84px;height:84px;object-fit:contain;margin-bottom:16px}.admin-login-card h1{font:600 30px 'DM Serif Display',Georgia,serif;color:var(--blue);margin:0 0 8px}.admin-login-card form{display:grid;gap:14px;margin:20px 0}.login-error{color:var(--red);font-size:12px}.admin-login-card .text-link{display:inline-block;margin-top:18px}
@media(max-width:1000px){.service-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:'individual couples' 'family group'}.service-card.individual-card{transform:none}.service-card.individual-card:hover{transform:translateY(-4px)}}
@media(max-width:720px){.faq-inner{grid-template-columns:1fr;gap:20px}.faq-section{padding:38px 22px}.faq-heading h2{font-size:22px}.hero{padding-top:50px}.hero-photo{height:450px}.service-grid{grid-template-columns:1fr;grid-template-areas:'individual' 'couples' 'family' 'group';gap:13px}.service-card,.service-card.individual-card{min-height:unset;transform:none;padding:23px}.service-card.individual-card:hover{transform:translateY(-3px)}.service-card p{min-height:unset}.unstoppable-banner{padding:20px 24px;align-items:flex-start;flex-direction:column}.footer-socials{order:3;width:100%;justify-content:flex-start}.report-filters{grid-template-columns:1fr}.report-filters button{width:100%}.contact-direct{padding:20px}.choice-grid{grid-template-columns:1fr 1fr}.choice{min-height:118px;padding:13px}.choice strong{font-size:15px}footer{justify-content:flex-start}}
.admin-shell[hidden],.admin-login[hidden],.admin-login form[hidden]{display:none!important}


/* Refined motion and spacing inspired by the reference site's confident editorial rhythm. */
:root{--sage:#879b87;--sage-pale:#edf1ec;--blue:#173d91;--red:#e52632}
.unstoppable-wrap{padding:26px max(5vw,24px) 34px;background:var(--paper)}
.unstoppable-banner{width:min(100%,1120px);margin:0 auto;display:grid;grid-template-columns:72px minmax(0,1fr) auto;align-items:center;gap:22px;padding:24px 30px;background:linear-gradient(110deg,#f1f3ef 0%,#fff 68%);border:1px solid #e2e7e0;border-radius:18px;box-shadow:0 12px 32px rgba(28,45,38,.055)}
.unstoppable-mark{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;background:#e1e9df;color:#526c56;font:700 19px 'DM Serif Display',Georgia,serif;letter-spacing:-1px}
.unstoppable-copy{min-width:0;display:flex;flex-direction:column;gap:3px}
.unstoppable-copy .eyebrow{margin:0 0 3px;font-size:9px;letter-spacing:1.45px}
.unstoppable-copy b{font:600 24px/1.15 'DM Serif Display',Georgia,serif;color:#1d2940}
.unstoppable-copy span{font-size:13px;color:#687386;line-height:1.55}
.unstoppable-banner>a{display:inline-flex;align-items:center;gap:12px;white-space:nowrap;background:var(--blue);color:#fff;border-radius:9px;padding:13px 17px;font-size:12px;font-weight:700;transition:transform .2s,background .2s}
.unstoppable-banner>a:hover{background:#102e70;transform:translateY(-2px)}
.footer-socials{display:flex;align-items:center;gap:13px}
.footer-socials a{width:54px;height:54px;display:grid;place-items:center;border-radius:15px;transition:transform .2s,background .2s}
.footer-socials a:hover{transform:translateY(-3px)}
.footer-socials svg{width:27px;height:27px;display:block;fill:currentColor}
.participant-entry{padding:14px;border:1px solid #e3e7ee;border-radius:13px;background:#fbfcfe;margin:10px 0}
.participant-entry-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;color:#34415c;font-size:12px}
.participant-fields{display:grid;grid-template-columns:minmax(0,1fr) 110px;gap:9px}
.remove-person{border:0;background:transparent;color:#a43b43;font-size:11px;font-weight:600;padding:4px 7px}
.add-person{display:flex;justify-content:center;align-items:center;gap:8px;margin-top:12px;border:1px dashed #9eaf9f;background:#f1f5f0;color:#49644d;padding:12px 15px;border-radius:11px;width:100%;font-size:12px;font-weight:700;transition:background .2s,border-color .2s}
.add-person span{font-size:20px;line-height:12px}
.add-person:hover{background:#e7eee6;border-color:#718b78}
.slot-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.slot-note{grid-column:1/-1;font-size:10px;line-height:1.5;color:#7a8493;margin:3px 0 0}
.slot{min-height:42px;font-weight:600;color:#33415b;transition:border-color .15s,background .15s,transform .15s}
.slot:hover{border-color:#879b87;transform:translateY(-1px)}
.slot.selected{background:var(--blue);border-color:var(--blue);color:#fff}
/* Downward-only scroll reveals: upward entries appear immediately. */
.reveal-ready .reveal{opacity:0;transform:translate3d(0,34px,0) scale(.985);filter:blur(2px);transition:opacity .78s ease,transform .88s cubic-bezier(.2,.72,.18,1),filter .78s ease;transition-delay:var(--reveal-delay,0ms);will-change:opacity,transform,filter}
.reveal-ready .reveal.reveal-from-left{transform:translate3d(-38px,16px,0) scale(.99)}
.reveal-ready .reveal.reveal-from-right{transform:translate3d(38px,16px,0) scale(.99)}
.reveal-ready .reveal.reveal-soft{transform:translate3d(0,22px,0) scale(.975)}
.reveal-ready .reveal.is-visible{opacity:1;transform:translate3d(0,0,0) scale(1);filter:blur(0)}
.reveal-ready .reveal.reveal-no-motion{transition:none!important}
.reveal-ready .service-card.reveal:nth-child(2){transition-delay:calc(var(--reveal-delay,0ms) + 70ms)}
.reveal-ready .service-card.reveal:nth-child(3){transition-delay:calc(var(--reveal-delay,0ms) + 130ms)}
.reveal-ready .service-card.reveal:nth-child(4){transition-delay:calc(var(--reveal-delay,0ms) + 190ms)}
@media(max-width:720px){.unstoppable-wrap{padding:18px 18px 26px}.unstoppable-banner{grid-template-columns:48px minmax(0,1fr);gap:13px;padding:18px}.unstoppable-mark{width:46px;height:46px;font-size:15px}.unstoppable-copy b{font-size:20px}.unstoppable-copy span{font-size:12px}.unstoppable-banner>a{grid-column:1/-1;justify-content:center}.footer-socials{gap:10px}.footer-socials a{width:52px;height:52px}.footer-socials svg{width:26px;height:26px}.participant-fields{grid-template-columns:minmax(0,1fr) 82px}.slot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal-ready .reveal{opacity:1;transform:none;transition:none}.unstoppable-banner>a,.footer-socials a,.slot{transition:none}}

/* Editorial 2 × 2 service layout */
@media(min-width:1001px){
  .service-grid{grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);grid-template-areas:'individual couples' 'family group';gap:20px}
  .service-card.individual-card{min-height:360px;padding:31px 29px;transform:translateY(-3px);border-color:#bfcbe0}
  .service-card.individual-card h3{font-size:27px}
  .service-card.individual-card .service-meta b{font-size:19px}
}
.portal-nav-link{font-weight:700;color:var(--blue)!important}
.portal-hint{font-size:11px;color:#647086;background:#f4f6fa;border-radius:9px;padding:10px 12px}
.footer-socials{flex-shrink:0}
footer .footer-socials a{width:56px;height:56px}

/* Client portal callout: a clear route for returning coaching clients. */
.client-portal-callout{max-width:1280px;margin:26px auto 34px;padding:30px max(5vw,24px);display:flex;align-items:center;justify-content:space-between;gap:32px;background:#f1f4fa;border:1px solid #dce4f1;border-radius:18px}
.client-portal-copy{max-width:690px}.client-portal-copy .eyebrow{margin-bottom:9px}.client-portal-copy h2{font:600 clamp(25px,3vw,34px)/1.15 'Playfair Display',Georgia,serif;color:#15213c;margin:0 0 9px}.client-portal-copy>p:last-child{font-size:13px;line-height:1.7;color:#596276;margin:0;max-width:650px}.client-portal-actions{display:flex;flex-direction:column;align-items:flex-start;gap:12px;min-width:230px}.portal-create-link{font-size:11px;font-weight:700;color:var(--blue);text-decoration:underline;text-underline-offset:3px}
@media(max-width:760px){.client-portal-callout{margin:18px 18px 26px;padding:24px;flex-direction:column;align-items:flex-start;gap:20px}.client-portal-actions{width:100%}.client-portal-actions .btn{width:100%;justify-content:center}}

/* Rose's monthly appointment calendar */
.calendar-panel{overflow:hidden}.calendar-controls{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.calendar-controls>b{min-width:135px;text-align:center;color:var(--blue);font-size:12px}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.calendar-weekdays{margin:14px 0 6px}.calendar-weekdays>div{text-align:center;padding:8px 3px;color:#7b8495;font-size:10px;font-weight:700}.calendar-day{min-height:112px;min-width:0;border:1px solid #e9edf3;border-radius:9px;background:#fff;padding:7px;display:flex;flex-direction:column;gap:5px}.calendar-day.is-empty{background:#f8f9fb;border-style:dashed}.calendar-day.is-today{border-color:var(--blue);background:#f4f7fc}.calendar-day-number{font-size:11px;font-weight:700;color:#536078}.calendar-event{display:block;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left;border:0;border-left:3px solid #4d8b68;border-radius:4px;background:#edf5ef;color:#315a40;padding:5px 5px;font-size:9px;cursor:default}.calendar-more{font-size:9px;color:#7b8495}.calendar-agenda{margin-top:14px}.calendar-agenda-row{display:flex;align-items:center;gap:14px;padding:12px 0;border-bottom:1px solid var(--line)}.calendar-agenda-date{width:58px;flex:0 0 58px;display:flex;flex-direction:column;color:var(--blue);font-size:11px}.calendar-agenda-date span{color:#8992a2;font-size:10px}.calendar-agenda-detail{display:flex;flex-direction:column;gap:3px;flex:1;min-width:0}.calendar-agenda-detail b{font-size:12px}.calendar-agenda-detail span{font-size:10px;color:#7b8495}.portal-intro-note{font-size:12px!important;color:#647086!important;margin-top:14px!important}.portal-auth .portal-form h2{margin-bottom:18px}
@media(max-width:720px){.calendar-grid{gap:3px}.calendar-day{min-height:80px;padding:4px;border-radius:6px}.calendar-day-number{font-size:10px}.calendar-event{font-size:8px;padding:4px 3px}.calendar-controls{gap:5px}.calendar-controls>b{min-width:105px;font-size:10px}.calendar-agenda-row{gap:8px}.calendar-agenda-detail span{font-size:9px}}

.client-portal-actions .portal-create-button{width:100%;justify-content:center;background:#fff}.portal-create-help{font-size:10px;line-height:1.5;color:#6b7484;max-width:245px}
