/* Clear, spacious service presentation, shared by the home and services page. */
.services-teaser{padding-block:64px 80px}
.services-teaser-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:32px}
.services-teaser-heading h2{font-size:clamp(36px,4.5vw,64px);line-height:1.13;letter-spacing:-.05em}
.services-teaser-heading .text-link{margin:0;min-width:260px;font-size:16px}
.services-teaser-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-top:40px}
.service-preview{position:relative;display:flex;flex-direction:column;min-width:0;padding:32px 36px;background:#fffefa;border:1px solid #c8cfc4;transition:background .2s,border-color .2s}
.service-preview-top{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:23px}
.service-number{font:400 18px/1 var(--mono);color:#80601f}
.service-preview-top svg{width:52px;height:52px;stroke:#536b5b}.service-preview-top .icon-accent{stroke:#80601f}
.purchase .service-preview h3{font-size:clamp(28px,2.6vw,38px);font-weight:480;line-height:1.2;letter-spacing:-.04em;text-wrap:balance;margin:0}
.service-preview p{font-size:20px;line-height:1.55;color:#35463b;margin:20px 0 28px;max-width:30em}
.service-preview-link{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:auto;padding-top:16px;border-top:1px solid #d8ddd4;color:#405b48;font-size:16px;font-weight:500}
.service-preview-arrow{font-size:25px;line-height:1;transition:transform .2s}
.service-preview:hover{background:#edf1e8;border-color:#667b62}.service-preview:hover .service-preview-arrow{transform:translate(2px,-2px)}
:is(.service-preview,.services-index a):focus-visible{outline:3px solid #80601f;outline-offset:5px}
body[data-page="services"]{--bg:#f4f2eb;--surface:#fffefa;--fg:#202e25;--muted:#46574b;--gold:#80601f;--line:#23362a26;background:var(--bg);color:var(--fg);color-scheme:light}
body[data-page="services"] .header{--fg:#eeede5;--muted:#a5a79c;--gold:#d4ae50;--line:#ffffff19;background:#090a09f5;color:var(--fg);color-scheme:dark}
body[data-page="services"] .navigation [aria-current="page"]{color:var(--gold)}
.services-page-main{max-width:1500px;margin:0 auto;padding:52px var(--gutter) 64px}
.services-page-intro{display:block;margin-bottom:30px}
.services-page-eyebrow{font:13px var(--mono);letter-spacing:.1em;color:var(--gold);margin-bottom:18px;text-transform:uppercase}
.services-page-intro h1{font-size:clamp(40px,4.8vw,70px);line-height:1.08;letter-spacing:-.055em;font-weight:360}
.services-page-role>p:first-child{font-family:var(--display);font-size:26px;line-height:1.3;letter-spacing:-.035em;margin-bottom:9px;font-weight:450}
.services-page-role>p+p{font-size:18px;line-height:1.5;color:#46574b;max-width:420px}
.services-index{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid #b9c5b4;background:#e6ebe0;margin-bottom:32px}
.services-index a{position:relative;display:grid;grid-template-columns:1fr auto;gap:14px 10px;align-content:start;padding:22px;border-left:1px solid #b9c5b4;min-width:0;transition:background .2s}
.services-index a:first-child{border-left:0}.services-index a:hover{background:#d8e1d0}
.service-index-number{font:13px var(--mono);color:#80601f;grid-column:1/-1}
.services-index [data-copy]{font-family:var(--display);font-size:21px;letter-spacing:-.025em;line-height:1.3;font-weight:450}
.service-index-arrow{align-self:end;font-size:22px;color:#80601f}
.services-page-grid{display:grid;gap:24px}
.service-sheet{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px;padding:40px 44px;background:#fffefa;border:1px solid #c8cfc4;scroll-margin-top:24px}
.service-sheet-intro{min-width:0}.service-sheet-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}
.service-sheet-top svg{width:58px;height:58px;stroke:#536b5b}.service-sheet-top .icon-accent{stroke:var(--gold)}
.service-sheet h2{font-size:clamp(32px,3vw,45px);letter-spacing:-.045em;line-height:1.16;font-weight:460;text-wrap:balance}
.service-sheet-description{font-size:23px;line-height:1.55;color:#35463b;margin-top:22px;max-width:26em}
.service-context{font-size:16px;line-height:1.65;color:#4c5c50;margin-top:22px;padding-top:16px;border-top:1px solid #d8ddd4}
.service-sheet-detail{border-left:1px solid #d8ddd4;padding-left:36px;align-self:stretch}
.service-example-label{font-size:16px;font-weight:500;color:#80601f;margin-bottom:20px}
.service-examples{padding:0;list-style:none;margin:0;display:grid;gap:0}
.service-examples li{position:relative;padding:18px 0;border-top:1px solid #d8ddd4}
.service-examples li:first-child{padding-top:0;border-top:0}.service-examples li:last-child{padding-bottom:0}
.service-examples strong{display:block;font-size:21px;font-weight:500;line-height:1.4;color:#203c2c}
.service-examples li>span{display:block;margin-top:6px;font-size:18px;line-height:1.5;color:#46574b}
.services-page-closing{display:flex;justify-content:space-between;align-items:center;gap:32px;padding-top:36px}
.services-page-closing .text-link{margin:0;min-width:300px;font-size:17px}.services-page-closing .services-scope{font-size:14px;line-height:1.7;color:var(--muted);max-width:440px}
.service-preview-top svg,.service-sheet-top svg{fill:none;stroke-width:1.35;stroke-linecap:round;stroke-linejoin:round}
@media(max-width:1100px){.service-sheet{gap:34px;padding:32px}.service-sheet-detail{padding-left:28px}.services-page-main{padding-inline:var(--gutter)}.services-index a{padding:20px 16px}.services-index [data-copy]{font-size:19px}.services-page-intro{gap:32px}.service-preview{padding:28px}.services-teaser-heading .text-link{min-width:235px}}
@media(max-width:760px){.services-teaser-heading{display:block}.services-teaser-heading .text-link{margin-top:24px;min-width:0;max-width:330px}.services-teaser-grid{grid-template-columns:1fr;gap:16px;margin-top:28px}.service-preview{padding:24px}.purchase .service-preview h3{font-size:31px;text-wrap:pretty}.service-preview p{font-size:19px;margin-block:16px 22px}.services-teaser{padding-block:42px 48px}.services-page-main{padding-top:32px;padding-bottom:48px}.services-page-intro{grid-template-columns:1fr;gap:20px;margin-bottom:26px}.services-page-intro h1{font-size:clamp(36px,7vw,52px)}.services-page-role>p:first-child{font-size:24px}.services-page-role>p+p{font-size:18px}.services-index{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:24px}.services-index a:nth-child(3){border-left:0;border-top:1px solid #b9c5b4}.services-index a:nth-child(4){border-top:1px solid #b9c5b4}.services-index [data-copy]{font-size:19px}.services-index a{padding:18px 16px;gap:10px 8px}.service-sheet{grid-template-columns:1fr;gap:26px;padding:26px 24px;scroll-margin-top:14px}.service-sheet h2{font-size:34px;text-wrap:pretty}.service-sheet-top{margin-bottom:18px}.service-sheet-top svg{width:50px;height:50px}.service-sheet-description{font-size:21px;margin-top:18px}.service-sheet-detail{padding:24px 0 0;border-left:0;border-top:1px solid #d8ddd4}.service-examples strong{font-size:20px}.service-examples li>span{font-size:18px}.services-page-closing{flex-direction:column;align-items:flex-start;gap:22px}.services-page-closing .text-link{min-width:0;width:100%;max-width:360px}.services-page-eyebrow{margin-bottom:15px}}
@media(max-width:380px){.services-index a{padding:16px 12px}.services-index [data-copy]{font-size:17px}.service-sheet{padding-inline:20px}.service-sheet h2{font-size:31px}.service-preview{padding:22px}.purchase .service-preview h3{font-size:29px}}
@media(prefers-reduced-motion:reduce){.service-preview,.service-preview-arrow,.services-index a{transition:none}}

/* Long translated names keep their own column at narrow widths. */
.services-index a{grid-template-columns:minmax(0,1fr) auto}
.service-index-number{grid-column:1;grid-row:1}
.service-index-arrow{grid-column:2;grid-row:1;align-self:center}
.services-index [data-copy]{grid-column:1/-1;grid-row:2;min-width:0;overflow-wrap:anywhere;hyphens:auto}
.service-sheet h2,.purchase .service-preview h3{overflow-wrap:anywhere;hyphens:auto}

/* One optional explanation keeps the main service readable. */
.service-clarification{margin-top:24px;border-top:1px solid #c8cfc4;padding-top:18px}
.service-clarification summary{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;cursor:pointer;list-style:none;font-size:18px;font-weight:500;line-height:1.5;color:#203c2c;padding-block:6px}
.service-clarification summary::-webkit-details-marker{display:none}
.service-clarification summary::after{content:'+';font-size:24px;font-weight:400;line-height:1.1;color:#80601f}
.service-clarification[open] summary::after{content:'−'}
.service-clarification summary:focus-visible{outline:3px solid #80601f;outline-offset:5px}
.service-clarification>p{font-size:18px;line-height:1.65;margin-top:15px;color:#46574b}
