:root{--navy:#111;--teal:#e21b23;--deep:#a7131a;--ink:#111;--muted:#5e5e5b;--soft:#f4f5f2;--line:#e0e1dc;--radius:4px}
fieldset#booking-fields,fieldset#contact-fields{border:0;padding:0;margin:0;min-width:0}
body:not(.page-index){color:#111;background:#f8f8f5}
body:not(.page-index) h1,body:not(.page-index) h2,body:not(.page-index) h3{font-family:'Instrument Sans',Arial,sans-serif;color:inherit;font-weight:500}
body:not(.page-index) p{color:#5e5e5b}
body:not(.page-index) .masthead-v2{background:#f4f5f2}
body:not(.page-index) .masthead-v2.is-scrolled{background:rgb(244 245 242 / 96%)}
body:not(.page-index) .page-hero{background:#111;color:#fff;padding:52px 0 90px;border:0;position:relative;overflow:hidden}
body:not(.page-index) .page-hero:after{content:'';position:absolute;width:450px;height:450px;border:1px solid #ffffff19;border-radius:50%;right:-150px;top:-210px;box-shadow:0 0 0 70px #ffffff04,0 0 0 140px #ffffff03;pointer-events:none}
body:not(.page-index) .page-hero h1{font-size:clamp(48px,6vw,90px);line-height:1.02;letter-spacing:-.06em;max-width:930px}
body:not(.page-index) .page-hero .lead{color:#c5c5bf;font-size:17px;max-width:650px}
body:not(.page-index) .page-hero .breadcrumbs{color:#bfbfbb}
body:not(.page-index) .page-hero .breadcrumbs a{color:white}
body:not(.page-index) .page-hero .eyebrow{color:#ff777b}
body:not(.page-index) .page-hero em{color:#ff696e}
body:not(.page-index) .page-hero-image .media-frame{border-radius:2px 120px 2px 2px;overflow:hidden;position:relative}
body:not(.page-index) .page-hero-image .media-frame:after{content:'PRIME HEALTH / ABUJA';position:absolute;bottom:0;left:0;background:#e21b23;color:white;font-size:10px;letter-spacing:.14em;padding:12px 18px}
body:not(.page-index) .page-hero-image .media-frame img{height:430px;object-fit:cover}
body:not(.page-index) .page-hero-image .split{align-items:center}
body:not(.page-index) .section{padding-block:clamp(65px,7vw,110px)}
body:not(.page-index) .section-soft{background:#f0f1ee}
body:not(.page-index) .section-navy{background:#111;color:white}
body:not(.page-index) .section-navy p{color:#c8c8c3}
body:not(.page-index) .eyebrow,body:not(.page-index) .breadcrumbs>a,body:not(.page-index) .article-meta,body:not(.page-index) .step-number{color:#d52028}
body:not(.page-index) .section-navy .eyebrow,body:not(.page-index) .section-navy em{color:#ff6d72}
body:not(.page-index) em{color:#d52028}
body:not(.page-index) .button{background:#e21b23;border-color:#e21b23;color:white;border-radius:3px}
body:not(.page-index) .button:hover{background:#b7151d;border-color:#b7151d;color:white}
body:not(.page-index) .button-secondary{background:transparent;color:#111;border-color:#898b86}
body:not(.page-index) .button-secondary:hover{background:#111;border-color:#111;color:white}
body:not(.page-index) .link-arrow,body:not(.page-index) .text-link{color:#111}
body:not(.page-index) .link-arrow:hover,body:not(.page-index) .text-link:hover{color:#e21b23}
body:not(.page-index) .icon-tile{background:#ffe7e8;color:#e21b23;border-radius:3px}
body:not(.page-index) .card,body:not(.page-index) .mini-card{border-radius:3px}
body:not(.page-index) .card>.icon,body:not(.page-index) .mini-card>.icon{color:#e21b23}
body:not(.page-index) .note{background:#fff0f0;border-color:#e21b23;color:#4d4545;border-radius:0}
body:not(.page-index) .service-card,body:not(.page-index) .article-card{border-radius:3px;overflow:hidden}
body:not(.page-index) .service-card img,body:not(.page-index) .article-card img{filter:saturate(.84) contrast(1.04)}
body:not(.page-index) main :is(h1,h2,h3),body:not(.page-index) .footer-v2 h2{transform-origin:left center;transition:transform .34s cubic-bezier(.2,.8,.2,1)}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){body:not(.page-index) main :is(h1,h2,h3):hover,body:not(.page-index) main :is(h1,h2,h3):focus-within,body:not(.page-index) .footer-v2 h2:hover{transform:translateY(-3px) scale(1.012)}}
.page-hero .container{position:relative;z-index:2}
.page-hero .inner-hero-pulse{position:absolute;right:-4%;bottom:8%;width:min(55vw,740px);height:auto;color:#ff4a51;opacity:.28;pointer-events:none;z-index:1;filter:drop-shadow(0 0 12px #e21b2333)}
.page-hero .inner-hero-pulse .pulse-base{opacity:.55}
.page-hero .inner-hero-pulse .pulse-trace{opacity:0}
.service-detail-hero{position:relative;overflow:hidden}
.service-detail-hero>.shell-v2{position:relative;z-index:2}
.service-detail-hero>.inner-hero-pulse{position:absolute;right:-5%;bottom:12%;width:min(55vw,740px);height:auto;color:#ff4a51;opacity:.25;pointer-events:none;z-index:1}
.service-detail-hero>.inner-hero-pulse .pulse-trace{opacity:0}
@media(max-width:760px){.page-hero .inner-hero-pulse{width:80vw;right:-14%;bottom:4%;opacity:.18}}
.catalog-section{padding:100px 0;background:#e9ebe7}.catalog-intro{max-width:750px;margin-bottom:38px}.catalog-intro h2{font-size:clamp(40px,5vw,70px);margin:0 0 15px}.catalog-intro p{font-size:17px}.catalog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.catalog-card{min-height:260px;background:#fff;border:1px solid #d8dad5;padding:27px;display:flex;flex-direction:column;align-items:start;transition:transform .3s,box-shadow .3s}.catalog-card:hover{transform:translateY(-5px);box-shadow:0 18px 30px #11111110}.catalog-category{font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:#ae2228;font-weight:700}.catalog-card h3{font-size:25px;line-height:1.15;margin:22px 0 10px}.catalog-card p{font-size:13px;line-height:1.6;margin:0 0 18px}.catalog-price{margin-top:auto;font-size:13px;font-weight:700}.catalog-card a{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #e1e1de;width:100%;padding-top:11px;margin-top:12px;font-size:12px;font-weight:700}.catalog-card a:hover{color:#e21b23}
.booking-hero{background:#f4f5f2;padding:45px 0 70px}.booking-breadcrumb{display:flex;gap:12px;color:#777;font-size:12px;margin-bottom:75px}.booking-breadcrumb a:hover{color:#e21b23}.booking-hero-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:55px;align-items:end}.booking-hero h1{font-size:clamp(55px,7vw,112px);line-height:1;letter-spacing:-.066em}.booking-hero h1 em{color:#e21b23;font-style:normal}.booking-hero-grid p{font-size:19px;line-height:1.55;color:#3d3d3a;max-width:460px}.booking-hero-grid span{display:block;margin-top:30px;font-size:10px;letter-spacing:.15em;font-weight:700}.booking-content{padding:80px 0 110px;background:#f8f8f5}.booking-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.72fr);gap:clamp(30px,6vw,100px)}.booking-form-intro h2{font-size:clamp(35px,4vw,58px);margin:12px 0}.booking-form-intro p{color:#60605b}.booking-form{margin-top:30px;background:#fff;border:1px solid #dedfda;padding:clamp(24px,3vw,45px)}.booking-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.booking-form label,.bank-panel label{display:grid;gap:9px;font-size:13px;font-weight:600}.booking-form input,.booking-form select,.bank-panel input{width:100%;min-height:52px;border:1px solid #d0d1cb;background:white;border-radius:2px;padding:12px 14px;color:#111;font:inherit}.booking-form input:focus-visible,.booking-form select:focus-visible,.bank-panel input:focus-visible{outline:2px solid #e21b23;outline-offset:2px}.booking-picker{border-top:1px solid #e1e1dd;margin-top:32px;padding-top:28px}.booking-picker h3{font-size:24px;margin:0 0 9px}.booking-picker>p{font-size:13px;line-height:1.6;max-width:560px}.booking-dates,.booking-times{display:flex;gap:8px;overflow-x:auto;padding:4px 2px 22px;margin:20px 0 25px;scrollbar-width:thin}.booking-dates button{border:1px solid #d7d7d1;background:white;min-width:97px;padding:13px 10px;text-align:left;border-radius:3px;display:grid;gap:7px}.booking-dates small{font-size:9px;letter-spacing:.06em}.booking-dates strong{font-family:'Instrument Sans';font-size:23px;line-height:1}.booking-dates button.selected,.booking-times button.selected{background:#111;color:white;border-color:#111}.booking-times{flex-wrap:wrap;margin:15px 0 0}.booking-times button{min-width:82px;padding:10px 15px;border:1px solid #d7d7d1;background:#fff;border-radius:3px}.booking-privacy{font-size:12px;color:#6f6f6a;margin:18px 0}.booking-submit{display:flex;justify-content:space-between;align-items:center;width:100%;background:#e21b23;border:1px solid #e21b23;color:#fff;min-height:58px;padding:15px 22px;font-size:14px;font-weight:700;cursor:pointer}.booking-submit:hover{background:#b7151d}.booking-submit:disabled{opacity:.55;cursor:wait}.booking-status{color:#b71b22;min-height:22px;margin:12px 0 0}.booking-aside{background:#111;color:#fff;padding:clamp(30px,3.5vw,52px);align-self:start;position:sticky;top:125px}.booking-aside .overline,.booking-form-intro .overline,.booking-result .overline{font-size:11px;letter-spacing:.15em;font-weight:700;color:#ee4149}.booking-aside h2{font-size:clamp(35px,3.3vw,50px);margin:18px 0 35px;color:white}.booking-aside ol{list-style:none;margin:0;padding:0}.booking-aside li{display:grid;grid-template-columns:42px 1fr;gap:17px;border-top:1px solid #ffffff35;padding:24px 0}.booking-aside li>span{color:#ff6e74;font-size:12px}.booking-aside h3{font-size:21px;color:white;margin:0 0 8px}.booking-aside p{color:#bfbfbb;font-size:13px;line-height:1.65}.booking-help{background:#e21b23;color:white;padding:24px;margin-top:35px}.booking-help span{display:block;font-size:10px;letter-spacing:.15em}.booking-help>a{display:block;font-family:'Instrument Sans';font-size:25px;margin:16px 0 8px}.booking-help p,.booking-help p a{color:white}.booking-result{background:white;border:1px solid #dedfda;padding:45px;margin-top:35px}.booking-result h2{font-size:52px;margin:15px 0}.booking-result p{font-size:16px;line-height:1.7}.bank-panel{border-top:1px solid #ddd;margin-top:30px;padding-top:25px}.bank-panel h3{font-size:26px}.bank-panel dl{display:grid;grid-template-columns:1fr 1fr;gap:12px}.bank-panel dl div{background:#f2f2ef;padding:13px}.bank-panel dt{font-size:10px;color:#777;text-transform:uppercase;letter-spacing:.1em}.bank-panel dd{margin:5px 0 0;font-weight:700}.bank-panel form{margin-top:25px}.bank-panel form button{margin-top:15px}.booking-return{display:inline-block;border-bottom:1px solid #e21b23;margin-top:18px}.booking-faq{padding:80px 0;background:#e9ebe7}.booking-faq h2{font-size:clamp(38px,4vw,58px);margin-bottom:35px}.booking-faq>div>div:last-child{max-width:850px}.booking-faq details{border-bottom:1px solid #b9bdb6;padding:19px 0}.booking-faq summary{cursor:pointer;font-size:20px;font-family:'Instrument Sans';list-style:none;display:flex;justify-content:space-between}.booking-faq summary:after{content:'+';color:#e21b23}.booking-faq details[open] summary:after{content:'−'}.booking-faq details p{padding-top:15px;max-width:680px}
.service-detail-hero{background:#111;color:white;padding:50px 0 100px}.service-detail-hero .booking-breadcrumb{color:#bbb}.service-detail-hero h1{font-size:clamp(50px,6vw,90px);max-width:1000px;margin:35px 0 20px}.service-detail-hero p{color:#d0d0ca;font-size:19px;max-width:700px}.service-detail-content{padding:80px 0}.service-detail-content .shell-v2{display:grid;grid-template-columns:1.3fr .7fr;gap:70px}.service-detail-content h2{font-size:clamp(38px,4vw,60px);margin-bottom:25px}.service-detail-content p{font-size:17px;line-height:1.8}.service-detail-side{background:#e8eae5;padding:32px;align-self:start}.service-detail-side strong{display:block;font-family:'Instrument Sans';font-size:33px;margin:16px 0}.service-detail-side a{display:block;text-align:center;background:#e21b23;color:white;padding:15px;margin:18px 0}.service-detail-side a:last-child{background:#111}.service-detail-side p{font-size:13px}
@media(max-width:1000px){.catalog-grid{grid-template-columns:repeat(2,1fr)}.booking-layout{gap:35px}.booking-aside{position:static}.booking-hero-grid{grid-template-columns:1fr;gap:20px}.service-detail-content .shell-v2{gap:30px}}
@media(max-width:760px){body:not(.page-index) .page-hero{padding:35px 0 60px}body:not(.page-index) .page-hero h1{font-size:clamp(43px,8vw,65px)}body:not(.page-index) .page-hero-image .media-frame img{height:300px}.catalog-section{padding:65px 0}.catalog-grid{grid-template-columns:1fr}.catalog-card{min-height:220px}.booking-hero{padding:35px 0 55px}.booking-breadcrumb{margin-bottom:45px}.booking-hero h1{font-size:clamp(50px,12vw,80px)}.booking-hero-grid p{font-size:16px}.booking-content{padding:55px 0}.booking-layout{grid-template-columns:1fr}.booking-aside{grid-row:2}.booking-fields{grid-template-columns:1fr}.booking-form{padding:22px}.booking-aside h2{font-size:38px}.service-detail-content .shell-v2{grid-template-columns:1fr}.service-detail-hero{padding-bottom:65px}.service-detail-content{padding:60px 0}.booking-faq{padding:55px 0}}
@media(prefers-reduced-motion:reduce){body:not(.page-index) main :is(h1,h2,h3),body:not(.page-index) .footer-v2 h2,.catalog-card{transition:none}.page-hero .inner-hero-pulse .pulse-trace{opacity:0!important}}
.contact-new{padding:95px 0;background:#f8f8f5}.contact-new-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,8vw,130px)}.contact-new h2{font-size:clamp(38px,4.5vw,65px);margin:18px 0 30px}.contact-phone-new{font-family:'Instrument Sans';font-size:clamp(30px,3.4vw,52px);letter-spacing:-.04em;border-bottom:1px solid #e21b23;display:inline-block;padding-bottom:13px}.contact-facts{display:grid;gap:0;margin:50px 0}.contact-facts>div{display:grid;grid-template-columns:115px 1fr;gap:15px;border-top:1px solid #d5d7d2;padding:22px 0}.contact-facts span{font-size:10px;letter-spacing:.14em;font-weight:700;color:#c5242b}.contact-facts address{font-style:normal}.contact-facts p{margin:0}.contact-directions{display:inline-block;background:#111;color:white;padding:15px 25px}.contact-form-card{background:white;border:1px solid #dedfda;padding:clamp(24px,3vw,45px);align-self:start}.contact-form-card>p{font-size:14px;line-height:1.7}.contact-form-card>p a{color:#c51a23}.contact-form-card form{margin-top:28px}.contact-form-card .booking-fields{gap:15px}.contact-form-card label{display:grid;gap:8px;font-size:13px;font-weight:700;margin-bottom:16px}.contact-form-card input,.contact-form-card select,.contact-form-card textarea{width:100%;border:1px solid #d5d5d0;padding:12px 14px;border-radius:2px;min-height:49px;font:inherit}.contact-form-card textarea{resize:vertical;min-height:120px}.contact-form-card .booking-privacy{font-size:12px}.contact-form-card .booking-privacy a{text-decoration:underline}.contact-form-card .booking-submit{border:0}@media(max-width:800px){.contact-new{padding:60px 0}.contact-new-grid{grid-template-columns:1fr}.contact-facts{margin:30px 0}}
.catalog-tools{display:flex;flex-wrap:wrap;align-items:end;gap:14px;margin-bottom:28px}.catalog-tools label{display:grid;gap:7px;font-size:12px;font-weight:700;min-width:min(100%,250px)}.catalog-tools input,.catalog-tools select{width:100%;min-height:49px;border:1px solid #c9ccc6;background:white;padding:12px 14px;font:inherit;color:#111;border-radius:2px}.catalog-tools #catalog-count{margin-left:auto;font-size:12px;color:#666;align-self:center}.catalog-card[hidden]{display:none}
.catalog-card>img{width:calc(100% + 54px);max-width:none;margin:-27px -27px 23px;height:170px;object-fit:cover}.service-detail-image{display:block;width:min(100%,760px);height:auto;aspect-ratio:16/8;object-fit:cover;margin-top:40px;border-radius:2px}
/* Keep the calendar's intrinsic width inside its grid track on every screen. */
.booking-layout,.booking-layout>*,.booking-form,.booking-picker,.booking-form fieldset,.booking-dates,.booking-times,.booking-result,.contact-new-grid,.contact-new-grid>*{min-width:0;max-width:100%}
.booking-dates,.booking-times{width:100%}
.booking-layout{grid-template-columns:minmax(0,1.15fr) minmax(0,.72fr)}
.booking-dates{scroll-snap-type:x proximity;overscroll-behavior-inline:contain}
.booking-dates>button{scroll-snap-align:start;flex:0 0 auto}
.booking-dates>button,.booking-times>button{cursor:pointer;transition:border-color .2s,background-color .2s,transform .2s}
.booking-dates>button:hover,.booking-times>button:hover{border-color:#e21b23}
.booking-dates>button:focus-visible,.booking-times>button:focus-visible{outline:2px solid #e21b23;outline-offset:2px}
@media(max-width:1000px){.booking-layout{grid-template-columns:minmax(0,1fr) minmax(0,.8fr)}}
@media(max-width:760px){
  .booking-layout{grid-template-columns:minmax(0,1fr)}
  .booking-form{padding:clamp(18px,5vw,28px)}
  .booking-hero{padding-bottom:52px}
  .booking-hero h1{font-size:clamp(46px,10vw,70px)}
  .booking-hero-grid{gap:24px}
  .booking-hero-grid p{max-width:36ch;overflow-wrap:anywhere}
  .booking-form-intro p{max-width:38ch}
  .booking-dates{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;overflow:visible;margin:18px 0 27px;padding:0;scroll-snap-type:none}
  .booking-dates>button{min-width:0;width:100%;min-height:72px;padding:10px;gap:4px;box-shadow:0 1px 0 #1111110a}
  .booking-dates strong{font-size:clamp(17px,4.3vw,22px);white-space:nowrap}
  .booking-dates small{font-size:9px;letter-spacing:.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .booking-times{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;overflow:visible;padding:0;margin:16px 0 0}
  .booking-times>button{min-width:0;width:100%;padding:10px 5px}
  .booking-aside{width:100%;padding:clamp(24px,6vw,38px)}
  .booking-result{padding:clamp(20px,5vw,34px)}
  .booking-result h2{font-size:clamp(36px,9vw,50px)}
  .bank-panel dl{grid-template-columns:1fr}
  .bank-panel dd{overflow-wrap:anywhere}
}
@media(max-width:390px){.booking-dates{grid-template-columns:repeat(2,minmax(0,1fr))}.booking-times{grid-template-columns:repeat(3,minmax(0,1fr))}.booking-dates strong{font-size:20px}.booking-aside h2{font-size:34px}.contact-facts>div{grid-template-columns:1fr;gap:6px}}

/* Booking transfer and receipt step */
.payment-choice{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:22px 0}
.payment-choice .booking-submit{width:auto;min-width:min(100%,255px);gap:20px}
.payment-later{border:1px solid #bfc1bb;background:#fff;color:#161616;padding:16px 20px;min-height:58px;font:inherit;font-weight:700;cursor:pointer}
.payment-later:hover,.payment-later:focus-visible{border-color:#e21b23;color:#b7151d}
#payment-choice-status,#copy-status,#transfer-status{min-height:1.5em;margin:8px 0;color:#474741;font-size:14px;line-height:1.5}
#payment-details[hidden],#transfer-form[hidden]{display:none}
.bank-panel .account-number{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between}
.account-number span{font-size:20px;letter-spacing:.03em;user-select:all}
.account-number button{border:1px solid #bfc1bb;background:#fff;padding:9px 12px;color:#111;font:inherit;font-size:12px;font-weight:700;cursor:pointer}
.account-number button:hover,.account-number button:focus-visible{border-color:#e21b23;color:#b7151d}
.bank-panel input[type=file]{padding:12px;line-height:1.5}
.bank-panel input[type=file]::file-selector-button{border:1px solid #bfc1bb;background:#f8f8f5;padding:8px 12px;margin-right:12px;font:inherit;font-weight:700;cursor:pointer}
@media(max-width:600px){.payment-choice{align-items:stretch;flex-direction:column}.payment-choice .booking-submit,.payment-later{width:100%}.bank-panel dl{grid-template-columns:1fr}}
