/* Reference-inspired pricing layout, scoped to the price page only. */
.price-team { padding:25px 0 90px; background:white; }
.price-team>.container { max-width:1320px; }
.price-team-heading { text-align:center; margin-bottom:60px; }
.price-team-heading>span { color:#c65d38; font-size:.76rem; letter-spacing:.08em; }
.price-team-heading h2 { font-family:Georgia,'Playfair Display',serif; font-weight:400; font-size:clamp(2rem,3.4vw,3.5rem); letter-spacing:-.04em; line-height:1.2; margin:20px 0 0; color:#25241f; }
.price-team-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:30px; }
.price-team-card { min-width:0; background:#f8f3ec; border-radius:22px; padding:30px; display:flex; flex-direction:column; }
.price-team-card h3 { font-family:Georgia,'Playfair Display',serif; font-size:1.55rem; font-weight:400; letter-spacing:-.04em; line-height:1.3; color:#25241f; margin:0 0 6px; }
.price-team-role { color:#c65d38; font-size:.88rem; line-height:1.6; margin:0 0 30px; }
.price-team-photo { display:block; width:100%; height:auto; aspect-ratio:2 / 3; object-fit:cover; object-position:center 25%; border-radius:16px; margin-top:auto; }
.price-team-initial { display:grid; place-items:center; background:linear-gradient(135deg,#eadfcd,#d9c8aa); font:5rem Georgia,serif; color:#816b43; }
.price-team-card-footer { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:15px; padding-top:28px; }
.price-team-card-footer>span { color:#827568; font-size:.72rem; max-width:120px; line-height:1.6; }
.price-team-card-footer .prices-book { padding:10px 22px; }
.price-team-all { display:flex; justify-content:center; margin-top:50px; }
.price-team-all .prices-book { color:white; background:linear-gradient(110deg,#d87b36,#cb4f64); border-color:transparent; }
.price-team-empty { text-align:center; color:#625a50; line-height:1.8; }
@media(max-width:991.98px) { .price-team-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; } .price-team-card { padding:24px; } }
@media(max-width:575.98px) { .price-team { padding:15px 0 55px; } .price-team-grid { grid-template-columns:1fr; } .price-team-heading { margin-bottom:35px; } .price-team-card { padding:25px; } .price-team-all { margin-top:30px; } }
.prices-page { background:#fff; color:#25241f; }
.prices-hero { position:relative; isolation:isolate; display:grid; place-items:center; min-height:510px; margin:28px 30px 0; border-radius:22px; overflow:hidden; padding:70px 24px; text-align:center; color:white; background:linear-gradient(#20191160,#20191170),url('/images/spa/hero-showcase.webp') center 48%/cover; }
.prices-hero .container { max-width:850px; }
.prices-eyebrow { display:block; font-size:.72rem; letter-spacing:.18em; margin-bottom:22px; color:#f9ecda; }
.prices-hero h1 { font-family:Georgia,'Playfair Display',serif; font-size:clamp(2.5rem,4.5vw,4.5rem); line-height:1.12; font-weight:400; letter-spacing:-.035em; margin-bottom:30px; color:#fff; }
.prices-hero h1 em { font-style:normal; font-weight:400; }
.prices-hero p { max-width:680px; margin:0 auto; font-size:1rem; line-height:1.8; color:#fff; }
.prices-section { padding:65px 0 90px; }
.prices-section>.container { max-width:1320px; }
.prices-page .wellness-notice { max-width:1050px; margin:0 auto 55px; border:0; background:#f8f3ec; border-radius:16px; color:#625a50; text-align:center; padding:22px 30px; }
.prices-category { font-family:Georgia,'Playfair Display',serif; text-align:center; font-weight:400; font-size:clamp(2rem,3vw,3.2rem); line-height:1.25; margin:65px 0 38px; letter-spacing:-.035em; color:#25241f; }
.prices-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:30px; }
.prices-card { display:flex; flex-direction:column; min-width:0; border-radius:22px; padding:20px; background:#f8f3ec; }
.prices-card-image { display:block; overflow:hidden; border-radius:20px; }
.prices-card-image img { width:100%; height:auto; aspect-ratio:1.5; object-fit:cover; display:block; transition:transform .35s ease; }
.prices-card-image:hover img { transform:scale(1.025); }
.prices-card-content { flex:1; display:flex; flex-direction:column; padding-top:14px; }
.prices-card h3 { font-family:Georgia,'Playfair Display',serif; font-size:1.75rem; line-height:1.2; font-weight:400; letter-spacing:-.04em; margin:0 0 24px; }
.prices-card h3 a { color:#25241f; text-decoration:none; }
.prices-card h3 a:hover { text-decoration:underline; text-underline-offset:4px; }
.prices-description { color:#514a42; font-size:.94rem; line-height:1.75; margin:0 0 28px; }
.prices-options { list-style:none; padding:0; margin:auto 0 20px; }
.prices-options li { padding:10px 0; line-height:1.6; font-size:.85rem; color:#3d3731; overflow-wrap:anywhere; border-bottom:1px solid #e9e0d5; }
.prices-options li:last-child { border-bottom:0; }
.prices-card-bottom { margin-top:auto; }
.prices-current { display:flex; align-items:center; gap:14px; margin-bottom:20px; }
.prices-current strong { font-size:1.15rem; font-weight:500; color:#25241f; }
.prices-current del { font-size:.9rem; color:#766b60; }
.prices-book { display:inline-flex; align-items:center; justify-content:center; gap:18px; min-height:50px; padding:11px 25px; color:#25241f; background:transparent; border:1.5px solid #25241f; border-radius:32px; text-decoration:none; font-size:.88rem; transition:background .2s,color .2s; }
.prices-book:hover,.prices-book:focus-visible { background:linear-gradient(110deg,#cb7a38,#c94d62); color:white; border-color:#75432e; }
@media(max-width:991.98px) { .prices-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; } .prices-hero { min-height:420px; margin:20px 20px 0; } }
@media(max-width:575.98px) { .prices-grid { grid-template-columns:1fr; gap:24px; } .prices-hero { min-height:360px; margin:12px 12px 0; padding:45px 16px; border-radius:18px; } .prices-hero h1 { font-size:2.6rem; } .prices-hero p { font-size:.9rem; } .prices-section { padding:35px 0 55px; } .prices-category { margin:40px 0 25px; } .prices-page .wellness-notice { margin-bottom:35px; padding:20px; text-align:left; } .prices-card { padding:18px; } }

