/* Private sessions page. Vibe palette only: olive #505238, sage #858869, blush #D8A6A5, linen #F4EDE3, brown #3A2928. */
.ps-hero{background:linear-gradient(180deg,#F4EDE3 0%,#fff 100%);padding:72px 0 64px}
.ps-hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:56px;align-items:center}
.ps-hero h1{margin-bottom:22px}
.ps-lead{font-size:1.12rem;max-width:560px;color:#6B5755}
.ps-hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}
.ps-hero-actions .btn{width:auto;margin-top:0}
.btn.ps-ghost{background:transparent;color:#505238;border-color:#505238}
.btn.ps-ghost:hover{background:#505238;color:#fff}
.ps-hero-photo{margin:0;justify-self:center;width:min(100%,400px)}
.ps-hero-photo img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 30%;border-radius:999px 999px 26px 26px;box-shadow:0 24px 50px rgba(58,41,40,.18);outline:1px solid #D8A6A5;outline-offset:10px}
.ps-hero-photo figcaption{margin-top:22px;text-align:center;font:italic 1rem/1.4 Georgia,serif;color:#6B5755}

.ps-section{padding:84px 0}
.ps-section.alt{background:#F4EDE3}
.ps-head{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:end;margin-bottom:40px}
.ps-head h2,.ps-section h2{font:400 clamp(2.2rem,4vw,3.4rem)/1 Georgia,"Times New Roman",serif;letter-spacing:-.05em;margin:12px 0 0}
.ps-head p{margin:0;color:#6B5755}

.ps-suits{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.ps-suit{background:#fff;border:1px solid #E7D7C5;border-radius:22px;padding:26px;transition:transform .2s ease,box-shadow .2s ease}
.ps-suit:hover{transform:translateY(-3px);box-shadow:0 18px 40px rgba(75,54,44,.10)}
.ps-icon{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:50%;background:#F4EDE3;color:#505238;margin-bottom:14px}
.ps-icon svg{width:22px;height:22px}
.ps-suit h3{font-size:1.05rem;margin:0 0 6px}
.ps-suit p{margin:0;font-size:.94rem;color:#6B5755}

.ps-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:18px;counter-reset:step}
.ps-steps li{position:relative;padding:28px 24px 24px;border-top:2px solid #505238;background:#fff;border-radius:0 0 18px 18px}
.ps-steps li:before{counter-increment:step;content:"0" counter(step);display:block;font:400 2rem/1 Georgia,serif;color:#858869;margin-bottom:12px}
.ps-steps h3{font-size:1rem;margin:0 0 6px}
.ps-steps p{margin:0;font-size:.93rem;color:#6B5755}

.ps-chips{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 34px;padding:0;list-style:none}
.ps-chips a{display:inline-block;padding:8px 15px;border:1px solid #D8C3B6;border-radius:999px;font-size:.8rem;font-weight:750;background:#fff;transition:background .18s ease,border-color .18s ease,color .18s ease}
.ps-chips a:hover{background:#505238;border-color:#505238;color:#fff}

.ps-kit{display:grid;gap:22px}
.ps-item{display:grid;grid-template-columns:.9fr 1.1fr 1.1fr;gap:0;background:#fff;border:1px solid #E7D7C5;border-radius:24px;overflow:hidden;scroll-margin-top:100px}
.ps-item-intro{padding:30px;background:#505238;color:#fff}
.ps-item-intro .ps-tag{font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;font-weight:850;color:#D8A6A5}
.ps-item-intro h3{font:400 1.9rem/1.05 Georgia,serif;letter-spacing:-.03em;margin:10px 0 12px}
.ps-item-intro p{margin:0;font-size:.93rem;color:#F4EDE3}
.ps-use{padding:28px 30px}
.ps-use+.ps-use{border-left:1px solid #E7D7C5}
.ps-use h4{display:flex;align-items:center;gap:8px;margin:0 0 12px;font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;color:#505238}
.ps-use h4:before{content:"";width:9px;height:9px;border-radius:50%;background:#858869}
.ps-use.rehab h4:before{background:#D8A6A5}
.ps-use ul{margin:0;padding-left:18px}
.ps-use li{margin-bottom:8px;font-size:.93rem;color:#3A2928}
.ps-use li:last-child{margin-bottom:0}

.ps-props-head{margin:58px 0 22px;scroll-margin-top:100px}
.ps-props-head h3{font:400 2rem/1 Georgia,serif;letter-spacing:-.04em;margin:10px 0 8px}
.ps-props-head p{margin:0;color:#6B5755;max-width:720px}
.ps-props{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.ps-prop{background:#fff;border:1px solid #E7D7C5;border-radius:20px;padding:24px;display:flex;flex-direction:column;gap:10px;transition:transform .2s ease,box-shadow .2s ease}
.ps-prop:hover{transform:translateY(-3px);box-shadow:0 18px 40px rgba(75,54,44,.10)}
.ps-prop h4{font:400 1.35rem/1.1 Georgia,serif;margin:0;letter-spacing:-.02em}
.ps-prop p{margin:0;font-size:.9rem;color:#3A2928}
.ps-prop p strong{display:block;font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:#858869;margin-bottom:2px}
.ps-prop p.rehab strong{color:#B7807F}

.ps-care{display:grid;grid-template-columns:auto 1fr;gap:22px;align-items:start;background:#fff;border:1px solid #D8A6A5;border-left:6px solid #D8A6A5;border-radius:20px;padding:28px 30px;margin-top:46px}
.ps-care .ps-icon{background:#F4EDE3;margin:0}
.ps-care h3{margin:0 0 6px;font-size:1.05rem}
.ps-care p{margin:0;color:#6B5755;font-size:.95rem}

.ps-cta{background:#505238;color:#fff;padding:78px 0}
.ps-cta-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:40px;align-items:center}
.ps-cta .eyebrow{color:#D8A6A5}
.ps-cta h2{color:#fff}
.ps-cta p{color:#F4EDE3;margin:14px 0 0;max-width:620px}
.ps-cta-actions{display:grid;gap:12px;justify-items:stretch}
.ps-cta-actions .btn{margin-top:0;width:100%;background:#F4EDE3;color:#3A2928;border-color:#F4EDE3}
.ps-cta-actions .btn:hover{background:#D8A6A5;border-color:#D8A6A5;color:#3A2928}
.ps-cta-actions .btn.ps-line{background:transparent;color:#fff;border-color:#F4EDE3}
.ps-cta-actions .btn.ps-line:hover{background:#F4EDE3;color:#3A2928}
.ps-cta-note{font-size:.82rem;color:#E7D7C5;text-align:center;margin:4px 0 0}

@media(max-width:980px){
  .ps-hero-grid,.ps-head,.ps-cta-grid{grid-template-columns:1fr}
  .ps-hero-photo{width:min(78%,330px)}
  .ps-suits,.ps-props{grid-template-columns:repeat(2,1fr)}
  .ps-steps{grid-template-columns:repeat(2,1fr)}
  .ps-item{grid-template-columns:1fr 1fr}
  .ps-item-intro{grid-column:1/-1}
  .ps-use+.ps-use{border-left:1px solid #E7D7C5}
  .ps-use:first-of-type{border-left:0}
}
@media(max-width:640px){
  .ps-hero{padding:48px 0}
  .ps-section{padding:60px 0}
  .ps-suits,.ps-props,.ps-steps,.ps-item{grid-template-columns:1fr}
  .ps-use+.ps-use{border-left:0;border-top:1px solid #E7D7C5}
  .ps-care{grid-template-columns:1fr}
  .ps-hero-actions .btn{width:100%}
}

/* Vibe Private Start (new-client introductory package, A$299 incl. GST) */
.ps-offer-wrap{padding:0 0 84px;background:#fff;scroll-margin-top:90px}
.ps-paid{background:#F4EDE3;border:1px solid #858869;border-left:6px solid #505238;border-radius:16px;padding:18px 22px;margin:0 0 22px;color:#3A2928}
.ps-paid a{text-decoration:underline}
.ps-offer{display:grid;grid-template-columns:1.35fr .65fr;border-radius:28px;overflow:hidden;border:1px solid #D8C3B6;box-shadow:0 24px 54px rgba(58,41,40,.10)}
.ps-offer-main{background:#F4EDE3;padding:44px 46px}
.ps-offer-main h2{font:400 clamp(2.4rem,4.4vw,3.7rem)/1 Georgia,"Times New Roman",serif;letter-spacing:-.05em;margin:12px 0 16px}
.ps-offer-lead{font-size:1.05rem;color:#6B5755;max-width:620px;margin:0 0 24px}
.ps-offer-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:16px 26px}
.ps-offer-list li{position:relative;padding-left:30px;font-size:.93rem;color:#3A2928}
.ps-offer-list li:before{content:"";position:absolute;left:0;top:3px;width:18px;height:18px;border-radius:50%;background:#505238 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23F4EDE3' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l4 4 10-10'/%3E%3C/svg%3E") center/11px no-repeat}
.ps-offer-list strong{display:block;font-size:.98rem;margin-bottom:2px}
.ps-offer-price{background:#505238;color:#fff;padding:44px 36px;display:flex;flex-direction:column;justify-content:center;gap:12px;text-align:center}
.ps-price{font:400 5rem/1 Georgia,serif;letter-spacing:-.04em}
.ps-cur{font-size:1.6rem;vertical-align:top;margin-right:4px;position:relative;top:10px;color:#D8A6A5}
.ps-price-note{margin:0 0 8px;font-size:.82rem;color:#E7D7C5;letter-spacing:.04em}
.ps-offer-price .btn{margin-top:0;width:100%;background:#F4EDE3;color:#3A2928;border-color:#F4EDE3}
.ps-offer-price .btn:hover{background:#D8A6A5;border-color:#D8A6A5;color:#3A2928}
.ps-offer-price .btn.ps-ghost{background:transparent;color:#fff;border-color:#F4EDE3}
.ps-offer-price .btn.ps-ghost:hover{background:#F4EDE3;color:#3A2928}
.ps-offer-small{margin:6px 0 0;font-size:.78rem;color:#E7D7C5;line-height:1.5}
@media(max-width:980px){.ps-offer{grid-template-columns:1fr}.ps-offer-main{padding:36px 30px}}
@media(max-width:640px){.ps-offer-list{grid-template-columns:1fr}.ps-offer-main,.ps-offer-price{padding:30px 22px}.ps-offer-wrap{padding-bottom:60px}}

/* Single private session (A$89 incl. GST) and small-group note */
.ps-single{display:grid;grid-template-columns:minmax(0,1fr) auto max-content;gap:0;align-items:center;margin-top:22px;padding:32px 36px;background:#fff;border:1px solid #D8C3B6;border-radius:24px;scroll-margin-top:100px}
.ps-single-main{padding-right:36px}
.ps-single h3{font:400 2rem/1.1 Georgia,"Times New Roman",serif;letter-spacing:-.03em;margin:10px 0 10px}
.ps-single p{margin:0;max-width:520px;color:#6B5755;font-size:.95rem;line-height:1.6}
.ps-single-price{padding:6px 40px;border-left:1px solid #E7D7C5;border-right:1px solid #E7D7C5;text-align:center;font:400 3.8rem/1 Georgia,"Times New Roman",serif;letter-spacing:-.04em;color:#3A2928;white-space:nowrap}
.ps-single-price .ps-cur{top:6px;font-size:1.3rem;color:#858869}
.ps-single-price small{display:block;margin-top:10px;font-family:Inter,Arial,sans-serif;font-size:.7rem;font-weight:700;line-height:1.4;letter-spacing:.14em;text-transform:uppercase;color:#6B5755}
.ps-single-actions{display:grid;gap:10px;padding-left:36px}
.ps-single-actions .btn{margin-top:0;width:100%;white-space:nowrap}
.ps-group-note{margin:22px 0 0;padding:18px 22px;border-radius:16px;background:#F4EDE3;color:#3A2928;font-size:.95rem}
.ps-group-note a,.ps-head p a,.ps-cta p a{text-decoration:underline;font-weight:700}
.ps-cta p a{color:#fff}
@media(max-width:1100px){.ps-single{grid-template-columns:minmax(0,1fr) auto;row-gap:24px}.ps-single-price{border-right:0;padding-right:0}.ps-single-actions{grid-column:1/-1;grid-template-columns:1fr 1fr;padding-left:0}}
@media(max-width:640px){.ps-single{grid-template-columns:1fr;padding:28px 22px}.ps-single-main{padding-right:0}.ps-single-price{border:0;border-top:1px solid #E7D7C5;padding:22px 0 0;text-align:left}.ps-single-actions{grid-template-columns:1fr}.ps-single-actions .btn{white-space:normal}}

/* Small group sessions (4 people, 60 minutes, A$50 incl. GST) */
.ps-sg{scroll-margin-top:90px}
.ps-sg .ps-offer-main{background:#fff}
.ps-paid-wrap .ps-paid{margin:22px 0 0}

/* New client options: Start Small (A$120) and Go Big (A$299) */
.ps-offer-wrap .ps-head{margin-bottom:32px}
.ps-nc-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:stretch}
.ps-nc{display:flex;flex-direction:column;gap:18px;padding:38px 38px 34px;border-radius:26px;background:#F4EDE3;border:1px solid #E7D7C5;color:#3A2928;transition:transform .2s ease,box-shadow .2s ease}
.ps-nc:hover{transform:translateY(-3px);box-shadow:0 22px 48px rgba(58,41,40,.12)}
.ps-nc.big{background:#505238;border-color:#505238;color:#fff}
.ps-nc-tag{align-self:flex-start;padding:6px 12px;border-radius:999px;background:#fff;color:#505238;font-size:.68rem;font-weight:850;letter-spacing:.14em;text-transform:uppercase}
.ps-nc.big .ps-nc-tag{background:#D8A6A5;color:#3A2928}
.ps-nc h3{font:400 clamp(2rem,3.2vw,2.7rem)/1.02 Georgia,"Times New Roman",serif;letter-spacing:-.04em;margin:0}
.ps-nc-price{font:400 3.6rem/1 Georgia,"Times New Roman",serif;letter-spacing:-.04em;padding-bottom:18px;border-bottom:1px solid #E7D7C5}
.ps-nc.big .ps-nc-price{border-bottom-color:rgba(244,237,227,.25)}
.ps-nc-price .ps-cur{top:6px;font-size:1.3rem;color:#858869}
.ps-nc.big .ps-nc-price .ps-cur{color:#D8A6A5}
.ps-nc-price small{display:block;margin-top:10px;font-family:Inter,Arial,sans-serif;font-size:.7rem;font-weight:700;line-height:1.4;letter-spacing:.14em;text-transform:uppercase;color:#6B5755}
.ps-nc.big .ps-nc-price small{color:#E7D7C5}
.ps-nc .ps-offer-list{grid-template-columns:1fr;gap:14px}
.ps-nc.big .ps-offer-list li{color:#F4EDE3}
.ps-nc.big .ps-offer-list li:before{background-color:#858869}
.ps-nc-actions{margin-top:auto;padding-top:8px;display:grid;grid-template-columns:1fr;gap:10px}
.ps-nc-actions .btn{margin-top:0;width:100%;text-align:center}
.ps-nc.big .ps-nc-actions .btn{background:#F4EDE3;color:#3A2928;border-color:#F4EDE3}
.ps-nc.big .ps-nc-actions .btn:hover{background:#D8A6A5;border-color:#D8A6A5}
.ps-nc.big .ps-nc-actions .btn.ps-ghost{background:transparent;color:#fff;border-color:#F4EDE3}
.ps-nc.big .ps-nc-actions .btn.ps-ghost:hover{background:#F4EDE3;color:#3A2928}
.ps-nc-small{margin:16px 0 0;font-size:.82rem;color:#6B5755;text-align:center}
@media(max-width:860px){.ps-nc-grid{grid-template-columns:1fr}.ps-nc-actions{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.ps-nc{padding:30px 22px}.ps-nc-actions{grid-template-columns:1fr}}

/* Private sessions timetable (#timetable), fed by /api/private-timetable */
.ps-tt{scroll-margin-top:90px}
.ps-tt-filters{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 26px}
.ps-tt-filters[hidden]{display:none}
.ps-tt-filters button{appearance:none;border:1px solid #D8C3B6;background:#fff;color:#3A2928;border-radius:999px;padding:9px 16px;font:800 .74rem/1 Inter,Arial,sans-serif;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:background .18s ease,color .18s ease,border-color .18s ease}
.ps-tt-filters button:hover{border-color:#505238}
.ps-tt-filters button[aria-pressed="true"]{background:#505238;border-color:#505238;color:#fff}
.ps-tt-list{display:grid;gap:30px}
.ps-tt-day h3{margin:0 0 12px;font:400 1.5rem/1.1 Georgia,"Times New Roman",serif;letter-spacing:-.02em;color:#3A2928;padding-bottom:10px;border-bottom:1px solid #E7D7C5}
.ps-tt-row{display:grid;grid-template-columns:110px minmax(0,1fr) auto max-content;gap:20px;align-items:center;padding:16px 20px;margin-top:10px;background:#fff;border:1px solid #E7D7C5;border-radius:18px;transition:box-shadow .2s ease,border-color .2s ease}
.ps-tt-row:hover{border-color:#D8C3B6;box-shadow:0 12px 30px rgba(58,41,40,.08)}
.ps-tt-time strong{display:block;font:400 1.45rem/1 Georgia,"Times New Roman",serif;color:#3A2928}
.ps-tt-time span{display:block;margin-top:5px;font-size:.78rem;color:#6B5755}
.ps-tt-kind{display:block;font-size:.68rem;font-weight:850;letter-spacing:.14em;text-transform:uppercase;color:#858869}
.ps-tt-row[data-kind="start-small"] .ps-tt-kind{color:#B7807F}
.ps-tt-info h4{margin:4px 0 2px;font-size:1.05rem;color:#3A2928}
.ps-tt-info p{margin:0;font-size:.88rem;color:#6B5755}
.ps-tt-places{display:inline-block;padding:6px 12px;border-radius:999px;background:#F4EDE3;color:#505238;font-size:.78rem;font-weight:750}
.ps-tt-places.is-full{background:#D8A6A5;color:#3A2928}
.ps-tt-actions{display:grid;grid-template-columns:repeat(2,max-content);gap:8px}
.ps-tt-actions .btn{margin-top:0;width:100%;white-space:nowrap;padding:11px 16px}
.ps-tt-actions .btn:only-child{grid-column:1/-1}
.ps-tt-empty{padding:26px 28px;border-radius:18px;background:#F4EDE3;color:#3A2928;font-size:.95rem}
.ps-tt-empty a{text-decoration:underline;font-weight:700}
.ps-tt-link{display:inline-block;margin-top:2px;text-decoration:underline;font-weight:700}
@media(max-width:1060px){.ps-tt-row{grid-template-columns:100px minmax(0,1fr) auto}.ps-tt-actions{grid-column:1/-1}}
@media(max-width:640px){.ps-tt-row{grid-template-columns:1fr auto;gap:12px;padding:16px}.ps-tt-info{grid-column:1/-1;grid-row:2}.ps-tt-status{justify-self:end}.ps-tt-actions{grid-template-columns:1fr}}

/* Small group: private induction first (12 Nov 2026) */
.ps-sg-req{margin:24px 0 0;padding:14px 18px;border-left:4px solid #D8A6A5;border-radius:12px;background:#F4EDE3;color:#3A2928;line-height:1.55}.ps-sg-req a{color:#505238;font-weight:700;text-underline-offset:3px}.ps-tt-req{display:inline-block;margin:6px 0 0;padding:3px 10px;border-radius:999px;background:#F3E2E1;color:#3A2928;font-size:.74rem;font-weight:800;letter-spacing:.02em}
