/* Services-only presentation; approved shared navigation and footer are untouched. */
.services-page { --services-muted: #526057; --services-rule: #c6a15b66; }
.services-page .services-container { width: min(1280px, 86%); margin-inline: auto; }
.services-page .services-banner { padding: 76px 0 80px; background: var(--green); }
.services-page .services-banner-inner { display: grid; grid-template-columns: 1.15fr 1fr; align-items: end; gap: 48px; }
.services-page .services-banner h1 { margin: 16px 0 0; font-size: clamp(56px, 7vw, 100px); letter-spacing: -.035em; }
.services-page .services-banner p { margin: 0 0 8px; padding-left: 30px; border-left: 1px solid var(--gold); font-size: clamp(20px, 2vw, 26px); line-height: 1.5; }
.services-page .services-kicker { color: #7e6028; font-size: 11px; font-weight: 700; letter-spacing: 2px; line-height: 1.7; margin-bottom: 22px; }
.services-page .services-intro { padding: 88px 0; background: var(--white); }
.services-page .services-intro-grid { display: grid; grid-template-columns: 1.1fr .9fr; gap: 80px; align-items: end; }
.services-page .services-intro h2 { font-size: clamp(36px, 3.8vw, 56px); line-height: 1.14; letter-spacing: -.035em; margin: 0; }
.services-page .services-intro p { max-width: 460px; color: var(--services-muted); font-size: 17px; line-height: 1.85; }
.services-page .services-detail { padding: 88px 0; background: var(--cream); border-top: 1px solid #123b2a14; }
.services-page .services-detail-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(40px, 5vw, 72px); align-items: center; }
.services-page .services-number { font: 400 34px / 1 Georgia, "Times New Roman", serif; color: #8a692e; margin-bottom: 36px; }
.services-page .services-detail h2 { font-size: clamp(32px, 3.2vw, 47px); line-height: 1.13; letter-spacing: -.025em; margin-bottom: 30px; }
.services-page .services-gold-rule { width: 64px; height: 2px; background: var(--gold); }
.services-page .services-detail-copy p { font-size: 16px; line-height: 1.85; color: var(--services-muted); margin-bottom: 24px; }
.services-page .services-detail-copy > :last-child { margin-bottom: 0; }
.services-page .services-detail-copy .services-lead { font: 400 clamp(22px, 2vw, 28px) / 1.5 Georgia, "Times New Roman", serif; color: var(--green); }
.services-page .services-detail-copy h3 { color: var(--green); font-size: 13px; line-height: 1.7; margin: 30px 0 14px; }
.services-page .services-scope { list-style: none; margin: 0 0 28px; padding: 0; }
.services-page .services-scope li { position: relative; padding: 12px 0 12px 24px; border-top: 1px solid #123b2a18; font-size: 15px; line-height: 1.8; color: var(--services-muted); }
.services-page .services-scope li::before { content: ""; position: absolute; left: 0; top: 24px; width: 8px; height: 1px; background: var(--gold); }
.services-page .services-detail-dark { background: var(--dark-green); border-block: 1px solid var(--services-rule); }
.services-page .services-detail-dark h2, .services-page .services-detail-dark .services-lead, .services-page .services-detail-dark h3 { color: var(--white); }
.services-page .services-detail-dark .services-number { color: var(--light-gold); }
.services-page .services-detail-dark .services-detail-copy p:not(.services-lead), .services-page .services-detail-dark .services-scope li { color: #d9dfd9; }
.services-page .services-detail-dark .services-scope li { border-top-color: #ffffff26; }
.services-page .services-recognition { padding: 96px 0; background: var(--white); }
.services-page .services-recognition h2 { font-size: clamp(38px, 4.1vw, 60px); line-height: 1.15; letter-spacing: -.035em; margin-bottom: 44px; }
.services-page .services-award-panel { display: grid; grid-template-columns: .85fr 1.15fr; background: var(--cream); border: 1px solid var(--services-rule); border-top: 3px solid var(--gold); }
.services-page .services-award-heading { padding: clamp(28px, 4vw, 56px); border-right: 1px solid var(--services-rule); }
.services-page .services-award-heading h3 { color: var(--green); font: 400 clamp(28px, 3vw, 40px) / 1.2 Georgia, "Times New Roman", serif; margin: 0 0 24px; letter-spacing: -.025em; }
.services-page .services-award-heading > p { color: #735623; font-size: 15px; line-height: 1.7; }
.services-page .services-award-copy { padding: clamp(28px, 4vw, 56px); }
.services-page .services-award-copy p { color: var(--services-muted); font-size: 15px; line-height: 1.85; margin-bottom: 18px; }
.services-page .services-award-copy .services-award-note { padding-top: 18px; border-top: 1px solid var(--services-rule); font-size: 12px; margin-bottom: 0; }
.services-page .services-closing { padding: 80px 0; background: var(--green); border-top: 1px solid var(--gold); }
.services-page .services-closing-inner { display: grid; grid-template-columns: 1fr auto; gap: 48px; align-items: center; }
.services-page .services-closing .services-kicker { color: var(--light-gold); }
.services-page .services-closing h2 { font-size: clamp(32px, 3.5vw, 48px); color: var(--white); line-height: 1.2; letter-spacing: -.025em; margin: 0; }
.services-page .services-contact-action { display: inline-flex; justify-content: center; padding: 18px 30px; border: 1px solid var(--gold); background: var(--gold); color: var(--dark-green); font-size: 13px; font-weight: 700; text-decoration: none; letter-spacing: 1px; transition: background-color 220ms ease, transform 220ms ease; }
.services-page .services-contact-action:hover { background: var(--light-gold); transform: translateY(-2px); }
@media (max-width: 1050px) {
    .services-page .services-intro-grid { gap: 40px; }
    .services-page .services-detail-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 36px; }
    .services-page .services-detail h2 { font-size: 32px; }
}
@media (max-width: 900px) {
    .services-page .services-banner { padding: 56px 0; }
    .services-page .services-banner-inner, .services-page .services-intro-grid, .services-page .services-detail-grid, .services-page .services-award-panel, .services-page .services-closing-inner { grid-template-columns: 1fr; }
    .services-page .services-banner-inner { gap: 28px; }
    .services-page .services-banner p { padding-left: 20px; }
    .services-page .services-intro, .services-page .services-detail, .services-page .services-recognition, .services-page .services-closing { padding: 64px 0; }
    .services-page .services-intro-grid, .services-page .services-detail-grid { gap: 32px; }
    .services-page .services-detail h2 { font-size: clamp(30px, 6vw, 42px); }
    .services-page .services-number { margin-bottom: 22px; }
    .services-page .services-detail h2 { margin-bottom: 24px; }
    .services-page .services-detail-copy .services-lead { font-size: 24px; }
    .services-page .services-award-heading { border-right: 0; border-bottom: 1px solid var(--services-rule); }
    .services-page .services-closing-inner { gap: 28px; }
    .services-page .services-contact-action { justify-self: start; }
}
@media (prefers-reduced-motion: reduce) {
    .services-page .services-contact-action:hover { transform: none; }
}

/* Each service owns its description/diagram pair. Reading order stays text first. */
.services-page .services-content { min-width: 0; grid-column: 1; grid-row: 1; }
.services-page .services-detail-heading { margin-bottom: 32px; }
.services-page .service-diagram {
    min-width: 0;
    width: 100%;
    max-width: 500px;
    grid-column: 2;
    grid-row: 1;
    justify-self: center;
    margin: 0;
    padding: 24px;
    background: #f7f6f1;
    border: 1px solid #c6a15b88;
    border-radius: 10px;
}
.services-page .services-detail-reversed .services-content { grid-column: 2; }
.services-page .services-detail-reversed .service-diagram { grid-column: 1; }
.services-page .service-diagram-svg { display: block; width: 100%; height: auto; }
.services-page .service-diagram-connectors path { fill: none; stroke: #346248; stroke-width: 2.5px; stroke-linejoin: round; stroke-linecap: round; vector-effect: non-scaling-stroke; }
.services-page .service-diagram-node rect { fill: #123b2a; stroke: #c6a15b; stroke-width: 1.5px; vector-effect: non-scaling-stroke; }
.services-page .service-diagram-company rect { fill: #09251a; }
.services-page .service-diagram-node text { fill: #ffffff; font-family: Georgia, "Times New Roman", serif; font-size: 22px; font-weight: 400; text-anchor: middle; }
.services-page .service-diagram-node text.service-diagram-role { font-size: 21px; }
.services-page .service-diagram figcaption { color: #526057; font-size: 13px; line-height: 1.7; margin-top: 18px; text-align: center; }
@media (max-width: 900px) {
    .services-page .services-content,
    .services-page .services-detail-reversed .services-content { grid-column: 1; grid-row: 1; }
    .services-page .service-diagram,
    .services-page .services-detail-reversed .service-diagram { grid-column: 1; grid-row: 2; }
}
@media (max-width: 480px) {
    .services-page .service-diagram { padding: 12px; }
}
