/* Service pages: aligned content rows without fixed title heights or stretched word spacing. */
.service-detail-page main{--offer-gap:20px}
.service-detail-page .header-inner{flex-wrap:wrap;row-gap:0}
.service-detail-page .header-inner>.brand{flex-shrink:0;max-width:calc(100% - 64px)}
@media(min-width:971px){.service-detail-page .main-nav{max-width:100%}.service-detail-page .nav-list{flex-wrap:wrap}}
.service-detail-page .hero-compact h1{max-width:22ch}
.service-detail-page .section-head h2{max-width:none}
.service-detail-page main h1,
.service-detail-page main h2,
.service-detail-page main h3{hyphens:none;overflow-wrap:break-word;word-break:normal}
.service-detail-page main h2{letter-spacing:-.02em;line-height:1.24}
.service-detail-page main h3{letter-spacing:-.012em;font-weight:750;line-height:1.35;text-wrap:pretty;text-align:left}
.service-detail-page main .offer-copy{color:var(--ink-soft);text-align:justify;hyphens:auto;line-height:1.7}
.service-detail-page main .offer-card p,
.service-detail-page main .offer-photo-copy p,
.service-detail-page main .offer-panel p,
.service-detail-page main .offer-process p,
.service-detail-page main .offer-checklist p{color:var(--ink-soft);text-align:left;hyphens:none;line-height:1.65;text-wrap:pretty}
.service-detail-page .offer-copy:last-child,
.service-detail-page .offer-panel p:last-child{margin-bottom:0}
.service-detail-page .service-catalog,
.service-detail-page .business-catalog,
.service-detail-page .offer-photo-grid,
.service-detail-page .offer-two-col,
.service-detail-page .offer-process{display:grid;gap:var(--offer-gap);align-items:stretch}
.service-detail-page .service-catalog{grid-template-columns:repeat(3,minmax(0,1fr))}
.service-detail-page .business-catalog,
.service-detail-page .offer-two-col{grid-template-columns:repeat(2,minmax(0,1fr))}
.service-detail-page .offer-card,
.service-detail-page .offer-panel{min-width:0;background:#fff;border:1px solid var(--line);border-radius:16px;padding:clamp(22px,2.2vw,28px)}
.service-detail-page .offer-card{display:flex;flex-direction:column;gap:12px}
.service-detail-page .offer-card h3{margin:0;max-width:none;font-size:1.2rem;line-height:1.35}
.service-detail-page .card-kicker{line-height:1.45;letter-spacing:.07em;font-weight:750}
.service-detail-page .business-catalog .offer-card h3{min-height:0}
.service-detail-page .offer-card p{margin:0 0 5px}
.service-detail-page .offer-card .more{margin-top:auto;padding-top:6px;align-self:flex-start}
.service-detail-page .more{color:var(--accent-deep);font-size:.9rem;font-weight:750;line-height:1.5;text-decoration:underline;text-underline-offset:4px}
.service-detail-page .more:hover{color:var(--ink)}
.service-detail-page .offer-panel h3{max-width:none;margin:0 0 12px;font-size:1.2rem}
.service-detail-page .offer-panel p{margin:0 0 14px}
.service-detail-page .offer-panel ul{padding-left:20px;margin:14px 0 0;color:var(--ink-soft)}
.service-detail-page .offer-panel li+li{margin-top:8px}
.service-detail-page .offer-photo-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.service-detail-page .offer-photo-card{min-width:0;margin:0;overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:16px;display:flex;flex-direction:column}
.service-detail-page .offer-photo-card>img{width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;object-position:center}
.service-detail-page .offer-photo-copy{padding:22px;flex:1}
.service-detail-page .offer-photo-copy h3{margin:0 0 12px;font-size:1.18rem}
.service-detail-page .offer-photo-copy p{margin:0;font-size:.96rem}
.service-detail-page .offer-note{padding:18px 22px;margin-top:20px;border-left:3px solid var(--accent);background:#f3f6f7;border-radius:0 12px 12px 0}
.service-detail-page .offer-note p{margin:0;color:var(--ink-soft)}
.service-detail-page .offer-checklist{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 32px;list-style:none;padding:0;margin:0}
.service-detail-page .offer-checklist li{padding:0 0 18px;border-bottom:1px solid var(--line);min-width:0}
.service-detail-page .offer-checklist h3{margin:0 0 10px;font-size:1.16rem}
.service-detail-page .offer-checklist p{margin:0}
.service-detail-page .offer-process{grid-template-columns:repeat(3,minmax(0,1fr));list-style:none;padding:0;margin:0}
.service-detail-page .offer-process li{min-width:0;border-top:2px solid var(--accent);padding-top:16px}
.service-detail-page .offer-process h3{margin-bottom:10px}
.service-detail-page .offer-process p{margin:0}
.service-detail-page .offer-related{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px 32px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:16px;padding:clamp(22px,2.6vw,30px)}
.service-detail-page .offer-related h2{font-size:clamp(1.35rem,2vw,1.65rem);max-width:none;margin:0 0 10px}
.service-detail-page .offer-related p{margin:0;color:var(--ink-soft)}
.service-detail-page .offer-related .card-kicker{display:block;margin-bottom:9px}
.service-detail-page .offer-related .btn{justify-self:start}
.service-detail-page .offer-links{display:flex;flex-wrap:wrap;gap:10px 24px;margin-top:18px}
.service-detail-page .offer-map{display:block;width:100%;height:300px;border:0;border-radius:14px;margin-top:22px;background:#e5ecee}
.service-detail-page .offer-photo-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.service-detail-page .offer-photo-pair figure{margin:0;min-width:0;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#fff}
.service-detail-page .offer-photo-pair img{width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;object-position:center 44%}
.service-detail-page .offer-photo-pair figcaption{padding:14px 18px;color:var(--ink-soft);font-size:.9rem;line-height:1.5}
.service-detail-page .offer-contact h2{max-width:26ch}
.service-detail-page .contact-panel>div{min-width:0}
.local-detail-page .hero-inner{grid-template-columns:minmax(0,1fr)}
.local-detail-page .hero-compact h1{max-width:none}
.local-detail-page .hero-copy .lead{max-width:78ch}
.local-detail-page .hero-compact{padding-block:clamp(30px,4.5vw,56px)}
.local-detail-page .section-head:has(>h2:only-child){margin-bottom:22px}
.local-detail-page .local-return{display:flex;flex-wrap:wrap;gap:12px 28px;margin-top:24px}
/* The tallest real title sets its row. No padding with empty lines or clipped copy. */
@supports(grid-template-rows:subgrid){
  .service-detail-page .service-catalog>.offer-card{display:grid;grid-template-rows:subgrid;grid-row:span 4;row-gap:12px}
  .service-detail-page .business-catalog>.offer-card{display:grid;grid-template-rows:subgrid;grid-row:span 3;row-gap:12px}
  .service-detail-page .offer-card .more{margin-top:0;align-self:end}
  .service-detail-page .offer-card p{margin-bottom:0}
  .service-detail-page .offer-two-col>.offer-panel{display:grid;grid-template-rows:subgrid;grid-row:span 2;row-gap:12px;align-content:start}
  .service-detail-page .offer-two-col>.offer-panel:has(>p+p){grid-row:span 3}
  .service-detail-page .offer-panel>h3,
  .service-detail-page .offer-panel>p{margin:0}
  .service-detail-page .offer-checklist>li{display:grid;grid-template-rows:subgrid;grid-row:span 2;row-gap:10px}
  .service-detail-page .offer-checklist h3{margin:0}
  .service-detail-page .offer-process>li{display:grid;grid-template-rows:subgrid;grid-row:span 3;row-gap:10px}
  .service-detail-page .offer-process h3,
  .service-detail-page .offer-process .step-number{margin:0}
  .service-detail-page .offer-photo-card{display:grid;grid-template-rows:subgrid;grid-row:span 3;row-gap:0}
  .service-detail-page .offer-photo-copy{display:grid;grid-template-rows:subgrid;grid-row:span 2;row-gap:12px}
  .service-detail-page .offer-photo-copy h3{margin:0}
}
@media(min-width:701px){.service-detail-page .offer-panel .offer-links{margin-top:20px}}
@media(max-width:1100px){
  .service-detail-page .service-catalog{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:970px){
  .service-detail-page .hero-compact h1{font-size:clamp(2rem,4vw,2.6rem)}
  .service-detail-page .offer-photo-grid{gap:16px}
  .service-detail-page .offer-photo-copy{padding:18px}
  .service-detail-page .offer-related{grid-template-columns:1fr}
}
@media(max-width:970px){
  .service-detail-page .offer-photo-grid,
  .service-detail-page .offer-process{grid-template-columns:1fr}
  .service-detail-page .offer-process>li{display:block;grid-row:auto}
  .service-detail-page .offer-process .step-number{margin-bottom:8px}
  .service-detail-page .offer-process h3{margin-bottom:10px}
  .service-detail-page .offer-photo-card{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);grid-template-rows:auto;grid-row:auto}
  .service-detail-page .offer-photo-copy{display:block;grid-row:auto}
  .service-detail-page .offer-photo-copy h3{margin-bottom:12px}
  .service-detail-page .offer-photo-card>img{height:100%;min-height:190px;aspect-ratio:auto}
  .service-detail-page .offer-photo-copy h3,
  .service-detail-page .offer-process h3{min-height:0}
}
@media(max-width:700px){
  .service-detail-page .service-catalog,
  .service-detail-page .business-catalog,
  .service-detail-page .offer-two-col,
  .service-detail-page .offer-checklist{grid-template-columns:1fr}
  .service-detail-page .service-catalog>.offer-card,
  .service-detail-page .business-catalog>.offer-card{display:flex;grid-row:auto}
  .service-detail-page .offer-card .more{align-self:flex-start}
  .service-detail-page .offer-two-col>.offer-panel,
  .service-detail-page .offer-two-col>.offer-panel:has(>p+p),
  .service-detail-page .offer-checklist>li{display:block;grid-row:auto}
  .service-detail-page .offer-panel>h3,
  .service-detail-page .offer-checklist h3{margin-bottom:10px}
  .service-detail-page .offer-panel>p+p{margin-top:14px}
}
@media(max-width:550px){
  .service-detail-page main{--offer-gap:16px}
  .service-detail-page .service-catalog,
  .service-detail-page .offer-photo-pair{grid-template-columns:1fr}
  .service-detail-page .service-catalog>.offer-card{display:flex;grid-row:auto}
  .service-detail-page .offer-card .more{align-self:flex-start}
  .service-detail-page .offer-card h3{min-height:0}
  .service-detail-page .offer-photo-card{display:flex}
  .service-detail-page .offer-photo-card>img{height:auto;min-height:0;aspect-ratio:16/10}
  .service-detail-page .offer-photo-copy{padding:22px}
  .service-detail-page .offer-note{padding:17px 18px}
  .service-detail-page .offer-map{height:260px}
}
