.service-page { background: var(--ink); }
.service-hero { position: relative; min-height: 76vh; display: grid; align-items: end; isolation: isolate; overflow: hidden; padding: 10rem var(--gutter) 6rem; border-bottom: 1px solid var(--line); }
.service-hero__inner, .service-content { width: min(100%, 1180px); margin: 0 auto; }
.service-hero__inner { position: relative; z-index: 1; }
.service-hero__inner { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(260px, .7fr); gap: 4rem; align-items: end; }
.service-hero h1 { max-width: 11ch; margin: 0; font-size: clamp(3.5rem, 8vw, 8rem); font-weight: 300; line-height: .9; letter-spacing: -.035em; }
.service-hero h1 em { color: var(--gold-pale); }
.service-hero__summary { margin: 0; color: var(--muted); font-size: clamp(1.25rem, 2vw, 1.65rem); line-height: 1.45; }
.service-kicker { margin: 0 0 1.25rem; color: var(--gold-pale); font: 400 .7rem var(--mono); letter-spacing: .2em; text-transform: uppercase; }
.service-content { padding: clamp(5rem, 10vw, 9rem) 0; }
.service-content > .section-heading { margin-bottom: 4rem; }
.service-content h2 { margin: 0; font-size: clamp(2.4rem, 5vw, 5rem); font-weight: 300; line-height: 1; }
.service-content h2 em { color: var(--gold-pale); }
.service-content h3 { margin: 0 0 .65rem; color: var(--bone-bright); font-size: 1.65rem; font-weight: 300; }
.service-content p { color: var(--muted); font-size: 1.22rem; }
.service-content .lead { max-width: 58ch; font-size: 1.45rem; }
.service-grid--service { grid-template-columns: repeat(3, 1fr); }
.service-grid--service .service-card { min-height: 280px; }
.service-grid--service .service-card__top { margin-bottom: 2.6rem; }
.service-grid--service .service-card p { font-size: 1.08rem; }
.service-steps { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.service-step { min-height: 240px; padding: 1.6rem; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.service-step span { color: var(--gold); font: .7rem var(--mono); }
.service-step h3 { margin-top: 3rem; }
.service-step p { margin: 0; font-size: 1.08rem; }
.service-table { width: 100%; border-collapse: collapse; margin-top: 2rem; }
.service-table th, .service-table td { padding: 1.1rem 1rem 1.1rem 0; border-bottom: 1px solid var(--line); text-align: left; vertical-align: top; }
.service-table th { color: #a7a095; font: .65rem var(--mono); letter-spacing: .16em; text-transform: uppercase; }
.service-table td { color: var(--muted); font-size: 1.12rem; }
.service-table td:first-child { width: 29%; color: var(--bone-bright); }
.service-note { margin-top: 4rem; padding: 2rem 2.2rem; border-left: 2px solid var(--gold); background: rgba(201, 162, 39, .055); }
.service-note p { margin: 0; color: var(--bone); font-size: 1.35rem; font-style: italic; }
.service-cta { display: grid; grid-template-columns: 1fr auto; gap: 3rem; align-items: end; margin-top: 5rem; padding-top: 2.2rem; border-top: 1px solid var(--line); }
.service-cta h2 { max-width: 12ch; }
.service-cta p { max-width: 38ch; margin: 1rem 0 0; }
@media (max-width: 820px) { .service-hero__inner, .service-cta { grid-template-columns: 1fr; } .service-hero { min-height: 680px; } .service-steps { grid-template-columns: repeat(2, 1fr); } .service-grid--service { grid-template-columns: 1fr; } }
@media (max-width: 620px) { .service-hero { padding-top: 8rem; } .service-steps { grid-template-columns: 1fr; } .service-table, .service-table tbody, .service-table tr, .service-table td { display: block; } .service-table thead { display: none; } .service-table tr { padding: 1rem 0; } .service-table td { padding: .25rem 0; border: 0; } }
