/* Hallmark · pre-emit critique: P4 H5 E4 S5 R5 V3 */
/* Hallmark · macrostructure: Narrative Workflow · tone: technical-utilitarian · anchor hue: brand red · theme: Coral · enrichment: local service photography · nav: N1b · footer: Ft2 · contrast: pass (40–41) */
@import url('tokens.css');

html,body{overflow-x:clip}
.service-page{background:var(--color-service-paper);color:var(--color-service-ink);font-family:var(--font-service-body)}
.service-hero{padding:8rem 0 10.5rem;background:var(--navy);color:var(--color-service-paper)}
.service-shell{max-width:1180px;margin:0 auto;padding-inline:clamp(var(--space-4),4vw,var(--space-8))}
.service-crumb{display:flex;gap:var(--space-2);align-items:center;font-size:.8rem;margin-bottom:var(--space-6)}
.service-crumb a{color:var(--color-service-paper);text-decoration:none;opacity:.68}.service-crumb a:hover{opacity:1}
.service-hero-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-8);align-items:center}
.service-kicker{color:var(--primary);font-weight:700;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;margin-bottom:var(--space-3)}
.service-title{font-family:var(--font-service-display);font-size:var(--text-service-title);font-style:normal;line-height:.98;letter-spacing:-.025em;max-width:15ch;min-width:0;overflow-wrap:anywhere;margin:0 0 var(--space-4)}
.service-lede{font-size:1.12rem;line-height:1.7;max-width:57ch;color:var(--color-service-on-dark);margin:0}
.service-hero-image{width:100%;height:clamp(15rem,30vw,24rem);object-fit:cover;border-radius:var(--radius-service);display:block}
.service-content{padding-block:var(--space-16)}
.service-intro{max-width:68ch;margin-bottom:var(--space-12)}
.service-intro h2,.service-form-title{font-family:var(--font-service-display);font-style:normal;font-size:clamp(2rem,3vw,3rem);line-height:1.05;margin:0 0 var(--space-3);overflow-wrap:anywhere}
.service-intro p{color:var(--color-service-muted);font-size:1.05rem;line-height:1.7;margin:0}
.service-list{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-4);margin-bottom:var(--space-16)}
.service-item{padding:var(--space-6);border:var(--rule-service) solid var(--color-service-rule);border-radius:var(--radius-service);background:var(--color-service-surface)}
.service-item .material-icons-round{color:var(--color-service-accent);font-size:1.65rem}.service-item h3{font-family:var(--font-service-display);font-size:1.35rem;margin:var(--space-3) 0 var(--space-2)}.service-item p{margin:0;color:var(--color-service-muted);line-height:1.65}
.service-steps{list-style:none;padding:0;margin:0 0 var(--space-16);border-top:2px solid var(--color-service-ink)}
.service-step{display:grid;grid-template-columns:4rem minmax(0,1fr);gap:var(--space-4);padding-block:var(--space-6);border-bottom:var(--rule-service) solid var(--color-service-rule)}
.service-step-number{font-family:var(--font-service-display);font-weight:700;font-size:1.5rem;color:var(--color-service-accent)}
.service-step h3{font-family:var(--font-service-display);font-size:1.4rem;margin:0 0 var(--space-1)}.service-step p{margin:0;color:var(--color-service-muted);line-height:1.65}
.service-form-section{background:var(--color-service-surface);padding-block:var(--space-16)}
.service-form-wrap{max-width:760px}.service-form-copy{color:var(--color-service-muted);margin:0 0 var(--space-6);line-height:1.7}
.service-form{display:grid;gap:var(--space-4)}.service-form-row{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-4)}
.service-field{display:grid;gap:var(--space-2)}.service-field label{font-size:.85rem;font-weight:700}.service-field input,.service-field textarea{font:inherit;color:var(--color-service-ink);width:100%;border:var(--rule-service) solid var(--color-service-rule);border-radius:.6rem;background:var(--color-service-paper);padding:.85rem 1rem;min-height:3rem}.service-field textarea{min-height:8rem;resize:vertical}
.service-field input:focus,.service-field textarea:focus{outline:3px solid var(--color-service-focus);outline-offset:2px;border-color:var(--color-service-focus)}
.service-submit{justify-self:start;display:inline-flex;align-items:center;gap:var(--space-2);min-height:3rem;padding:.75rem 1.2rem;border:0;border-radius:2rem;background:var(--color-service-accent);color:var(--color-service-accent-ink);font:700 1rem var(--font-service-body);cursor:pointer;white-space:nowrap;transition:background-color var(--dur-medium) var(--ease-out),transform var(--dur-short) var(--ease-out)}
.service-submit:hover{background:var(--color-service-accent-dark)}.service-submit:active{transform:translateY(1px)}.service-submit:disabled{opacity:.55;cursor:not-allowed}.service-submit:focus-visible,.service-page a:focus-visible{outline:3px solid var(--color-service-focus);outline-offset:3px}.service-form-status{min-height:1.5rem;margin:0;color:var(--color-service-muted)}
.service-footer{padding:var(--space-6) 0;background:var(--navy);color:var(--color-service-on-dark)}.service-footer-line{border-top:var(--rule-service) solid var(--color-service-dark-rule);padding-top:var(--space-4);display:flex;flex-wrap:wrap;gap:var(--space-2);font-size:.9rem}.service-footer a{color:var(--color-service-paper);text-decoration:none}.service-footer a:hover{text-decoration:underline}
@media(min-width:48rem){.service-hero-grid{grid-template-columns:minmax(0,7fr) minmax(0,5fr)}.service-list{grid-template-columns:repeat(3,minmax(0,1fr))}.service-form-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
@media(pointer:coarse){.service-submit{min-height:3.25rem}}
@media(prefers-reduced-motion:reduce){.service-submit{transition:background-color var(--dur-short) var(--ease-out)}}
