/* Dedicated service-page experience. The homepage keeps its approved styling. */
.qms-service-page { --service-header-height:98px; --service-jump-height:64px; --service-anchor-margin:70px; }
.qms-service-page #main { background:radial-gradient(ellipse at 0 22%,#e3f1f05c,transparent 42%),#f6f9fb; }
.qms-service-page .service-hero { isolation:isolate; }
.qms-service-page .service-hero::after { content:''; position:absolute; inset:0; z-index:-1; background-image:linear-gradient(#ffffff03 1px,transparent 1px),linear-gradient(90deg,#ffffff03 1px,transparent 1px); background-size:65px 65px; mask-image:linear-gradient(90deg,transparent,#000); pointer-events:none; }
.qms-service-page .page-hero-grid { grid-template-columns:1.17fr 1fr; gap:75px; padding-top:45px; padding-bottom:72px; }
.qms-service-page .service-hero h1 { font-size:clamp(39px,3.8vw,56px); line-height:1.16; margin:23px 0; }
.qms-service-page .page-description { max-width:610px; line-height:1.8; }
.qms-service-page .breadcrumb { margin-bottom:29px; font-size:11px; }
.qms-service-page .service-process-link { margin-left:23px; font-size:14px; gap:16px; }
.qms-service-page .service-process-link .icon { width:17px; height:17px; }
.qms-service-page .page-hero-visual { height:430px; border-radius:75px 24px 24px 24px; border-color:#c9f6ed66; box-shadow:0 25px 75px #0003,inset 0 1px 0 #ffffff48; }
.qms-service-page .page-hero-visual>img { object-position:center; filter:saturate(.85); }
.qms-service-page .page-hero-visual .image-shade { background:linear-gradient(180deg,#15384d0a 25%,#082337ba); }
.qms-service-page .page-visual-label { left:24px; right:24px; bottom:24px; padding:19px; font-size:14px; border-color:#c8fff88a; background:linear-gradient(120deg,#4e8a9d8a,#31576e8c); }
.service-visual-index { position:absolute; right:22px; top:22px; display:flex; align-items:center; gap:13px; padding:16px 18px; background:linear-gradient(130deg,#f0ffffc4,#ddf5f37d); border:1px solid #edfffcce; border-radius:16px; -webkit-backdrop-filter:blur(22px); backdrop-filter:blur(22px); box-shadow:0 10px 35px #082c3b2b,inset 0 1px 0 #fff; color:#184555; }
.service-visual-index>span:first-child { font:500 36px/1 var(--heading); letter-spacing:-.06em; color:#087f83; }
.service-visual-index>span:last-child { font-size:10px; line-height:1.7; }
.service-visual-index strong { font-size:10px; font-weight:600; }
.service-ambient-orb { position:absolute; width:600px; height:600px; border-radius:50%; top:-220px; right:-150px; background:radial-gradient(circle,#51bdb74d,transparent 70%); filter:blur(40px); pointer-events:none; }
.service-ambient-orb.second { left:18%; top:160px; right:auto; width:380px; height:380px; background:radial-gradient(circle,#367fa73b,transparent 70%); }
/* A compact chapter guide stays within reach on both desktop and mobile. */
.service-jump-bar { position:sticky; top:var(--service-header-height); z-index:45; background:linear-gradient(100deg,#fffffff0,#eff9f7e8); border-top:1px solid #fff; border-bottom:1px solid #cbdfe1; -webkit-backdrop-filter:blur(22px); backdrop-filter:blur(22px); box-shadow:0 9px 30px #143e4a08; }
.service-jump-inner { min-width:0; }
.service-jump-bar .page-index { display:flex; align-items:center; justify-content:space-between; gap:10px; min-height:64px; overflow-x:auto; overscroll-behavior-inline:contain; scrollbar-width:none; }
.service-jump-bar .page-index::-webkit-scrollbar { display:none; }
.service-jump-bar .page-index a { position:relative; flex:none; display:flex; gap:10px; align-items:center; justify-content:center; min-height:62px; padding:15px 19px; border:0; border-radius:0; white-space:nowrap; color:#5a7486; font-size:13px; font-weight:500; transition:color .25s,background .25s; }
.service-jump-bar .page-index a::before { display:none; }
.service-jump-bar .page-index a::after { content:''; position:absolute; bottom:0; left:14px; right:14px; height:2px; background:linear-gradient(90deg,#087f83,#7ed5bd); transform:scaleX(0); transition:transform .3s; }
.service-jump-bar .page-index a:hover,.service-jump-bar .page-index a[aria-current] { color:#086f73; background:#c6e8df26; }
.service-jump-bar .page-index a[aria-current]::after { transform:scaleX(1); }
.service-jump-bar .page-index a:last-child { min-height:41px; padding:10px 16px; margin:10px 0; border-radius:9px; background:var(--navy); color:white; font-size:12px; }
.service-jump-bar .page-index a:last-child::after { display:none; }
.service-jump-bar .page-index .icon { width:15px; height:15px; }
.qms-service-page .page-content-section { padding-top:65px; padding-bottom:80px; }
.qms-service-page .service-layout { grid-template-columns:minmax(0,1fr) 270px; gap:42px; align-items:start; }
.service-intro,.service-chapter,.qms-service-page .form-panel { scroll-margin-top:var(--service-anchor-margin); }
.service-intro { position:relative; overflow:hidden; padding:36px 38px; border:1px solid #fff; border-radius:23px; background:linear-gradient(130deg,#ffffff,#f0f9f8c7); box-shadow:0 16px 50px #193e5008,inset 0 1px 0 #fff; }
.service-intro::after { content:''; position:absolute; width:230px; height:230px; border:1px solid #87c5c324; border-radius:50%; top:-125px; right:-80px; box-shadow:0 0 0 32px #7bd9c705,0 0 0 65px #7bd9c704; pointer-events:none; }
.qms-service-page .service-intro>.service-kicker { font-size:11px; margin:0 0 20px; }
.qms-service-page .service-intro>h2 { font-size:35px; line-height:1.3; margin:0 0 23px; max-width:800px; }
.qms-service-page .service-intro>.lead { font-size:18px; line-height:1.85; margin-bottom:0; }
.qms-service-page .service-highlights { display:grid; grid-template-columns:1fr 1fr; gap:10px; padding-top:25px; margin:27px 0 0; border-top:1px solid #d7e9e9; }
.qms-service-page .service-highlights span { display:flex; align-items:center; gap:9px; border:1px solid #d2e9e3; border-radius:9px; background:#ecf8f4b3; padding:11px 12px; font-size:12px; line-height:1.7; font-weight:500; color:#245c62; transition:border-color .25s,background .25s; }
.qms-service-page .service-highlights span::before { content:'✓'; font-size:11px; color:#087f83; }
.qms-service-page .service-highlights span:hover { background:#ddf3eb; border-color:#96cdbf; }
/* Four chapters replace the uninterrupted stack of checklists. */
.service-chapter { margin-top:62px; }
.chapter-heading { display:flex; align-items:center; gap:20px; margin-bottom:25px; }
.chapter-number { flex:none; display:grid; place-items:center; width:61px; height:66px; border:1px solid #c4e2df; border-radius:17px; background:linear-gradient(140deg,#ffffff,#dff3ef); color:#087f83; font:500 25px/1 var(--heading); letter-spacing:-.05em; box-shadow:inset 0 1px 0 #fff,0 9px 24px #1f5e6510; }
.chapter-heading .service-kicker { font-size:10px; letter-spacing:.12em; margin:0 0 8px; color:#6c969a; }
.qms-service-page .chapter-heading h2 { font-size:28px; line-height:1.3; margin:0; letter-spacing:-.03em; }
.qms-service-page .service-chapter .detail-list { gap:14px; }
.qms-service-page .service-audience .detail-list li { display:flex; align-items:center; min-height:128px; padding:25px 25px 25px 54px; border:1px solid #d7e9e9; border-radius:16px; background:linear-gradient(135deg,#ffffffed,#edf7f7a3); font-size:16px; line-height:1.85; box-shadow:0 8px 25px #103d4c04; transition:translate .35s,border-color .35s,box-shadow .35s; }
.qms-service-page .service-audience .detail-list li::before { display:grid; place-items:center; content:'✓'; width:21px; height:21px; top:50%; left:20px; translate:0 -50%; border:1px solid #b8ded1; border-radius:50%; background:#e1f3ea; color:#087f83; font-size:11px; }
.qms-service-page .service-audience .detail-list li:hover { translate:0 -4px; border-color:#9ccdc8; box-shadow:0 16px 35px #103d4c0c; }
.qms-service-page .service-scope .detail-list { counter-reset:scope-item; }
.qms-service-page .service-scope .detail-list li { counter-increment:scope-item; position:relative; overflow:hidden; padding:25px 24px 25px 65px; border:1px solid #d9e7ee; border-radius:16px; background:linear-gradient(135deg,#f3f8fc,#ffffffeb); font-size:16px; line-height:1.85; transition:border-color .3s,box-shadow .3s; }
.qms-service-page .service-scope .detail-list li::before { content:counter(scope-item,decimal-leading-zero); top:25px; left:20px; color:#4c8da2; font:600 12px/26px var(--heading); text-align:center; width:27px; height:27px; background:#e3f0f4; border:1px solid #c8e0e7; border-radius:8px; }
.qms-service-page .service-scope .detail-list li::after { content:''; position:absolute; left:0; bottom:0; width:100%; height:2px; transform:scaleX(0); transform-origin:left; background:linear-gradient(90deg,#087f83,#94dec7); transition:transform .6s cubic-bezier(.16,1,.3,1); }
.qms-service-page .service-scope .detail-list li:hover { border-color:#a4ccd2; box-shadow:0 15px 35px #113f4e0b; }
.qms-service-page .service-scope .detail-list li:hover::after { transform:scaleX(1); }
.qms-service-page .service-outputs .detail-list li { padding:25px 24px 25px 62px; border:1px solid #c7e4db; border-radius:16px; background:linear-gradient(135deg,#eaf8f1,#ffffffde); box-shadow:inset 0 1px 0 #fff,0 10px 25px #0e564108; font-size:16px; }
.qms-service-page .service-outputs .detail-list li::before { display:grid; place-items:center; width:25px; height:25px; left:21px; top:25px; border-radius:8px; background:#137e7e; color:#fff; font-size:13px; }
.qms-service-page .service-outputs>.note { margin-top:25px; border:1px solid #a8d5d329; border-left:3px solid #6ecbbd; padding:25px 28px; border-radius:3px 16px 16px 3px; background:linear-gradient(125deg,#183e52,#133249); box-shadow:0 15px 35px #1234490c; }
.qms-service-page .service-outputs>.note strong { color:#dcfff4; font-size:15px; }
.qms-service-page .service-outputs>.note p { color:#c5dbe5; font-size:15px; line-height:1.85; }
/* The process remains fully readable without JavaScript; enhancement adds real tabs. */
.qms-service-page .steps.is-stepper { display:block; overflow:visible; border:0; border-radius:0; background:none; }
.process-tabs { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:8px; margin-bottom:17px; }
.process-tab { min-width:0; min-height:124px; display:flex; align-items:flex-start; flex-direction:column; gap:12px; text-align:left; padding:17px 15px; border:1px solid #d2e4e7; border-radius:13px; color:#557383; background:linear-gradient(140deg,#ffffffed,#edf6f7b3); transition:background .25s,border-color .25s,translate .25s,box-shadow .25s; }
.process-tab>span:first-child { display:grid; place-items:center; width:29px; height:29px; border-radius:9px; border:1px solid #c3ddd9; color:#347e86; background:#e3f2ee; font-size:12px; line-height:1; font-weight:600; }
.process-tab>span:last-child { font-size:13px; line-height:1.65; font-weight:500; }
.process-tab:hover { translate:0 -3px; border-color:#8dc7c4; }
.process-tab[aria-selected="true"] { color:#fff; border-color:#326c7f; background:linear-gradient(140deg,#19465a,#12344b); box-shadow:0 8px 25px #12374d1f,inset 0 1px 0 #baffea36; }
.process-tab[aria-selected="true"]>span:first-child { color:#abf4df; background:#8de1cc14; border-color:#a5f9e14d; }
.qms-service-page .steps.is-stepper>.step { position:relative; overflow:hidden; min-height:252px; padding:33px; gap:25px; border:1px solid #badbd8; border-radius:20px; background:radial-gradient(ellipse at 100% 0,#bbebdb55,transparent 65%),linear-gradient(135deg,#f1fbf8,#ffffff); box-shadow:inset 0 1px 0 #fff,0 12px 35px #123f4d06; }
.qms-service-page .steps.is-stepper>.step::after { content:attr(data-stage); position:absolute; right:14px; top:-20px; color:#17898808; font:600 190px/1.3 var(--heading); letter-spacing:-.08em; pointer-events:none; }
.qms-service-page .steps.is-stepper>.step>.step-number { width:54px; height:59px; font-size:23px; border-radius:15px; background:linear-gradient(130deg,#d1efe4,#effbf7); color:#087f83; }
.qms-service-page .steps.is-stepper>.step>div { position:relative; z-index:1; }
.qms-service-page .steps.is-stepper h3 { font-size:27px; line-height:1.3; margin:3px 0 14px; }
.qms-service-page .steps.is-stepper p { font-size:17px; line-height:1.9; max-width:680px; }
.process-navigation { display:flex; align-items:center; flex-wrap:wrap; gap:12px; margin-top:17px; }
.process-position { margin-right:auto; font-size:12px; color:#6b8b98; letter-spacing:.06em; }
.process-navigation button,.process-navigation a { display:inline-flex; align-items:center; justify-content:center; gap:15px; padding:12px 17px; border:1px solid #cbdfe2; border-radius:9px; color:#345b6d; background:#f9ffff; font-size:13px; font-weight:500; }
.process-navigation .process-next,.process-navigation .process-proposal { color:white; background:var(--navy); border-color:var(--navy); }
.process-navigation button:disabled { opacity:.35; cursor:default; }
.process-navigation button:not(:disabled):hover,.process-navigation a:hover { border-color:#7dbab7; box-shadow:0 7px 20px #1747500f; }
/* An unobtrusive service brief replaces the duplicated navigation column. */
.qms-service-page .service-rail { top:calc(var(--service-header-height) + var(--service-jump-height) + 24px); }
.qms-service-page .service-rail .rail-panel { border-color:#d1e4e4; background:linear-gradient(135deg,#ffffffdf,#edf8f6bd); box-shadow:0 15px 45px #163b4c09,inset 0 1px 0 white; }
.service-rail-intro { padding:27px; }
.service-brief-icon { display:grid; place-items:center; width:55px; height:55px; margin-bottom:25px; border:1px solid #b4dbd1; border-radius:15px; background:linear-gradient(140deg,#e1f5ed,#f4fffc); color:#087f83; }
.service-brief-icon .icon { width:31px; height:31px; }
.service-rail-intro .service-kicker { font-size:10px; margin-bottom:13px; }
.service-rail-intro h3 { font-size:26px; line-height:1.35; margin-bottom:17px; }
.service-rail-intro>p:not(.service-kicker) { font-size:14px; line-height:1.85; }
.service-rail-intro .btn { width:100%; font-size:12px; padding:13px 12px; gap:11px; margin-top:5px; }
.service-reading-progress { display:grid; grid-template-columns:1fr auto; gap:12px; padding:0 27px 26px; font-size:12px; color:#718d99; }
.service-reading-progress strong { color:#348c89; font-weight:500; }
.service-progress-track { grid-column:1 / -1; height:4px; background:#dcebe9; border-radius:4px; overflow:hidden; }
.service-progress-track::after { content:''; display:block; width:100%; height:100%; transform:scaleX(var(--service-progress,0)); transform-origin:left; background:linear-gradient(90deg,#168b8d,#88d0b6); transition:transform .3s; }
.qms-service-page .form-panel { position:relative; overflow:hidden; margin-top:65px; padding:35px; border:1px solid #badbd7; border-radius:23px; background:radial-gradient(ellipse at 0 0,#b8eadb70,transparent 65%),linear-gradient(135deg,#eef9f7,#f5f9fc); box-shadow:0 20px 60px #153d4a09,inset 0 1px 0 #fff; }
.qms-service-page .form-panel>.service-kicker { font-size:11px; margin-bottom:14px; }
.qms-service-page .form-panel>h2 { font-size:32px; margin:0 0 18px; }
.qms-service-page .form-panel>p:not(.service-kicker) { font-size:16px; }
.qms-service-page .form-panel .qms-form { margin-top:27px; padding:29px; }
.service-related { border-top:1px solid #dce9ec; background:linear-gradient(160deg,#eef6f6,#f4f8fb); }
.service-related .section-heading { align-items:center; margin-bottom:35px; }
.service-related .section-heading h2 { font-size:37px; }
.service-related .section-heading>a { flex:none; font-size:14px; }
.service-related-grid { display:grid; grid-template-columns:1fr 1fr; gap:25px; }
.service-related-grid .service-card h3 { min-height:0; max-width:none; font-size:25px; margin-bottom:18px; }
.service-related-grid .service-card { padding:30px; }
.service-related-grid .service-card-top { margin-bottom:25px; }
.service-related-grid .service-card>p { max-width:490px; }
@keyframes service-photo-breathe { from { transform:scale(1); } to { transform:scale(1.055) translateX(-.5%); } }
@keyframes service-title-enter { from { opacity:0; translate:0 18px; } to { opacity:1; translate:0 0; } }
@media(prefers-reduced-motion:no-preference) {
    .experience-ready .qms-service-page .service-ambient-orb { animation:ambient-drift 17s ease-in-out infinite alternate; }
    .experience-ready .service-ambient-orb.second { animation-delay:-8s; }
    .experience-ready .service-hero .page-hero-visual>img { animation:service-photo-breathe 17s ease-in-out infinite alternate; }
    .experience-ready .service-hero h1 { animation:service-title-enter .85s cubic-bezier(.16,1,.3,1) both; }
}
@media(max-width:1180px) {
    .qms-service-page .service-layout { grid-template-columns:minmax(0,1fr) 240px; gap:30px; }
    .qms-service-page .page-hero-grid { gap:45px; }
    .qms-service-page .service-hero h1 { font-size:44px; }
    .qms-service-page .service-process-link { margin-left:0; margin-top:22px; display:flex; width:max-content; }
    .qms-service-page .page-hero-visual { height:415px; }
    .service-intro { padding:30px; }
    .qms-service-page .service-intro>h2 { font-size:31px; }
    .qms-service-page .chapter-heading h2 { font-size:26px; }
    .service-rail-intro { padding:23px; }.service-rail-intro h3 { font-size:24px; }
    .service-reading-progress { padding-inline:23px; }
    .process-tab { padding:15px 11px; }.process-tab>span:last-child { font-size:13px; }
}
@media(max-width:1100px) {
    .qms-service-page .service-layout { display:block; max-width:930px; }
    .qms-service-page .service-rail { display:none; }
    .service-jump-bar .page-index a { padding-inline:15px; }
    .qms-service-page .page-hero-grid { grid-template-columns:1.15fr 1fr; gap:35px; }
    .qms-service-page .service-hero h1 { font-size:40px; }
    .qms-service-page .page-hero-visual { height:385px; }
    .service-visual-index { padding:14px; right:17px; top:17px; gap:10px; }
    .service-visual-index>span:first-child { font-size:30px; }
    .service-visual-index strong { font-size:9px; }
}
@media(max-width:760px) {
    .qms-service-page { --service-header-height:83px; --service-jump-height:58px; --service-anchor-margin:60px; }
    .qms-service-page .page-hero-grid { grid-template-columns:1fr; gap:35px; padding-top:30px; padding-bottom:38px; }
    .qms-service-page .service-hero h1 { font-size:39px; margin-top:21px; }
    .qms-service-page .breadcrumb { margin-bottom:27px; font-size:10px; }
    .qms-service-page .page-description { font-size:17px; }
    .qms-service-page .service-process-link { display:inline-flex; margin-top:20px; margin-left:22px; font-size:13px; }
    .qms-service-page .page-hero-visual { height:330px; border-radius:55px 18px 18px 18px; }
    .qms-service-page .page-visual-label { padding:16px; left:20px; right:20px; bottom:20px; font-size:13px; }
    .service-visual-index { right:17px; top:17px; padding:13px 15px; }
    .service-jump-inner { width:100%; padding-inline:18px; }
    .service-jump-bar .page-index { justify-content:flex-start; gap:0; min-height:58px; }
    .service-jump-bar .page-index a { min-height:58px; padding:13px 17px; font-size:13px; }
    .service-jump-bar .page-index a:last-child { margin-block:9px; min-height:38px; font-size:12px; }
    .qms-service-page .page-content-section { padding-top:35px; padding-bottom:55px; }
    .service-intro { padding:27px; border-radius:19px; }
    .qms-service-page .service-intro>h2 { font-size:30px; }
    .qms-service-page .service-intro>.lead { font-size:17px; }
    .qms-service-page .service-highlights span { font-size:12px; padding:11px; }
    .service-chapter { margin-top:45px; }
    .chapter-heading { gap:14px; margin-bottom:23px; align-items:center; }
    .chapter-number { width:47px; height:54px; border-radius:14px; font-size:21px; }
    .chapter-heading .service-kicker { font-size:9px; letter-spacing:.1em; margin-bottom:6px; }
    .qms-service-page .chapter-heading h2 { font-size:25px; }
    .qms-service-page .service-chapter .detail-list { grid-template-columns:1fr; gap:12px; }
    .qms-service-page .service-audience .detail-list li { min-height:0; padding:23px 23px 23px 54px; }
    .qms-service-page .service-scope .detail-list li { padding:24px 22px 24px 65px; }
    .qms-service-page .service-outputs .detail-list li { padding:24px 22px 24px 62px; }
    .process-tabs { display:flex; gap:9px; overflow-x:auto; scroll-snap-type:x proximity; scrollbar-width:none; padding:3px 1px 9px; margin-bottom:10px; }
    .process-tabs::-webkit-scrollbar { display:none; }
    .process-tab { flex:0 0 150px; min-height:122px; scroll-snap-align:start; padding:15px; }
    .process-tab>span:last-child { font-size:13px; line-height:1.6; }
    .qms-service-page .steps.is-stepper>.step { min-height:300px; padding:26px; gap:18px; flex-direction:column; }
    .qms-service-page .steps.is-stepper>.step>.step-number { width:43px; height:48px; border-radius:12px; font-size:20px; }
    .qms-service-page .steps.is-stepper h3 { font-size:25px; margin:0 0 15px; }
    .qms-service-page .steps.is-stepper p { font-size:17px; line-height:1.85; }
    .qms-service-page .steps.is-stepper>.step::after { font-size:170px; }
    .process-position { font-size:11px; }.process-navigation button,.process-navigation a { padding:12px 14px; font-size:12px; gap:10px; }
    .qms-service-page .service-outputs>.note { padding:24px; }
    .qms-service-page .form-panel { padding:27px; margin-top:47px; border-radius:19px; }
    .qms-service-page .form-panel>h2 { font-size:29px; }
    .qms-service-page .form-panel .qms-form { padding:23px; margin-top:25px; }
    .service-related-grid { grid-template-columns:1fr; gap:20px; }
    .service-related .section-heading { display:block; }
    .service-related .section-heading h2 { font-size:31px; }
    .service-related .section-heading>a { margin-top:25px; }
    .service-related-grid .service-card { padding:27px; }
}
@media(max-width:420px) {
    .qms-service-page .service-hero h1 { font-size:34px; }
    .qms-service-page .service-process-link { margin-left:0; display:flex; width:max-content; }
    .qms-service-page .page-hero-visual { height:300px; }
    .qms-service-page .page-visual-label { left:16px; right:16px; bottom:16px; font-size:12px; }
    .service-visual-index { padding:12px; }.service-visual-index>span:first-child { font-size:28px; }
    .service-visual-index>span:last-child,.service-visual-index strong { font-size:9px; }
    .service-intro { padding:24px; }
    .qms-service-page .service-intro>h2 { font-size:28px; }
    .qms-service-page .service-highlights { grid-template-columns:1fr; }
    .qms-service-page .chapter-heading h2 { font-size:24px; }
    .chapter-heading { gap:12px; }.chapter-number { width:42px; height:49px; font-size:19px; }
    .qms-service-page .service-chapter .detail-list li { font-size:16px; }
    .qms-service-page .steps.is-stepper>.step { padding:24px; min-height:330px; }
    .process-navigation { gap:10px; }.process-position { flex-basis:100%; margin:0 0 4px; }
    .process-navigation button,.process-navigation a { flex:1; }
    .qms-service-page .form-panel { padding:24px 17px; }
    .qms-service-page .form-panel>h2 { font-size:27px; }
    .qms-service-page .form-panel .qms-form { padding:21px 15px; }
    .qms-service-page .form-panel>p:not(.service-kicker) { font-size:16px; }
}
@media(prefers-reduced-motion:reduce) {
    .qms-service-page *, .qms-service-page *::before,.qms-service-page *::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; }
}
/* Small, deliberate highlights reinforce the chapter structure. */
.chapter-number { position:relative; overflow:hidden; }
.chapter-number::after { content:''; position:absolute; inset:-40% -90%; background:linear-gradient(110deg,transparent 35%,#ffffffa6 48%,transparent 62%); translate:-70% 0; pointer-events:none; }
@keyframes service-badge-shine { to { translate:70% 0; } }
@media(prefers-reduced-motion:no-preference) {
    .service-chapter:hover .chapter-number::after { animation:service-badge-shine .9s ease-out both; }
    .experience-ready .service-visual-index { animation:float-glass 8s ease-in-out infinite; }
}
@media(min-width:1101px) and (max-height:850px) {
    .service-rail-intro { padding:23px; }
    .service-brief-icon { width:43px; height:43px; margin-bottom:16px; border-radius:12px; }
    .service-brief-icon .icon { width:25px; height:25px; }
    .service-rail-intro h3 { font-size:24px; margin-bottom:12px; }
    .service-rail-intro>p:not(.service-kicker) { font-size:13px; line-height:1.75; margin-bottom:15px; }
    .service-reading-progress { padding:0 23px 20px; }
    .qms-service-page .service-rail .rail-panel { max-height:calc(100dvh - var(--service-header-height) - var(--service-jump-height) - 42px); overflow-y:auto; scrollbar-width:thin; }
}
