/* Hallmark · pre-emit critique: P4 H4 E4 S4 R5 V4
 * Shared Bloom + Blueprint service family; existing tokens and typography. */
.service-page{color:var(--color-white);background:var(--color-navy)}
.service-page main>*{scroll-margin-top:calc(var(--review-height) + var(--space-lg))}
.service-page h1,.service-page h2,.service-page h3{min-width:0;overflow-wrap:anywhere;font-style:normal}
.service-page h1{font:500 clamp(2.5rem,5.3vw,5.25rem)/1.07 var(--font-display);letter-spacing:-.05em}
.service-page h2{font:500 clamp(2rem,3.3vw,3.25rem)/1.14 var(--font-display);letter-spacing:-.045em}
.service-page h3{font:500 clamp(1.2rem,1.6vw,1.5rem)/1.35 var(--font-display);letter-spacing:-.025em}
.service-page p{font-size:1rem;line-height:1.75}
.service-page .eyebrow{font:500 .75rem/1.5 var(--font-mono);letter-spacing:.08em;color:var(--color-light-blue)}
.service-page .button{font-size:.875rem;border-radius:var(--radius-control);justify-content:center;gap:0;max-width:100%}
.service-page .service-review{padding-inline:var(--space-lg);font-size:.75rem}
.service-review nav{display:flex;align-items:center;gap:var(--space-lg)}
.service-review nav span{color:var(--color-dark-muted);white-space:nowrap}
.service-page .site-header nav{font-size:.875rem}
.service-page .rail-index{font-size:.75rem}
.service-page .service-index-intro,.service-hero,.service-applications,.service-scope,.service-questions,.service-related,.service-contact,.service-catalog{padding:var(--space-3xl) var(--space-lg)}
.service-index-intro h1{margin:var(--space-lg) 0 var(--space-xl);max-width:18ch}
.service-index-description{display:grid;gap:var(--space-lg);max-width:70rem}
.service-index-description p{color:var(--color-dark-muted);max-width:52ch}
.service-page .service-catalog{padding-top:0}
.catalog-heading{display:flex;align-items:center;justify-content:space-between;gap:var(--space-lg);padding-bottom:var(--space-lg)}
.catalog-heading h2{font-size:1.5rem;letter-spacing:-.02em}
.catalog-heading>span{font:400 .75rem/1.5 var(--font-mono);white-space:nowrap;color:var(--color-dark-muted)}
.catalog-row{display:grid;grid-template-columns:1.5rem minmax(0,1fr);gap:var(--space-md);border-top:1px solid var(--color-dark-line);padding-block:var(--space-xl)}
.catalog-row:last-child{border-bottom:1px solid var(--color-dark-line)}
.catalog-row p{margin-top:var(--space-sm);max-width:60ch;color:var(--color-dark-muted)}
.catalog-row>.service-route-link{grid-column:2;justify-self:start}
.service-number{font:400 .75rem/1.8 var(--font-mono);color:var(--color-light-blue);padding-top:var(--space-xs)}
.service-route-link{display:inline-flex;align-items:center;min-height:44px;white-space:nowrap;font-size:.875rem;text-decoration:underline;text-underline-offset:6px;color:var(--color-light-blue)}
.service-route-link:hover{color:var(--color-white)}
.service-hero{display:grid;gap:var(--space-2xl);border-bottom:1px solid var(--color-dark-line)}
.service-intro h1{margin:var(--space-lg) 0 var(--space-xl);max-width:15ch}
.service-page .service-promise{font:500 clamp(1.3rem,2vw,1.65rem)/1.4 var(--font-display);max-width:30ch;margin-bottom:var(--space-md)}
.service-summary{max-width:48ch;color:var(--color-dark-muted)}
.service-intro .button{margin-top:var(--space-xl)}
.service-flow{margin:0;align-self:center;width:100%;border-top:1px solid var(--color-dark-line);padding-top:var(--space-lg)}
.service-flow figcaption{display:flex;justify-content:space-between;gap:var(--space-md);flex-wrap:wrap;margin-bottom:var(--space-xl)}
.flow-note{font:400 .75rem/1.5 var(--font-mono);color:var(--color-dark-muted)}
.service-flow ol{list-style:none;margin:0;padding:0}
.service-flow li{position:relative;display:grid;grid-template-columns:2rem minmax(0,1fr);gap:var(--space-md);padding:0 0 var(--space-xl)}
.service-flow li:not(:last-child)::after{content:'';position:absolute;left:1rem;top:2rem;bottom:0;border-left:1px solid var(--color-dark-line)}
.flow-number{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;border:1px solid var(--color-dark-line);font:400 .75rem/1 var(--font-mono);color:var(--color-light-blue)}
.service-flow strong{display:block;padding-top:var(--space-xs);font-weight:500;font-size:1rem}
.service-page .service-flow p{font-size:.875rem;line-height:1.6;max-width:30ch;margin-top:var(--space-xs);color:var(--color-dark-muted)}
.service-applications,.service-scope,.service-questions{display:grid;gap:var(--space-2xl)}
.service-section-head h2{margin-top:var(--space-md);max-width:16ch}
.service-section-head>p:last-child:not(.eyebrow){color:var(--color-dark-muted);margin-top:var(--space-lg);max-width:46ch}
.application-list article{display:grid;grid-template-columns:1.5rem minmax(0,1fr);gap:var(--space-lg);border-top:1px solid var(--color-dark-line);padding-block:var(--space-xl)}
.application-list article:last-child{border-bottom:1px solid var(--color-dark-line)}
.application-list p{margin-top:var(--space-md);color:var(--color-dark-muted)}
.service-scope{--color-ink:var(--color-navy);--color-muted:var(--color-service-muted);--color-line:var(--color-service-line);background:var(--color-paper);color:var(--color-ink)}
.service-scope .eyebrow,.service-scope .service-route-link{color:var(--color-blue)}
.service-scope .service-route-link:hover{color:var(--color-blue-hover)}
.service-scope .service-section-head>p:last-child,.service-page .scope-boundary{color:var(--color-muted)}
.service-scope ul{list-style:none;margin:0;padding:0;counter-reset:scope}
.service-scope li{counter-increment:scope;display:grid;grid-template-columns:1.5rem minmax(0,1fr);gap:var(--space-lg);padding-block:var(--space-lg);border-top:1px solid var(--color-line);font-size:1rem;line-height:1.6}
.service-scope li::before{content:counter(scope,decimal-leading-zero);font:400 .75rem/1.8 var(--font-mono);color:var(--color-blue)}
.service-page .scope-boundary{margin:var(--space-lg) 0 var(--space-sm);font-size:.875rem}
.service-page .service-questions summary{font-size:1rem;line-height:1.5;gap:var(--space-md)}
.service-page .questions details>p{font-size:1rem;line-height:1.75;color:var(--color-dark-muted)}
.service-related{padding-top:0}
.related-heading h2{margin:var(--space-md) 0 var(--space-xl);max-width:20ch;font-size:clamp(1.75rem,2.6vw,2.5rem)}
.related-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);flex-wrap:wrap;padding-block:var(--space-lg);border-top:1px solid var(--color-dark-line)}
.service-contact{display:grid;gap:var(--space-xl);background:var(--color-raised);border-top:1px solid var(--color-dark-line)}
.service-contact h2{margin:var(--space-md) 0 var(--space-lg);max-width:18ch}
.service-contact p{color:var(--color-dark-muted);max-width:52ch}
.contact-action{align-self:center}
.service-page .contact-action p{font-size:.875rem;margin-top:var(--space-md)}
.service-page a:focus-visible,.service-page summary:focus-visible{outline:2px solid var(--color-light-blue);outline-offset:5px}
.service-scope a:focus-visible{outline-color:var(--color-blue)}
@media(min-width:680px){.service-page .service-index-intro,.service-hero,.service-applications,.service-scope,.service-questions,.service-related,.service-contact,.service-catalog{padding-inline:var(--space-2xl)}.service-index-description{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2xl)}.catalog-row{grid-template-columns:2rem minmax(0,1fr) auto;gap:var(--space-lg)}.catalog-row>.service-route-link{grid-column:auto;align-self:center}.service-page .service-catalog{padding-top:0}.service-page .service-related{padding-top:0}}
@media(min-width:1200px){.service-page .service-index-intro,.service-hero{padding-block:var(--space-4xl)}.service-hero{grid-template-columns:minmax(0,1.35fr) minmax(0,.85fr);gap:var(--space-3xl)}.service-applications,.service-scope,.service-questions{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:var(--space-3xl);padding-block:var(--space-4xl)}.service-contact{grid-template-columns:minmax(0,1fr) auto;gap:var(--space-2xl)}}
@media(min-width:1700px){.service-page .service-index-intro,.service-hero,.service-applications,.service-scope,.service-questions,.service-related,.service-contact,.service-catalog{padding-inline:var(--space-4xl)}}
@media(max-width:540px){.service-page .service-review{padding-inline:var(--space-md);font-size:.75rem}.service-review nav{gap:var(--space-md)}.service-review nav span{font-size:.6875rem}.service-page .service-index-intro,.service-hero{padding-top:var(--space-2xl)}.service-page .related-row{align-items:start;flex-direction:column}.service-page .service-contact .button{width:100%;padding-inline:var(--space-md)}}
