/* ==== 5.12.0 Chapter cards, related consolidation, layout fixes ==== */
.asm-pts-wrap{margin-top:44px;counter-reset:asmpt;position:relative;z-index:1}
.asm-pts{display:flex;flex-wrap:wrap;justify-content:center;gap:16px;text-align:left}
.asm-pts--c3 > .asm-pt{flex:0 1 calc((100% - 32px) / 3);min-width:0}
.asm-pts--c2 > .asm-pt{flex:0 1 calc((100% - 16px) / 2);min-width:0}
.asm-pt{counter-increment:asmpt;position:relative;padding:26px 26px 24px;border-radius:18px;background:#fff;border:1px solid rgba(12,27,34,.08);box-shadow:0 14px 34px -26px rgba(8,40,44,.45);transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease;text-align:left !important}
.asm-pt:hover{transform:translateY(-3px);border-color:rgba(14,158,142,.4);box-shadow:0 22px 44px -28px rgba(8,40,44,.55)}
.asm-pt::before{content:counter(asmpt,decimal-leading-zero);display:inline-block;font:700 12px/1 'Space Grotesk',sans-serif;letter-spacing:.14em;color:#0E9E8E;margin-bottom:14px;padding-bottom:10px;border-bottom:2px solid rgba(14,158,142,.35)}
.asm-pt--ex{counter-increment:none;background:linear-gradient(160deg,#f1faf8,#e7f5f2);border-color:rgba(14,158,142,.25)}
.asm-pt--ex::before{content:"Example";letter-spacing:.16em;text-transform:uppercase;border:0;padding:6px 10px;border-radius:999px;background:#0E9E8E;color:#fff}
.asm-pt p{margin:0 !important;font-size:14px !important;line-height:1.78 !important;color:#3b4a54 !important;text-align:left !important;max-width:none !important}
.asm-pt__k{display:block;font-family:'Space Grotesk',sans-serif;font-weight:600;font-size:16.5px;line-height:1.4;color:#0c1b22;margin:0 0 8px;letter-spacing:-.005em}
.asm-pt p strong{color:#0c1b22}
.asm-pt a{color:#0b7d71;font-weight:600}
.asm-pts-more{margin-top:18px;text-align:center}
.asm-pts-more > summary{list-style:none;display:inline-flex;align-items:center;gap:10px;cursor:pointer;padding:12px 22px;border-radius:999px;border:1px solid rgba(14,158,142,.45);background:rgba(14,158,142,.08);color:#0b7d71;font:700 14px/1 'Inter',sans-serif;transition:background .2s,color .2s}
.asm-pts-more > summary::-webkit-details-marker{display:none}
.asm-pts-more > summary::after{content:"+ " attr(data-more) " more points";font-weight:500;opacity:.8}
.asm-pts-more > summary:hover{background:#0E9E8E;color:#fff}
.asm-pts-more[open] > summary{font-size:0;gap:0}
.asm-pts-more[open] > summary::after{content:"Show fewer points";font-size:14px;opacity:1}
.asm-pts-more[open] > .asm-pts{margin-top:18px}
.asm-pts-more > .asm-pts{margin-top:0}

/* Dark contexts: dark location template (dark mode), dark bands, dark site theme */
body.cine-p18 .asm-pt,.p18x--imgcards .asm-pt,.p18x--ctaband .asm-pt,.asm-houston .asm-pt,.asm-mission .asm-pt,html[data-theme="dark"] .asm-pt{background:rgba(255,255,255,.035);border-color:rgba(255,255,255,.09);box-shadow:none}
body.cine-p18 .asm-pt p,.p18x--imgcards .asm-pt p,.p18x--ctaband .asm-pt p,.asm-houston .asm-pt p,.asm-mission .asm-pt p,html[data-theme="dark"] .asm-pt p{color:#b9c6d2 !important}
body.cine-p18 .asm-pt__k,.p18x--imgcards .asm-pt__k,.asm-houston .asm-pt__k,.asm-mission .asm-pt__k,html[data-theme="dark"] .asm-pt__k,body.cine-p18 .asm-pt p strong,html[data-theme="dark"] .asm-pt p strong{color:#fff}
body.cine-p18 .asm-pt::before,.p18x--imgcards .asm-pt::before,.asm-houston .asm-pt::before,.asm-mission .asm-pt::before,html[data-theme="dark"] .asm-pt::before{color:#00E0C6;border-bottom-color:rgba(0,224,198,.35)}
body.cine-p18 .asm-pt--ex,.p18x--imgcards .asm-pt--ex,.asm-houston .asm-pt--ex,.asm-mission .asm-pt--ex,html[data-theme="dark"] .asm-pt--ex{background:linear-gradient(160deg,rgba(0,224,198,.09),rgba(0,224,198,.03));border-color:rgba(0,224,198,.25)}
body.cine-p18 .asm-pt--ex::before,html[data-theme="dark"] .asm-pt--ex::before,.asm-houston .asm-pt--ex::before,.asm-mission .asm-pt--ex::before,.p18x--imgcards .asm-pt--ex::before{background:#00E0C6;color:#04231f}
body.cine-p18 .asm-pt a,html[data-theme="dark"] .asm-pt a,.asm-houston .asm-pt a,.asm-mission .asm-pt a{color:#5eead4}
body.cine-p18 .asm-pts-more > summary,html[data-theme="dark"] .asm-pts-more > summary,.asm-houston .asm-pts-more > summary,.asm-mission .asm-pts-more > summary,.p18x--imgcards .asm-pts-more > summary{color:#5eead4;border-color:rgba(0,224,198,.4);background:rgba(0,224,198,.07)}
/* light location pages flip back to light cards (except bands that stay dark) */
html[data-theme="light"] body.cine-p18 :is(#hseo-cine,.cine-blocks) section.sec:not(.p18x--imgcards):not(.p18x--ctaband):not(.asm-scene) .asm-pt{background:#fff;border-color:rgba(12,27,34,.08);box-shadow:0 14px 34px -26px rgba(8,40,44,.45)}
html[data-theme="light"] body.cine-p18 :is(#hseo-cine,.cine-blocks) section.sec:not(.p18x--imgcards):not(.p18x--ctaband):not(.asm-scene) .asm-pt p{color:#3b4a54 !important}
html[data-theme="light"] body.cine-p18 :is(#hseo-cine,.cine-blocks) section.sec:not(.p18x--imgcards):not(.p18x--ctaband):not(.asm-scene) .asm-pt__k,html[data-theme="light"] body.cine-p18 :is(#hseo-cine,.cine-blocks) section.sec:not(.p18x--imgcards):not(.p18x--ctaband) .asm-pt p strong{color:#0c1b22}
html[data-theme="light"] body.cine-p18 :is(#hseo-cine,.cine-blocks) section.sec:not(.p18x--imgcards):not(.p18x--ctaband):not(.asm-scene) .asm-pt::before{color:#0E9E8E;border-bottom-color:rgba(14,158,142,.35)}
html[data-theme="light"] body.cine-p18 :is(#hseo-cine,.cine-blocks) section.sec:not(.p18x--imgcards):not(.p18x--ctaband):not(.asm-scene) .asm-pt--ex{background:linear-gradient(160deg,#f1faf8,#e7f5f2);border-color:rgba(14,158,142,.25)}
html[data-theme="light"] body.cine-p18 :is(#hseo-cine,.cine-blocks) section.sec:not(.p18x--imgcards):not(.p18x--ctaband):not(.asm-scene) .asm-pt--ex::before{background:#0E9E8E;color:#fff}
html[data-theme="light"] body.cine-p18 :is(#hseo-cine,.cine-blocks) section.sec:not(.p18x--imgcards):not(.p18x--ctaband):not(.asm-scene) .asm-pt a{color:#0b7d71}
html[data-theme="light"] body.cine-p18 :is(#hseo-cine,.cine-blocks) section.sec:not(.p18x--imgcards):not(.p18x--ctaband):not(.asm-scene) .asm-pts-more > summary{color:#0b7d71;border-color:rgba(14,158,142,.45);background:rgba(14,158,142,.08)}

/* Sections that now carry cards: the kept column fills the row so nothing sits beside empty space */
section.asm-has-pts .p18x-sq{grid-template-columns:minmax(0,1fr) !important}
section.asm-has-pts .p18x-sq__h,section.asm-has-pts .p18x-sq__b{max-width:860px}

/* Centred heads → centred trailing prose (image 3) */
section.sec .wrap > .p18x-head--c ~ p,section.sec .wrap > .p18x-band ~ p,section.sec .wrap > .p18x-grid ~ p,section.sec .p18x-head--c + p{max-width:780px;margin-left:auto !important;margin-right:auto !important;text-align:center !important}

/* Image-card rows: centre incomplete rows (image 1) */
ul.p18x-igs{display:flex !important;flex-wrap:wrap !important;justify-content:center !important;gap:18px !important;max-width:1372px;margin-left:auto !important;margin-right:auto !important;grid-template-columns:none !important}
ul.p18x-igs:has(> li:nth-child(6):last-child){max-width:816px}
ul.p18x-igs:has(> li:nth-child(7)):not(:has(> li:nth-child(9))){max-width:1094px}
ul.p18x-igs > li.p18x-igc{flex:0 1 260px !important;width:auto !important;max-width:none !important;min-height:0 !important;display:flex !important;flex-direction:column !important;justify-content:flex-start !important;padding:0 !important;overflow:hidden;border-radius:16px !important;background:#0f1822 !important;border:1px solid rgba(255,255,255,.09) !important;box-shadow:0 20px 44px -30px rgba(0,0,0,.8)}
ul.p18x-igs > li.p18x-igc .p18x-igc__bg{position:relative !important;inset:auto !important;display:block !important;height:150px !important;flex:0 0 150px;overflow:hidden}
ul.p18x-igs > li.p18x-igc .p18x-igc__bg::before,ul.p18x-igs > li.p18x-igc .p18x-igc__bg::after{display:none !important}
ul.p18x-igs > li.p18x-igc .p18x-igc__bg img{width:100% !important;height:100% !important;object-fit:cover !important;opacity:1 !important;filter:none !important;transform:none !important}
ul.p18x-igs > li.p18x-igc::before,ul.p18x-igs > li.p18x-igc::after{display:none !important}
ul.p18x-igs > li.p18x-igc .p18x-igc__b{position:relative !important;padding:18px 18px 20px !important;background:none !important;display:block !important}
ul.p18x-igs > li.p18x-igc h3{font-size:16px !important;line-height:1.35 !important;margin:0 0 8px !important;color:#fff !important;text-shadow:none !important}
ul.p18x-igs > li.p18x-igc p{font-size:14px !important;line-height:1.7 !important;color:#c3cfdb !important;margin:0 !important;text-shadow:none !important}
.p18x-ig__in > p{max-width:760px;margin-left:auto !important;margin-right:auto !important;text-align:center !important}
.p18x-ig__bd img{opacity:.14 !important;filter:saturate(.6) blur(3px) !important}
/* Accent words on photo cards: bright, readable */
.p18x-igc .accent,.p18x-igc__b .accent,li.p18x-igc h3 .accent{background:none !important;-webkit-text-fill-color:#00E0C6 !important;color:#00E0C6 !important;text-shadow:0 1px 10px rgba(0,0,0,.6)}
.p18x-igc .accent{text-shadow:none}

/* Related Services — consolidated "More ways to explore" */
.asm-relmore{margin-top:46px;padding-top:36px;border-top:1px solid rgba(12,27,34,.1);position:relative;z-index:1;text-align:left}
.asm-relmore__t,.asm-relres__t{font:700 12px/1 'Inter',sans-serif;letter-spacing:.16em;text-transform:uppercase;color:#0E9E8E;margin:0 0 16px !important;text-align:center}
.asm-relmore .asm-relbox{margin:0 0 26px}
.asm-relmore .asm-linkcloud{justify-content:center;margin:0 0 26px}
.asm-relres{margin-top:10px}
.asm-relres ul.cine-recover__list{columns:auto !important;display:flex !important;flex-wrap:wrap;justify-content:center;gap:10px;margin:0 !important}
.asm-relres ul.cine-recover__list li{margin:0 !important;list-style:none}
.asm-relres ul.cine-recover__list a{display:inline-flex;padding:9px 16px;border-radius:12px;background:#fff;border:1px solid rgba(12,27,34,.1);border-left:3px solid #0E9E8E;color:#0c1b22 !important;font:600 13px/1.3 'Inter',sans-serif;text-decoration:none}
.asm-relres ul.cine-recover__list a:hover{border-color:#0E9E8E;color:#0b7d71 !important}
html[data-theme="dark"] .asm-relmore{border-top-color:rgba(255,255,255,.1)}
html[data-theme="dark"] .asm-relres ul.cine-recover__list a{background:#122026;border-color:rgba(255,255,255,.1);color:#eef5f6 !important}

@media (max-width:1024px){.asm-pts--c3 > .asm-pt{flex-basis:calc((100% - 16px) / 2)}}
@media (max-width:700px){.asm-pts--c3 > .asm-pt,.asm-pts--c2 > .asm-pt{flex-basis:100%}.asm-pt{padding:22px 20px}.asm-pts-wrap{margin-top:30px}}
@media (prefers-reduced-motion:reduce){.asm-pt{transition:none}.asm-pt:hover{transform:none}}
/* Intro-only blocks above point cards: heading left, lead right (no empty half) */
@media (min-width:901px){
section.asm-has-pts .p18x-sq__h{display:grid !important;grid-template-columns:minmax(0,5fr) minmax(0,7fr);column-gap:64px;align-items:start;max-width:none !important}
section.asm-has-pts .p18x-sq__h > :not(p){grid-column:1;grid-row:1 / span 6}
section.asm-has-pts .p18x-sq__h > p{grid-column:2}
section.asm-has-pts .p18x-sq__h > p:first-of-type{margin-top:6px}
}

/* 5.12.1 — centre incomplete last rows on card grids (desktop column counts kept) */
@media (min-width:1025px){
.p18x-g3{display:flex !important;flex-wrap:wrap !important;justify-content:center !important;grid-template-columns:none !important}
.p18x-g3 > *{flex:0 1 calc((100% - 40px) / 3) !important;max-width:calc((100% - 40px) / 3) !important;min-width:0}
.asm-svcd-grid{display:flex !important;flex-wrap:wrap !important;justify-content:center !important;grid-template-columns:none !important}
.asm-svcd-grid > *{flex:0 1 calc((100% - 56px) / 3) !important;max-width:calc((100% - 56px) / 3) !important;min-width:0}
.asm-pillars__grid{display:flex !important;flex-wrap:wrap !important;justify-content:center !important;grid-template-columns:none !important}
.asm-pillars__grid > *{flex:0 1 calc((100% - 56px) / 3) !important;max-width:calc((100% - 56px) / 3) !important;min-width:0}
.asm-help__cards{display:flex !important;flex-wrap:wrap !important;justify-content:center !important;grid-template-columns:none !important}
.asm-help__cards > *{flex:0 1 calc((100% - 52px) / 3) !important;max-width:calc((100% - 52px) / 3) !important;min-width:0}
.ol-cards-grid{display:flex !important;flex-wrap:wrap !important;justify-content:center !important;grid-template-columns:none !important}
.ol-cards-grid > *{flex:0 1 calc((100% - 52px) / 3) !important;max-width:calc((100% - 52px) / 3) !important;min-width:0}
.p18x-dir{display:flex !important;flex-wrap:wrap !important;justify-content:center !important;grid-template-columns:none !important}
.p18x-dir > *{flex:0 1 calc((100% - 46px) / 2) !important;max-width:calc((100% - 46px) / 2) !important;min-width:0}
.da-why-list{display:flex !important;flex-wrap:wrap !important;justify-content:center !important}
.da-why-list > *{flex:0 1 calc((100% - 18px) / 2) !important;max-width:calc((100% - 18px) / 2) !important;min-width:0}
.katy-why-list{display:flex !important;flex-wrap:wrap !important;justify-content:center !important}
.katy-why-list > *{flex:0 1 calc((100% - 18px) / 2) !important;max-width:calc((100% - 18px) / 2) !important;min-width:0}
.sl-why-list{display:flex !important;flex-wrap:wrap !important;justify-content:center !important}
.sl-why-list > *{flex:0 1 calc((100% - 18px) / 2) !important;max-width:calc((100% - 18px) / 2) !important;min-width:0}
.tp-why-list{display:flex !important;flex-wrap:wrap !important;justify-content:center !important}
.tp-why-list > *{flex:0 1 calc((100% - 18px) / 2) !important;max-width:calc((100% - 18px) / 2) !important;min-width:0}
.tw-why-list{display:flex !important;flex-wrap:wrap !important;justify-content:center !important}
.tw-why-list > *{flex:0 1 calc((100% - 18px) / 2) !important;max-width:calc((100% - 18px) / 2) !important;min-width:0}
.wh-why-list{display:flex !important;flex-wrap:wrap !important;justify-content:center !important}
.wh-why-list > *{flex:0 1 calc((100% - 18px) / 2) !important;max-width:calc((100% - 18px) / 2) !important;min-width:0}
.wt-why-list{display:flex !important;flex-wrap:wrap !important;justify-content:center !important}
.wt-why-list > *{flex:0 1 calc((100% - 18px) / 2) !important;max-width:calc((100% - 18px) / 2) !important;min-width:0}
.da-industry-list{display:flex !important;flex-wrap:wrap !important;justify-content:center !important}
.da-industry-list > *{flex:0 1 calc((100% - 48px) / 4) !important;max-width:calc((100% - 48px) / 4) !important;min-width:0}
.katy-industry-list{display:flex !important;flex-wrap:wrap !important;justify-content:center !important}
.katy-industry-list > *{flex:0 1 calc((100% - 48px) / 4) !important;max-width:calc((100% - 48px) / 4) !important;min-width:0}
.sl-industry-list{display:flex !important;flex-wrap:wrap !important;justify-content:center !important}
.sl-industry-list > *{flex:0 1 calc((100% - 48px) / 4) !important;max-width:calc((100% - 48px) / 4) !important;min-width:0}
.tp-industry-list{display:flex !important;flex-wrap:wrap !important;justify-content:center !important}
.tp-industry-list > *{flex:0 1 calc((100% - 48px) / 4) !important;max-width:calc((100% - 48px) / 4) !important;min-width:0}
.tw-industry-list{display:flex !important;flex-wrap:wrap !important;justify-content:center !important}
.tw-industry-list > *{flex:0 1 calc((100% - 48px) / 4) !important;max-width:calc((100% - 48px) / 4) !important;min-width:0}
.wh-industry-list{display:flex !important;flex-wrap:wrap !important;justify-content:center !important}
.wh-industry-list > *{flex:0 1 calc((100% - 48px) / 4) !important;max-width:calc((100% - 48px) / 4) !important;min-width:0}
.wt-industry-list{display:flex !important;flex-wrap:wrap !important;justify-content:center !important}
.wt-industry-list > *{flex:0 1 calc((100% - 48px) / 4) !important;max-width:calc((100% - 48px) / 4) !important;min-width:0}
}
/* Related boxes: centred wrapping rows */
.asm-relbox{display:flex !important;flex-wrap:wrap !important;justify-content:center !important;gap:12px !important;grid-template-columns:none !important}
.asm-relbox > p{flex:0 1 320px !important;max-width:100% !important;margin:0 !important}
.asm-relbox > div{flex:1 1 100% !important;display:flex !important;flex-wrap:wrap !important;justify-content:center !important;gap:12px !important}
.asm-relbox > div > p{flex:0 1 320px !important;margin:0 !important}
@media (min-width:1025px){
.cine-blocks .grid.g-2,.cine-blocks .grid.g-3,.cine-blocks .grid.g-4{display:flex !important;flex-wrap:wrap !important;justify-content:center !important;grid-template-columns:none !important}
.cine-blocks .grid.g-2 > *{flex:0 1 calc((100% - 24px) / 2) !important;max-width:calc((100% - 24px) / 2) !important;min-width:0}
.cine-blocks .grid.g-3 > *{flex:0 1 calc((100% - 48px) / 3) !important;max-width:calc((100% - 48px) / 3) !important;min-width:0}
.cine-blocks .grid.g-4 > *{flex:0 1 calc((100% - 72px) / 4) !important;max-width:calc((100% - 72px) / 4) !important;min-width:0}
}
/* Bento: a trailing card fills the rest of its row instead of leaving a hole */
@media (min-width:901px){.p18x-bento > .p18x-bento__c:last-child:nth-child(3n+2){grid-column:1 / -1 !important}}
/* Closing paragraph after a card grid: spaced + centred */
:is(.p18x-bento,.p18x-g3,ul.p18x-igs,.p18x-dir,.cine-blocks .grid,.asm-help__cards,.asm-pillars__grid,.asm-svcd-grid) ~ p{max-width:780px;margin:28px auto 0 !important;text-align:center !important}

/* ==== 5.13.0 Related Services = homepage slider everywhere (20 per slide) ==== */
html body.cine-p18 .asm-related__viewport{position:relative !important;overflow:hidden !important}
html body.cine-p18 .asm-related__track{display:flex !important;scroll-snap-type:x mandatory;overflow-x:auto !important;scroll-behavior:smooth;scrollbar-width:none;-webkit-overflow-scrolling:touch}
html body.cine-p18 .asm-related__track::-webkit-scrollbar{display:none}
html body.cine-p18 .asm-related__slide{flex:0 0 100% !important;min-width:100% !important;scroll-snap-align:start;display:grid !important;grid-template-columns:repeat(5,minmax(0,1fr)) !important;gap:0 28px !important;align-content:start}
html body.cine-p18 .asm-related__nav{display:flex !important;align-items:center;justify-content:center;gap:16px;margin-top:36px}
html body.cine-p18 .asm-related__arrow{display:inline-flex !important}
html body.cine-p18 .asm-related__dots{display:flex !important;align-items:center;gap:9px}
html body.cine-p18 .asm-related__item > a{padding:15px 4px}
html body.cine-p18 .asm-related__title{font-size:14.5px}
@media (max-width:1100px){html body.cine-p18 .asm-related__slide{grid-template-columns:repeat(3,minmax(0,1fr)) !important}}
@media (max-width:720px){html body.cine-p18 .asm-related__slide{grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:0 16px !important}}
@media (max-width:460px){html body.cine-p18 .asm-related__slide{grid-template-columns:1fr !important}}
/* light location pages: related section reads on light */
html[data-theme="light"] body.cine-p18 .asm-related{background:#f7f9f9 !important}
html[data-theme="light"] body.cine-p18 .asm-related__item{border-bottom:0 !important;border-top:1px solid rgba(12,27,34,.1) !important}
html[data-theme="light"] body.cine-p18 .asm-related__item > a{color:#0c1b22 !important}
html[data-theme="light"] body.cine-p18 .asm-related__title{color:#0c1b22 !important}
html[data-theme="light"] body.cine-p18 .asm-related__item > a:hover .asm-related__title{color:#0b7d71 !important}
html[data-theme="light"] body.cine-p18 .asm-related__num{color:#0E9E8E !important;opacity:1}
html[data-theme="light"] body.cine-p18 .asm-related .asm-sec-head__title{color:#0c1b22 !important}
html[data-theme="light"] body.cine-p18 .asm-related__arrow{color:#0c1b22 !important;border-color:rgba(12,27,34,.18) !important}
html[data-theme="dark"] body.cine-p18 .asm-related__arrow,html:not([data-theme]) body.cine-p18 .asm-related__arrow{color:#eef5f6;border-color:rgba(255,255,255,.22)}
html[data-theme="dark"] body.cine-p18 .asm-related__dot{background:rgba(255,255,255,.25)}
.asm-related__dot.is-active{background:#0E9E8E !important}

/* Link chips paged 20 at a time */
.asm-lc{position:relative;margin:0 0 26px}
.asm-lc__track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.asm-lc__track::-webkit-scrollbar{display:none}
.asm-relmore .asm-lc__slide.asm-linkcloud,.asm-lc__slide{flex:0 0 100%;min-width:100%;scroll-snap-align:start;display:flex !important;flex-wrap:wrap;justify-content:center;align-content:flex-start;gap:10px;margin:0 !important}
.asm-lc__slide p{margin:0 !important}
.asm-lc__nav{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:20px}
.asm-lc__arrow{width:38px;height:38px;border-radius:50%;border:1px solid rgba(12,27,34,.18);background:transparent;color:#0c1b22;font-size:22px;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background .18s,color .18s}
.asm-lc__arrow:hover{background:#0E9E8E;border-color:#0E9E8E;color:#fff}
.asm-lc__dots{display:flex;gap:8px;align-items:center}
.asm-lc__dot{width:8px;height:8px;padding:0;border:0;border-radius:50%;background:rgba(12,27,34,.2);cursor:pointer;transition:width .18s,background .18s}
.asm-lc__dot.is-active{width:24px;border-radius:6px;background:#0E9E8E}
html[data-theme="dark"] .asm-lc__arrow{color:#eef5f6;border-color:rgba(255,255,255,.22)}
html[data-theme="dark"] .asm-lc__dot{background:rgba(255,255,255,.25)}
html[data-theme="dark"] .asm-lc__dot.is-active{background:#00E0C6}
/* Compact mobile slides */
@media (max-width:720px){
html body.cine-p18 .asm-related__slide,html body.cine-p18 .asm-related__slide{grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:0 14px !important}
.asm-related__slide{grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:0 14px !important}
.asm-related__item > a,html body.cine-p18 .asm-related__item > a{padding:10px 2px !important;gap:7px !important}
.asm-related__title,html body.cine-p18 .asm-related__title{font-size:12.5px !important;line-height:1.3 !important}
.asm-related__num,html body.cine-p18 .asm-related__num{font-size:10px !important}
.asm-related__nav,html body.cine-p18 .asm-related__nav{margin-top:22px !important}
.asm-lc__slide{gap:7px !important}
.asm-lc__slide p a,.asm-lc__slide a{font-size:12px !important;padding:6px 11px !important}
}
/* 5.14.0 merged Related Services: guides row sits under the slider */
.asm-relmore--guides{margin-top:34px !important;padding-top:0 !important;border-top:0 !important}
/* single-slide Related Services: centre an incomplete row */
@media (min-width:721px){
.asm-related__track > .asm-related__slide:only-child,html body.cine-p18 .asm-related__track > .asm-related__slide:only-child{display:flex !important;flex-wrap:wrap;justify-content:center;gap:0 28px !important}
.asm-related__track > .asm-related__slide:only-child > .asm-related__item{flex:0 0 calc((100% - 112px)/5);min-width:0}
}
@media (min-width:721px) and (max-width:1100px){
.asm-related__track > .asm-related__slide:only-child > .asm-related__item{flex-basis:calc((100% - 56px)/3)}
}

/* 5.15.5 "See more points" wrapper is a plain container — never a white FAQ panel */
details.asm-pts-more,
html[data-theme="light"] body.cine-p18 :is(#hseo-cine,.cine-blocks) section.sec details.asm-pts-more{background:transparent !important;border:0 !important;box-shadow:none !important;padding:0 !important;border-radius:0 !important}
/* Light sections on location pages: button in brand teal on light */
html[data-theme="light"] body.cine-p18 :is(#hseo-cine,.cine-blocks) section.sec:not(.p18x--imgcards):not(.p18x--ctaband):not(.asm-scene) .asm-pts-more > summary{color:#0b7d71 !important;border-color:rgba(14,158,142,.45) !important;background:rgba(14,158,142,.08) !important}
html[data-theme="light"] body.cine-p18 :is(#hseo-cine,.cine-blocks) section.sec:not(.p18x--imgcards):not(.p18x--ctaband):not(.asm-scene) .asm-pts-more > summary:hover{background:#0E9E8E !important;color:#fff !important}
/* image-card (dark) sections keep the dark-mode button in light theme */
html[data-theme] body.cine-p18 :is(#hseo-cine,.cine-blocks) section.sec.p18x--imgcards .asm-pts-more > summary,
html[data-theme] body.cine-p18 :is(#hseo-cine,.cine-blocks) section.sec.p18x--ctaband .asm-pts-more > summary{color:#5eead4 !important;border-color:rgba(0,224,198,.45) !important;background:rgba(0,224,198,.08) !important}
html[data-theme] body.cine-p18 :is(#hseo-cine,.cine-blocks) section.sec.p18x--imgcards .asm-pts-more > summary:hover{background:#00E0C6 !important;color:#04231f !important}

/* 5.16.0 Centre text-only intros over full-width point cards */
section.asm-pts-center .asm-ctr-a{display:block !important;grid-template-columns:none !important;columns:auto !important;column-count:auto !important;text-align:center !important;max-width:none !important;margin-left:auto !important;margin-right:auto !important;width:auto !important;padding-left:0;padding-right:0}
section.asm-pts-center .asm-ctr-a > :is(h2,h3){margin-left:auto !important;margin-right:auto !important;max-width:920px;text-align:center !important}
section.asm-pts-center .asm-ctr-a > :is(.eyebrow,.asm-eyebrow,span){text-align:center !important;margin-left:auto !important;margin-right:auto !important;justify-content:center}
section.asm-pts-center .asm-ctr-a .p18x-rule,section.asm-pts-center .asm-ctr-a [class*=rule]{margin-left:auto !important;margin-right:auto !important}
section.asm-pts-center p.asm-ctr-p{max-width:780px !important;margin-left:auto !important;margin-right:auto !important;text-align:center !important;grid-column:auto !important}
/* the big decorative chapter number only makes sense in the side-column layout */
section.asm-pts-center .p18x-chap__n{display:none !important}
section.asm-pts-center .asm-ctr-a > *{grid-column:auto !important;grid-row:auto !important}
@media (max-width:720px){section.asm-pts-center p.asm-ctr-p{text-align:left !important}section.asm-pts-center .asm-ctr-a > :is(h2,h3){text-align:left !important}section.asm-pts-center .asm-ctr-a{text-align:left !important}}
/* 5.16.1 intro paragraph wrappers (e.g. .p18x-cols) also span and centre */
section.asm-pts-center :has(> p.asm-ctr-p):not(.asm-pts-wrap):not(.asm-pts){display:block !important;columns:auto !important;column-count:auto !important;grid-template-columns:none !important;max-width:none !important;width:auto !important;margin-left:auto !important;margin-right:auto !important}
/* 5.16.2 Media sections: stack centred intro, then image as a centred banner, then cards */
section.asm-pts-stack .asm-ctr-a{display:flex !important;flex-direction:column !important;align-items:stretch !important;gap:0 !important}
section.asm-pts-stack .asm-ctr-a > *{order:1;width:auto !important;max-width:none;min-width:0;position:relative !important;left:auto !important;right:auto !important;top:auto !important;transform:none;float:none !important}
section.asm-pts-stack .asm-ctr-a > .asm-ctr-m{order:5 !important;width:100% !important;max-width:880px !important;margin:30px auto 0 !important;height:auto !important;min-height:0 !important;aspect-ratio:auto !important;display:flex !important;gap:14px;justify-content:center;grid-template-columns:none !important}
section.asm-pts-stack .asm-ctr-m :is(img,picture,video){width:100% !important;height:300px !important;max-height:300px;object-fit:cover !important;border-radius:18px;position:static !important;inset:auto !important}
section.asm-pts-stack .asm-ctr-m > *{flex:1 1 0;min-width:0;position:relative !important;inset:auto !important;transform:none !important;margin:0 !important;width:auto !important;height:auto !important}
section.asm-pts-stack .asm-ctr-a > .asm-ctr-h{order:9 !important}
section.asm-pts-stack .asm-ctr-a :is(.p18x-head,[class*=__copy],[class*=__card],[class*=__panel],[class*=__txt],[class*=__text],[class*=__body]){max-width:920px;margin-left:auto !important;margin-right:auto !important;text-align:center !important}
section.asm-pts-stack .asm-ctr-a [class*=__card]{box-shadow:none !important;background:transparent !important;border:0 !important;padding:0 !important}
section.asm-pts-stack .asm-ctr-a :is(.btn,[class*=btn],[class*=cta]):not(.asm-pts-wrap *){align-self:center;margin-left:auto;margin-right:auto}
@media (max-width:720px){section.asm-pts-stack .asm-ctr-m :is(img,picture,video){height:200px !important}section.asm-pts-stack .asm-ctr-a > .asm-ctr-m{flex-direction:column}}
section.asm-pts-stack .asm-ctr-m,section.asm-pts-stack .asm-ctr-m *{opacity:1 !important;visibility:visible !important;clip-path:none !important}
section.asm-pts-stack .asm-ctr-m{transform:none !important}

/* 5.16.4 ---------------------------------------------------------------- */
/* sticky heading columns must not float over the stacked/centred intro */
section.asm-pts-center .asm-ctr-a,section.asm-pts-center .asm-ctr-a > :not(.asm-ctr-h),section.asm-pts-center .p18x-head{position:relative !important;top:auto !important}
/* banner images: natural proportion, capped — no hard crop */
section.asm-pts-stack .asm-ctr-m :is(img,picture,video){height:auto !important;max-height:440px !important;aspect-ratio:auto !important}
section.asm-pts-stack .asm-ctr-m:has(> * + *) :is(img,picture,video){height:300px !important}
/* steps list: numbers need breathing room from the item edge */
.p18x-steps .p18x-step{padding-left:24px !important;padding-right:24px !important}

/* 5.16.7 CTA-family bands: copy-only panels -> centred column (both themes) */
section[class*="p18x--ctafam"] .p18x-cta__in{display:block !important;grid-template-columns:none !important;max-width:900px !important;margin-left:auto !important;margin-right:auto !important;text-align:center !important}
section[class*="p18x--ctafam"] .p18x-cta__copy{max-width:none !important;width:auto !important;margin:0 auto !important;text-align:center !important;grid-column:auto !important}
section[class*="p18x--ctafam"] .p18x-cta__copy :is(h2,.p18x-h2){margin-left:auto !important;margin-right:auto !important;max-width:820px}
section[class*="p18x--ctafam"] .p18x-cta__copy p{max-width:780px;margin-left:auto !important;margin-right:auto !important}
section[class*="p18x--ctafam"] .p18x-cta__badge{margin-left:auto;margin-right:auto}
section[class*="p18x--ctafam"] .p18x-cta__copy > :is(.btn,[class*=btn],[class*=actions]){justify-content:center;margin-left:auto;margin-right:auto}
@media (max-width:720px){section[class*="p18x--ctafam"] .p18x-cta__copy p{text-align:left}}

/* 5.16.8 lists inside centred intros: centred 2-col grid of tidy check rows (no big gaps) */
section.asm-pts-center [data-asm-l]{display:grid !important;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px !important;max-width:980px !important;margin:22px auto 26px !important;padding:0 !important;list-style:none !important;text-align:left !important;columns:auto !important}
section.asm-pts-center [data-asm-l] > li{position:relative;margin:0 !important;padding:14px 18px 14px 50px !important;border-radius:14px;background:rgba(14,158,142,.06);border:1px solid rgba(14,158,142,.16);line-height:1.5;min-height:0 !important;height:auto !important;display:block !important}
section.asm-pts-center [data-asm-l] > li::before{content:"" !important;position:absolute !important;left:16px !important;top:15px !important;width:22px !important;height:22px !important;border-radius:50% !important;-webkit-mask:none !important;mask:none !important;box-shadow:none !important;background:#0E9E8E url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/13px no-repeat !important;counter-increment:none}
section.asm-pts-center ol[data-asm-l] > li::before{content:none !important}
section.asm-pts-center ol[data-asm-l]{counter-reset:asmL}
section.asm-pts-center ol[data-asm-l] > li{counter-increment:asmL}
section.asm-pts-center ol[data-asm-l] > li::after{content:counter(asmL);position:absolute;left:16px;top:14px;width:24px;height:24px;border-radius:8px;background:linear-gradient(135deg,#0E9E8E,#00E0C6);color:#fff;font:700 12px/24px 'Space Grotesk',sans-serif;text-align:center}
section.asm-pts-center [data-asm-l]:has(> li:only-child){grid-template-columns:minmax(0,1fr);max-width:780px !important}
html[data-theme="dark"] section.asm-pts-center [data-asm-l] > li{background:rgba(0,224,198,.05);border-color:rgba(0,224,198,.16)}
@media (max-width:720px){section.asm-pts-center [data-asm-l]{grid-template-columns:minmax(0,1fr)}}
section.asm-pts-center :has(> [data-asm-l]):not(.asm-pts-wrap){display:block !important;grid-template-columns:none !important;columns:auto !important;max-width:none !important;width:auto !important;margin-left:auto !important;margin-right:auto !important}
section.asm-pts-center [data-asm-l]{width:100% !important}
html body section.sec.asm-pts-center :is(ul,ol)[data-asm-l]{grid-template-columns:repeat(2,minmax(0,1fr)) !important;max-width:980px !important}
html body section.sec.asm-pts-center :is(ul,ol)[data-asm-l]:has(> li:only-child){grid-template-columns:minmax(0,1fr) !important}
html body section.sec.asm-pts-center :is(ul,ol).p18x-steps:empty{display:none !important}
@media (max-width:720px){html body section.sec.asm-pts-center :is(ul,ol)[data-asm-l]{grid-template-columns:minmax(0,1fr) !important}}
html body section.sec.asm-pts-center :is(ul,ol)[data-asm-l] > li{width:auto !important;max-width:none !important;min-width:0 !important;flex:none !important;grid-column:auto !important}
/* keep page gutters on the wrapper when it is part of the centred chain */
section.asm-pts-center :is(.wrap,.asm-wrap,.auto-container).asm-ctr-a{padding-left:max(20px,env(safe-area-inset-left)) !important;padding-right:max(20px,env(safe-area-inset-right)) !important}
