/* Services: shared package structure and a future collection placeholder. */
.invitation .service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;align-items:stretch}
.invitation .service-card{display:flex;flex-direction:column;align-items:stretch;text-align:center;padding:32px 26px;min-height:520px;border:1px solid #e2d8cd}
.invitation .service-top{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;text-align:center;gap:18px}
.invitation .service-top h3{font-family:'Times New Roman',serif;font-size:36px;font-weight:400;line-height:1.1;letter-spacing:-.025em;padding:0;margin:0;text-align:center}
.invitation .service-content{flex:1;display:flex;flex-direction:column}
.invitation .service-summary{text-align:center;font-family:'Times New Roman',serif;font-size:21px;line-height:1.4;margin-top:24px}
.invitation .service-card ul{flex:0;font-family:'Times New Roman',serif;font-size:16px;line-height:1.5;margin-top:24px;padding:18px 0 24px 20px;text-align:left;list-style:disc outside}
.invitation .service-card li{padding-left:3px;margin:10px 0;text-align:left}
.invitation .service-card li:before{content:none}
.invitation .service-card .button{margin-top:auto;min-height:48px;display:flex;align-items:center;justify-content:center;font-family:'Times New Roman',serif;font-size:16px;line-height:1.2}
/* All service request buttons match the header Inquire treatment. */
.invitation .service-card .button{background:#43272e;color:#faf6ef;border:1px solid #43272e}
.invitation .service-card .button:hover{background:#5b3540;border-color:#5b3540}
.invitation .service-card.bespoke{outline:0;box-shadow:none;background:#dfcdbf;color:#432d30}
@media(max-width:800px){.invitation .service-grid{grid-template-columns:1fr}.invitation .service-card{min-height:340px;padding:30px 26px}.invitation .service-card.signature{margin-top:0}.invitation .service-top h3{font-size:32px}}
/* Package typography: package names only. */
.invitation .service-top h3{font-family:'Figtree',sans-serif;font-size:21px;font-weight:400;font-style:normal;line-height:1.3;letter-spacing:.16em;text-transform:uppercase}
@media(max-width:800px){.invitation .service-top h3{font-size:20px}}
.public-type.invitation.services-page .service-card .service-top h3{font-family:'Figtree',sans-serif!important}

/* Match the homepage hero display typography and two-color treatment. */
.public-type.services-page #services-title,.public-type.services-page #services-title *{font-family:Italiana,Georgia,serif!important}
.public-type.services-page #services-title{font-size:clamp(38px,4.5vw,64px);font-weight:400;line-height:1.08;letter-spacing:-.045em;color:#432d30}
.public-type.services-page #services-title span{color:var(--accent)}
@media(max-width:600px){.public-type.services-page #services-title{font-size:clamp(34px,9.4vw,52px);line-height:1.11}}

/* Shared intrinsic rows align dividers without padding descriptions with text. */
.invitation .service-card .service-details{border-top:1px solid #d7c8bc;margin-top:24px}
@media(min-width:801px){
 .invitation .service-grid{grid-template-rows:auto auto 1fr auto;row-gap:0}
 .invitation .service-card{display:grid;grid-template-rows:subgrid;grid-row:1 / 5;row-gap:0}
 .invitation .service-card:nth-child(1){grid-column:1}
 .invitation .service-card:nth-child(2){grid-column:2}
 .invitation .service-card:nth-child(3){grid-column:3}
 .invitation .service-top{grid-row:1}
 .invitation .service-content{display:contents}
 .invitation .service-summary{grid-row:2}
 .invitation .service-details{grid-row:3}
 .invitation .service-card .button{grid-row:4;align-self:end}
}
@media(max-width:800px){.invitation .service-summary:empty{display:none}}

.invitation .service-grid{max-width:1170px}

/* Stronger Bespoke divider. */
.invitation .service-card.bespoke .service-details{border-top-color:#9f7b68}

/* A short opening line and balanced continuation, exact copy retained. */
.service-card .essential-opening,.service-card .essential-continuation{display:block}
.service-card .essential-continuation{text-wrap:balance}

.bespoke .service-summary{text-wrap:balance}

.signature .service-summary{text-wrap:balance}


/* Compact finishing collection beneath the package cards. */
.services-page .services{padding-bottom:40px}
.services-finishing{max-width:1170px;margin:16px auto 0;padding:26px 28px;border:1px solid #e2d8cd;background:#fffdf9;text-align:center}
.public-type.services-page .services-finishing h2{font-family:'Figtree',sans-serif!important;font-size:21px;font-weight:400;font-style:normal;line-height:1.3;letter-spacing:.16em;text-transform:uppercase}
.finishing-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr) minmax(190px,.85fr);align-items:center;column-gap:28px;row-gap:16px;text-align:left}
.services-finishing p{color:var(--muted);text-wrap:pretty}
.services-finishing .finishing-summary{font-size:20px;line-height:1.4;margin:12px 0 0;max-width:310px}
.services-finishing .finishing-offerings{display:grid;grid-template-columns:1fr 1fr;gap:12px 26px;width:100%;margin:0;padding:0 0 0 18px;border:0;list-style:disc outside;font-family:Times New Roman,serif;font-size:16px;line-height:1.5;text-align:left}
.finishing-support{margin-top:24px;padding-top:16px;border-top:1px solid #e2d8cd}
.services-finishing .finishing-invitation,.services-finishing .standalone-note{font-size:14px;font-style:italic;line-height:1.5;max-width:none}
.services-finishing .finishing-invitation{color:inherit;margin:0 auto 8px}
.services-finishing .standalone-note{margin:0 auto}

/* Match the dark package request buttons for the collection link. */
.services-finishing .button{display:flex;align-items:center;justify-content:center;justify-self:end;width:100%;max-width:260px;min-height:48px;margin:0;gap:12px;padding:14px 18px;text-align:center;white-space:nowrap;background:#43272e;color:#faf6ef;border:1px solid #43272e;font-family:'Times New Roman',serif;font-size:16px;line-height:1.2}
.services-finishing .button:hover{background:#5b3540;border-color:#5b3540}
@media(max-width:850px){.finishing-layout{grid-template-columns:1fr;text-align:center;gap:22px}.services-finishing{padding:26px 22px}.services-finishing .finishing-summary{max-width:none}.services-finishing .finishing-offerings{width:fit-content;max-width:100%;margin:auto;gap:10px 32px}.services-finishing .button{justify-self:center}}
@media(max-width:800px){.public-type.services-page .services-finishing h2{font-size:20px}}
@media(max-width:600px){.public-type.services-page .services-finishing h2{font-size:18px;letter-spacing:.13em}}

/* One warm-neutral progression, lightest to darkest across all offerings. */
.invitation.services-page .service-card.ensemble{background:#f4f0e4}
.invitation.services-page .service-card.essential{background:#f1e5db}
.invitation.services-page .service-card.signature{background:#f1e5db}
.invitation.services-page .service-card.bespoke{background:#dfcdbf}
.services-page .services-finishing{background:#cfb6a3;border-color:#bba18f;color:#432d30}
.services-page .services-finishing p{color:#432d30}
.services-page .finishing-support{border-top-color:#bba18f}
.invitation.services-page .service-top{justify-content:center;min-height:82px}
.invitation.services-page .service-card.ensemble .service-details{margin-top:24px;border-top:1px solid #d7c8bc}
@media(max-width:1100px){
 .invitation.services-page .service-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:none;row-gap:20px}
 .invitation.services-page .service-card{display:flex;grid-row:auto;grid-column:auto}
 .invitation.services-page .service-card:nth-child(n){grid-column:auto}
 .invitation.services-page .service-top{min-height:55px}
}
@media(max-width:600px){
 .invitation.services-page .service-grid{grid-template-columns:1fr}
 .invitation.services-page .service-card.ensemble{min-height:220px}
}

/* Keep the invitation beside its offerings, above the separate availability note. */
.services-finishing .finishing-layout .finishing-invitation{justify-self:center;max-width:100%;margin:0;text-align:center;font-size:16px}
@media(min-width:851px){
 .finishing-layout>.finishing-intro{grid-column:1;grid-row:1}
 .finishing-layout>.finishing-offerings{grid-column:2;grid-row:1}
 .finishing-layout>.button{grid-column:3;grid-row:1}
 .services-finishing .finishing-layout .finishing-invitation{grid-column:2;grid-row:2;width:max-content;max-width:none;white-space:nowrap}
}
