.service-more { appearance:none; padding:0; background:none; font-family:inherit; color:inherit; cursor:pointer; }
.service-dialog { width:min(920px,calc(100% - 32px)); max-height:calc(100dvh - 32px); padding:0; margin:auto; border:0; border-radius:var(--radius-control); background:var(--color-paper); color:var(--color-ink); overscroll-behavior:contain; }
.service-dialog::backdrop { background:#17151399; backdrop-filter:blur(6px); }
.service-dialog-top { position:sticky; top:0; z-index:1; background:var(--color-paper); display:flex; justify-content:space-between; align-items:center; padding:var(--space-12) var(--space-24); border-bottom:1px solid var(--color-border); font-size:var(--type-label); color:var(--color-muted); }
.service-dialog-top button { display:grid; place-items:center; flex:0 0 44px; width:44px; height:44px; padding:0; border:0; border-radius:0; background:var(--color-surface); font-size:var(--text-24); line-height:1; color:var(--color-ink); cursor:pointer; }
.service-dialog-content { padding:var(--space-32) var(--space-40); max-width:none; margin-inline:auto; }
.service-dialog h2 { font-size:var(--text-32); line-height:1.2; font-weight:500; margin:0 0 var(--space-16); }
.service-dialog h3 { font-size:var(--text-20); line-height:1.4; font-weight:500; margin:0 0 var(--space-8); }
.service-dialog p,.service-dialog dd,.service-dialog li { font-size:var(--text-18); line-height:1.6; }
.service-dialog-intro { color:var(--color-muted); margin:0 0 var(--space-32); }
.service-dialog-result { border:0; padding:0; margin-bottom:var(--space-32); }
.service-dialog-result p { margin:0; }
.service-dialog-facts { margin:0 0 var(--space-32); }
.service-dialog-facts > div { display:grid; grid-template-columns:minmax(0,1fr); gap:var(--space-8); padding:0; margin-bottom:var(--space-32); border:0; }
.service-dialog dt { font-size:var(--text-20); font-weight:500; color:var(--color-ink); line-height:1.4; }
.service-dialog dd { margin:0; }
.service-dialog-scope ul { padding-left:var(--space-24); margin:0; }
.service-dialog-scope li { margin-top:var(--space-8); padding-left:0; }
.service-dialog-scope li::marker { color:var(--color-muted); }
.service-dialog-bottom { position:sticky; bottom:0; z-index:2; display:flex; flex-wrap:wrap; gap:var(--space-16); align-items:center; justify-content:space-between; padding:var(--space-16) var(--space-40); border-top:1px solid var(--color-border); background:var(--color-paper); }
.service-dialog-bottom span { display:block; color:var(--color-muted); font-size:var(--type-label); margin-bottom:var(--space-4); }
.service-dialog-bottom strong { font-size:var(--type-result); font-weight:400; }
.service-dialog:not(.service-request-dialog) { width:min(780px,calc(100% - 32px)); scrollbar-width:thin; scrollbar-color:var(--color-muted) transparent; scroll-padding-block:80px 120px; }
.service-dialog::-webkit-scrollbar { width:4px; }
.service-dialog::-webkit-scrollbar-thumb { background:var(--color-muted); }
.service-dialog-bottom strong { font-size:var(--text-24); }
.service-dialog-bottom a { display:flex; justify-content:center; align-items:center; gap:var(--space-16); min-height:52px; padding:var(--space-16) var(--space-24); background:var(--color-ink); color:var(--color-paper); border-radius:var(--radius-control); text-decoration:none; }
.service-dialog :is(button,a):focus-visible { outline:2px solid var(--color-accent); outline-offset:3px; }
body:has(.service-dialog[open]) { overflow:hidden; }
.service-request-dialog .contact-consent p { font-size:var(--text-16); line-height:1.5; }
.service-request-dialog .contact-status { font-size:var(--type-label); }
.landing-page .service-request-dialog [data-close-request] { display:grid; place-items:center; flex:0 0 44px; padding:0; border-radius:0; background:var(--color-surface); }
@media(max-width:599px) {
  .service-dialog { width:100%; max-width:100%; height:100dvh; max-height:100dvh; border-radius:0; }
  .service-dialog:not(.service-request-dialog) { width:100%; }
  .service-dialog-top { padding-inline:var(--space-16); }
  .service-dialog-content { padding:var(--space-24) var(--space-16); }
  .service-dialog h2 { font-size:var(--text-28); }
  .service-dialog p,.service-dialog dd,.service-dialog li { font-size:var(--text-16); }
  .service-dialog-bottom { padding:var(--space-16); }
  .service-dialog-bottom a { flex:1; font-size:var(--type-control); padding-inline:var(--space-16); }
  .service-dialog-bottom { gap:var(--space-12); }
  .service-dialog-bottom > div { width:100%; }
  .service-dialog-bottom strong { font-size:var(--text-20); }
}
