/* Services only: five introductions and public starting prices.
   The approved fonts now have distinct title, duration, session and price roles. */
.theme-content .care-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 16px;align-items:stretch}
.theme-content .care-card{min-width:0;border:1px solid var(--rule);border-radius:16px;background:var(--card);overflow:hidden}
.theme-content .care-link{display:flex;flex-direction:column;height:100%;color:inherit;text-decoration:none;border-radius:15px}
.theme-content .care-link:focus-visible{outline-offset:-5px}
.theme-content .care-card:hover{border-color:var(--dark-gold)}
.theme-content .care-media{width:100%;aspect-ratio:2/3;background:#eee9df;display:flex;align-items:center;justify-content:center;border-bottom:1px solid #e0d6c1}
.theme-content .care-media img{width:100%;height:100%;object-fit:cover}
.theme-content .care-image-pending{padding:18px;text-align:center;color:#666452;font-size:.875rem;line-height:1.5}
.theme-content .care-image-pending>span{display:block;font-size:.75rem;margin-top:6px}
.theme-content .care-information{display:flex;flex-direction:column;flex:1;padding:22px 12px 18px}
.theme-content .care-information h3{display:flex;align-items:center;justify-content:center;min-height:3.6em;margin:0;font:600 1.3rem/1.2 'Playfair Display',Georgia,serif;letter-spacing:-.02em;text-align:center;text-wrap:balance}
.theme-content .care-session{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;column-gap:10px;row-gap:5px;margin:18px 0 24px;color:var(--dark-gold)}
.theme-content .care-duration{display:inline-flex;align-items:baseline;gap:4px;white-space:nowrap}
.theme-content .care-duration strong{font:600 1.85rem/1 'Playfair Display',Georgia,serif;font-variant-numeric:lining-nums tabular-nums}
.theme-content .care-duration>span{font-size:.875rem}
.theme-content .care-session-kind{font-size:.8125rem;line-height:1.4;letter-spacing:.025em}
/* Approved card typography: option A on tablet/desktop, an intentional centred
   second line on phones. Keep the grid, numeral faces and detail pages unchanged. */
.theme-content .care-card .care-session{flex-direction:column;align-items:center;flex-wrap:nowrap;gap:7px}
.theme-content .care-card .care-session-kind{font-size:.875rem;line-height:1.3;letter-spacing:0;text-transform:uppercase;white-space:nowrap}
@media(min-width:760px){
 .theme-content .care-card .care-session{flex-direction:row;align-items:baseline;column-gap:6px;margin-inline:-8px}
 .theme-content .care-card .care-session-kind::before{content:'\00b7';margin-right:6px}
}
@media(min-width:980px){.theme-content .care-card .care-session-kind{font-size:.9375rem}}
.theme-content .care-card-foot{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:auto}
.theme-content .care-start{display:block}
.theme-content .care-from{display:block;margin-bottom:3px;color:var(--body);font-size:.75rem;line-height:1.3}
.theme-content .care-start .price{font-size:1rem;white-space:nowrap}
.theme-content .care-arrow-circle{display:flex;align-items:center;justify-content:center;width:40px;height:40px;flex:0 0 40px;border-radius:50%;background:#eee8d8;color:var(--ink)}
.theme-content .care-arrow{position:relative;width:15px;height:1.5px;background:currentColor}
.theme-content .care-arrow::after{content:'';position:absolute;right:0;top:-3.5px;width:7px;height:7px;border-top:1.5px solid currentColor;border-right:1.5px solid currentColor;transform:rotate(45deg)}
.theme-content .care-link:hover .care-arrow-circle,.theme-content .care-link:focus-visible .care-arrow-circle{background:var(--ink);color:var(--card)}
.theme-content .care-link:active .care-arrow-circle{transform:scale(.96)}
.theme-content .care-view-label{font-size:.8125rem;font-weight:700;line-height:1.5;text-align:right;color:var(--dark-gold);margin-top:9px}
.theme-content .care-member-note{font-size:1rem;font-weight:700;margin-top:28px}
.theme-content .care-section>.note{max-width:75ch;margin-top:10px}
.theme-content .care-section{scroll-margin-top:110px}
.theme-content .service-back{margin-bottom:25px}
.theme-content .service-introduction{display:grid;gap:30px;align-items:start}
.theme-content .service-detail-media{aspect-ratio:4/5;width:100%;max-height:560px;border:1px solid var(--rule);border-radius:16px;background:#eee9df;display:flex;align-items:center;justify-content:center;color:#666452;text-align:center;font-size:1rem}
.theme-content .service-detail-media>span>span{display:block;font-size:.8125rem;margin-top:6px}
.theme-content .service-detail-copy h2{font-size:2rem}
.theme-content .service-description{margin-top:17px;max-width:62ch;font-size:1rem;line-height:1.8}
.theme-content .service-starting-session{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px;margin-top:28px;padding-block:23px;border-block:1px solid #dfd4bd}
.theme-content .care-session-large{margin:0;justify-content:start}
.theme-content .care-session-large .care-duration strong{font-size:2.3rem}
.theme-content .service-starting-price>span{display:block;font-size:.8125rem}
.theme-content .service-starting-price>strong{display:block;font-size:1.35rem;color:var(--ink);font-variant-numeric:tabular-nums}
.theme-content .service-starting-note{margin-top:9px;font-size:.8125rem}
.theme-content .service-member-access{margin-top:30px;padding:25px 22px;border:1px solid var(--rule);border-radius:16px;background:var(--caption)}
.theme-content .service-member-access h2{font-size:1.8rem}
.theme-content .service-member-access>p{margin-top:13px}
.theme-content .member-price-login{margin-top:22px;max-width:100%;padding-inline:20px;text-align:center;font-size:.9375rem}
.theme-content .service-register{font-size:.875rem;line-height:1.6}
.theme-content .service-register a{font-weight:700;text-decoration:underline}
.theme-content .service-member-access .note{font-size:.75rem;line-height:1.6}
.theme-content .service-draft-note{margin-top:28px}
@media(min-width:760px){
 .theme-content .care-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:36px 24px}
 .theme-content .care-information{padding:26px 18px 20px}
 .theme-content .care-information h3{font-size:1.55rem}
 .theme-content .care-duration strong{font-size:2rem}
 .theme-content .care-start .price{font-size:1.125rem}
 .theme-content .service-introduction{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:38px}
 .theme-content .service-detail-media{position:sticky;top:115px}
}
@media(min-width:1100px){.theme-content .care-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.theme-content .service-introduction{gap:55px}}
@media(max-width:359px){.theme-content .care-grid{grid-template-columns:minmax(0,1fr)}.theme-content .care-information{padding:24px 20px 20px}.theme-content .care-information h3{min-height:2.4em}.theme-content .member-price-login{font-size:.875rem}}
