/* Distinct service rows, an open care journey, a lead story and a wine video band. */
.service-card .card-body p,.home-services .service-card .card-body p { max-height:none; height:auto; flex:1 0 auto; }
.home-services { background:#fff; padding-block:76px 54px; }
.home-services .services-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.home-services .service-card { border-radius:18px; box-shadow:none; }
.home-services .service-card>a { display:grid; grid-template-columns:38% minmax(0,1fr); height:100%; align-items:stretch; }
.home-services .service-card .service-art { aspect-ratio:auto; align-self:stretch; display:grid; place-items:center; background:#faf6f7; }
.home-services .service-card .service-art img { aspect-ratio:3/2; height:auto; object-fit:contain; }
.home-services .service-card .service-number { top:10px; inset-inline-start:10px; width:28px; height:28px; font-size:.7rem; box-shadow:none; }
.home-services .service-card .card-body { padding:20px; }
.home-services .service-card .card-body h3 { min-height:0; margin:0 0 8px; font-size:1.08rem; line-height:1.8; }
.home-services .service-card .card-body p { font-size:.86rem; line-height:1.95; margin:0 0 14px; }
.home-services .service-card .text-link { font-size:.78rem; }
.home-services .service-card:hover { border-color:#bc7a8b; box-shadow:0 8px 24px #642b3b09; }
.care-journey { padding-block:38px 58px; border-bottom:1px solid #eee2e6; }
.care-journey-intro { text-align:center; margin-bottom:32px; }
.care-journey h2 { font-size:clamp(1.45rem,2.1vw,2rem); }
.care-journey ol { list-style:none; padding:0; margin:0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:36px; }
.care-journey li { display:flex; align-items:flex-start; gap:16px; min-width:0; }
.care-journey li>span { color:#ad6177; font-size:2rem; font-weight:400; line-height:1.2; padding-top:4px; font-variant-numeric:tabular-nums; }
.care-journey h3 { margin:0; font-size:1.04rem; }
.care-journey p { color:#705b62; margin:8px 0 10px; font-size:.9rem; line-height:1.9; }
.care-journey a { color:#922b42; font-size:.82rem; text-underline-offset:5px; text-decoration:underline; }
.home-guides .article-grid { display:grid; grid-template-columns:1.05fr 1fr; grid-template-rows:repeat(4,auto); gap:0 36px; align-items:stretch; }
.home-guides .article-card { border:0; border-radius:0; box-shadow:none; background:transparent; min-width:0; }
.home-guides .article-card:first-child { grid-row:span 4; border-inline-end:1px solid #ecdee3; padding-inline-end:36px; }
.home-guides .article-card:first-child .article-card__media { border-radius:20px; overflow:hidden; }
.home-guides .article-card:first-child .article-card__body { padding:24px 0 0; }
.home-guides .article-card:first-child h3 { font-size:1.55rem; line-height:1.8; }
.home-guides .article-card:first-child p { font-size:1rem; }
.home-guides .article-card:not(:first-child) { padding-block:16px; border-bottom:1px solid #ecdee3; }
.home-guides .article-card:not(:first-child)>a { display:grid; grid-template-columns:132px minmax(0,1fr); gap:20px; align-items:center; height:100%; }
.home-guides .article-card:not(:first-child) .article-card__media { aspect-ratio:3/2; border-radius:12px; overflow:hidden; }
.home-guides .article-card:not(:first-child) .article-card__media img { height:100%; width:100%; object-fit:contain; }
.home-guides .article-card:not(:first-child) .article-card__media>span { display:none; }
.home-guides .article-card:not(:first-child) .article-card__body { padding:0; }
.home-guides .article-card:not(:first-child) h3 { font-size:.99rem; line-height:1.9; margin:0; }
.home-guides .article-card:not(:first-child) .article-card__body>p { display:none; }
.home-guides .article-card__footer { border:0; margin-top:12px; padding:0; font-size:.8rem; }
.home-videos { background:radial-gradient(ellipse at 0 100%,#93384f,transparent 65%),#4b1d2b; position:relative; }
.home-videos .section-title h2 { color:#fff; }
.home-videos .section-title .eyebrow { color:#efb9c8; background:transparent; }
.home-videos .section-title>.text-link { color:#fff; border-color:#aa7484; }
.home-videos .video-card { background:#fffafc; border:0; box-shadow:none; border-radius:18px; }
.home-videos .video-card .article-card__body { padding:22px; }
.home-videos .video-card h3 { font-size:1.05rem; }
.home-tools--compact { padding-block:40px; }
.office-map { min-width:0; border:1px solid #e7d1da; border-radius:24px; overflow:hidden; align-self:start; background:#fff; }
.office-map__preview { display:block; color:inherit; text-decoration:none; background:#fff; }
.office-map__snapshot { display:block; width:100%; height:auto; aspect-ratio:4/3; object-fit:contain; border:0; }
.office-map__caption { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:20px 24px 8px; }
.office-map__caption span { color:#795361; font-size:.8rem; }
.office-map__caption h3 { color:#542133; margin:6px 0; font-size:1.25rem; }
.office-map__caption .office-map__go { border-radius:50%; width:44px; height:44px; display:grid; place-items:center; flex:none; background:#f6e8ed; color:#932c47; font-size:1.35rem; }
.office-map__cta { display:block; padding:0 24px 22px; font-size:.85rem; color:#8a2440; }
.office-map__preview:hover .office-map__go { background:#84223e; color:white; }
.office-map__preview:focus-visible { outline:3px solid #84223e; outline-offset:-4px; }
.office-map__address { padding:28px 32px; background:radial-gradient(ellipse at 100% 0,#f1d5df70,transparent 70%),#fffafa; }
.office-map__address svg { width:60px; height:60px; fill:none; stroke:#9a3853; stroke-width:1.6; margin-bottom:18px; }
.office-map__address>span { display:block; color:#865466; font-size:.8rem; }
.office-map__address h3 { margin:6px 0 12px; font-size:1.45rem; color:#542133; }
.office-map__address p { font-size:.9rem; color:#69525c; line-height:2; margin-bottom:20px; }
.office-map__address .text-link { color:#922b42; }
.office-map__embed { border-top:1px solid #eddee4; }
.office-map__embed summary { cursor:pointer; padding:17px 24px; min-height:52px; font-size:.87rem; color:#63273b; font-weight:700; }
.office-map__embed summary span { float:inline-end; }
.office-map__embed[open] summary span { transform:rotate(45deg); }
.office-map__help { margin:0; padding:0 24px 16px; line-height:1.9; color:#705960; font-size:.79rem; }
.office-map__embed iframe { display:block; width:100%; height:360px; border:0; background:#f6f1f3; }
.office-map__embed summary:focus-visible { outline:3px solid #922b42; outline-offset:-4px; }
.home-location-grid { align-items:center; }
@media(min-width:901px) { .home-location-grid { grid-template-columns:1fr 1fr; } }
.article-heading--editorial { max-width:980px; padding-block:40px 20px; }
.article-heading--editorial h1 { font-size:clamp(1.7rem,3vw,2.55rem); text-wrap:balance; }
.article-heading--editorial .lead { max-width:790px; margin-inline:auto; color:#705b62; line-height:2; }
.article-heading--editorial .article-visual { max-width:820px; margin:24px auto 0; background:#faf7f8; overflow:hidden; }
.article-heading--editorial .article-cover { max-height:460px; width:100%; object-fit:contain; }
.reading-layout--editorial { max-width:1080px; gap:48px; align-items:start; padding-top:32px; }
.reading-layout--editorial .reading-nav { border-radius:18px; background:#fffafb; border:1px solid #ecdee3; padding:20px; }
.reading-layout--editorial .reading-author { padding-bottom:16px; border-bottom:1px solid #eedfe5; margin-bottom:16px; }
.reading-layout--editorial .reading-nav summary { min-height:44px; cursor:pointer; color:#6e2940; font-weight:700; }
.reading-layout--editorial .reading-nav nav { max-height:52vh; overflow-y:auto; overscroll-behavior:contain; padding-inline-end:8px; scrollbar-width:thin; }
.reading-layout--editorial .reading-nav nav a { font-size:.82rem; padding-block:9px; line-height:1.9; }
.prose--encyclopedia { color:#483b41; font-size:1.04rem; line-height:2.2; min-width:0; }
.prose--encyclopedia h2 { border-inline-start:3px solid #a64c64; padding-inline-start:18px; margin-top:46px; color:#562238; font-size:1.5rem; }
.prose--encyclopedia h3 { color:#652b40; font-size:1.2rem; line-height:1.9; margin-top:30px; }
.prose--encyclopedia p { margin-block:16px; }
.prose--encyclopedia a:not(.button) { color:#8a2440; text-decoration:underline; text-decoration-color:#c3879a; text-underline-offset:5px; overflow-wrap:anywhere; }
.prose--encyclopedia figure { margin:32px 0; overflow:hidden; border-radius:18px; background:#faf5f7; }
.prose--encyclopedia figure img { max-height:420px; width:100%; height:auto; object-fit:contain; }
.prose--encyclopedia .sources { border:1px solid #ecdee3; background:#fffafb; border-radius:16px; padding:24px; margin-block:36px; }
.prose--encyclopedia .sources h2 { margin-top:0; }
@media(min-width:901px) { .reading-layout--editorial { grid-template-columns:260px minmax(0,1fr); } }
@media(max-width:900px) {
 .home-services .service-card>a { grid-template-columns:1fr; }
 .home-services .service-card .service-art { aspect-ratio:3/2; }
 .home-guides .article-grid { gap:0 24px; }
 .home-guides .article-card:first-child { padding-inline-end:24px; }
 .home-guides .article-card:not(:first-child)>a { grid-template-columns:100px minmax(0,1fr); gap:12px; }
 .reading-layout--editorial { display:flex; flex-direction:column; gap:28px; }
 .reading-layout--editorial .reading-nav { position:static; width:100%; }
 .reading-layout--editorial .reading-nav>.button { display:none; }
 .reading-layout--editorial .reading-author { display:none; }
 .reading-layout--editorial .reading-nav summary { min-height:0; }
 .reading-layout--editorial .reading-nav nav { max-height:45vh; }
 .care-journey ol { gap:20px; }
 .care-journey li { flex-direction:column; gap:8px; }
}
@media(max-width:640px) {
 .home-services { padding-block:44px 24px; }
 .home-services .services-grid { grid-template-columns:1fr; gap:12px; }
 /* Give service artwork its own full-width row instead of a tiny side column. */
 .home-services .service-card>a { grid-template-columns:minmax(0,1fr); }
 .home-services .service-card .service-art { aspect-ratio:3/2; width:100%; max-height:240px; overflow:hidden; }
 .home-services .service-card .service-art img { width:100%; height:100%; aspect-ratio:auto; object-fit:contain; object-position:center; }
 .home-services .service-card .service-number { width:34px; height:34px; font-size:.78rem; }
 .home-services .service-card .card-body { padding:16px; }
 .home-services .service-card .card-body h3 { font-size:.98rem; }
 .home-services .service-card .card-body p { font-size:.8rem; }
 .care-journey { padding-block:26px 38px; }
 .care-journey-intro { text-align:start; margin-bottom:24px; }
 .care-journey ol { grid-template-columns:1fr; gap:24px; }
 .care-journey li { flex-direction:row; gap:18px; }
 .care-journey li>span { min-width:40px; }
 .home-guides .article-grid { grid-template-columns:1fr; gap:0; }
 .home-guides .article-card:first-child { grid-row:auto; padding:0 0 24px; border-inline-end:0; border-bottom:1px solid #ecdee3; }
 .home-guides .article-card:first-child h3 { font-size:1.3rem; }
 .home-guides .article-card:not(:first-child)>a { grid-template-columns:105px minmax(0,1fr); gap:16px; }
 .home-guides .article-card:not(:first-child) h3 { font-size:.93rem; }
 .home-videos .video-card .article-card__body { padding:18px; }
 .office-map__address { padding:24px; }
 .article-heading--editorial { padding-top:26px; }
 .article-heading--editorial .article-cover { max-height:340px; }
 .reading-layout--editorial { padding-top:20px; }
 .prose--encyclopedia { font-size:1rem; }
 .prose--encyclopedia h2 { font-size:1.32rem; margin-top:34px; }
 .prose--encyclopedia .sources { padding:18px; }
}
@media(prefers-reduced-motion:no-preference) { .care-journey li>span { transition:color .2s ease; } .care-journey li:hover>span { color:#7c2039; } }
