.bf-page{max-width:60rem;margin:0 auto;padding:var(--space-2xl) var(--space-lg) var(--space-xl)}.bf-page__header{text-align:center;margin-bottom:var(--space-xl)}.bf-page__header h1{font-family:var(--font-display);color:var(--color-purple);font-size:clamp(2rem,3.5vw,2.75rem);margin:0 0 var(--space-md)}.bf-page__lead{max-width:40rem;margin:0 auto;color:var(--color-muted)}.bf-page__fallback{text-align:center;padding:var(--space-xl) var(--space-lg);background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-card)}.bf{display:block}.bf-frame{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:var(--space-xl)}.bf-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-sm);margin-bottom:var(--space-xl)}.bf-steps__step{display:flex;flex-direction:column;align-items:center;gap:var(--space-xs);padding:var(--space-sm);border-radius:var(--radius-md);color:var(--color-muted);font-size:.85rem;text-align:center}.bf-steps__number{display:inline-flex;width:1.75rem;height:1.75rem;align-items:center;justify-content:center;border-radius:var(--radius-pill);background:var(--color-soft);font-weight:600;font-size:.9rem}.bf-steps__step--current{color:var(--color-purple);font-weight:600}.bf-steps__step--current .bf-steps__number{background:var(--color-purple);color:#fff}.bf-steps__step--done .bf-steps__number{background:var(--color-sage);color:#fff}.bf-panel{min-height:24rem}.bf-step__title{font-family:var(--font-display);color:var(--color-purple);margin:0 0 var(--space-sm);font-size:1.5rem}.bf-step__lead{margin:0 0 var(--space-lg);color:var(--color-muted)}.bf-appt-list{list-style:none;padding:0;margin:0;display:grid;gap:var(--space-md)}.bf-appt-card{width:100%;text-align:left;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-lg);cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease,transform .1s ease;font:inherit;color:inherit}.bf-appt-card:hover{border-color:var(--color-purple);box-shadow:var(--shadow-lift)}.bf-appt-card:focus-visible{outline:none;box-shadow:var(--shadow-focus)}.bf-appt-card--selected{border-color:var(--color-purple);box-shadow:var(--shadow-lift);background:var(--color-soft)}.bf-appt-card__header{display:flex;justify-content:space-between;gap:var(--space-md);align-items:baseline;margin-bottom:var(--space-sm)}.bf-appt-card__name{font-family:var(--font-display);font-size:1.15rem;color:var(--color-purple)}.bf-appt-card__price{font-weight:600;color:var(--color-text)}.bf-appt-card__description{margin:0 0 var(--space-sm);color:var(--color-muted)}.bf-appt-card__meta{margin:0;font-size:.85rem;color:var(--color-muted)}.bf-when{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:var(--space-xl);align-items:start}@media(max-width:48rem){.bf-when{grid-template-columns:1fr}}.bf-when__date{margin:0 0 var(--space-md);font-weight:600;color:var(--color-purple)}.bf-when__placeholder{color:var(--color-muted)}.bf-calendar{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-md);background:var(--color-surface)}.bf-calendar__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-sm)}.bf-calendar__title{font-family:var(--font-display);font-size:1.1rem;color:var(--color-purple)}.bf-calendar__nav{width:2rem;height:2rem;border:1px solid var(--color-border);background:var(--color-surface);border-radius:var(--radius-pill);cursor:pointer;color:var(--color-purple);font-size:1.2rem;line-height:1}.bf-calendar__nav:disabled{opacity:.3;cursor:not-allowed}.bf-calendar__nav:focus-visible{outline:none;box-shadow:var(--shadow-focus)}.bf-calendar__weekdays,.bf-calendar__row{display:grid;grid-template-columns:repeat(7,1fr);gap:var(--space-xs)}.bf-calendar__weekdays{margin-bottom:var(--space-xs)}.bf-calendar__weekday{font-size:.75rem;text-align:center;color:var(--color-muted);text-transform:uppercase;letter-spacing:.08em}.bf-calendar__grid{display:grid;gap:var(--space-xs)}.bf-calendar__cell{aspect-ratio:1 / 1;display:flex;align-items:center;justify-content:center;border:none;background:transparent;border-radius:var(--radius-md);cursor:pointer;color:var(--color-text);font:inherit;font-variant-numeric:tabular-nums;position:relative;transition:background .12s ease,color .12s ease}.bf-calendar__cell:hover:not(:disabled){background:var(--color-soft)}.bf-calendar__cell:focus-visible{outline:none;box-shadow:var(--shadow-focus)}.bf-calendar__cell--empty{cursor:default}.bf-calendar__cell--disabled{color:var(--color-border);cursor:not-allowed}.bf-calendar__cell--available:not(.bf-calendar__cell--selected){color:var(--color-text)}.bf-calendar__cell--today:not(.bf-calendar__cell--selected){font-weight:700;color:var(--color-purple)}.bf-calendar__cell--selected{background:var(--color-purple);color:#fff}.bf-calendar__day{font-size:.95rem}.bf-calendar__dot{position:absolute;bottom:5px;width:4px;height:4px;border-radius:var(--radius-pill);background:var(--color-sage)}.bf-calendar__cell--selected .bf-calendar__dot{background:#fff}.bf-slots{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(6rem,1fr));gap:var(--space-sm)}.bf-slots__empty{color:var(--color-muted);margin:0}.bf-slot{width:100%;padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface);cursor:pointer;font:inherit;color:var(--color-text);transition:background .12s ease,border-color .12s ease}.bf-slot:hover{border-color:var(--color-purple);background:var(--color-soft)}.bf-slot:focus-visible{outline:none;box-shadow:var(--shadow-focus)}.bf-slot--selected{background:var(--color-purple);color:#fff;border-color:var(--color-purple)}.bf-form{display:grid;gap:var(--space-md)}.bf-form__row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-md)}@media(max-width:30rem){.bf-form__row{grid-template-columns:1fr}}.bf-field{display:grid;gap:var(--space-xs)}.bf-field__label{font-size:.9rem;font-weight:600;color:var(--color-text)}.bf-field__input{padding:.65rem .75rem;border-radius:var(--radius-md);border:1px solid var(--color-border);font:inherit;background:var(--color-surface);color:var(--color-text)}.bf-field__input:focus{outline:none;border-color:var(--color-purple);box-shadow:var(--shadow-focus)}.bf-field__error{margin:0;font-size:.85rem;color:#a33}.bf-field__hint{margin:0;font-size:.8rem;color:var(--color-muted)}.bf-dob{display:inline-flex;align-items:center;gap:var(--space-sm)}.bf-dob__input{text-align:center;padding:.65rem .5rem;border-radius:var(--radius-md);border:1px solid var(--color-border);font:inherit;font-variant-numeric:tabular-nums;background:var(--color-surface)}.bf-dob__input:focus{outline:none;border-color:var(--color-purple);box-shadow:var(--shadow-focus)}.bf-dob__input--day,.bf-dob__input--month{width:3rem}.bf-dob__input--year{width:5rem}.bf-dob__sep{color:var(--color-muted)}.bf-checkbox{display:flex;align-items:flex-start;gap:var(--space-sm);font-size:.9rem;color:var(--color-muted)}.bf-checkbox input{margin-top:.3rem}.bf-checkbox a{color:var(--color-purple)}.bf-notice{padding:var(--space-md);border-radius:var(--radius-md);margin-bottom:var(--space-md);font-size:.9rem}.bf-notice--error{background:#aa333314;border:1px solid rgba(170,51,51,.3);color:#8a2a2a}.bf-calendar__loading{margin-left:var(--space-xs);color:var(--color-muted);font-weight:400}.bf-review{display:grid;gap:var(--space-md);padding:var(--space-lg);border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface);margin:0}.bf-review__row{display:grid;grid-template-columns:7rem 1fr;gap:var(--space-md);align-items:baseline}.bf-review__row dt{font-size:.85rem;text-transform:uppercase;letter-spacing:.05em;color:var(--color-muted)}.bf-review__row dd{margin:0;color:var(--color-text);display:flex;flex-direction:column}.bf-review__sub{font-size:.85rem;color:var(--color-muted)}.bf-review__notice{margin-top:var(--space-lg);padding:var(--space-md);border-left:3px solid var(--color-sage);background:#7daa6e14;border-radius:var(--radius-sm);color:var(--color-muted);font-size:.9rem}.bf-success{text-align:center;padding:var(--space-xl) var(--space-lg)}.bf-success__title{font-family:var(--font-display);color:var(--color-purple)}.bf-success__body{max-width:40rem;margin:0 auto var(--space-md)}.bf-success__footnote{font-size:.85rem;color:var(--color-muted)}.bf-nav{display:flex;justify-content:space-between;margin-top:var(--space-xl);gap:var(--space-md)}.bf-btn{padding:.65rem 1.25rem;border-radius:var(--radius-pill);font:inherit;font-weight:600;cursor:pointer;border:1px solid transparent;transition:background .15s ease,border-color .15s ease,opacity .15s ease}.bf-btn:focus-visible{outline:none;box-shadow:var(--shadow-focus)}.bf-btn:disabled{opacity:.5;cursor:not-allowed}.bf-btn--primary{background:var(--color-purple);color:#fff}.bf-btn--primary:not(:disabled):hover{background:#4a2359}.bf-btn--ghost{background:transparent;border-color:var(--color-border);color:var(--color-text)}.bf-btn--ghost:not(:disabled):hover{border-color:var(--color-purple);color:var(--color-purple)}.bf-tabs__bar{display:flex;gap:var(--space-xs);margin-bottom:var(--space-md);border-bottom:1px solid var(--color-border)}.bf-tabs__tab{appearance:none;background:transparent;border:0;padding:var(--space-sm) var(--space-md);margin-bottom:-1px;border-bottom:2px solid transparent;font:inherit;color:var(--color-muted);cursor:pointer;border-radius:var(--radius-sm) var(--radius-sm) 0 0}.bf-tabs__tab:hover{color:var(--color-text)}.bf-tabs__tab--active{color:var(--color-text);border-bottom-color:var(--color-purple)}.bf-appt-card--link{display:block;text-decoration:none}.bf-appt-card--link:hover .bf-appt-card__cta{transform:translate(2px)}.bf-appt-card__cta{font-weight:600;color:var(--color-purple);white-space:nowrap;transition:transform .15s ease}.bf-existing__fallback{margin:var(--space-md) 0;color:var(--color-muted)}.bf-existing__contact{display:grid;grid-template-columns:max-content 1fr;gap:.25rem var(--space-md);margin-top:var(--space-md)}.bf-existing__contact dt{color:var(--color-muted)}.bf-existing__contact dd{margin:0}*,*:before,*:after{box-sizing:border-box}.ib-body{margin:0;min-height:100vh;display:flex;flex-direction:column;background:var(--ib-page);color:var(--color-text);font-family:var(--font-body);font-size:1rem;line-height:1.6;-webkit-font-smoothing:antialiased}.ib-body a{color:var(--ib-purple)}.ib-skip{position:absolute;left:-999px;top:0;padding:var(--space-sm) var(--space-md);background:var(--ib-yellow);color:var(--ib-navy);z-index:10}.ib-skip:focus{left:var(--space-md)}.ib-header{background:var(--ib-navy);border-bottom:4px solid var(--ib-purple)}.ib-header__inner,.ib-footer__inner{max-width:60rem;margin:0 auto;padding:var(--space-md);display:flex;align-items:center;justify-content:space-between;gap:var(--space-md)}.ib-header__logo img{display:block;height:44px;width:auto}.ib-body .ib-header__back{color:#fff;font-size:.9rem;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.4)}.ib-body .ib-header__back:hover{border-bottom-color:var(--ib-yellow)}.ib-main{flex:1;outline:none}.ib-footer{background:var(--ib-navy);color:#ffffffbf;font-size:.8rem}.ib-footer__inner{display:block;padding:var(--space-lg) var(--space-md)}.ib-footer p{margin:0 0 var(--space-xs)}.ib-body .ib-footer a{color:#fff}.ib-crisis{max-width:60rem;margin:0 auto var(--space-xl);padding:0 var(--space-md);font-size:.85rem;color:var(--color-muted)}.ib-page{max-width:60rem;margin:0 auto;padding:var(--space-xl) var(--space-md) var(--space-lg)}.ib .bf-frame,.ib-result{background:var(--color-surface);border-top:4px solid var(--ib-purple);box-shadow:var(--shadow-card)}.ib .bf-step__title,.ib-result .bf-success__title{font-family:var(--font-display);font-weight:700;text-transform:uppercase;letter-spacing:.01em;color:var(--ib-navy);font-size:clamp(1.75rem,4vw,2.4rem);line-height:1.1}.ib-body .bf-btn{border-radius:0;font-family:var(--font-display);font-weight:600;font-size:1.1rem;text-transform:uppercase;letter-spacing:.03em;padding:.75rem 1.5rem;text-decoration:none;display:inline-block}.ib-body .bf-btn--primary{background:var(--ib-purple);color:#fff}.ib-body .bf-btn--primary:not(:disabled):hover{background:var(--ib-purple-dark)}.ib .bf-steps{grid-template-columns:repeat(6,minmax(0,1fr));gap:var(--space-xs)}.ib .bf-steps__step{padding:var(--space-xs) 0}.ib-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-sm);margin:var(--space-lg) 0}.ib-facts__item{background:var(--ib-purple-tint);padding:var(--space-md)}.ib-facts dt{font-family:var(--font-display);font-weight:600;text-transform:uppercase;font-size:.9rem;color:var(--ib-purple)}.ib-facts dd{margin:0;font-weight:600;color:var(--ib-navy)}.ib-points{margin:0 0 var(--space-lg);padding-left:1.2rem;color:var(--color-muted)}.ib-points li+li{margin-top:var(--space-xs)}.ib-subtitle{font-family:var(--font-display);font-weight:700;text-transform:uppercase;font-size:1.35rem;color:var(--ib-navy);margin:var(--space-lg) 0 var(--space-sm)}.ib-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-sm)}.ib-choice{appearance:none;text-align:left;font:inherit;color:inherit;background:var(--color-surface);border:2px solid var(--color-border);padding:var(--space-md);cursor:pointer;display:flex;flex-direction:column;gap:var(--space-xs);transition:border-color .15s ease,background .15s ease}.ib-choice:hover{border-color:var(--ib-purple)}.ib-choice:focus-visible{outline:none;box-shadow:var(--shadow-focus)}.ib-choice--selected{border-color:var(--ib-purple);background:var(--ib-purple-tint)}.ib-choice__label{font-weight:600;color:var(--ib-navy)}.ib-choice__description{font-size:.9rem;color:var(--color-muted)}.ib-redirect{margin-top:var(--space-md);padding:var(--space-md);background:#fffbd6;border-left:4px solid var(--ib-yellow)}.ib-redirect p{margin:0 0 var(--space-sm)}.ib-optional{font-weight:400;color:var(--color-muted)}.ib-fieldset,.ib-question{border:0;margin:0;padding:0;min-width:0}.ib-fieldset__legend{font-family:var(--font-display);font-weight:700;text-transform:uppercase;font-size:1.1rem;color:var(--ib-navy);margin-bottom:var(--space-sm);padding:0}.ib-fieldset{display:grid;gap:var(--space-md)}.ib-postcode{max-width:12rem}.ib-question legend{padding:0;margin-bottom:var(--space-xs)}.ib-textarea{resize:vertical;min-height:7rem;font:inherit}.ib-options{display:grid;grid-template-columns:repeat(auto-fill,minmax(14rem,1fr));gap:var(--space-xs) var(--space-sm);margin-top:var(--space-xs)}.ib-option{display:flex;align-items:flex-start;gap:var(--space-sm);padding:.6rem .75rem;border:1px solid var(--color-border);background:var(--color-surface);cursor:pointer}.ib-option:hover{border-color:var(--ib-purple)}.ib-option--checked{border-color:var(--ib-purple);background:var(--ib-purple-tint)}.ib-option input{margin-top:.3rem;accent-color:var(--ib-purple)}.ib-option:focus-within{box-shadow:var(--shadow-focus)}.ib-section+.ib-section{margin-top:var(--space-xl);padding-top:var(--space-lg);border-top:1px solid var(--color-border)}.ib-section .ib-subtitle{margin-top:0}.ib-section__lead{margin:0 0 var(--space-md);color:var(--color-muted)}.ib-answers{margin:var(--space-lg) 0;border:1px solid var(--color-border);padding:var(--space-sm) var(--space-md)}.ib-answers summary{cursor:pointer;font-weight:600;color:var(--ib-purple)}.ib-answers .bf-review{border:0;padding:var(--space-md) 0 var(--space-sm)}.ib-answers .bf-review__row{grid-template-columns:minmax(0,2fr) minmax(0,3fr)}.ib-answers .bf-review__row dt{text-transform:none;letter-spacing:0;font-size:.9rem}.ib-answers__value{white-space:pre-wrap}.ib-consent{margin-top:var(--space-lg)}.ib-consent input{accent-color:var(--ib-purple)}.ib-form-error{margin-top:var(--space-md)}.ib-result{padding:var(--space-xl)}@media(max-width:640px){.ib .bf-steps__label{display:none}.ib .bf-steps__step--current .bf-steps__label{display:block;white-space:nowrap}.ib-header__logo img{height:34px}.ib-header__back{font-size:.8rem}.ib-facts,.ib-choices{grid-template-columns:1fr}.ib-page{padding:var(--space-md) var(--space-sm)}.ib-result{padding:var(--space-lg)}.ib-answers .bf-review__row{grid-template-columns:1fr;gap:0}}@font-face{font-family:Libre Franklin;src:url(/fonts/libre-franklin.woff2) format("woff2");font-weight:100 900;font-display:swap}@font-face{font-family:Barlow Condensed;src:url(/fonts/barlow-condensed-600.woff2) format("woff2");font-weight:600;font-display:swap}@font-face{font-family:Barlow Condensed;src:url(/fonts/barlow-condensed-700.woff2) format("woff2");font-weight:700;font-display:swap}:root{--ib-navy: #1b252f;--ib-purple: #763ac7;--ib-purple-dark: #6125b2;--ib-purple-tint: #f3edfb;--ib-yellow: #ffe700;--ib-page: #f4f5f7;--color-purple: var(--ib-purple);--color-sage: var(--ib-purple);--color-background: var(--ib-page);--color-text: #212529;--color-border: #d9dce1;--color-surface: #ffffff;--color-muted: #5a6171;--color-soft: var(--ib-purple-tint);--font-body: "Libre Franklin", "Franklin Gothic", Arial, sans-serif;--font-display: "Barlow Condensed", "Franklin Gothic", Impact, sans-serif;--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2.5rem;--space-2xl: 4rem;--radius-sm: 2px;--radius-md: 4px;--radius-lg: 6px;--radius-pill: 0;--shadow-card: 0 1px 3px rgba(27, 37, 47, .08);--shadow-lift: 0 6px 18px rgba(27, 37, 47, .12);--shadow-focus: 0 0 0 3px rgba(118, 58, 199, .35)}
