/* One visual system for Order and all four service branches. */
.service-process,.service-faq{background:#000;color:#f0f2f3;scroll-margin-top:90px}
.service-shell{width:100%;max-width:1480px;margin-inline:auto;padding-inline:clamp(22px,5vw,80px)}
.service-process{padding-block:64px 56px;border-top:1px solid #292d31}
.service-faq{padding-block:56px 64px;border-top:1px solid #292d31}
.service-section-head{display:flex;justify-content:space-between;align-items:end;gap:24px 48px;margin-bottom:32px}
.service-section-head>div{min-width:0}
.service-kicker{display:block;margin-bottom:16px;color:#a1a8ad;font:500 11px/1.4 var(--font);letter-spacing:.12em;text-transform:uppercase}
.service-section-head h2{margin:0;font-size:clamp(30px,3.3vw,46px);font-weight:500;line-height:1.12;letter-spacing:-.035em;text-wrap:balance}
.service-section-head>p{margin:0;max-width:39ch;color:#a1a8ad;font-size:15px;line-height:1.6}
.service-steps{display:grid;grid-template-columns:repeat(var(--step-count),minmax(0,1fr));gap:clamp(24px,3vw,48px);list-style:none;padding:0;margin:0}
.service-steps li{min-width:0;border-top:1px solid #454a4f;padding-top:22px}
.service-step-number{display:block;margin-bottom:22px;color:#a1a8ad;font-size:12px;line-height:1.3;letter-spacing:.12em;font-variant-numeric:tabular-nums}
.service-steps h3{margin:0 0 12px;font-size:clamp(19px,1.6vw,23px);line-height:1.25;font-weight:500;letter-spacing:-.02em}
.service-steps p{margin:0;color:#a1a8ad;font-size:15px;line-height:1.65;max-width:46ch}
.service-faq-list{border-top:1px solid #454a4f}
.service-faq-item{box-sizing:border-box;margin:0;border-bottom:1px solid #292d31;scroll-margin-top:90px;transition:background-color 180ms ease,border-color 180ms ease,box-shadow 180ms ease}
.service-faq-item[open]{background:#101214;border-color:#545c63;box-shadow:inset 2px 0 #87939b}
.service-faq-item[data-faq-state="closing"]{background:#000;border-color:#292d31;box-shadow:inset 2px 0 transparent}
.service-faq-item:focus-within{background:#101214;border-color:#575d63}
.service-faq-item summary{display:grid;grid-template-columns:28px minmax(0,1fr) 32px;gap:20px;align-items:center;padding:22px 24px;min-height:80px;list-style:none;cursor:pointer;text-align:left;transition:background-color 160ms ease}
.service-faq-item summary::-webkit-details-marker{display:none}
.service-faq-number{color:#a1a8ad;font-size:12px;line-height:1.4;font-variant-numeric:tabular-nums}
.service-faq-question{font-size:clamp(18px,1.65vw,23px);font-weight:500;line-height:1.35;letter-spacing:-.015em;text-wrap:pretty}
.service-faq-indicator{position:relative;display:block;width:32px;height:32px;border:1px solid #575d63;border-radius:50%;color:#f0f2f3;transition:background-color 160ms ease,border-color 160ms ease,color 160ms ease}
.service-faq-indicator::before,.service-faq-indicator::after{content:"";position:absolute;width:11px;height:1px;background:currentColor;left:50%;top:50%;transform:translate(-50%,-50%)}
.service-faq-indicator::after{transform:translate(-50%,-50%) rotate(90deg);transition:transform 180ms cubic-bezier(.23,1,.32,1),opacity 150ms ease}
.service-faq-item[open] .service-faq-indicator{background:#f0f2f3;border-color:#f0f2f3;color:#000}
.service-faq-item[open] .service-faq-indicator::after{transform:translate(-50%,-50%) rotate(0);opacity:0}
.service-faq-item[data-faq-state="closing"] .service-faq-indicator{background:transparent;border-color:#575d63;color:#f0f2f3}
.service-faq-item[data-faq-state="closing"] .service-faq-indicator::after{transform:translate(-50%,-50%) rotate(90deg);opacity:1}
.service-faq-answer{padding:0 76px 26px 72px}
.service-faq-answer p{margin:0;max-width:78ch;color:#b7bec3;font-size:16px;line-height:1.7;text-wrap:pretty}
.service-faq-item summary:focus-visible{outline:2px solid #f0f2f3;outline-offset:-3px;border-radius:0}
.service-faq-contact{display:flex;align-items:center;justify-content:space-between;gap:24px 40px;margin-top:28px;padding:28px 0 0;scroll-margin-top:90px}
.service-faq-contact h3{margin:0 0 8px;font-size:22px;line-height:1.25;font-weight:500;letter-spacing:-.02em}
.service-faq-contact p{margin:0;max-width:53ch;font-size:14px;line-height:1.6;color:#a1a8ad}
.service-faq-actions{display:flex;align-items:center;flex:none;gap:24px;flex-wrap:wrap}
.service-phone{display:grid;gap:2px;min-height:48px;align-content:center;color:#f0f2f3}
.service-phone span{font-size:12px;line-height:1.4;color:#a1a8ad}
.service-phone strong{font-size:15px;line-height:1.4;font-weight:500}
.service-question-link{display:inline-flex;justify-content:center;align-items:center;min-height:48px;padding:13px 22px;border:1px solid #f0f2f3;border-radius:99px;background:#f0f2f3;color:#000;font:500 14px/1.4 var(--font);text-align:center;max-width:100%;transition:background-color 160ms ease,transform 160ms ease}
.service-question-link:active{transform:scale(.98)}
.service-question-link:focus-visible,.service-phone:focus-visible{outline:2px solid #f0f2f3;outline-offset:5px}
@media(hover:hover) and (pointer:fine){
 .service-faq-item:not([open]) summary:hover{background:#0a0c0e}
 .service-faq-item:hover{border-color:#575d63}
 .service-question-link:hover{background:#fff}
 .service-phone:hover strong{text-decoration:underline;text-underline-offset:4px}
}
@media(max-width:980px){
 .service-steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}
 .service-section-head{align-items:start;flex-direction:column;gap:16px}
 .service-section-head>p{max-width:64ch}
 .service-faq-contact{align-items:start;flex-direction:column;gap:20px}
}
@media(max-width:640px){
 .service-process{padding-block:44px 40px}
 .service-faq{padding-block:40px 44px}
 .service-section-head{margin-bottom:24px}
 .service-section-head h2{font-size:32px}
 .service-kicker{margin-bottom:12px}
 .service-steps{grid-template-columns:1fr;gap:24px}
 .service-steps li{display:grid;grid-template-columns:28px minmax(0,1fr);column-gap:14px;padding-top:20px}
 .service-step-number{grid-column:1;grid-row:1 / span 2;margin:3px 0 0}
 .service-steps h3,.service-steps p{grid-column:2}
 .service-steps h3{font-size:20px;margin-bottom:10px}
 .service-faq-item summary{grid-template-columns:minmax(0,1fr) 28px;padding:18px 14px;gap:14px;min-height:76px}
 .service-faq-number{display:none}
 .service-faq-question{font-size:18px;line-height:1.4;overflow-wrap:anywhere}
 .service-faq-indicator{width:28px;height:28px}
 .service-faq-answer{padding:0 14px 22px}
 .service-faq-answer p{font-size:15px;line-height:1.65;overflow-wrap:anywhere}
 .service-faq-contact{margin-top:24px;padding-top:0}
 .service-faq-contact h3{font-size:21px}
 .service-faq-actions{gap:16px 22px;width:100%}
 .service-question-link{white-space:normal}
}
/* Height/answer fades are measured once by service-faq.js. Native details are
   fully usable without JavaScript; keyboard/reduced-motion actions stay instant. */
html[data-input-mode="keyboard"] :is(.service-faq-item,.service-faq-item summary,.service-faq-indicator,.service-question-link),html[data-input-mode="keyboard"] .service-faq-indicator::after{transition:none}
@media(prefers-reduced-motion:reduce){
 .service-faq-item,.service-faq-item summary,.service-faq-indicator,.service-faq-indicator::after,.service-question-link{transition:none}
 .service-faq-answer{animation:none}
}
