/* Commercial pricing guide: real starting figures, with scope kept clear. */
.pricing-intro { padding-top:30px; padding-bottom:75px; }
.pricing-intro .breadcrumbs { margin-bottom:44px; }
.pricing-hero { display:grid; grid-template-columns:1.1fr 1fr; align-items:center; gap:6%; }
.pricing-hero-copy { min-width:0; }
.pricing-hero .eyebrow { margin-bottom:24px; }
.pricing-hero h1 { font-size:clamp(48px,5.3vw,76px); line-height:1.04; max-width:650px; }
.pricing-lead { max-width:520px; margin:25px 0 0; font-size:14px; line-height:1.85; color:var(--card-muted,#656c68); }
.pricing-starting { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; margin:30px 0; padding:22px 0; border-block:1px solid var(--card-border,#dfe2df); }
.pricing-starting>div { min-width:0; }
.pricing-starting dt { margin-bottom:11px; font-size:10px; line-height:1.5; color:var(--card-muted,#656c68); }
.pricing-starting dd { margin:0; }
.pricing-starting dd>span { display:block; margin-bottom:3px; font-size:10px; line-height:1.5; color:var(--card-muted,#656c68); }
.pricing-starting strong { display:block; font-family:var(--font-display); font-size:clamp(28px,2.7vw,39px); font-weight:400; letter-spacing:-.045em; line-height:1.1; white-space:nowrap; }
.pricing-starting .pricing-personal { font-size:19px; line-height:1.3; white-space:normal; }
.pricing-hero-actions { display:flex; flex-wrap:wrap; align-items:center; gap:18px 25px; }
.pricing-hero-actions .button { min-height:46px; font-size:12px; }
.pricing-hero-actions .line-link { margin:0; font-size:11px; }
.pricing-fine { max-width:520px; margin:18px 0 0; color:var(--card-muted,#656c68); font-size:10px; line-height:1.75; }
.pricing-hero-photo { position:relative; width:100%; height:560px; overflow:hidden; border-radius:var(--card-radius,var(--radius-card,18px)); background:#eef0ef; }
.pricing-hero-photo>picture,.pricing-hero-photo img { display:block; width:100%; height:100%; object-fit:cover; object-position:42% center; }
.pricing-hero-photo figcaption { position:absolute; bottom:20px; left:20px; padding:7px 10px; border-radius:7px; background:#ffffffdf; color:#2a302b; font-size:8px; letter-spacing:.09em; }
.pricing-comparison,.pricing-recurring,.pricing-factors,.pricing-scope { padding-block:75px; border-top:1px solid var(--line,#dfe2df); }
.pricing-comparison { scroll-margin-top:95px; }
.pricing-section-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:35px; margin-bottom:36px; }
.pricing-section-heading>.pricing-section-heading-copy,.pricing-section-heading>div { min-width:0; }
.pricing-section-heading .eyebrow { margin-bottom:20px; }
.pricing-section-heading h2,.pricing-scope-copy h2 { font-size:clamp(37px,4.2vw,59px); line-height:1.08; max-width:650px; }
.pricing-section-heading>p { max-width:355px; margin:0; color:var(--card-muted,#656c68); font-size:13px; line-height:1.85; }
.pricing-section-heading>.line-link { flex:none; font-size:11px; }
.pricing-table-shell { overflow:hidden; border:1px solid var(--card-border,#dfe2df); border-radius:var(--card-radius,var(--radius-card,18px)); }
.pricing-table { width:100%; border-collapse:collapse; table-layout:fixed; text-align:left; }
.pricing-table th,.pricing-table td { padding:24px; border-bottom:1px solid var(--card-border,#dfe2df); vertical-align:middle; }
.pricing-table thead { background:var(--card-support-surface,#f6f7f6); }
.pricing-table thead th { font-size:12px; font-weight:500; line-height:1.65; }
.pricing-table thead th>span { display:block; margin-top:3px; color:var(--card-muted,#656c68); font-size:10px; font-weight:400; }
.pricing-table tbody th { width:25%; font-family:var(--font-display); font-size:20px; font-weight:400; line-height:1.4; letter-spacing:-.025em; }
.pricing-table tbody td { font-size:17px; line-height:1.5; white-space:nowrap; }
.pricing-table tbody tr:last-child th,.pricing-table tbody tr:last-child td { border-bottom:0; }
.pricing-cell-label { display:none; }
.pricing-table-notes { display:flex; justify-content:space-between; gap:24px; margin-top:18px; }
.pricing-table-notes p { max-width:690px; color:var(--card-muted,#656c68); font-size:10px; line-height:1.8; }
.pricing-service-links { display:flex; flex-wrap:wrap; gap:15px 28px; margin-top:25px; }
.pricing-service-links .line-link { font-size:11px; }
.pricing-discount-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); align-items:stretch; gap:var(--card-gap,28px); }
.pricing-card { min-width:0; padding:var(--card-padding,22px); border:1px solid var(--card-border,#dfe2df); border-radius:var(--card-radius,var(--radius-card,18px)); background:var(--card-surface,#fff); }
.pricing-card .pricing-card-doodle { width:38px; height:38px; margin:0 0 20px; transform:rotate(-4deg); }
.pricing-card h3 { margin:0; max-width:none; font-size:var(--card-title-size,24px); line-height:1.25; }
.pricing-card-copy { margin:14px 0 0; color:var(--card-muted,#656c68); font-size:13px; line-height:1.75; }
.pricing-discount-card .pricing-discount-value { margin:26px 0 0; font-family:var(--font-display); font-size:clamp(44px,4.2vw,61px); line-height:1; letter-spacing:-.05em; }
.pricing-discount-value>span { margin-left:5px; font-size:25px; letter-spacing:-.035em; }
.pricing-discount-card .pricing-card-copy { margin-top:12px; font-size:11px; }
.pricing-recurring-foot { display:flex; align-items:center; justify-content:space-between; gap:30px; margin-top:25px; }
.pricing-recurring-foot>p { max-width:640px; color:var(--card-muted,#656c68); font-size:11px; line-height:1.85; }
.pricing-recurring-foot>.button { flex:none; min-height:44px; font-size:11px; }
.pricing-factor-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); align-items:stretch; gap:var(--card-gap,28px); }
.pricing-factor-grid .pricing-card { background:var(--card-support-surface,#f6f7f6); }
.pricing-factor-grid h3 { font-size:var(--card-title-size,24px); }
.pricing-scope { display:grid; grid-template-columns:1fr 1fr; gap:8%; align-items:center; }
.pricing-apartment { display:flex; align-items:flex-start; gap:22px; }
.pricing-apartment>.pricing-card-doodle { flex:none; margin:0; }
.pricing-apartment>div { min-width:0; }
.pricing-apartment .eyebrow { font-size:9px; margin:0 0 15px; }
.pricing-apartment h2 { max-width:none; font-size:var(--card-title-size,24px); line-height:1.25; }
.pricing-apartment .button { width:auto; min-height:44px; margin-top:24px; font-size:11px; }
.pricing-scope-copy .eyebrow { margin-bottom:20px; }
.pricing-scope-copy>p:not(.eyebrow) { color:var(--card-muted,#656c68); font-size:13px; line-height:1.85; margin-top:24px; max-width:530px; }
.pricing-scope-copy .line-link { margin-top:24px; font-size:11px; }
.pricing-unlisted { padding:var(--card-padding,22px); font-size:14px; line-height:1.8; }
.pricing-sr-only { position:absolute!important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
@media(max-width:1100px){
 .pricing-hero { gap:5%; }
 .pricing-hero h1 { font-size:clamp(46px,5.5vw,62px); }
 .pricing-hero-photo { height:530px; }
 .pricing-starting { gap:12px; }
 .pricing-starting strong { font-size:29px; }
 .pricing-table th,.pricing-table td { padding:20px; }
 .pricing-table tbody td { font-size:15px; }
 .pricing-table tbody th { font-size:18px; }
 .pricing-factor-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .pricing-scope { gap:5%; }
 .pricing-apartment { display:block; }
 .pricing-apartment>.pricing-card-doodle { margin-bottom:20px; }
}
@media(max-width:760px){
 .pricing-intro { padding-top:25px; padding-bottom:50px; }
 .pricing-intro .breadcrumbs { margin-bottom:35px; }
 .pricing-hero { display:flex; flex-direction:column; gap:35px; align-items:stretch; }
 .pricing-hero h1 { font-size:clamp(38px,10vw,58px); line-height:1.06; }
 .pricing-hero .eyebrow { margin-bottom:20px; }
 .pricing-lead { margin-top:22px; font-size:13px; line-height:1.85; }
 .pricing-starting { gap:12px; margin:25px 0; padding:20px 0; }
 .pricing-starting dt { font-size:9px; margin-bottom:10px; }
 .pricing-starting dd>span { font-size:9px; }
 .pricing-starting strong { font-size:clamp(25px,7.4vw,35px); }
 .pricing-starting .pricing-personal { font-size:16px; }
 .pricing-hero-actions { align-items:flex-start; flex-direction:column; gap:19px; }
 .pricing-hero-actions .button { min-height:46px; font-size:11px; width:auto; }
 .pricing-fine { font-size:10px; }
 .pricing-hero-photo { height:auto; aspect-ratio:3/2; border-radius:var(--card-radius,var(--radius-card,16px)); }
 .pricing-hero-photo figcaption { left:14px; bottom:14px; font-size:7px; }
 .pricing-comparison,.pricing-recurring,.pricing-factors,.pricing-scope { padding-block:50px; }
 .pricing-comparison { scroll-margin-top:85px; }
 .pricing-section-heading { display:block; margin-bottom:28px; }
 .pricing-section-heading h2,.pricing-scope-copy h2 { font-size:clamp(34px,9vw,45px); line-height:1.1; }
 .pricing-section-heading .eyebrow { margin-bottom:18px; }
 .pricing-section-heading>p { margin-top:24px; max-width:none; font-size:12px; line-height:1.85; }
 .pricing-section-heading>.line-link { margin-top:24px; }
 .pricing-table-shell { border:0; border-radius:0; overflow:visible; }
 .pricing-table,.pricing-table tbody { display:block; width:100%; }
 .pricing-table thead { position:absolute!important; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; }
 .pricing-table tbody { display:grid; gap:16px; }
 .pricing-table tbody tr { display:block; overflow:hidden; border:1px solid var(--card-border,#dfe2df); border-radius:var(--card-radius,var(--radius-card,16px)); }
 .pricing-table tbody th { display:block; width:100%; padding:18px 20px; font-size:21px; background:var(--card-support-surface,#f6f7f6); border-bottom:1px solid var(--card-border,#dfe2df); }
 .pricing-table tbody td { display:flex; align-items:baseline; justify-content:space-between; gap:12px; padding:15px 20px; font-size:15px; border-bottom:1px solid var(--card-border,#dfe2df); }
 .pricing-table tbody tr:last-child th,.pricing-table tbody tr:last-child td { border-bottom:1px solid var(--card-border,#dfe2df); }
 .pricing-table tbody tr td:last-child { border-bottom:0; }
 .pricing-cell-label { display:block; min-width:0; color:var(--card-muted,#656c68); font-size:11px; line-height:1.7; white-space:normal; }
 .pricing-cell-value { flex:none; white-space:nowrap; }
 .pricing-table-notes { display:block; margin-top:18px; }
 .pricing-table-notes p { font-size:10px; margin-bottom:10px; }
 .pricing-service-links { gap:15px 22px; margin-top:22px; }
 .pricing-discount-grid { grid-template-columns:minmax(0,1fr); gap:16px; }
 .pricing-discount-card { position:relative; padding-right:74px; }
 .pricing-discount-card .pricing-card-doodle { position:absolute; top:20px; right:20px; width:32px; height:32px; margin:0; }
 .pricing-discount-card h3 { font-size:23px; }
 .pricing-discount-card .pricing-discount-value { margin-top:22px; font-size:48px; }
 .pricing-discount-value>span { font-size:23px; }
 .pricing-recurring-foot { display:block; margin-top:22px; }
 .pricing-recurring-foot>p { font-size:11px; }
 .pricing-recurring-foot>.button { margin-top:22px; width:auto; }
 .pricing-factor-grid { grid-template-columns:minmax(0,1fr); gap:16px; }
 .pricing-card .pricing-card-doodle { width:34px; height:34px; margin-bottom:18px; }
 .pricing-factor-grid h3 { font-size:23px; }
 .pricing-card-copy { font-size:13px; }
 .pricing-scope { display:block; }
 .pricing-apartment { display:block; }
 .pricing-apartment .eyebrow { font-size:8px; }
 .pricing-apartment h2 { font-size:23px; }
 .pricing-apartment .button { width:100%; font-size:10px; }
 .pricing-scope-copy { margin-top:45px; }
 .pricing-scope-copy>p:not(.eyebrow) { font-size:12px; }
 .pricing-faq { padding-block:50px; }
 .pricing-faq h2 { font-size:38px; }
}
@media(max-width:350px){
 .pricing-table tbody td { padding-inline:17px; gap:8px; }
 .pricing-table tbody th { padding-inline:17px; }
 .pricing-cell-label { font-size:10px; }
 .pricing-cell-value { font-size:14px; }
}

.pricing-confirmation { margin-top:14px; max-width:800px; color:var(--card-muted,#656c68); font-size:11px; line-height:1.8; }
.service-intro-grid .service-pricing-link { display:table; width:max-content; max-width:100%; margin-top:16px; font-size:12px; }
