.service-page { padding-top:92px; }
.service-page h1,.service-page h2 { font-family:var(--display); font-weight:400; letter-spacing:-.035em; }
.service-page h1 { font-size:clamp(48px,5.3vw,80px); line-height:1.02; max-width:15ch; margin:24px 0; }
.service-page h2 { font-size:clamp(32px,3.4vw,48px); line-height:1.1; margin:14px 0 22px; }
.service-page h3 { font-size:19px; font-weight:600; line-height:1.35; margin:0 0 12px; }
.service-page p { color:var(--body); font-size:16px; line-height:1.65; margin:0 0 18px; }
.service-hero { display:grid; grid-template-columns:1.15fr 1fr; gap:clamp(32px,5vw,76px); align-items:center; padding-top:48px; padding-bottom:64px; }
.service-back { font-size:13px; color:var(--muted); text-decoration:none; }
.service-page .service-dek { font-size:19px; line-height:1.55; max-width:52ch; }
.service-example { padding:32px; border:1px solid var(--line); border-radius:16px; background:var(--bg-warm); }
.service-example h2 { font-size:32px; }
.service-example dl { margin:24px 0; }
.service-example dl>div { padding:15px 0; border-top:1px solid var(--line); }
.service-example dt { font-size:11px; text-transform:uppercase; letter-spacing:.09em; color:var(--muted); margin-bottom:8px; }
.service-example dd { font-size:17px; line-height:1.5; margin:0; }
.service-section { padding-top:56px; padding-bottom:56px; }
.service-intro { max-width:740px; margin-bottom:32px; }
.service-cases { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px; }
.service-cases article { border-top:1px solid var(--line); padding-top:24px; }
.service-table { overflow-x:auto; margin-top:28px; }
.service-table table { border-collapse:collapse; width:100%; text-align:left; }
.service-table th,.service-table td { padding:22px 20px; border-bottom:1px solid var(--line); line-height:1.6; vertical-align:top; }
.service-table thead th { font-size:12px; color:var(--muted); font-weight:500; }
.service-table tbody th { width:32%; font-size:16px; font-weight:600; padding-left:0; }
.service-table td { color:var(--body); }
.service-bottom { border-top:1px solid var(--line); display:grid; grid-template-columns:1fr 1fr; gap:72px; }
.service-link { color:var(--ink); text-underline-offset:5px; }
.service-faq details { border-bottom:1px solid var(--line); padding:18px 0; }
.service-faq summary { cursor:pointer; font-weight:500; line-height:1.5; }
.service-faq details p { padding-top:16px; margin-bottom:0; }
.service-end { padding-top:12px; padding-bottom:56px; }
.service-end-panel { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(240px,1fr); gap:48px; padding:40px; background:var(--ink); color:var(--bg); border-radius:16px; }
.service-end .eyebrow { color:#bdb9af; }
.service-end h2 { margin:14px 0 12px; color:var(--bg); font-size:clamp(30px,3vw,42px); }
.service-end p { margin:0; color:#d6d2c9; }
.service-end .cta-row { margin-top:24px; gap:24px; }
.service-end .btn-primary { background:var(--bg); color:var(--ink); border-color:var(--bg); gap:16px; }
.service-end .btn-primary:hover { background:#fff; border-color:#fff; }
.service-end-docs { color:var(--bg); font-size:14px; text-decoration:none; text-underline-offset:5px; }
.service-end-docs:hover { text-decoration:underline; }
.service-related { align-self:stretch; display:flex; flex-direction:column; justify-content:center; gap:0; padding-left:40px; border-left:1px solid #55534e; }
.service-related>.eyebrow { margin-bottom:16px; }
.service-related a { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:17px 0; border-top:1px solid #55534e; color:var(--bg); font-size:18px; text-decoration:none; }
.service-related a:last-child { border-bottom:1px solid #55534e; }
.service-related a:hover { color:#fff; background:rgba(255,255,255,.04); }
.service-end a:focus-visible { outline:2px solid #fff; outline-offset:5px; }
@media(max-width:800px) { .service-hero,.service-bottom { grid-template-columns:1fr; gap:32px; } .service-hero { padding-top:24px; padding-bottom:32px; } .service-section { padding-top:36px; padding-bottom:36px; } .service-cases { grid-template-columns:1fr; gap:20px; }  .service-example { padding:24px; } .service-table th,.service-table td { padding:16px 12px; font-size:14px; } }

@media(max-width:800px) { .service-end-panel { grid-template-columns:1fr; gap:32px; padding:28px; } .service-related { padding-left:0; border-left:0; } .service-end { padding-bottom:36px; } }
@media(max-width:420px) { .service-end-panel { padding:24px; } .service-end .cta-row { align-items:flex-start; flex-direction:column; gap:20px; } }
