/* Typography and spacing follow the existing website design service page. */
.wcat{--brand:#470000;--red:#f00;--h1:55px;--h2:45px;--h3:24px;font-family:'Archivo',sans-serif;font-size:16px;line-height:1.75;color:#470000;background:#fff}
.wcat *,.wcat *::before,.wcat *::after{box-sizing:border-box}
.wcat .container{width:100%;max-width:1500px;margin-inline:auto;padding-inline:clamp(16px,2.5vw,40px)}
.wcat-section{padding-block:50px;scroll-margin-top:100px}
.wcat h1,.wcat h2,.wcat h3{font-family:inherit;font-weight:800;letter-spacing:-.02em;margin:0;color:inherit;overflow-wrap:anywhere}
.wcat h1{font-size:var(--h1);line-height:1.1}
.wcat h2{font-size:var(--h2);line-height:1.12}
.wcat h3{font-size:var(--h3);line-height:1.25}
.wcat p,.wcat li{font-size:16px;font-weight:400;line-height:1.75;margin:0;letter-spacing:0}
.wcat p+p{margin-top:14px}
.wcat h1+p,.wcat h2+p{margin-top:20px}
.wcat h3+p{margin-top:10px}
.wcat .wcat-eyebrow{font-size:14px;font-weight:700;line-height:1.2;text-transform:uppercase;color:var(--red);margin:0 0 14px}
.wcat .wcat-subtitle{font-size:24px;line-height:1.25;font-weight:800;margin:20px 0 14px}
.wcat .wcat-lead{font-weight:800;line-height:1.7}
.wcat-hero{background:#470000;color:#fff}
.wcat-hero{padding-block:70px}
.wcat .wcat-hero .wcat-eyebrow,.wcat .wcat-final .wcat-eyebrow{color:#fff}
.wcat-items{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:24px}
.wcat-items--3{grid-template-columns:repeat(2,minmax(0,1fr))}
.wcat-item{min-width:0;border:1px solid #f0dcdc;border-radius:20px;padding:24px;background:#fff}
.wcat-item .wcat-lead{margin-top:14px}
.wcat-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 24px;list-style:none;padding:0;margin:20px 0 0}
.wcat-list li{position:relative;padding-left:20px}
.wcat-list li::before{content:'';width:7px;height:7px;background:var(--red);border-radius:50%;position:absolute;left:0;top:11px}
.wcat-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
.wcat a:focus-visible,.wcat summary:focus-visible{outline:3px solid #f00;outline-offset:4px}


.wcat .wcat-support,.wcat .wcat-closing{font-size:15px;margin-top:20px}
.wcat-related{display:flex;flex-wrap:wrap;gap:10px 24px;margin-top:24px}
.wcat-related a{font-size:15px;color:inherit;text-decoration:underline;text-underline-offset:4px}
@media(max-width:1199px){.wcat{--h2:36px}}
@media(max-width:991.98px){.wcat{--h1:48px;--h3:22px}.wcat-items{grid-template-columns:repeat(2,minmax(0,1fr))}.wcat-hero{padding-block:50px}}
@media(max-width:767px){.wcat{--h2:32px}.wcat-items--3{grid-template-columns:1fr}}
@media(max-width:575.98px){.wcat{--h1:37px;--h3:21px}.wcat .container{padding-inline:16px}.wcat-items,.wcat-list{grid-template-columns:1fr}.wcat-item{padding:20px}.wcat .wcat-subtitle{font-size:21px}}

/* Services page layout: red hero, soft section backgrounds and restrained cards. */
.wcat{overflow-x:clip}
.wcat h2{max-width:1050px;color:#ff0000;text-wrap:balance}
.wcat-section>.container>p{max-width:1050px}
html body .wcat p.wcat-eyebrow:not(#_){display:flex;align-items:center;gap:8px;width:fit-content;max-width:100%;padding:7px 16px;border:1px solid rgba(255,0,0,.28);border-radius:999px;background:rgba(255,0,0,.06);color:#ff0000;font-size:var(--fs-eyebrow);font-weight:800;line-height:1.3;letter-spacing:.14em;margin-bottom:18px}
.wcat .wcat-eyebrow i{font-size:13px;flex:0 0 auto}
.wcat .wcat-hero{padding-block:54px;background:#ff0000;color:#fff}
.wcat-hero-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:center;gap:clamp(24px,4vw,64px)}
.wcat-hero-copy{min-width:0}
html body .wcat-hero h1:not(#_){font-size:clamp(38px,3.7vw,56px);font-weight:700;line-height:1.15;letter-spacing:-.02em}
html body .wcat p.wcat-subtitle:not(#_){font-size:24px;font-weight:700;line-height:1.35}
html body .wcat .wcat-hero .wcat-eyebrow:not(#_){background:#470000;border-color:rgba(255,255,255,.4);color:#fff;-webkit-text-fill-color:#fff}
/* hero colours: white H1, maroon first paragraph under it, maroon pill with a red icon; !important beats the global h1 / hero-pill icon rules in typography.css */
html body .wcat .wcat-hero h1:not(#_){color:#fff!important;-webkit-text-fill-color:#fff!important}
html body .wcat .wcat-hero p.wcat-subtitle:not(#_){color:#470000!important;-webkit-text-fill-color:#470000!important}
html body .wcat .wcat-hero .wcat-eyebrow i:not(#_){color:#ff0000!important;-webkit-text-fill-color:#ff0000!important;fill:#ff0000}
.wcat-hero-art{position:relative;min-width:0;padding:35px 12px 65px;isolation:isolate}
.wcat-hero-art::before{content:"";position:absolute;inset:-25px -15px;border:1px solid #ffffff40;border-radius:50%;z-index:-1}
.wcat-browser{overflow:hidden;border:5px solid #470000;border-radius:18px;background:#fff;box-shadow:0 24px 60px #47000040;transform:rotate(-3deg)}
.wcat-browser-bar{display:flex;align-items:center;gap:6px;padding:16px;background:#fff0f0;border-bottom:1px solid #f0dcdc}
.wcat-browser-bar>span{width:8px;height:8px;border-radius:50%;background:#ffb1b1}
.wcat-browser-bar>span:first-child{background:#ff0000}
.wcat-browser-bar b{margin-left:10px;color:#764848;font-size:11px;font-weight:600}
.wcat-browser-screen{padding:clamp(20px,3vw,42px);color:#470000;background:linear-gradient(135deg,#fff 45%,#ffe8e8)}
.wcat-art-tag{font-size:11px;font-weight:700;letter-spacing:.12em;color:#ff0000}
.wcat-art-title{margin:20px 0;font-size:clamp(28px,3vw,44px);font-weight:700;line-height:1.15;letter-spacing:-.025em}
.wcat-art-title>span{color:#ff0000}
.wcat-art-lines{display:grid;gap:9px;margin:0 0 24px}
.wcat-art-lines span{width:90%;height:7px;border-radius:5px;background:#eddada}
.wcat-art-lines span+span{width:65%}
.wcat-art-button{display:inline-flex;align-items:center;gap:16px;padding:12px 16px;border-radius:24px;background:#470000;color:#fff;font-size:12px;font-weight:700}
.wcat-art-tiles{display:flex;gap:14px;margin-top:30px}
.wcat-art-tiles>i{display:grid;place-items:center;width:54px;height:54px;border:1px solid #ffd1d1;border-radius:12px;background:#fff;color:#ff0000;font-size:25px}
.wcat-art-note{position:absolute;bottom:8px;right:0;display:flex;align-items:center;gap:14px;padding:18px 24px;border:1px solid #f0dcdc;border-radius:16px;background:#fff;color:#470000;box-shadow:0 12px 30px #47000026;font-size:14px;line-height:1.5}
.wcat-art-note>i{color:#ff0000;font-size:32px}
.wcat-items{counter-reset:wcat-card;margin-top:32px;align-items:stretch}
.wcat-item{counter-increment:wcat-card;box-shadow:0 8px 24px #47000008;transition:border-color .2s,box-shadow .2s}
.wcat-item-heading{display:flex;align-items:center;gap:14px;min-width:0;margin-bottom:16px}
.wcat-item-heading h3{flex:1;min-width:0;margin:0;text-wrap:wrap}
.wcat-item-icon{display:grid;place-items:center;flex:0 0 46px;width:46px;height:46px;border-radius:12px;background:#fff0f0;color:#ff0000}
.wcat-item-icon--custom i{font-size:20px;color:inherit}
.wcat-item:hover{border-color:#ffaaaa;box-shadow:0 14px 30px #47000010}
html body .wcat .wcat-item h3:not(#_){font-size:20px;font-weight:700;line-height:1.35}
.wcat-items--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.wcat-items--3 .wcat-item{border-top:3px solid #ff0000}
.wcat-item .wcat-list{grid-template-columns:1fr}


.wcat-related a{padding:10px 18px;border:1px solid #f0dcdc;border-radius:24px;background:#fff;color:#470000;font-weight:700;text-decoration:none}
.wcat .wcat-final{color:#fff;text-align:center}
.wcat-final h2,.wcat-final>.container>p{margin-inline:auto;color:#fff}
html body .wcat .wcat-final .wcat-eyebrow:not(#_){margin-inline:auto;background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.4);color:#fff}
.wcat-final .wcat-actions{justify-content:center}
@media(max-width:1199px){.wcat-items{gap:18px}.wcat-hero-layout{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:28px}}
@media(max-width:991px){.wcat-hero-layout{grid-template-columns:minmax(0,1fr)}.wcat-hero-art{width:min(100%,580px);margin:0 auto}.wcat-items--3{grid-template-columns:repeat(2,minmax(0,1fr))}.wcat-section{padding-block:44px}html body .wcat-hero h1:not(#_){font-size:48px}}
@media(max-width:767px){.wcat-art-note{right:8px}html body .wcat p.wcat-subtitle:not(#_){font-size:21px}}
@media(max-width:575px){.wcat-section{padding-block:36px}.wcat-items,.wcat-items--3{grid-template-columns:1fr;gap:16px;margin-top:24px}.wcat-actions{align-items:stretch;flex-direction:column;gap:12px}html body .wcat-hero h1:not(#_){font-size:37px}.wcat-hero-art{padding:18px 6px 64px}.wcat-art-note{font-size:12px;padding:12px 16px}.wcat-browser-bar{padding:12px}.wcat-art-title{font-size:30px}.wcat-art-tiles>i{width:44px;height:44px;font-size:21px}.wcat-related{flex-direction:column}.wcat .wcat-final{padding-block:44px}}
@media(prefers-reduced-motion:reduce){.wcat *{transition:none!important}}

/* Software category uses the same spacing and type scale as the website category. */
.wcat-software .wcat-item{display:flex;flex-direction:column}
.wcat-software .wcat-item-heading{min-height:54px}
.wcat-software .wcat-item>.global-cta{margin-top:auto;padding-top:18px}
.wcat-software .wcat-item>.wcat-lead{margin-top:0}
.wcat-software .wcat-items--3 .wcat-item .wcat-lead{margin-bottom:12px}

.wcat-software .wcat-actions{gap:12px}
.wcat-software .wcat-final .wcat-related{justify-content:center;gap:12px}
.wcat-software .wcat-final .wcat-related a{font-size:14px}
@media(max-width:575px){.wcat-software .wcat-item-heading{min-height:0}}

/* Mobile app category: aligned service links and device-specific hero. */
.wcat-mobile .wcat-item{display:flex;flex-direction:column}
.wcat-mobile .wcat-item-heading{min-height:54px}
.wcat-mobile .wcat-item>.global-cta{margin-top:auto;padding-top:18px}
.wcat-mobile .wcat-item>.wcat-lead{margin-top:0;margin-bottom:12px}

.wcat-mobile .wcat-final .wcat-related{justify-content:center;gap:12px}
.wcat-mobile .wcat-final .wcat-related a{font-size:14px}
@media(max-width:575px){.wcat-mobile .wcat-item-heading{min-height:0}}

/* AI category follows the same service cards, process steps and content rhythm. */


/* Blockchain shares the software category's aligned cards and numbered process. */


/* Branding and marketing: shared service layout, search and campaign iconography. */


/* Security and maintenance follows the shared card, process and FAQ layouts. */


/* Technical support has an extra service-comparison section before its FAQs. */
.wcat-support .wcat-items--8{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:575px){.wcat-support .wcat-items--8{grid-template-columns:1fr}}

.dev-enquiry{margin-top:28px;scroll-margin-top:110px}
.dev-form{padding:32px;border:1px solid #f0dcdc;border-radius:20px;background:#fff;box-shadow:0 8px 24px #47000008}
.dev-form>h3{margin-bottom:24px}
.dev-form fieldset{min-width:0;margin:0 0 28px;padding:0;border:0}
.dev-form legend{float:none;width:auto;margin-bottom:18px;padding:0;color:#470000;font-size:20px;font-weight:700}
.dev-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 24px}
.dev-field{display:flex;flex-direction:column;gap:8px;min-width:0}
.dev-field label{margin:0;font-size:14px;font-weight:700}
.dev-field :is(input,select,textarea){width:100%;min-width:0;min-height:46px;padding:12px 14px;border:1px solid #e5caca;border-radius:10px;background:#fff;color:#470000;font:inherit;font-size:16px;line-height:1.4}
.dev-field textarea{resize:vertical}
.dev-field small{font-size:13px;color:#754848}
.dev-wide{grid-column:1/-1}
.dev-consent{display:flex;align-items:flex-start;gap:12px;margin:0 0 24px;font-size:14px;line-height:1.6}
.dev-consent input{flex:0 0 18px;width:18px;height:18px;margin-top:4px;accent-color:#f00}
.dev-consent a{color:#f00;text-decoration:underline}
.dev-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.dev-notice{margin-bottom:24px;padding:24px;border:1px solid #91cba5;border-radius:14px;background:#f3fff6}
.dev-notice--error{border-color:#ffaaaa;background:#fff0f0}
.dev-notice h3{margin-bottom:12px}
@media(max-width:575px){.dev-form{padding:20px}.dev-fields{grid-template-columns:1fr}.dev-form legend{font-size:18px}.dev-fields{gap:16px}}

/* ===== Unified section layout (2026-10-29): the same rhythm as the home, about and services pages =====
   Card sections: centred head over a balanced card grid (an odd last row is centred, never a gap).
   Text-only sections: head on the left, copy and list on the right. Same padding, gaps and card style everywhere. */
.wcat{--wcat-gap:24px}
.wcat .wcat-section{padding-block:clamp(40px,5vw,72px)}
.wcat .wcat-hero{padding-block:clamp(36px,4.5vw,64px)}

/* centred heads (card, form and FAQ sections) */
html body .wcat :is(.wcat-section--cards,.wcat-section--form)>.container>p.wcat-eyebrow:not(#_){margin-inline:auto}
.wcat :is(.wcat-section--cards,.wcat-section--form)>.container>h2{margin-inline:auto;text-align:center}
.wcat :is(.wcat-section--cards,.wcat-section--form)>.container>p:not(.wcat-eyebrow){max-width:920px;margin-inline:auto;text-align:center}
.wcat .wcat-section--cards>.container>.wcat-actions,.wcat .wcat-section--form>.container>.wcat-actions{justify-content:center}

/* card grid */
.wcat .wcat-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--wcat-gap);margin-top:36px}
.wcat .wcat-grid>.wcat-item{flex:0 0 calc((100% - 2 * var(--wcat-gap)) / 3);min-width:0}
.wcat .wcat-grid.wcat-cols-2>.wcat-item{flex-basis:calc((100% - var(--wcat-gap)) / 2)}
.wcat .wcat-grid+:is(p,.wcat-actions){margin-top:32px}
.wcat .wcat-item{display:flex;flex-direction:column;padding:28px;border:1px solid #f0dcdc;border-radius:20px;background:#fff;box-shadow:0 8px 24px rgba(71,0,0,.04);transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease}
.wcat .wcat-grid>.wcat-item{border-top:1px solid #f0dcdc}
.wcat .wcat-item:hover{transform:translateY(-4px);border-color:#ffaaaa;box-shadow:0 16px 32px rgba(71,0,0,.08)}
.wcat .wcat-item-heading{min-height:54px;margin-bottom:16px}
.wcat .wcat-item>.wcat-lead{margin-top:0;margin-bottom:12px}
.wcat .wcat-item>.global-cta{margin-top:auto;padding-top:18px}
.wcat .wcat-item-icon i{font-size:20px;color:inherit}
.wcat .wcat-item-icon--num{font-size:17px;font-weight:800;line-height:1;letter-spacing:0}
.wcat .wcat-item .wcat-list{margin-top:14px}

/* text-only sections */
.wcat .wcat-split{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(28px,5vw,80px);align-items:start}
.wcat .wcat-split-head{min-width:0;position:sticky;top:130px}
.wcat .wcat-split-head h2{max-width:none}
.wcat .wcat-split-body{min-width:0}
.wcat .wcat-split-body>:first-child{margin-top:0}
.wcat .wcat-split-body>p{max-width:none}
.wcat .wcat-split-body .wcat-list{padding:28px;border:1px solid #f0dcdc;border-radius:18px;background:#fff;box-shadow:0 8px 24px rgba(71,0,0,.04)}
.wcat .wcat-split-body .wcat-list+p{margin-top:24px}

/* buttons: the index .alive-btn on light sections (red outline, red arrow circle); hero and final keep their inverted pair */

@media(max-width:991px){
  .wcat .wcat-grid>.wcat-item,.wcat .wcat-grid.wcat-cols-2>.wcat-item{flex-basis:calc((100% - var(--wcat-gap)) / 2)}
  .wcat .wcat-split{grid-template-columns:minmax(0,1fr);gap:20px}
  .wcat .wcat-split-head{position:static}
}
@media(max-width:767px){
  .wcat :is(.wcat-section--cards,.wcat-section--form)>.container>p:not(.wcat-eyebrow){text-align:left}
}
@media(max-width:640px){
  .wcat{--wcat-gap:16px}
  .wcat .wcat-grid{margin-top:28px}
  .wcat .wcat-grid>.wcat-item,.wcat .wcat-grid.wcat-cols-2>.wcat-item{flex-basis:100%}
  .wcat .wcat-item{padding:22px}
  .wcat .wcat-item-heading{min-height:0}
  .wcat .wcat-split-body .wcat-list{padding:20px}
}

/* ===== Tone system (2026-10-31) =====
   Section backgrounds, section headings, section paragraphs and eyebrow pills are painted by css/section-system.css
   (data-ss="w|b|p": white / burgundy / pink), so nothing below gives a section its own background or colour and the
   old per-variant colour classes (features / service / dark / tiles / check / flip / banner) no longer carry any colour.
   The variant class names that remain (wcat-v-*) only change LAYOUT. Cards, list panels, tables and the form are solid
   white surfaces with dark text, so the same markup reads on white, burgundy and pink alike. */
.wcat .wcat-section{position:relative}
.wcat .wcat-section>.container{position:relative}
.wcat .wcat-hero{overflow:clip}
.wcat .wcat-hero::before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.14) 1px,transparent 1px);background-size:28px 28px;-webkit-mask-image:linear-gradient(90deg,transparent,#000 70%);mask-image:linear-gradient(90deg,transparent,#000 70%);pointer-events:none}

/* cards, tiles, process steps: one look on every tone */
.wcat .wcat-item,.wcat .wcat-grid>.wcat-item{background:#fff;color:#470000;border:1px solid rgba(71,0,0,.14);border-radius:20px;box-shadow:0 10px 28px rgba(71,0,0,.08);text-align:left}
.wcat .wcat-item h3{color:#470000}
.wcat .wcat-item :is(p,li){color:#470000;-webkit-text-fill-color:currentColor}
.wcat .wcat-item .wcat-lead,.wcat .wcat-item .wcat-lead strong{color:#470000}
.wcat .wcat-item:hover{border-color:#ff0000;box-shadow:0 18px 36px rgba(71,0,0,.14)}
.wcat .wcat-item-icon{border-radius:12px;background:#ff0000;color:#fff;box-shadow:none}
.wcat .wcat-item-icon i{color:inherit}
.wcat section[data-ss="b"] .wcat-item,.wcat section[data-ss="b"] .wcat-grid>.wcat-item{border-color:rgba(255,255,255,.38);box-shadow:0 16px 38px rgba(0,0,0,.32)}
.wcat section[data-ss="b"] .wcat-item:hover{border-color:#ff0000;box-shadow:0 20px 42px rgba(0,0,0,.4)}


/* service cards: small running number in the corner */
.wcat .wcat-v-service .wcat-grid{counter-reset:svc}
.wcat .wcat-v-service .wcat-item{counter-increment:svc;position:relative;overflow:clip}
.wcat .wcat-v-service .wcat-item::after{content:counter(svc,decimal-leading-zero);position:absolute;top:16px;right:20px;font-size:13px;font-weight:800;line-height:1;letter-spacing:.12em;color:rgba(255,0,0,.55);pointer-events:none}
.wcat .wcat-v-service .wcat-item-heading{padding-right:30px}

/* process: numbered red badges sit on the top edge of each step */
.wcat .wcat-v-process .wcat-grid{margin-top:60px;row-gap:46px}
.wcat .wcat-v-process .wcat-grid>.wcat-item{position:relative;overflow:visible;padding-top:46px;border-radius:22px 22px 22px 4px}
.wcat .wcat-v-process .wcat-item-heading{min-height:0;margin-bottom:12px}
.wcat .wcat-v-process .wcat-item-icon{position:absolute;top:-24px;left:24px;width:50px;height:50px;flex-basis:50px;border:4px solid #fff;border-radius:50%;background:#ff0000;color:#fff;font-size:17px;font-weight:800;box-shadow:0 10px 20px rgba(255,0,0,.3)}

/* text sections: list on a white panel with red check marks */
.wcat .wcat-split-body .wcat-list,.sdetail .container>.wcat-list{background:#fff;color:#470000;border:1px solid rgba(71,0,0,.14);border-radius:18px;padding:28px;box-shadow:0 10px 28px rgba(71,0,0,.08)}
.wcat section[data-ss="b"] .wcat-split-body .wcat-list,.sdetail section[data-ss="b"] .container>.wcat-list{border-color:rgba(255,255,255,.38);box-shadow:0 16px 38px rgba(0,0,0,.32)}
.wcat .wcat-split-body .wcat-list li,.sdetail .container>.wcat-list li{color:#470000;-webkit-text-fill-color:currentColor;padding-left:34px}
.wcat .wcat-split-body .wcat-list li::before,.sdetail .container>.wcat-list li::before{content:"\f00c";display:grid;place-items:center;left:0;top:3px;width:22px;height:22px;border-radius:50%;background:#ff0000;color:#fff;font-family:"Font Awesome 6 Free";font-size:11px;font-weight:900;line-height:1}
@media(min-width:992px){
  .wcat .wcat-v-flip .wcat-split{grid-template-columns:minmax(0,7fr) minmax(0,5fr)}
  .wcat .wcat-v-flip .wcat-split-head{order:2}
  .wcat .wcat-v-flip .wcat-split-body{order:1}
}

/* links and buttons that sit directly on a burgundy section turn white (the red circle stays); inside cards and the form they stay red */



.wcat .wcat-split-body>.wcat-actions{margin-top:28px}

/* link under a card grid */
.wcat .wcat-grid+.global-cta{display:flex;width:fit-content;margin-inline:auto;margin-top:32px}

/* wide screens: seven cards sit 4 + 3 (centred), never 6 + 1 */
@media(min-width:1200px){.wcat .wcat-grid.wcat-cols-4>.wcat-item{flex-basis:calc((100% - 3 * var(--wcat-gap)) / 4)}}

/* developer enquiry form (hire page): white panel, centred and a readable width on every tone */
.wcat .dev-enquiry{max-width:1100px;margin-inline:auto}
.wcat .dev-form{border-color:rgba(71,0,0,.14);color:#470000}
.wcat section[data-ss="b"] .dev-form{border-color:rgba(255,255,255,.38);box-shadow:0 16px 38px rgba(0,0,0,.32)}
.wcat .dev-form :is(h3,legend,label){color:#470000}
.wcat .dev-form .dev-consent span{color:#470000;-webkit-text-fill-color:currentColor}

/* last section = home page #inquiry look (css/final-card.css): keep the centred copy and buttons inside the card */
.wcat .wcat-final .wcat-related a{border-color:rgba(255,255,255,.3);background:rgba(255,255,255,.08);color:#fff;transition:background .2s ease,border-color .2s ease}
.wcat .wcat-final .wcat-related a:is(:hover,:focus-visible){border-color:#ff0000;background:#ff0000;color:#fff}
html body .wcat section.wcat-final.final-card:not(#_){text-align:center}

@media(max-width:991px){
  .wcat .wcat-v-process .wcat-grid{margin-top:56px}
}
@media(max-width:640px){
  .wcat .wcat-v-process .wcat-grid{row-gap:40px}
  .wcat .wcat-v-process .wcat-grid>.wcat-item{padding-top:44px}
  .wcat .wcat-split-body .wcat-list,.sdetail .container>.wcat-list{padding:20px}
}

/* centred heads: the pill is inline-flex (engine), which margin:auto cannot centre, so it becomes a fit-content flex box here */
html body .wcat section[data-ss]:is(.wcat-section--cards,.wcat-section--form)>.container>p.wcat-eyebrow.ss-eb:not(#_){display:flex;margin-left:auto;margin-right:auto}

/* a link that closes a cards section (e.g. a related-service link under the card grid) is centred like the section CTA */
.wcat .wcat-section--cards>.container>a.global-cta{display:flex;width:fit-content;margin:18px auto 0}
/* the closing card is maroon: its text link is white (the red text link would vanish on it) */


/* ===== Website Development category: structure and style (scoped to .wcat-web; solid colours, borders and spacing only) ===== */
/* hero: the supporting line is a row of chips */
.wcat-web .wcat-chips{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:22px 0 0;padding:0}
.wcat-web .wcat-chips li{padding:7px 14px;border:1px solid rgba(255,255,255,.6);border-radius:999px;background:rgba(255,255,255,.14);color:#fff;font-size:14px;font-weight:700;line-height:1.3}
/* the company figures are stat tiles */
.wcat-web .wcat-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(116px,1fr));gap:14px;margin:26px 0 10px;padding:0;list-style:none}
.wcat-web .wcat-stat{padding:16px 14px 14px;border:1px solid #f0dcdc;border-top:4px solid #ff0000;border-radius:14px;background:#fff;box-shadow:0 8px 24px rgba(71,0,0,.05)}
.wcat-web .wcat-stat b{display:block;white-space:nowrap;color:#ff0000;font-size:clamp(24px,2.2vw,32px);font-weight:800;line-height:1.1}
.wcat-web .wcat-stat span{display:block;margin-top:6px;color:#470000;font-size:14px;font-weight:700;line-height:1.35}
/* service cards: "Suitable for" note + icon that fills on hover */
.wcat-web .wcat-suit{margin:10px 0 4px;padding:10px 14px;border-left:3px solid #ff0000;border-radius:0 10px 10px 0;background:#fff5f5;font-size:14px;line-height:1.5}
.wcat-web .wcat-suit strong{color:#470000}
.wcat-web .wcat-item-icon{transition:background .25s ease,color .25s ease}
.wcat-web .wcat-item:hover .wcat-item-icon{background:#ff0000;color:#fff}
.wcat-web .wcat-v-service .wcat-item{border-top:4px solid #ff0000}
/* process: solid step circles with a red top rule */
.wcat-web .wcat-v-process .wcat-item{border-top:4px solid #ff0000}
.wcat-web .wcat-v-process .wcat-item-icon--num{flex-basis:48px;width:48px;height:48px;border-radius:50%;background:#ff0000;color:#fff;font-size:17px}
/* "why": left accent bar */
.wcat-web .wcat-st-accent .wcat-item{border-left:5px solid #ff0000;border-radius:14px}
.wcat-web .wcat-st-accent .wcat-item-icon{border-radius:50%}
/* comparison: three equal columns with a heavier top rule */
.wcat-web .wcat-st-compare .wcat-item{border-top:5px solid #ff0000}
.wcat-web .wcat-st-compare .wcat-item p{font-size:16px}
/* costs: two roomy panels */
.wcat-web .wcat-st-panel .wcat-item{padding:36px;border-radius:24px;border:2px solid #f0dcdc}
.wcat-web .wcat-st-panel .wcat-item h3{font-size:22px}
.wcat-web .wcat-st-panel .wcat-item-icon{width:54px;height:54px;flex-basis:54px;border-radius:16px}
/* regions: link tiles */
.wcat-web .wcat-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin:14px 0 20px}
.wcat-web .wcat-tile{display:flex;align-items:center;gap:10px;padding:14px 14px;border:1px solid #f0dcdc;border-radius:14px;background:#fff;color:#470000;font-weight:800;text-decoration:none;transition:border-color .25s ease,transform .25s ease,box-shadow .25s ease}
.wcat-web .wcat-tile span{flex:1}
.wcat-web .wcat-tile i{color:#ff0000}
.wcat-web .wcat-tile:hover,.wcat-web .wcat-tile:focus-visible{border-color:#ff0000;transform:translateY(-2px);box-shadow:0 12px 24px rgba(71,0,0,.1);color:#470000;text-decoration:none}
.wcat-web .wcat-tile:hover .fa-arrow-right{transform:translateX(3px)}
@media(max-width:575px){.wcat-web .wcat-stats{grid-template-columns:repeat(2,1fr)}.wcat-web .wcat-st-panel .wcat-item{padding:24px}.wcat-web .wcat-tiles{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.wcat-web .wcat-tile,.wcat-web .wcat-item-icon{transition:none}.wcat-web .wcat-tile:hover{transform:none}}
/* FAQ answer links use the shared red-circle text link, on their own line under the answer */
.wcat .hp-faq-item a.wcat-faq-link{display:flex;width:fit-content;margin-top:14px;text-decoration:none}
.wcat .hp-faq-item a.wcat-faq-link:hover{text-decoration:none}
html body .wcat .hp-faq-item p a.wcat-faq-link:not(#_){text-decoration:none;color:#ff0000;font-weight:800}
html body .wcat .hp-faq-item p a.wcat-faq-link:not(#_):hover{text-decoration:none}

/* Global regions: four photo cards, same design as the Industries page region cards (photo, bottom fade, round flag, name, arrow) */
.wcat-web .wcat-regions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin:32px 0 8px}
.wcat-web .wcat-regions+p{margin-top:24px}
.wcat-web .wcat-region{position:relative;display:block;aspect-ratio:4/3;isolation:isolate;overflow:hidden;border:1px solid rgba(71,0,0,.14);border-radius:24px 4px 24px 4px;background:#470000;color:#fff;text-decoration:none;box-shadow:0 8px 24px rgba(71,0,0,.1);transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease}
.wcat-web .wcat-region>img{position:absolute;inset:0;z-index:-1;width:100%;height:100%;object-fit:cover;object-position:var(--ox) var(--oy);transition:transform .5s ease}
.wcat-web .wcat-region::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(71,0,0,0) 38%,rgba(71,0,0,.92))}
.wcat-web .wcat-region-bar{position:absolute;left:0;right:0;bottom:0;z-index:1;display:flex;align-items:center;gap:10px;padding:14px 16px}
.wcat-web .wcat-region-bar>img{flex:0 0 40px;width:40px;height:40px;border-radius:50%;object-fit:cover;box-shadow:0 0 0 2px #fff}
.wcat-web .wcat-region-name{flex:1;min-width:0;color:#fff;font-size:20px;font-weight:800;line-height:1.3}
.wcat-web .wcat-region:hover,.wcat-web .wcat-region:focus-visible{transform:translateY(-4px);border-color:#ff0000;box-shadow:0 18px 40px rgba(255,0,0,.22);color:#fff;text-decoration:none}
.wcat-web .wcat-region:hover>img,.wcat-web .wcat-region:focus-visible>img{transform:scale(1.06)}
@media(max-width:991px){.wcat-web .wcat-regions{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:575px){.wcat-web .wcat-regions{grid-template-columns:minmax(0,1fr)}.wcat-web .wcat-region>img{object-position:var(--oxm) var(--oym)}.wcat-web .wcat-region-bar{padding:16px;gap:12px}}
@media(prefers-reduced-motion:reduce){.wcat-web .wcat-region,.wcat-web .wcat-region>img{transition:none}.wcat-web .wcat-region:hover{transform:none}.wcat-web .wcat-region:hover>img{transform:none}}

/* Website Development: split sections (heading left / text right) are stacked and centred: heading first, content below it */
.wcat-web .wcat-section--split .wcat-split{grid-template-columns:minmax(0,1fr);gap:22px;justify-items:center}
.wcat-web .wcat-section--split .wcat-split-head{position:static;width:100%;max-width:980px;text-align:center}
.wcat-web .wcat-section--split .wcat-split-head h2{margin-inline:auto;text-align:center}
.wcat-web .wcat-section--split .wcat-split-body{width:100%;max-width:920px;text-align:center}
.wcat-web .wcat-section--split .wcat-split-body>p{margin-inline:auto}
.wcat-web .wcat-section--split .wcat-actions{justify-content:center}
.wcat-web .wcat-section--split .wcat-split-body>a.global-cta{display:flex;width:fit-content;margin-inline:auto}
.wcat-web .wcat-section--split .wcat-stats{max-width:820px;margin-inline:auto;text-align:left}

/* Services cards: swipeable slider on tablet / mobile (js/wcat-slider.js). Desktop keeps the grid; the controls are hidden there. */
.wcat-web .wcat-slider-ctl{display:none}
@media(max-width:991px){
  .wcat-web .wcat-slider .wcat-items{display:flex;flex-wrap:nowrap;justify-content:flex-start;gap:16px;margin:28px 0 0;padding:8px 4px 22px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-padding-inline:4px;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none}
  .wcat-web .wcat-slider .wcat-items::-webkit-scrollbar{display:none}
  .wcat-web .wcat-slider .wcat-items>.wcat-item{flex:0 0 calc((100% - 16px) / 2);min-width:0;scroll-snap-align:start}
  .wcat-web .wcat-slider .wcat-item:hover{transform:none}
  .wcat-web .wcat-slider-ctl{display:flex;align-items:center;justify-content:center;gap:16px}
  .wcat-web .wcat-slider-btn{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;border:2px solid #ff0000;border-radius:50%;background:#fff;color:#ff0000;font-size:15px;cursor:pointer;transition:background .2s ease,color .2s ease,opacity .2s ease}
  .wcat-web .wcat-slider-btn:hover:not(:disabled),.wcat-web .wcat-slider-btn:focus-visible{background:#ff0000;color:#fff}
  .wcat-web .wcat-slider-btn:disabled{opacity:.35;cursor:default}
  .wcat-web .wcat-slider-dots{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:2px;max-width:min(60vw,320px)}
  .wcat-web .wcat-dot{display:grid;place-items:center;width:22px;height:30px;padding:0;border:0;background:none;cursor:pointer}
  .wcat-web .wcat-dot span{display:block;width:10px;height:10px;border:2px solid var(--ss-h,#470000);border-radius:999px;opacity:.55;transition:width .25s ease,background .25s ease,opacity .25s ease,border-color .25s ease}
  .wcat-web .wcat-dot.is-active span{width:22px;border-color:#ff0000;background:#ff0000;opacity:1}
}
@media(max-width:575px){
  .wcat-web .wcat-slider .wcat-items>.wcat-item{flex-basis:100%}
}
@media(prefers-reduced-motion:reduce){.wcat-web .wcat-slider-btn,.wcat-web .wcat-dot span{transition:none}}

/* Slider cards keep their natural height (no empty gap above the link); the track height follows the card in view (js/wcat-slider.js) */
@media(max-width:991px){
  .wcat-web .wcat-slider .wcat-items{align-items:flex-start;transition:height .25s ease}
  .wcat-web .wcat-slider .wcat-item{height:auto}
  .wcat-web .wcat-slider .wcat-item>.global-cta{margin-top:10px;padding-top:0}
}
/* phones: compact card so the whole card and the arrows fit on one screen */
@media(max-width:575px){
  .wcat-web .wcat-slider .wcat-items{margin-top:18px;padding:4px 4px 10px;gap:12px}
  .wcat-web .wcat-slider .wcat-items>.wcat-item{flex-basis:calc(100% - 0px)}
  .wcat-web .wcat-slider .wcat-item{padding:16px 16px 14px;border-radius:16px}
  .wcat-web .wcat-slider .wcat-item-heading{min-height:0;gap:10px;margin-bottom:8px}
  .wcat-web .wcat-slider .wcat-item-icon{flex-basis:38px;width:38px;height:38px;border-radius:10px}
  .wcat-web .wcat-slider .wcat-item-icon i{font-size:16px}
  html body .wcat-web .wcat-slider .wcat-item h3:not(#_){font-size:17px;line-height:1.3;padding-right:22px}
  html body .wcat-web .wcat-slider .wcat-item p:not(#_){margin:0 0 7px;font-size:14px;line-height:1.45}
  html body .wcat-web .wcat-slider .wcat-item p.wcat-suit:not(#_){margin:4px 0 2px;padding:7px 10px;font-size:13px;line-height:1.4}
  .wcat-web .wcat-slider .wcat-item>.global-cta{margin-top:8px}
  
  .wcat-web .wcat-slider-ctl{gap:12px}
  .wcat-web .wcat-slider-btn{flex-basis:40px;width:40px;height:40px}
}

/* Featured layout (Custom vs WordPress vs Shopify): one large red card + the others stacked, like the Insights featured block */
.wcat-web .wcat-feature{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:22px;margin-top:36px;align-items:stretch;text-align:left}
.wcat-web .wcat-feature-main{position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:center;min-height:400px;padding:44px 42px;border-radius:24px;background:#ff0000;color:#fff}
.wcat-web .wcat-feature-tag{display:inline-flex;width:fit-content;max-width:100%;padding:7px 16px;border:1.5px solid #fff;border-radius:999px;color:#fff;font-size:12px;font-weight:800;letter-spacing:.12em;line-height:1.25;text-transform:uppercase}
html body .wcat-web .wcat-feature-main h3:not(#_){margin:18px 0 14px;color:#fff;font-size:34px;font-weight:800;line-height:1.15}
html body .wcat-web .wcat-feature-main p:not(#_){margin:0 0 12px;color:#fff;font-size:17px;line-height:1.6;max-width:640px}
.wcat-web .wcat-feature-main .wcat-feature-no{position:absolute;right:22px;bottom:-34px;color:rgba(255,255,255,.18);font-size:210px;font-weight:800;line-height:1;pointer-events:none}
.wcat-web .wcat-feature-side{display:grid;grid-auto-rows:1fr;gap:22px}
.wcat-web .wcat-feature-card{display:flex;align-items:flex-start;gap:24px;padding:28px 32px;border:1px solid #f0dcdc;border-left:3px solid #ff0000;border-radius:20px;background:#fff;box-shadow:0 8px 24px rgba(71,0,0,.06)}
.wcat-web .wcat-feature-card .wcat-feature-no{flex:0 0 auto;color:#ffd0d0;font-size:58px;font-weight:800;line-height:1}
.wcat-web .wcat-feature-card .wcat-feature-tag{padding:0;border:0;border-radius:0;color:#ff0000}
html body .wcat-web .wcat-feature-card h3:not(#_){margin:8px 0 8px;color:#470000;font-size:22px;font-weight:800;line-height:1.3}
html body .wcat-web .wcat-feature-card p:not(#_){margin:0 0 8px;color:#470000;-webkit-text-fill-color:currentColor;font-size:15px;line-height:1.55}
@media(max-width:991px){
  .wcat-web .wcat-feature{grid-template-columns:minmax(0,1fr)}
  .wcat-web .wcat-feature-main{min-height:0;padding:30px 24px 36px}
  html body .wcat-web .wcat-feature-main h3:not(#_){font-size:26px}
  .wcat-web .wcat-feature-main .wcat-feature-no{font-size:130px;bottom:-22px}
  .wcat-web .wcat-feature-card{padding:22px 22px;gap:16px}
  .wcat-web .wcat-feature-card .wcat-feature-no{font-size:42px}
}
@media(max-width:575px){
  html body .wcat-web .wcat-feature-main h3:not(#_){font-size:23px}
  html body .wcat-web .wcat-feature-main p:not(#_){font-size:15px}
  .wcat-web .wcat-feature-card{flex-direction:column;gap:6px}
}
.wcat-web .wcat-feature+.wcat-actions{margin-top:34px}
html body .wcat-web .wcat-section--feature>.container>p:not(.wcat-eyebrow):not(#_){text-align:center}
@media(max-width:991px){.wcat-web .wcat-feature-side{grid-auto-rows:auto}}

/* slider: dots stay on one row; the scrollbar is always hidden; arrow buttons are for mouse / trackpad users only (touch screens swipe) */
@media(max-width:991px){
  .wcat-web .wcat-slider .wcat-items{-ms-overflow-style:none;scrollbar-width:none}
  .wcat-web .wcat-slider .wcat-items::-webkit-scrollbar{display:none;width:0;height:0}
  .wcat-web .wcat-slider-dots{flex-wrap:nowrap;max-width:none;gap:0}
  .wcat-web .wcat-dot{width:18px}
}
@media(max-width:991px) and (pointer:coarse){
  .wcat-web .wcat-slider-btn{display:none}
}

/* Website Development, tablet + mobile: every button row, the hero copy and the chips are centred (same rule as the section intros) */
@media(max-width:991px){
  .wcat-web .wcat-actions{justify-content:center;align-items:center}
  .wcat-web .wcat-actions .global-cta{justify-content:center}
  .wcat-web .wcat-hero-copy{text-align:center}
  .wcat-web .wcat-hero-copy .wcat-eyebrow{display:flex;width:fit-content;max-width:100%;margin-inline:auto}
  .wcat-web .wcat-hero-copy :is(h1,.wcat-subtitle,p){margin-inline:auto;text-align:center}
  .wcat-web .wcat-hero .wcat-actions{align-items:stretch}
  .wcat-web .wcat-hero .wcat-actions .global-cta{justify-content:center}
  .wcat-web .wcat-chips{justify-content:center}
  .wcat-web .wcat-final .wcat-actions{align-items:center}
}
@media(max-width:991px){
  html body .wcat-web .wcat-actions .global-cta:not(#_){justify-content:center}
}

/* Software Development page additions: region cards with a description, several links in one card, lists inside centred sections */
.wcat-web .wcat-region-wrap{display:flex;flex-direction:column;gap:12px;min-width:0}
.wcat-web .wcat-region-desc{margin:0;font-size:14px;line-height:1.55;text-align:left}
.wcat-web .wcat-item>.global-cta+.global-cta{margin-top:10px;padding-top:0}
.wcat-web .wcat-section--split .wcat-split-body .wcat-list{max-width:700px;margin:14px auto;text-align:left}

/* the dots / arrows are a pill fixed to the bottom of the screen the whole time the slider is in view (js/wcat-slider.js toggles .is-pinned);
   otherwise it rests in a slot reserved under the cards, so the page never jumps */
@media(max-width:991px){
  .wcat-web .wcat-slider{position:relative;padding-bottom:68px}
  .wcat-web .wcat-slider-ctl{position:absolute;left:50%;bottom:6px;transform:translateX(-50%);z-index:50;width:fit-content;margin:0;padding:4px 12px;border-radius:999px;background:#fff;box-shadow:0 8px 24px rgba(71,0,0,.28)}
  .wcat-web .wcat-slider.is-pinned .wcat-slider-ctl{position:fixed;bottom:14px}
  .wcat-web .wcat-dot span{border-color:#470000}
  .wcat-web .wcat-dot.is-active span{border-color:#ff0000}
}

/* Website Development: "An Established Technology Partner" = copy left, "Established in 2011" badge with the four figures around it (layout "orbit", 2026-11-02).
   Colours are explicit on the tiles and the badge (they have their own surfaces); the copy follows the section tone. */
.wcat-web .wcat-orbit{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:center}
.wcat-web .wcat-orbit-copy{display:flex;flex-direction:column;align-items:flex-start;gap:16px;min-width:0}
.wcat-web .wcat-orbit-copy>*{margin:0}
.wcat-web .wcat-orbit-copy h2{text-align:left}
.wcat-web .wcat-orbit-copy .wcat-actions{margin-top:10px;justify-content:flex-start}
.wcat-web .wcat-orbit-viz{min-width:0}
.wcat-web .wcat-orbit-stage{position:relative;width:100%;max-width:620px;aspect-ratio:1.06 / 1;margin:0 auto;padding:0;list-style:none}
.wcat-web .wcat-orbit-stage::before{content:"";position:absolute;inset:6% 5%;border:1.5px dashed rgba(255,0,0,.35);border-radius:50%}
.wcat-web .wcat-orbit-tile{position:absolute;z-index:1;width:39%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:18px 12px;border:1px solid rgba(255,0,0,.14);border-radius:34px 12px 34px 12px;background:#fff;box-shadow:0 18px 40px -16px rgba(71,0,0,.35);text-align:center}
.wcat-web .wcat-orbit-tile--1{left:0;top:2%}
.wcat-web .wcat-orbit-tile--2{right:0;top:2%;border-radius:12px 34px 12px 34px}
.wcat-web .wcat-orbit-tile--3{left:1%;bottom:2%;border-radius:12px 34px 12px 34px}
.wcat-web .wcat-orbit-tile--4{right:1%;bottom:2%}
html body .wcat-web .wcat-orbit-tile i:not(#_){color:#ff0000;font-size:30px;line-height:1;margin-bottom:4px}
html body .wcat-web .wcat-orbit-tile b:not(#_){display:block;color:#ff0000;font-size:clamp(24px,2.6vw,36px);font-weight:800;line-height:1.1;white-space:nowrap}
html body .wcat-web .wcat-orbit-tile span:not(#_){display:block;color:#470000;font-size:clamp(14px,1.3vw,17px);font-weight:700;line-height:1.3}
.wcat-web .wcat-orbit-core{position:absolute;z-index:2;left:50%;top:50%;width:46%;aspect-ratio:1;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;border-radius:50%;background-color:#8a0000;background-image:radial-gradient(circle at 30% 25%,#ff1a1a 0%,#b30000 45%,#470000 100%);box-shadow:0 0 0 10px rgba(255,255,255,.55),0 24px 50px -14px rgba(71,0,0,.6);text-align:center}
.wcat-web .wcat-orbit-core img{width:16%;height:auto;margin-bottom:2px}
html body .wcat-web .wcat-orbit-core b:not(#_){color:#fff;font-size:clamp(17px,1.9vw,26px);font-weight:700;line-height:1.1}
html body .wcat-web .wcat-orbit-core span:not(#_){color:#fff;font-size:clamp(13px,1.2vw,16px);font-weight:600;line-height:1.2;padding-top:6px;margin-top:6px;border-top:1px solid rgba(255,255,255,.45)}
html body .wcat-web .wcat-orbit-core strong:not(#_){color:#fff;font-size:clamp(30px,3.9vw,56px);font-weight:800;line-height:1}
html body .wcat-web .wcat-orbit-note:not(#_){margin:22px auto 0;max-width:460px;text-align:center;font-style:italic;font-size:16px;line-height:1.5}
@media(max-width:991px){
  .wcat-web .wcat-orbit{grid-template-columns:minmax(0,1fr);gap:36px}
  .wcat-web .wcat-orbit-copy{align-items:center;text-align:center}
  .wcat-web .wcat-orbit-copy h2{text-align:center}
  .wcat-web .wcat-orbit-copy .wcat-actions{justify-content:center}
}
@media(max-width:575px){
  .wcat-web .wcat-orbit-stage{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;aspect-ratio:auto}
  .wcat-web .wcat-orbit-stage::before{content:none}
  .wcat-web .wcat-orbit-core{position:relative;left:auto;top:auto;transform:none;grid-column:1 / -1;justify-self:center;width:min(70%,240px)}
  .wcat-web .wcat-orbit-tile{position:relative;inset:auto;width:auto;border-radius:24px 10px 24px 10px}
  .wcat-web .wcat-orbit-tile--2,.wcat-web .wcat-orbit-tile--3{border-radius:10px 24px 10px 24px}
}
html body .wcat-web .wcat-orbit-copy h2 span:not(#_){color:#ff0000}

/* Website Development: "Plan the Features Your Website Actually Needs" = copy left, six slanted cards right (layout "plan", 2026-11-02).
   The cards carry their own surface (white, pink tint, burgundy) so the tone engine reads them as cards; the copy follows the section tone. */
.wcat-web .wcat-plan{display:grid;grid-template-columns:minmax(0,.88fr) minmax(0,2.12fr);gap:48px;align-items:center}
.wcat-web .wcat-plan-copy{display:flex;flex-direction:column;align-items:flex-start;gap:16px;min-width:0}
.wcat-web .wcat-plan-copy>*{margin:0}
.wcat-web .wcat-plan-copy h2{text-align:left}
html body .wcat-web .wcat-plan-copy h2 span:not(#_){color:#ff0000}
.wcat-web .wcat-plan-copy .wcat-actions{margin-top:10px;justify-content:flex-start}
.wcat-web .wcat-plan-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;padding:6px 12px}
.wcat-web .wcat-plan-card{position:relative;display:flex;flex-direction:column;gap:10px;min-width:0;padding:26px 26px 28px;border:1px solid rgba(255,0,0,.18);border-radius:26px;background:#fff;box-shadow:0 18px 40px -22px rgba(71,0,0,.35);transform:skewX(-4deg);transition:transform .3s ease,box-shadow .3s ease}
.wcat-web .wcat-plan-card>*{transform:skewX(4deg);margin:0}
.wcat-web .wcat-plan-card:hover{transform:skewX(-4deg) translateY(-5px);box-shadow:0 26px 48px -22px rgba(71,0,0,.45)}
.wcat-web .wcat-plan-card--2{border-color:#470000;background:#470000}
.wcat-web .wcat-plan-card--5{border-color:#470000;background-color:#6b0000;background-image:linear-gradient(160deg,#8a0000 0%,#470000 100%)}
.wcat-web .wcat-plan-head{display:flex;align-items:center;gap:14px;min-width:0}
.wcat-web .wcat-plan-head>i{flex:0 0 auto;width:34px;color:#ff0000;font-size:30px;line-height:1;text-align:center}
.wcat-web .wcat-plan-head h3{margin:0;min-width:0}
html body .wcat-web .wcat-plan-card h3:not(#_){color:#470000}
html body .wcat-web .wcat-plan-card p:not(#_){color:#470000;-webkit-text-fill-color:currentColor;font-size:15px;line-height:1.55}
html body .wcat-web :is(.wcat-plan-card--2,.wcat-plan-card--5) .wcat-plan-head>i:not(#_){color:#fff}
html body .wcat-web :is(.wcat-plan-card--2,.wcat-plan-card--5) :is(h3,p):not(#_){color:#fff}
@media(max-width:1199px){
  .wcat-web .wcat-plan{grid-template-columns:minmax(0,1fr);gap:36px}
  .wcat-web .wcat-plan-copy{align-items:center;text-align:center}
  .wcat-web .wcat-plan-copy h2{text-align:center}
  .wcat-web .wcat-plan-copy .wcat-actions{justify-content:center}
  .wcat-web .wcat-plan-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:575px){
  .wcat-web .wcat-plan-grid{grid-template-columns:minmax(0,1fr);padding:0}
  .wcat-web .wcat-plan-card,.wcat-web .wcat-plan-card>*,.wcat-web .wcat-plan-card:hover{transform:none}
}

/* Website Development: "Our Website Development Process" = copy + button on the left, six icon bars on the right, alternating dark / light (layout "steps", 2026-11-02).
   Every bar carries its own surface (burgundy or white) so the tone engine keeps the text readable on any section tone. */
.wcat-web .wcat-steps-layout{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,2.2fr);gap:56px;align-items:start}
.wcat-web .wcat-steps-copy{display:flex;flex-direction:column;align-items:flex-start;gap:16px;min-width:0}
.wcat-web .wcat-steps-copy>*{margin:0}
.wcat-web .wcat-steps-copy h2{text-align:left}
html body .wcat-web .wcat-steps-copy h2 span:not(#_){color:#ff0000}
.wcat-web .wcat-steps-copy .wcat-actions{margin-top:10px;justify-content:flex-start}
@media(min-width:1200px) and (min-height:700px){.wcat-web .wcat-steps-copy{position:sticky;top:120px}}
.wcat-web .wcat-steps{display:grid;gap:18px;margin:0;padding:0 14px;list-style:none;min-width:0}
.wcat-web .wcat-step{display:grid;grid-template-columns:64px minmax(0,1fr);gap:26px;align-items:center;padding:22px 36px 22px 32px;border-radius:22px;transform:skewX(-3deg)}
.wcat-web .wcat-step>*{transform:skewX(3deg)}
.wcat-web .wcat-step--dark{border:1px solid rgba(255,255,255,.28);background-color:#470000;background-image:linear-gradient(100deg,#8a0000 0%,#470000 62%);box-shadow:0 22px 44px -24px rgba(71,0,0,.7)}
.wcat-web .wcat-step--light{border:1px solid rgba(255,0,0,.14);background:#fff;box-shadow:0 18px 38px -26px rgba(71,0,0,.35)}
.wcat-web .wcat-step-ic{display:flex;align-items:center;justify-content:center;width:60px;height:60px;border-radius:14px;font-size:28px}
.wcat-web .wcat-step--dark .wcat-step-ic{background:#fff}
.wcat-web .wcat-step--light .wcat-step-ic{font-size:34px}
html body .wcat-web .wcat-step--dark .wcat-step-ic i:not(#_){color:#ff0000}
html body .wcat-web .wcat-step--light .wcat-step-ic i:not(#_){color:#470000}
.wcat-web .wcat-step-body{min-width:0;padding-left:26px;border-left:1px solid rgba(255,0,0,.55)}
.wcat-web .wcat-step--dark .wcat-step-body{border-left-color:rgba(255,255,255,.45)}
.wcat-web .wcat-step-body h3{margin:0 0 6px}
.wcat-web .wcat-step-body p{margin:0}
html body .wcat-web .wcat-step--dark .wcat-step-body h3:not(#_){color:#fff}
html body .wcat-web .wcat-step--dark .wcat-step-body p:not(#_){color:rgba(255,255,255,.92)}
html body .wcat-web .wcat-step--light .wcat-step-body h3:not(#_){color:#470000}
html body .wcat-web .wcat-step--light .wcat-step-body p:not(#_){color:#470000;-webkit-text-fill-color:currentColor}
@media(max-width:1199px){
  .wcat-web .wcat-steps-layout{grid-template-columns:minmax(0,1fr);gap:34px}
  .wcat-web .wcat-steps-copy{align-items:center;text-align:center}
  .wcat-web .wcat-steps-copy h2{text-align:center}
  .wcat-web .wcat-steps-copy .wcat-actions{justify-content:center}
}
@media(max-width:767px){
  .wcat-web .wcat-steps{padding:0}
  .wcat-web .wcat-step{grid-template-columns:auto minmax(0,1fr);gap:14px 18px;padding:20px 18px;transform:none}
  .wcat-web .wcat-step>*{transform:none}
  .wcat-web .wcat-step-body{grid-column:1 / -1;padding:14px 0 0;border-left:0;border-top:1px solid rgba(255,0,0,.35)}
  .wcat-web .wcat-step--dark .wcat-step-body{border-top-color:rgba(255,255,255,.4)}
}

/* buttons inside the left copy column of the orbit / plan / steps layouts on a burgundy section: white label, red circle (same as the container-level rule) */



/* Website Development: "Website Project Costs, Timelines & Deliverables" = copy + button left, two detail cards stacked right (layout "costs", 2026-11-02). */
.wcat-web .wcat-cost{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:56px;align-items:center}
.wcat-web .wcat-cost-copy{display:flex;flex-direction:column;align-items:flex-start;gap:16px;min-width:0}
.wcat-web .wcat-cost-copy>*{margin:0}
.wcat-web .wcat-cost-copy h2{text-align:left}
html body .wcat-web .wcat-cost-copy h2 span:not(#_){color:#ff0000}
.wcat-web .wcat-cost-copy .wcat-actions{margin-top:10px;justify-content:flex-start}
.wcat-web .wcat-cost-cards{display:grid;gap:24px;min-width:0}
.wcat-web .wcat-cost-card{padding:30px 32px 32px;border:1px solid rgba(255,0,0,.12);border-radius:24px;background:#fff;box-shadow:0 22px 46px -26px rgba(71,0,0,.4)}
.wcat-web .wcat-cost-head{display:flex;align-items:center;gap:0;margin-bottom:16px}
.wcat-web .wcat-cost-ic{display:flex;flex:0 0 auto;align-items:center;justify-content:center;width:62px;height:62px;border-radius:16px;background:rgba(255,0,0,.1);font-size:28px}
html body .wcat-web .wcat-cost-ic i:not(#_){color:#ff0000}
.wcat-web .wcat-cost-head h3{flex:1 1 auto;min-width:0;margin:0;padding-left:24px;margin-left:24px;border-left:1px solid rgba(255,0,0,.55)}
.wcat-web .wcat-cost-card p{margin:0 0 12px}
.wcat-web .wcat-cost-card p:last-child{margin-bottom:0}
html body .wcat-web .wcat-cost-card h3:not(#_){color:#470000}
html body .wcat-web .wcat-cost-card p:not(#_){color:#470000;-webkit-text-fill-color:currentColor}
@media(max-width:1199px){
  .wcat-web .wcat-cost{grid-template-columns:minmax(0,1fr);gap:34px}
  .wcat-web .wcat-cost-copy{align-items:center;text-align:center}
  .wcat-web .wcat-cost-copy h2{text-align:center}
  .wcat-web .wcat-cost-copy .wcat-actions{justify-content:center}
}
@media(max-width:575px){
  .wcat-web .wcat-cost-card{padding:24px 20px 26px}
  .wcat-web .wcat-cost-ic{width:52px;height:52px;font-size:24px}
  .wcat-web .wcat-cost-head h3{padding-left:16px;margin-left:16px}
}

/* Website Development: "Why Work with Alive Inc.?" = centred head, an "Alive Inc." badge with the five reasons around it (layout "hub", 2026-11-02).
   The cards carry their own white surface; the head and button follow the section tone. */
.wcat-web .wcat-hub-head{display:flex;flex-direction:column;align-items:center;gap:14px;margin-bottom:38px;text-align:center}
.wcat-web .wcat-hub-head>*{margin:0}
html body .wcat-web .wcat-hub-head h2 span:not(#_){color:#ff0000}
.wcat-web .wcat-hub{display:grid;grid-template-columns:minmax(0,1fr) 270px minmax(0,1fr);grid-template-areas:"a core b" "c core d" "e e e";gap:26px 36px;align-items:center}
.wcat-web .wcat-hub-card--1{grid-area:a}.wcat-web .wcat-hub-card--2{grid-area:b}.wcat-web .wcat-hub-card--3{grid-area:c}.wcat-web .wcat-hub-card--4{grid-area:d}
.wcat-web .wcat-hub-card--5{grid-area:e;justify-self:center;width:min(100%,64%)}
.wcat-web .wcat-hub-card{display:flex;align-items:center;gap:22px;min-width:0;height:100%;padding:26px 30px;border:1px solid rgba(255,0,0,.18);border-radius:30px;background:#fff;box-shadow:0 20px 44px -26px rgba(71,0,0,.4)}
.wcat-web .wcat-hub-ic{display:flex;flex:0 0 auto;align-items:center;justify-content:center;width:64px;height:64px;border-radius:18px;background:rgba(255,0,0,.1);font-size:28px}
html body .wcat-web .wcat-hub-ic i:not(#_){color:#ff0000}
.wcat-web .wcat-hub-text{min-width:0}
.wcat-web .wcat-hub-text h3{margin:0 0 8px}
.wcat-web .wcat-hub-text p{margin:0}
html body .wcat-web .wcat-hub-text h3:not(#_){color:#470000}
html body .wcat-web .wcat-hub-text p:not(#_){color:#470000;-webkit-text-fill-color:currentColor}
.wcat-web .wcat-hub-core{grid-area:core;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;width:250px;aspect-ratio:1;justify-self:center;border-radius:50%;background-color:#8a0000;background-image:radial-gradient(circle at 30% 25%,#ff1a1a 0%,#b30000 45%,#470000 100%);box-shadow:0 0 0 10px rgba(255,255,255,.6),0 26px 54px -16px rgba(71,0,0,.6);text-align:center}
.wcat-web .wcat-hub-core::before{content:"";position:absolute;inset:-26px;border:1.5px dashed rgba(255,0,0,.4);border-radius:50%}
.wcat-web .wcat-hub-core img{width:70px;height:auto}
html body .wcat-web .wcat-hub-core b:not(#_){color:#fff;font-size:28px;font-weight:700;line-height:1.1}
.wcat-web .wcat-section--hub>.container>.wcat-actions{margin-top:38px;justify-content:center}
@media(max-width:1199px){
  .wcat-web .wcat-hub{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:"core core" "a b" "c d" "e e";gap:22px}
  .wcat-web .wcat-hub-core{width:210px;margin:14px 0 10px}
  .wcat-web .wcat-hub-card--5{width:100%}
}
@media(max-width:767px){
  .wcat-web .wcat-hub{grid-template-columns:minmax(0,1fr);grid-template-areas:"core" "a" "b" "c" "d" "e"}
  .wcat-web .wcat-hub-card{padding:22px 20px;gap:16px;border-radius:24px}
  .wcat-web .wcat-hub-ic{width:54px;height:54px;font-size:24px}
}

/* Website Development closing card (2026-11-02): the card is #e31e2426 (no maroon, glows or dot grid), the copy is dark, and the buttons plus the
   "Alternative contact:" link sit in one row. Software / Mobile keep their maroon card. */
html body .wcat.wcat-web:is(:not(.wcat-software):not(.wcat-mobile),.wcat-ai,.wcat-blockchain,.wcat-marketing,.wcat-security) section.wcat-final.final-card:not(#_)>.container{background:#e31e2426;box-shadow:0 22px 50px -28px rgba(71,0,0,.35);color:#470000;-webkit-text-fill-color:currentColor}
html body .wcat.wcat-web:is(:not(.wcat-software):not(.wcat-mobile),.wcat-ai,.wcat-blockchain,.wcat-marketing,.wcat-security) section.wcat-final.final-card:not(#_)>.container::before,html body .wcat.wcat-web:is(:not(.wcat-software):not(.wcat-mobile),.wcat-ai,.wcat-blockchain,.wcat-marketing,.wcat-security) section.wcat-final.final-card:not(#_)>.container::after,html body .wcat.wcat-web:is(:not(.wcat-software):not(.wcat-mobile),.wcat-ai,.wcat-blockchain,.wcat-marketing,.wcat-security) section.wcat-final.final-card:not(#_)>.container>:first-child::after{content:none;display:none}
html body .wcat.wcat-web:is(:not(.wcat-software):not(.wcat-mobile),.wcat-ai,.wcat-blockchain,.wcat-marketing,.wcat-security) section.wcat-final.final-card:not(#_) h2{color:#470000}
html body .wcat.wcat-web:is(:not(.wcat-software):not(.wcat-mobile),.wcat-ai,.wcat-blockchain,.wcat-marketing,.wcat-security) section.wcat-final.final-card:not(#_) :is(p,span.wcat-alt,.wcat-closing){color:#470000;-webkit-text-fill-color:currentColor}



.wcat-web .wcat-final .wcat-actions--row,.wcat-web .wcat-final .wcat-actions:has(.wcat-alt){flex-flow:row wrap;justify-content:center;align-items:center;gap:12px 26px}
.wcat-web .wcat-final .wcat-alt{margin:0;font-size:16px;line-height:1.4}
@media(max-width:575px){.wcat-web .wcat-final .wcat-actions:has(.wcat-alt){flex-direction:column;align-items:center}}
html body .wcat.wcat-web section.wcat-final .wcat-actions a.global-cta:not(#_){margin:0}

/* "Why Work with Alive Inc.?" badge: slowly turning dashed ring, a ripple that radiates from the circle and a gentle breathing glow (2026-11-02) */
.wcat-web .wcat-hub-core::after{content:"";position:absolute;inset:0;border:2px solid rgba(255,0,0,.45);border-radius:50%;opacity:0;pointer-events:none}
@media(prefers-reduced-motion:no-preference){
  .wcat-web .wcat-hub-core{animation:wcatHubBreath 5s ease-in-out infinite}
  .wcat-web .wcat-hub-core::before{animation:wcatHubSpin 40s linear infinite}
  .wcat-web .wcat-hub-core::after{animation:wcatHubRipple 4s ease-out infinite}
  .wcat-web .wcat-hub-core img{animation:wcatHubLogo 5s ease-in-out infinite}
}
@keyframes wcatHubSpin{to{transform:rotate(360deg)}}
@keyframes wcatHubRipple{0%{transform:scale(1);opacity:.7}100%{transform:scale(1.75);opacity:0}}
@keyframes wcatHubBreath{0%,100%{box-shadow:0 0 0 10px rgba(255,255,255,.6),0 26px 54px -16px rgba(71,0,0,.6)}50%{box-shadow:0 0 0 16px rgba(255,255,255,.4),0 30px 64px -14px rgba(255,0,0,.55)}}
@keyframes wcatHubLogo{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-3px) scale(1.05)}}

/* Hero video (Website Development): the browser mock-up on the right is replaced by the page's video in the same burgundy frame (2026-11-02). */
.wcat-hero-art--video{padding:0}
.wcat-hero-art--video::before{content:none}
.wcat-hero-video{position:relative;overflow:hidden;aspect-ratio:16 / 9;border:5px solid #470000;border-radius:22px;background:#e6e6e6;box-shadow:0 28px 64px -22px rgba(71,0,0,.55)}
.wcat-hero-video video{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover}
.wcat-hero-video-btn{position:absolute;right:14px;bottom:14px;z-index:2;display:grid;place-items:center;width:40px;height:40px;border:0;border-radius:50%;background:#fff;color:#ff0000;font-size:14px;cursor:pointer;box-shadow:0 6px 18px rgba(71,0,0,.35);transition:background .2s ease,color .2s ease}
.wcat-hero-video-btn:hover,.wcat-hero-video-btn:focus-visible{background:#ff0000;color:#fff}
@media(max-width:991px){.wcat-hero-art--video{width:min(100%,640px)}}
@media(max-width:575px){.wcat-hero-video{border-width:4px;border-radius:16px}}

/* Software Development uses the same "steps" and "plan" layouts as Website Development (2026-11-02): extra notes under the list / grid */
.wcat-web .wcat-steps-main{display:grid;gap:26px;min-width:0}
.wcat-web .wcat-steps-after{padding:0 14px}
.wcat-web .wcat-steps-after>*{margin:0 0 10px}
.wcat-web .wcat-steps-after>*:last-child{margin-bottom:0}
html body .wcat-web .wcat-plan-note:not(#_){max-width:860px;margin:26px auto 0;text-align:center;font-size:15px;line-height:1.55}

/* Software Development whole-page pass (2026-11-02): bullet lists / links inside the plan, costs and hub cards, intro under the hub heading, 4-card hub */
.wcat-web .wcat-hub-head>p:not(.wcat-eyebrow){max-width:760px}
.wcat-web .wcat-hub--n4{grid-template-areas:"a core b" "c core d"}
.wcat-web .wcat-hub-text .global-cta{margin-top:12px}
.wcat-web :is(.wcat-cost-list,.wcat-plan-list){margin:10px 0 0;padding:0;list-style:none;display:grid;gap:8px}
.wcat-web :is(.wcat-cost-list,.wcat-plan-list) li{position:relative;padding-left:22px;font-size:15px;line-height:1.5}
.wcat-web :is(.wcat-cost-list,.wcat-plan-list) li::before{content:"";position:absolute;left:0;top:.5em;width:9px;height:9px;border-radius:50%;background:#ff0000}
html body .wcat-web .wcat-cost-list li:not(#_){color:#470000;-webkit-text-fill-color:currentColor}
html body .wcat-web .wcat-plan-list li:not(#_){color:#470000;-webkit-text-fill-color:currentColor}
html body .wcat-web .wcat-plan-card--5 .wcat-plan-list li:not(#_),html body .wcat-web .wcat-plan-card--2 .wcat-plan-list li:not(#_){color:#fff}
html body .wcat-web .wcat-plan-card--5 .wcat-plan-list li:not(#_)::before,html body .wcat-web .wcat-plan-card--2 .wcat-plan-list li:not(#_)::before{background:#fff}
.wcat-web .wcat-cost-card .global-cta, .wcat-web .wcat-plan-card .global-cta{margin-top:14px}

/* tall card column (cost estimates): the copy stays in view beside it; buttons in the copy follow the tone like the other copy columns */
@media(min-width:1200px){
  .wcat-web .wcat-cost--tall{align-items:start}
  .wcat-web .wcat-cost--tall .wcat-cost-copy{position:sticky;top:120px}
}


.wcat-web .wcat-section--hub{overflow-x:clip}

/* Software Development: the feature cards are all white (no burgundy cards in the planning grids) */
html body .wcat-software .wcat-plan-card--2:not(#_),html body .wcat-software .wcat-plan-card--5:not(#_){border-color:rgba(255,0,0,.18);background:#fff}
html body .wcat-software .wcat-plan-card--2:not(#_) .wcat-plan-head>i,html body .wcat-software .wcat-plan-card--5:not(#_) .wcat-plan-head>i{color:#ff0000}
html body .wcat-software .wcat-plan-card--2:not(#_) h3,html body .wcat-software .wcat-plan-card--5:not(#_) h3{color:#470000}
html body .wcat-software .wcat-plan-card--2:not(#_) :is(p,li),html body .wcat-software .wcat-plan-card--5:not(#_) :is(p,li){color:#470000;-webkit-text-fill-color:currentColor}
html body .wcat-software .wcat-plan-card--2:not(#_) .wcat-plan-list li::before,html body .wcat-software .wcat-plan-card--5:not(#_) .wcat-plan-list li::before{background:#ff0000}


/* "stack" variant of the plan layout (Software features, 2026-11-02): the head is centred on top, the cards run four per row (the last row is centred) */
.wcat-web .wcat-plan--stack{grid-template-columns:minmax(0,1fr);gap:34px}
.wcat-web .wcat-plan--stack .wcat-plan-copy{align-items:center;text-align:center}
.wcat-web .wcat-plan--stack .wcat-plan-copy h2{text-align:center}
.wcat-web .wcat-plan--stack .wcat-plan-copy>p:not(.wcat-eyebrow){max-width:860px}
.wcat-web .wcat-plan--stack .wcat-plan-copy .wcat-actions{justify-content:center}
.wcat-web .wcat-plan--stack .wcat-plan-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:22px}
.wcat-web .wcat-plan--stack .wcat-plan-card{flex:0 0 calc((100% - 66px) / 4);min-width:0}
@media(max-width:1199px){.wcat-web .wcat-plan--stack .wcat-plan-card{flex-basis:calc((100% - 22px) / 2)}}
@media(max-width:575px){.wcat-web .wcat-plan--stack .wcat-plan-card{flex-basis:100%}}

/* "lastWide": the last card of a grid runs the full width under the others; a list inside it flows into columns (Software technologies, 2026-11-02) */
.wcat .wcat-grid.wcat-grid--lastwide>.wcat-item:last-child{flex-basis:100%;max-width:none;width:100%}
@media(min-width:992px){.wcat .wcat-grid--lastwide>.wcat-item:last-child .wcat-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 36px}}
@media(min-width:576px) and (max-width:991px){.wcat .wcat-grid--lastwide>.wcat-item:last-child .wcat-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 28px}}

/* five cards per row (Software integrations, 2026-11-02): from 1200px; below that the grid keeps its two-column / one-column layout */
@media(min-width:1200px){.wcat .wcat-grid.wcat-cols-5>.wcat-item{flex-basis:calc((100% - 4 * var(--wcat-gap)) / 5)}}

/* "flow" layout (Software interfaces, 2026-11-02): items in rows of three on a winding red line - a line along the top of every row with a node
   above each item, and a half-circle joining the end of one row to the start of the next (right side, then left side). Drawn with borders only. */
.wcat-web .wcat-flow-head{display:flex;flex-direction:column;align-items:center;gap:14px;text-align:center}
.wcat-web .wcat-flow-head>*{margin:0}
.wcat-web .wcat-flow-head>p:not(.wcat-eyebrow){max-width:860px}
html body .wcat-web .wcat-flow-head h2 span:not(#_){color:#ff0000}
.wcat-web .wcat-flow{display:grid;gap:24px;margin-top:44px;padding:0 74px}
.wcat-web .wcat-flow-row{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 40px;padding-top:26px}
.wcat-web .wcat-flow-row::before{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:#ff0000}
.wcat-web .wcat-flow-row:not(:last-child)::after{content:"";position:absolute;top:0;right:-66px;width:66px;height:calc(100% + 24px);border:2px solid #ff0000;border-left:0;border-radius:0 110px 110px 0;pointer-events:none}
.wcat-web .wcat-flow-row:nth-child(even):not(:last-child)::after{right:auto;left:-66px;border:2px solid #ff0000;border-right:0;border-radius:110px 0 0 110px}
.wcat-web .wcat-flow-item{position:relative;display:grid;grid-template-columns:84px minmax(0,1fr);gap:18px;align-items:center;min-width:0}
.wcat-web .wcat-flow-item::before{content:"";position:absolute;top:-33px;left:0;width:12px;height:12px;border:2px solid #ff0000;border-radius:50%;background:#fff}
.wcat-web .wcat-flow-row:first-child .wcat-flow-item:first-child::before{background:#ff0000}
.wcat-web .wcat-flow-ic{display:flex;align-items:center;justify-content:center;width:84px;height:84px;border-radius:50%;background:rgba(255,0,0,.1);font-size:32px}
html body .wcat-web .wcat-flow-ic i:not(#_){color:#470000}
.wcat-web .wcat-flow-text{min-width:0;padding-left:20px;border-left:1px solid rgba(255,0,0,.4)}
.wcat-web .wcat-flow-text h3{display:flex;align-items:baseline;gap:12px;margin:0 0 6px}
.wcat-web .wcat-flow-text p{margin:0}
html body .wcat-web .wcat-flow-no:not(#_){color:#ff0000;font-size:26px;font-weight:800;line-height:1}
.wcat-web .wcat-flow-after{display:flex;flex-direction:column;align-items:center;gap:12px;margin-top:46px;text-align:center}
.wcat-web .wcat-flow-after>*{margin:0}
@media(max-width:991px){
  .wcat-web .wcat-flow{gap:26px;margin-top:34px;padding:0}
  .wcat-web .wcat-flow-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 28px;padding-top:0}
  .wcat-web .wcat-flow-row::before,.wcat-web .wcat-flow-row::after,.wcat-web .wcat-flow-item::before{display:none}
}
@media(max-width:575px){
  .wcat-web .wcat-flow-row{grid-template-columns:minmax(0,1fr)}
  .wcat-web .wcat-flow-item{grid-template-columns:64px minmax(0,1fr)}
  .wcat-web .wcat-flow-ic{width:64px;height:64px;font-size:26px}
}
.wcat-web .wcat-flow-no{flex:0 0 auto;white-space:nowrap}

/* "stack" variant of the costs layout (Software intro, 2026-11-02): everything centred - pill, heading, paragraphs and button on top, the card below at full width */
.wcat-web .wcat-cost--stack{grid-template-columns:minmax(0,1fr);gap:40px}
.wcat-web .wcat-cost--stack .wcat-cost-copy{align-items:center;text-align:center}
.wcat-web .wcat-cost--stack .wcat-cost-copy h2{text-align:center}
.wcat-web .wcat-cost--stack .wcat-cost-copy>p:not(.wcat-eyebrow){max-width:1000px}
.wcat-web .wcat-cost--stack .wcat-cost-copy .wcat-actions{justify-content:center}
.wcat-web .wcat-cost--stack .wcat-cost-cards{width:100%;max-width:1100px;margin:0 auto}
.wcat-web .wcat-cost--stack .wcat-cost-card{text-align:center}
.wcat-web .wcat-cost--stack .wcat-cost-head{justify-content:center}
.wcat-web .wcat-cost--stack .wcat-cost-head h3{flex:0 1 auto}
.wcat-web .wcat-cost--stack .wcat-cost-list{justify-items:center}

/* "flow" animation (2026-11-02): a glowing dot runs along the red line from node to node; as it reaches an item, that item's node lights up and its
   icon, number and text glow, then fade while the dot moves on. Nine items x 2s = an 18s loop; each item starts 2s after the previous one. */
.wcat-web .wcat-flow-item::after{content:"";position:absolute;top:-33px;left:0;width:12px;height:12px;border-radius:50%;background:#ff0000;box-shadow:0 0 0 3px rgba(255,0,0,.25),0 0 16px 6px rgba(255,0,0,.75);opacity:0;pointer-events:none;z-index:2}
@media(prefers-reduced-motion:no-preference) and (min-width:992px){
  .wcat-web .wcat-flow-item::before{animation:wcatFlowNode 18s linear infinite;animation-delay:calc(var(--i) * 2s)}
  .wcat-web .wcat-flow-item::after{animation:wcatFlowDot 18s linear infinite;animation-delay:calc(var(--i) * 2s)}
  .wcat-web .wcat-flow-row .wcat-flow-item:first-child::after{animation-name:wcatFlowDotStay}
  .wcat-web .wcat-flow-ic{animation:wcatFlowIcon 18s linear infinite;animation-delay:calc(var(--i) * 2s)}
  .wcat-web .wcat-flow-text{animation:wcatFlowText 18s linear infinite;animation-delay:calc(var(--i) * 2s)}
}
@keyframes wcatFlowDot{0%{left:calc(-100% - 40px);opacity:1;transform:scale(1)}6%{left:0;opacity:1;transform:scale(1.25)}14%{left:0;opacity:1;transform:scale(1.25)}20%,100%{left:0;opacity:0;transform:scale(1)}}
@keyframes wcatFlowDotStay{0%{opacity:0;transform:scale(.6)}4%{opacity:1;transform:scale(1.25)}14%{opacity:1;transform:scale(1.25)}20%,100%{opacity:0;transform:scale(1)}}
@keyframes wcatFlowNode{0%,5%{background:#ff0000;border-color:#ff0000}16%,100%{background:#fff;border-color:#ff0000}}
@keyframes wcatFlowIcon{0%,5%{background:rgba(255,0,0,.1);box-shadow:0 0 0 0 rgba(255,255,255,0)}8%,14%{background:#fff;box-shadow:0 0 0 8px rgba(255,255,255,.6),0 0 30px 8px rgba(255,255,255,.9)}20%,100%{background:rgba(255,0,0,.1);box-shadow:0 0 0 0 rgba(255,255,255,0)}}
@keyframes wcatFlowText{0%,5%{text-shadow:0 0 0 rgba(255,0,0,0);border-left-color:rgba(255,0,0,.4)}8%,14%{text-shadow:0 0 14px rgba(255,0,0,.45);border-left-color:#ff0000}20%,100%{text-shadow:0 0 0 rgba(255,0,0,0);border-left-color:rgba(255,0,0,.4)}}

/* "ladder" layout (Software security, 2026-11-02): two columns of light bars (red icon tile, divider, title + text) joined by a central red line with a numbered badge
   between every pair. The bars carry their own light surface, so they read on any section tone; the head follows the tone. */
.wcat-web .wcat-ladder-head{display:flex;flex-direction:column;align-items:center;gap:14px;text-align:center}
.wcat-web .wcat-ladder-head>*{margin:0}
.wcat-web .wcat-ladder-head>p:not(.wcat-eyebrow){max-width:860px}
.wcat-web .wcat-ladder{position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 140px;margin-top:44px}
.wcat-web .wcat-ladder::before{content:"";position:absolute;left:50%;top:44px;bottom:44px;width:3px;margin-left:-1.5px;background:#ff0000;box-shadow:0 0 14px 2px rgba(255,0,0,.55)}
.wcat-web .wcat-ladder-item{position:relative;display:grid;grid-template-columns:64px minmax(0,1fr);gap:0 22px;align-items:center;min-width:0;padding:20px 30px 20px 24px;border:1px solid rgba(255,0,0,.2);border-radius:40px;background:linear-gradient(100deg,#fff 40%,#ffe9e7);box-shadow:0 18px 38px -22px rgba(0,0,0,.55)}
.wcat-web .wcat-ladder-item:nth-child(odd){border-left:7px solid #ff0000}
.wcat-web .wcat-ladder-item:nth-child(even){border-right:7px solid #ff0000}
.wcat-web .wcat-ladder-no{position:absolute;top:50%;z-index:2;display:grid;place-items:center;width:48px;height:48px;margin-top:-24px;border:3px solid #ff0000;border-radius:50%;background:#fff;box-shadow:0 0 0 4px rgba(255,0,0,.22),0 0 18px 4px rgba(255,0,0,.45);font-size:16px;font-weight:800;line-height:1}
.wcat-web .wcat-ladder-item:nth-child(odd) .wcat-ladder-no{right:-66px}
.wcat-web .wcat-ladder-item:nth-child(even) .wcat-ladder-no{left:-66px}
html body .wcat-web .wcat-ladder-no:not(#_){color:#ff0000}
.wcat-web .wcat-ladder-ic{display:flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:18px;background:linear-gradient(145deg,#ff2a2a,#b30000);box-shadow:0 10px 20px -8px rgba(179,0,0,.7);font-size:26px}
html body .wcat-web .wcat-ladder-ic i:not(#_){color:#fff}
.wcat-web .wcat-ladder-text{min-width:0;padding-left:22px;border-left:2px solid #ff0000}
.wcat-web .wcat-ladder-text h3{margin:0 0 5px}
.wcat-web .wcat-ladder-text p{margin:0 0 6px}
.wcat-web .wcat-ladder-text p:last-child{margin-bottom:0}
html body .wcat-web .wcat-ladder-text h3:not(#_){color:#470000}
html body .wcat-web .wcat-ladder-text p:not(#_){color:#470000;-webkit-text-fill-color:currentColor;font-size:15px;line-height:1.5}
@media(max-width:991px){
  .wcat-web .wcat-ladder{grid-template-columns:minmax(0,1fr);gap:22px;margin-top:34px}
  .wcat-web .wcat-ladder::before{display:none}
  .wcat-web .wcat-ladder-item,.wcat-web .wcat-ladder-item:nth-child(odd),.wcat-web .wcat-ladder-item:nth-child(even){border:1px solid rgba(255,0,0,.2);border-left:7px solid #ff0000;border-radius:30px;padding:18px 22px 18px 20px}
  .wcat-web .wcat-ladder-item:nth-child(odd) .wcat-ladder-no,.wcat-web .wcat-ladder-item:nth-child(even) .wcat-ladder-no{top:-14px;right:18px;left:auto;margin-top:0;width:38px;height:38px;font-size:13px}
}
@media(max-width:575px){
  .wcat-web .wcat-ladder-item{grid-template-columns:52px minmax(0,1fr);gap:0 14px}
  .wcat-web .wcat-ladder-ic{width:52px;height:52px;font-size:22px;border-radius:15px}
  .wcat-web .wcat-ladder-text{padding-left:14px}
}
/* link / button under the flow and ladder sections on a burgundy tone: white label */



/* ladder: no straight red line between the two columns (the numbered badges stay) */
.wcat-web .wcat-ladder::before{content:none;display:none}
/* under the flow / ladder sections: the label sits on its own line, the link and the button stand side by side with a small gap (they wrap on narrow screens) */
.wcat-web .wcat-flow-after{flex-direction:row;flex-wrap:wrap;justify-content:center;align-items:center;gap:14px 28px}
.wcat-web .wcat-flow-after>.wcat-lead{flex:0 0 100%;margin:0}
.wcat-web .wcat-flow-after>.wcat-actions{margin:0;flex:0 0 auto}
html body .wcat-web .wcat-flow-after>a.global-cta:not(#_){margin:0}
@media(max-width:575px){.wcat-web .wcat-flow-after>.wcat-actions{align-items:center;max-width:100%}.wcat-web .wcat-flow-after .global-cta{max-width:100%}}

/* everything after a card grid (notes, "Related Service:" label, link, button) is one centred block: the label / notes take a full line, the link and the button stand
   side by side with a small gap (they wrap on narrow screens) */
.wcat .wcat-after{display:flex;flex-flow:row wrap;justify-content:center;align-items:center;gap:14px 28px;margin-top:30px;text-align:center}
.wcat .wcat-after>p{flex:0 0 100%;box-sizing:border-box;width:100%;max-width:100%;margin:0;padding-inline:calc((100% - min(100%, 900px)) / 2)}
.wcat .wcat-after>.wcat-actions{flex:0 0 auto;margin:0;justify-content:center}
html body .wcat .wcat-after>a.global-cta:not(#_){margin:0}
@media(max-width:575px){.wcat .wcat-after>.wcat-actions{align-items:center;max-width:100%}.wcat .wcat-after .global-cta{max-width:100%}}
/* burgundy sections: white labels, red circles (the container-level rules no longer reach these) */



/* five-column grids: the icon sits above the title so long words are not broken across lines */
@media(min-width:1200px){
  .wcat .wcat-grid.wcat-cols-5 .wcat-item-heading{flex-direction:column;align-items:flex-start;gap:10px}
  .wcat .wcat-grid.wcat-cols-5 .wcat-item-heading h3{overflow-wrap:normal;word-break:normal;hyphens:none}
}

/* "fill" variant of the costs layout (Software cost estimates, 2026-11-02): copy centred on top, the cards fill the full width (the long first card on the left, the other
   three stacked on the right) and sentences sit 1px apart. */
.wcat-web .wcat-cost--fill{gap:36px}
.wcat-web .wcat-cost--fill .wcat-cost-copy{gap:0}
.wcat-web .wcat-cost--fill .wcat-cost-copy>*{margin:0 0 1px}
.wcat-web .wcat-cost--fill .wcat-cost-copy>.wcat-eyebrow{margin-bottom:16px}
.wcat-web .wcat-cost--fill .wcat-cost-copy>h2{margin-bottom:16px}
.wcat-web .wcat-cost--fill .wcat-cost-copy>.wcat-actions{margin-top:20px}
.wcat-web .wcat-cost--fill .wcat-cost-cards{width:100%;max-width:none;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;align-items:stretch}
@media(min-width:992px){.wcat-web .wcat-cost--fill .wcat-cost-card:first-child .wcat-cost-list{display:block;column-count:2;column-gap:36px}.wcat-web .wcat-cost--fill .wcat-cost-card:first-child .wcat-cost-list li{break-inside:avoid;margin-bottom:1px}}
@media(max-width:991px){.wcat-web .wcat-cost--fill .wcat-cost-cards{grid-template-columns:minmax(0,1fr)}}
.wcat-web .wcat-cost--fill .wcat-cost-card{text-align:left}
.wcat-web .wcat-cost--fill .wcat-cost-head{justify-content:flex-start}
.wcat-web .wcat-cost--fill .wcat-cost-card p{margin:0 0 1px}
.wcat-web .wcat-cost--fill .wcat-cost-list{gap:1px;justify-items:start}
.wcat-web .wcat-cost--fill .wcat-cost-list li{line-height:1.5}

.wcat-web .wcat-cost--stack .wcat-cost-copy{position:static}

/* split sections whose heading used to be reordered below the text ("flip"): the pill and heading stay at the top of the section, as in every other section */
.wcat-web .wcat-v-flip .wcat-split-head,.wcat-web .wcat-v-flip .wcat-split-body{order:0}

/* six-card hub (Mobile engagement options, 2026-11-03): three rows of two around the badge */
.wcat-web .wcat-hub--n6{grid-template-areas:"a core b" "c core d" "e core f"}
.wcat-web .wcat-hub--n6 .wcat-hub-card--5{grid-area:e;width:auto;justify-self:stretch}
.wcat-web .wcat-hub--n6 .wcat-hub-card--6{grid-area:f}
@media(max-width:1199px){.wcat-web .wcat-hub--n6{grid-template-areas:"core core" "a b" "c d" "e f"}}
@media(max-width:767px){.wcat-web .wcat-hub--n6{grid-template-areas:"core" "a" "b" "c" "d" "e" "f"}}
/* plain notes under the hub / flow / ladder / steps blocks take a full line (the buttons then stand side by side below them) */
.wcat-web .wcat-flow-after>p{flex:0 0 100%;box-sizing:border-box;width:100%;max-width:100%;margin:0;padding-inline:calc((100% - min(100%, 900px)) / 2)}

/* Mobile App Development: the feature cards are all white too */
html body .wcat-mobile .wcat-plan-card--2:not(#_),html body .wcat-mobile .wcat-plan-card--5:not(#_){border-color:rgba(255,0,0,.18);background:#fff}
html body .wcat-mobile .wcat-plan-card--2:not(#_) .wcat-plan-head>i,html body .wcat-mobile .wcat-plan-card--5:not(#_) .wcat-plan-head>i{color:#ff0000}
html body .wcat-mobile .wcat-plan-card--2:not(#_) h3,html body .wcat-mobile .wcat-plan-card--5:not(#_) h3{color:#470000}
html body .wcat-mobile .wcat-plan-card--2:not(#_) :is(p,li),html body .wcat-mobile .wcat-plan-card--5:not(#_) :is(p,li){color:#470000;-webkit-text-fill-color:currentColor}
html body .wcat-mobile .wcat-plan-card--2:not(#_) .wcat-plan-list li::before,html body .wcat-mobile .wcat-plan-card--5:not(#_) .wcat-plan-list li::before{background:#ff0000}


/* Layout "tabs" (js/wcat-tabs.js): the home page "Solutions" look - numbered list left, selected service detail right.
   Phones/tablets: a swipeable row of tabs over one detail card. Without JavaScript: every service as its own card. */
.wcat-section--tabs .wcat-tabs-head{display:flex;flex-direction:column;align-items:center;gap:14px;margin-bottom:38px;text-align:center}
.wcat-section--tabs .wcat-tabs-head>*{margin:0}
.wcat-section--tabs .wcat-tabs-head>p:not(.wcat-eyebrow){max-width:820px}
.wcat-tabs-list{display:none}
.wcat-tabs-panels{display:grid;grid-template-columns:minmax(0,1fr);gap:18px}
@media(min-width:768px){.wcat-tabs-panels{grid-template-columns:repeat(2,minmax(0,1fr))}}
.wcat-tabs-panel{position:relative;overflow:hidden;padding:28px;border:1px solid #f0e6e8;border-radius:24px;background:#fff;box-shadow:0 12px 32px rgba(71,0,0,.08)}
.wcat-tabs-num{position:absolute;top:10px;right:24px;color:rgba(255,0,0,.08);font-size:84px;font-weight:800;line-height:1;pointer-events:none}
.wcat-tabs-ic{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;width:64px;height:64px;margin-bottom:20px;border-radius:18px;background:#470000;color:#fff;font-size:26px;box-shadow:0 12px 26px -10px rgba(71,0,0,.55)}
html body .wcat-tabs-panel h3:not(#_){position:relative;z-index:1;margin:0 0 14px;color:#ff0000;font-size:26px;font-weight:800;line-height:1.2;text-align:left}
html body .wcat-tabs-panel h3 a:not(#_){color:#ff0000;text-decoration:none}
html body .wcat-tabs-panel h3 a:hover:not(#_){color:#470000}
html body .wcat-tabs-panel p:not(#_){position:relative;z-index:1;margin:0 0 14px;color:#470000;-webkit-text-fill-color:currentColor;font-size:16.5px;line-height:1.65;text-align:left}
html body .wcat-tabs-panel p.wcat-tabs-tag:not(#_){margin:0 0 14px;color:#470000;font-weight:700}
html body .wcat-tabs-panel p.wcat-tabs-tag strong:not(#_){font-weight:700}
.wcat-tabs-panel .global-cta+.global-cta{margin-top:12px}
html body .wcat-tabs-panel p.wcat-suit:not(#_){margin:6px 0 18px;padding:12px 16px;border-left:3px solid #ff0000;border-radius:0 12px 12px 0;background:#fff5f5;font-size:15.5px;line-height:1.55}
html body .wcat-tabs-panel p.wcat-suit strong:not(#_){color:#470000}
.wcat-tabs-panel .global-cta{position:relative;z-index:1;margin-top:8px}
@media(min-width:992px){
  .wcat-tabs.is-enhanced{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:40px;align-items:stretch}
  .wcat-tabs.is-enhanced .wcat-tabs-list{display:flex;flex-direction:column;gap:10px}
  .wcat-tabs-tab{display:grid;grid-template-columns:40px minmax(0,1fr) 34px;align-items:center;gap:14px;width:100%;padding:16px 18px;border:1px solid #f0e6e8;border-radius:16px;background:#fff;color:#470000;font:inherit;font-size:18px;font-weight:700;line-height:1.3;text-align:left;cursor:pointer;transition:transform .3s ease,background .3s ease,border-color .3s ease,color .3s ease,box-shadow .3s ease}
  .wcat-tabs-n{color:rgba(255,0,0,.55);font-size:18px;font-weight:800;transition:color .3s ease}
  .wcat-tabs-a{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border:1.5px solid rgba(71,0,0,.2);border-radius:50%;color:#470000;font-size:12px;transition:background .3s ease,border-color .3s ease,color .3s ease}
  .wcat-tabs-tab:hover{border-color:rgba(255,0,0,.35);transform:translateX(4px)}
  .wcat-tabs-tab:focus-visible{outline:2px solid #ff0000;outline-offset:2px}
  .wcat-tabs-tab.is-active{background:#470000;border-color:#470000;color:#fff;box-shadow:0 14px 30px -12px rgba(71,0,0,.55);transform:translateX(10px)}
  .wcat-tabs-tab.is-active .wcat-tabs-n{color:#ff0000}
  .wcat-tabs-tab.is-active .wcat-tabs-a{border-color:#ff0000;background:#ff0000;color:#fff}
  /* on the dark section the active tab is red, so it still stands out from the background */
  section[data-ss="b"] .wcat-tabs-tab.is-active{background:#ff0000;border-color:#ff0000}
  section[data-ss="b"] .wcat-tabs-tab.is-active .wcat-tabs-n{color:#fff}
  section[data-ss="b"] .wcat-tabs-tab.is-active .wcat-tabs-a{background:#fff;border-color:#fff;color:#ff0000}
  /* every panel sits in the same grid cell, so the box keeps the height of the tallest one and nothing jumps while switching */
  .wcat-tabs.is-enhanced .wcat-tabs-panels{display:grid;grid-template-columns:minmax(0,1fr)}
  .wcat-tabs.is-enhanced .wcat-tabs-panel{grid-area:1/1;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:48px;border-radius:28px;visibility:hidden;opacity:0;transition:opacity .3s ease,visibility 0s linear .3s}
  .wcat-tabs.is-enhanced .wcat-tabs-panel.is-active{visibility:visible;opacity:1;transition:opacity .35s ease}
  .wcat-tabs-num{top:14px;right:36px;font-size:150px}
  .wcat-tabs-ic{width:80px;height:80px;margin-bottom:24px;border-radius:22px;font-size:32px}
  html body .wcat-tabs-panel h3:not(#_){margin-bottom:18px;font-size:32px}
  html body .wcat-tabs-panel p:not(#_){font-size:17.5px}
}
@media(max-width:991px){
  .wcat-tabs.is-enhanced .wcat-tabs-list{position:relative;display:flex;gap:8px;margin:0 -2px 16px;padding:2px 2px 12px;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .wcat-tabs.is-enhanced .wcat-tabs-list::-webkit-scrollbar{display:none}
  .wcat-tabs-tab{display:inline-flex;flex:0 0 auto;align-items:center;gap:8px;min-height:44px;padding:10px 16px;border:1px solid #f0e6e8;border-radius:999px;background:#fff;color:#470000;font:inherit;font-size:15px;font-weight:700;line-height:1.2;white-space:nowrap;cursor:pointer;scroll-snap-align:start;transition:background .25s ease,color .25s ease,border-color .25s ease}
  .wcat-tabs-n{color:#ff0000;font-weight:800}
  .wcat-tabs-a{display:none}
  .wcat-tabs-tab.is-active{border-color:#470000;background:#470000;color:#fff}
  .wcat-tabs-tab:focus-visible{outline:2px solid #ff0000;outline-offset:2px}
  section[data-ss="b"] .wcat-tabs-tab.is-active{background:#ff0000;border-color:#ff0000}
  section[data-ss="b"] .wcat-tabs-tab.is-active .wcat-tabs-n{color:#fff}
  .wcat-tabs.is-enhanced .wcat-tabs-panels{display:block}
  .wcat-tabs.is-enhanced .wcat-tabs-panel{display:none}
  .wcat-tabs.is-enhanced .wcat-tabs-panel.is-active{display:block}
}
@media(max-width:575px){
  .wcat-tabs-panel{padding:24px 20px}
  .wcat-tabs-ic{width:56px;height:56px;margin-bottom:16px;border-radius:16px;font-size:22px}
  html body .wcat-tabs-panel h3:not(#_){font-size:23px}
  .wcat-tabs-num{font-size:64px}
}
@media(prefers-reduced-motion:reduce){.wcat-tabs-tab,.wcat-tabs.is-enhanced .wcat-tabs-panel{transition:none!important}}

/* Layout "angled": white cards with slanted edges and rounded corners, 5 columns on desktop (icon + title row, description).
   The shadow sits on the wrapper (clip-path on the card would cut it off); the card itself keeps a solid white background. */
.wcat-section--angled .wcat-angled-head{display:flex;flex-direction:column;align-items:center;gap:14px;margin-bottom:38px;text-align:center}
.wcat-section--angled .wcat-angled-head>*{margin:0}
.wcat-section--angled .wcat-angled-head>p:not(.wcat-eyebrow){max-width:820px}
.wcat-angled{display:grid;grid-template-columns:minmax(0,1fr);gap:22px}
@media(min-width:576px){.wcat-angled{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:768px){.wcat-angled{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(min-width:1200px){.wcat-angled{grid-template-columns:repeat(5,minmax(0,1fr))}}
.wcat-angled-item{display:flex;filter:drop-shadow(0 14px 22px rgba(71,0,0,.14));transition:transform .3s ease}
.wcat-angled-item:hover{transform:translateY(-4px)}
.wcat-angled-card{flex:1;box-sizing:border-box;min-width:0;padding:36px 22px 34px;border-radius:30px;background:#fff;box-shadow:inset 0 0 0 1px #ffd3d3;clip-path:polygon(0 0,100% 4%,100% 100%,0 96%)}
.wcat-angled-item--2 .wcat-angled-card{clip-path:polygon(0 4%,100% 0,100% 96%,0 100%)}
.wcat-angled-top{display:flex;align-items:center;gap:14px;margin-bottom:12px}
.wcat-angled-ic{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:38px;color:#ff0000;font-size:28px;line-height:1}
html body .wcat-angled-card h3:not(#_){margin:0;color:#470000;font-size:20px;font-weight:800;line-height:1.3;text-align:left}
html body .wcat-angled-card p:not(#_){margin:0;color:#470000;-webkit-text-fill-color:currentColor;font-size:15.5px;line-height:1.6;text-align:left}
@media(max-width:575px){.wcat-angled-card{padding:32px 20px 30px}}
@media(prefers-reduced-motion:reduce){.wcat-angled-item{transition:none}}

/* Layout "wave": winding timeline (js-free). Desktop: steps alternate above / below a red wave with numbered nodes; below 1200px a vertical list.
   Head and note are centred; colours of titles and text come from the section tone (data-ss), only the nodes, icons and wave are red. */
.wcat-section--wave .wcat-wave-head{display:flex;flex-direction:column;align-items:center;gap:14px;margin:0 auto 44px;max-width:860px;text-align:center}
.wcat-section--wave .wcat-wave-head>*{margin:0}
html body .wcat-section--wave .wcat-wave-head h2 span:not(#_){color:#ff0000}
.wcat-wave{position:relative;display:flex;flex-direction:column;gap:22px;max-width:640px;margin:0 auto}
.wcat-wave-line{display:none}
.wcat-wave-item{display:grid;grid-template-columns:46px minmax(0,1fr);gap:16px;align-items:start}
.wcat-wave-node{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border:2px solid #ff0000;border-radius:50%;background:#ff0000;color:#fff;font-size:15px;font-weight:800;line-height:1;box-shadow:0 6px 16px rgba(255,0,0,.28)}
.wcat-wave-item--down .wcat-wave-node{background:#fff;color:#ff0000;box-shadow:0 6px 16px rgba(71,0,0,.18)}
.wcat-wave-text{min-width:0;box-sizing:border-box;padding:18px 16px;border-radius:18px;background:#e31e2426}
.wcat-wave-ic{display:block;margin-bottom:8px;color:#ff0000;font-size:30px;line-height:1}
html body .wcat-wave-text h3:not(#_){margin:0 0 6px;font-size:18px;font-weight:800;line-height:1.25;text-align:left}
html body .wcat-wave-text p:not(#_){margin:0;font-size:15px;line-height:1.55;text-align:left}
.wcat-wave-after{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px 22px;max-width:1100px;margin:46px auto 0;text-align:center}
.wcat-wave-after>*{margin:0}
.wcat-wave-after-t{display:inline-flex;align-items:center;gap:14px;font-size:22px;font-style:italic;font-weight:800}
.wcat-wave-after-t i{color:#ff0000;font-size:30px}
.wcat-wave-after-p{flex:1 1 520px;max-width:780px;padding-left:22px;border-left:2px solid rgba(255,0,0,.55);text-align:left}
.wcat-wave-after-p p{margin:0 0 6px;font-size:15.5px;line-height:1.55}
.wcat-wave-after-p p:last-child{margin-bottom:0}
@media(max-width:767px){.wcat-wave-after-p{padding-left:0;border-left:0;text-align:center}.wcat-wave-after-p p{text-align:center}}
@media(min-width:1280px){
  .wcat-wave{display:grid;grid-template-columns:repeat(var(--n),minmax(0,1fr));grid-template-rows:auto 100px auto;column-gap:10px;row-gap:0;max-width:none;margin:0}
  .wcat-wave-line{display:block;grid-column:1/-1;grid-row:2;align-self:stretch;width:100%;height:100%;overflow:visible}
  .wcat-wave-item{grid-column:var(--c);grid-row:1/4;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:subgrid;gap:0;justify-items:stretch;text-align:center}
  .wcat-wave-node{grid-row:2;justify-self:center;position:relative;z-index:1;width:44px;height:44px}
  .wcat-wave-item--up .wcat-wave-node{align-self:start;margin-top:2px}
  .wcat-wave-item--down .wcat-wave-node{align-self:end;margin-bottom:2px}
  .wcat-wave-item--up .wcat-wave-text{grid-row:1;align-self:stretch;margin-bottom:16px}
  .wcat-wave-item--down .wcat-wave-text{grid-row:3;align-self:stretch;margin-top:16px}
  .wcat-wave-text{padding:16px 10px 18px;text-align:center}
  html body .wcat-wave-text h3:not(#_),html body .wcat-wave-text p:not(#_){text-align:center}
  html body .wcat-wave-text h3:not(#_){font-size:clamp(12.5px,1.02vw,15px);line-height:1.25;overflow-wrap:normal;hyphens:none}
  html body .wcat-wave-text p:not(#_){font-size:clamp(12px,.9vw,13px);line-height:1.5}
  .wcat-wave-ic{margin-bottom:8px;font-size:30px}
}

/* wave layout: automatic highlight that walks through the steps 01..N and loops (keyframes are written next to the section, sized to the step count) */
@media(prefers-reduced-motion:no-preference){
  .wcat-wave{--wave-step:2.2s}
  .wcat-wave-text{animation:var(--wave-card) calc(var(--n) * var(--wave-step)) ease-in-out infinite;animation-delay:calc((var(--c) - 1) * var(--wave-step))}
  .wcat-wave-node{animation:var(--wave-node) calc(var(--n) * var(--wave-step)) ease-in-out infinite;animation-delay:calc((var(--c) - 1) * var(--wave-step))}
  .wcat-wave:hover .wcat-wave-text,.wcat-wave:hover .wcat-wave-node,.wcat-wave:focus-within .wcat-wave-text,.wcat-wave:focus-within .wcat-wave-node{animation-play-state:paused}
}

/* style "compact" (section field "style": "compact"): tighter cards for bullet lists - 24px padding, no extra gap between bullets, 16px between title and list */
html body .wcat-web .wcat-st-compact .wcat-item:not(#_){padding:24px}
html body .wcat-web .wcat-st-compact .wcat-item .wcat-item-heading:not(#_){margin-bottom:16px}
html body .wcat-web .wcat-st-compact .wcat-item .wcat-list:not(#_){gap:0 24px;margin:0}
html body .wcat-web .wcat-st-compact .wcat-item .wcat-list li:not(#_){margin:0}
html body .wcat-web .wcat-st-compact .wcat-item>p:not(#_){margin:0}

/* style "iconrow" (section field "style": "iconrow"): in a five-column grid keep a small (36px) icon beside the title from 1200px up (below that the icon sits above the title, see the five-column rule) */
@media(min-width:1200px){
  .wcat .wcat-st-iconrow .wcat-grid.wcat-cols-5 .wcat-item-heading{flex-direction:row;align-items:center;gap:12px}
  .wcat .wcat-st-iconrow .wcat-grid.wcat-cols-5 .wcat-item-icon{flex:0 0 36px;width:36px;height:36px;border-radius:10px}
  .wcat .wcat-st-iconrow .wcat-grid.wcat-cols-5 .wcat-item-icon i{font-size:16px}
}

/* Layout "phone": phone mock-up in the middle, feature cards left and right, remaining features in a dark bar below. Section background and button stay as the page's tone gives them. */
.wcat-section--phone .wcat-phone-head{display:flex;flex-direction:column;align-items:center;gap:14px;margin:0 auto 40px;max-width:860px;text-align:center}
.wcat-section--phone .wcat-phone-head>*{margin:0}
html body .wcat-section--phone .wcat-phone-head h2 span:not(#_){color:#ff0000}
.wcat-phone{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.wcat-phone-art{display:none}
.wcat-phone-col{display:grid;gap:14px;margin:0;padding:0;list-style:none;align-content:center}
.wcat-phone-card{display:flex;align-items:center;gap:16px;padding:14px 22px 14px 14px;border-radius:28px;background:#fff;box-shadow:0 10px 26px rgba(71,0,0,.13)}
.wcat-phone-ic{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:54px;height:54px;border-radius:16px;background:#ff0000;color:#fff;font-size:24px;box-shadow:0 8px 16px -6px rgba(255,0,0,.5)}
.wcat-phone-tx{min-width:0}
html body .wcat-phone-card h3:not(#_){margin:0 0 3px;color:#470000;font-size:18px;font-weight:800;line-height:1.25;text-align:left}
html body .wcat-phone-card p:not(#_){margin:0;color:#470000;-webkit-text-fill-color:currentColor;font-size:14.5px;line-height:1.45;text-align:left}
.wcat-phone-bar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 8px;margin:40px 0 0;padding:22px 12px;list-style:none;border:1px solid rgba(255,255,255,.22);border-radius:24px;background:#470000;box-shadow:0 16px 34px rgba(71,0,0,.25)}
.wcat-phone-bar li{display:flex;flex-direction:column;align-items:center;gap:8px;padding:0 6px;color:#fff;text-align:center}
.wcat-phone-bar li i{font-size:26px;line-height:1;color:#fff}
html body .wcat-phone-bar li strong:not(#_){color:#fff;font-size:13.5px;font-weight:700;line-height:1.25}
.wcat-phone-sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.wcat-phone-after{margin:26px auto 0;max-width:820px;text-align:center}
html body .wcat-phone-after p:not(#_){margin:0 0 8px;font-size:15px;line-height:1.55;text-align:center}
@media(min-width:576px){.wcat-phone-bar{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:575px){.wcat-phone{grid-template-columns:minmax(0,1fr)}}
@media(min-width:992px){
  .wcat-phone{grid-template-columns:minmax(0,1fr) minmax(250px,330px) minmax(0,1fr);gap:20px;align-items:center}
  .wcat-phone-art{display:block;position:relative;height:500px}
  /* the arc: outer cards run closer to the phone, middle cards stop earlier (narrower), so nothing leaves the content width */
  .wcat-phone-col--l .wcat-phone-card{box-sizing:border-box;width:calc(100% - var(--o,0px));margin-right:var(--o,0px)}
  .wcat-phone-col--r .wcat-phone-card{box-sizing:border-box;width:calc(100% - var(--o,0px));margin-left:auto;margin-right:0;margin-left:var(--o,0px)}
  .wcat-phone-col--l .wcat-phone-card--1{--o:8px}.wcat-phone-col--l .wcat-phone-card--2{--o:40px}.wcat-phone-col--l .wcat-phone-card--3{--o:58px}.wcat-phone-col--l .wcat-phone-card--4{--o:44px}.wcat-phone-col--l .wcat-phone-card--5{--o:18px}
  .wcat-phone-col--r .wcat-phone-card--1{--o:8px}.wcat-phone-col--r .wcat-phone-card--2{--o:40px}.wcat-phone-col--r .wcat-phone-card--3{--o:58px}.wcat-phone-col--r .wcat-phone-card--4{--o:44px}.wcat-phone-col--r .wcat-phone-card--5{--o:18px}
  .wcat-phone-bar{grid-template-columns:repeat(11,minmax(0,1fr));gap:0;padding:24px 10px}
  .wcat-phone-bar li{padding:0 8px;border-left:1px solid rgba(255,255,255,.22)}
  .wcat-phone-bar li:first-child{border-left:0}
  html body .wcat-phone-bar li strong:not(#_){font-size:12.5px}
}
@media(min-width:1280px){.wcat-phone-card{padding-right:26px}}
/* the phone (decorative): red disc behind, tilted device, app screen with a header, four tiles and a tab bar */
.wcat-phone-disc{position:absolute;left:50%;top:50%;width:310px;height:310px;margin:-155px 0 0 -155px;border-radius:50%;background:#ff0000}
.wcat-phone-dev{position:absolute;left:50%;top:50%;width:212px;height:420px;margin:-210px 0 0 -106px;padding:8px;border-radius:38px;background:#15151d;box-shadow:0 26px 40px -12px rgba(71,0,0,.55),inset 0 0 0 2px #3a3a46;transform:rotate(-9deg)}
.wcat-phone-screen{display:flex;flex-direction:column;gap:10px;height:100%;box-sizing:border-box;padding:10px 10px 12px;border-radius:31px;background:#fff1f1;overflow:hidden}
.wcat-phone-status{display:flex;justify-content:space-between;align-items:center;padding:4px 10px 0;color:#470000;font-size:11px;font-weight:800}
.wcat-phone-appbar{display:flex;align-items:center;gap:8px;padding:12px 12px;border-radius:18px;background:#ff0000;color:#fff;font-size:14px}
.wcat-phone-appbar b{flex:1;font-weight:800}
.wcat-phone-tiles{display:grid;grid-template-columns:repeat(2,1fr);gap:9px;flex:1}
.wcat-phone-tiles span{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;border-radius:16px;background:#fff;color:#470000;font-size:11px;font-weight:700;box-shadow:0 6px 12px rgba(71,0,0,.1)}
.wcat-phone-tiles span i{color:#ff0000;font-size:20px}
.wcat-phone-nav{display:flex;justify-content:space-around;align-items:center;padding:8px 4px;border-radius:16px;background:#fff;color:#7b6a6a;font-size:15px}
.wcat-phone-nav i:first-child{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;background:#ff0000;color:#fff}

/* Layout "stage": numbered features in two lists around a central server illustration (desktop); two plain lists below 1200px, one list on phones. */
.wcat-section--stage .wcat-stage-head{display:flex;flex-direction:column;align-items:center;gap:14px;margin:0 auto 44px;max-width:860px;text-align:center}
.wcat-section--stage .wcat-stage-head>*{margin:0}
html body .wcat-section--stage .wcat-stage-head h2 span:not(#_){color:#ff0000}
.wcat-stage{display:grid;grid-template-columns:minmax(0,1fr);gap:6px}
.wcat-stage-art{display:none}
.wcat-stage-col{display:flex;flex-direction:column;gap:14px;margin:0;padding:0;list-style:none}
.wcat-stage-item{display:grid;grid-template-columns:40px 54px minmax(0,1fr);gap:14px;align-items:center}
.wcat-stage-n{color:#ff0000;font-size:22px;font-weight:800;line-height:1;text-align:center}
.wcat-stage-ic{display:inline-flex;align-items:center;justify-content:center;width:54px;height:54px;border-radius:15px;background:rgba(255,0,0,.14);color:#ff0000;font-size:24px}
.wcat-stage-tx{min-width:0}
html body .wcat-stage-item h3:not(#_){margin:0 0 3px;font-size:18px;font-weight:800;line-height:1.25;text-align:left}
html body .wcat-stage-item p:not(#_){margin:0;font-size:14.5px;line-height:1.45;text-align:left}
@media(min-width:768px){.wcat-stage{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:44px;align-items:start}}
@media(min-width:1280px){
  .wcat-stage{grid-template-columns:minmax(0,1fr) clamp(440px,36vw,560px) minmax(0,1fr);column-gap:20px;align-items:stretch}
  .wcat-stage-col{justify-content:space-between;gap:10px}
  .wcat-stage-art{display:block;position:relative;min-height:620px}
}
.wcat-section--stage .wcat-flow-after{margin-top:46px}
/* the illustration (decorative): glow, cloud, stacked server units on a base ring, phone, shield, API badge and a small admin dashboard */
.wcat-stage-glow{position:absolute;left:50%;top:50%;width:420px;height:420px;margin:-210px 0 0 -210px;border-radius:50%;background:radial-gradient(circle,rgba(255,0,0,.42),rgba(255,0,0,0) 68%)}
.wcat-stage-cloud{position:absolute;left:50%;top:20px;width:130px;height:100px;margin-left:-65px;text-align:center}
.wcat-stage-cloud i{display:block;color:#ffdcdc;font-size:112px;line-height:100px;text-shadow:0 0 28px rgba(255,0,0,.6)}
.wcat-stage-cloud em{position:absolute;left:0;right:0;top:34px;color:#ff0000;font-size:34px;line-height:1}
.wcat-stage-stack{position:absolute;z-index:1;left:50%;top:150px;width:210px;margin-left:-105px;display:grid;gap:7px}
.wcat-stage-stack span{position:relative;display:block;height:78px;border-radius:18px;background:linear-gradient(180deg,#3d0e0e,#190505);box-shadow:inset 0 0 0 1.5px rgba(255,0,0,.85),0 0 24px rgba(255,0,0,.4)}
.wcat-stage-stack span::before{content:"";position:absolute;right:18px;top:22px;bottom:22px;width:64px;background:repeating-linear-gradient(90deg,rgba(255,255,255,.22) 0 2px,transparent 2px 7px);border-radius:4px}
.wcat-stage-stack span::after{content:"";position:absolute;left:20px;top:50%;width:9px;height:9px;margin-top:-4px;border-radius:50%;background:#ff0000;box-shadow:0 0 10px #ff0000}
.wcat-stage-base{position:absolute;left:50%;top:440px;width:350px;height:74px;margin-left:-175px;border-radius:50%;border:2px solid rgba(255,0,0,.85);box-shadow:0 0 30px rgba(255,0,0,.5),inset 0 0 22px rgba(255,0,0,.35)}
.wcat-stage-phone{position:absolute;z-index:2;left:50%;top:390px;width:96px;height:182px;margin-left:-48px;display:flex;flex-direction:column;align-items:center;gap:8px;padding:12px 8px;box-sizing:border-box;border:4px solid #15151d;border-radius:22px;background:linear-gradient(180deg,#ff3030,#ff0000);color:#fff;box-shadow:0 18px 30px -8px rgba(0,0,0,.5)}
.wcat-stage-phone i{margin-top:14px;font-size:34px}
.wcat-stage-phone span{width:100%;height:9px;border-radius:5px;background:rgba(255,255,255,.7)}
.wcat-stage-shield{position:absolute;z-index:2;right:0;top:360px;width:110px;height:128px;text-align:center}
.wcat-stage-shield i{display:block;color:#ff0000;font-size:118px;line-height:128px;filter:drop-shadow(0 8px 14px rgba(0,0,0,.4))}
.wcat-stage-shield em{position:absolute;left:0;right:0;top:44px;color:#fff;font-size:34px;line-height:1}
.wcat-stage-api{position:absolute;z-index:2;right:-6px;top:206px;display:flex;align-items:center;gap:8px;padding:14px 20px;border-radius:16px;background:linear-gradient(180deg,#ff2a2a,#ff0000);color:#fff;font-size:26px;font-weight:800;box-shadow:0 14px 26px -8px rgba(0,0,0,.5)}
.wcat-stage-dash{position:absolute;z-index:2;left:-8px;top:196px;width:128px;padding:12px;box-sizing:border-box;border-radius:14px;background:linear-gradient(180deg,#3d0e0e,#190505);box-shadow:inset 0 0 0 1.5px rgba(255,0,0,.8),0 14px 26px -8px rgba(0,0,0,.5);transform:rotate(-6deg);color:#fff}
.wcat-stage-dash b{display:block;margin-bottom:10px;font-size:12px;font-weight:800;line-height:1.2}
.wcat-stage-bars{display:flex;align-items:flex-end;gap:5px;height:44px}
.wcat-stage-bars i{flex:1;border-radius:3px 3px 0 0;background:#ff0000}
.wcat-stage-bars i:nth-child(1){height:40%}.wcat-stage-bars i:nth-child(2){height:75%}.wcat-stage-bars i:nth-child(3){height:55%}.wcat-stage-bars i:nth-child(4){height:95%}
.wcat-stage-ring{position:absolute;right:12px;bottom:12px;width:34px;height:34px;border-radius:50%;background:conic-gradient(#ff0000 0 62%,rgba(255,255,255,.25) 0);-webkit-mask:radial-gradient(circle,transparent 9px,#000 10px);mask:radial-gradient(circle,transparent 9px,#000 10px)}

/* stage layout with a picture (section field "art"): the illustration fills the middle column, its soft edge blends into the section */
@media(min-width:1280px){.wcat-stage-art--img{display:flex;align-items:center;justify-content:center;min-height:0}.wcat-stage-art--img img{display:block;width:100%;height:auto}}

/* Layout "overview": centred head with two icon notes, phone mock-up beside the feature cards, closing bar. Background and button come from the page (tone system / alive-btn). */
.wcat-section--overview .wcat-ov-head{display:flex;flex-direction:column;align-items:center;gap:14px;margin:0 auto 34px;max-width:900px;text-align:center}
.wcat-section--overview .wcat-ov-head>*{margin:0}
html body .wcat-section--overview .wcat-ov-head h2 span:not(#_){color:#ff0000}
.wcat-ov-notes{display:flex;flex-wrap:wrap;justify-content:center;gap:14px 34px;margin:6px 0 0;padding:0;list-style:none}
.wcat-ov-notes li{display:flex;align-items:center;gap:14px;max-width:420px;text-align:left}
.wcat-ov-note-ic{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:50%;background:rgba(255,0,0,.16);color:#ff0000;font-size:24px}
.wcat-ov{display:grid;grid-template-columns:minmax(0,1fr);gap:18px}
.wcat-ov-art{display:none}
.wcat-ov-cards{display:grid;gap:16px;min-width:0}
.wcat-ov-grid,.wcat-ov-foot{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;margin:0;padding:0;list-style:none}
.wcat-ov-card{display:flex;align-items:center;gap:18px;padding:18px 22px 18px 18px;border-radius:22px;background:#fff;box-shadow:0 12px 28px rgba(71,0,0,.16)}
.wcat-ov-ic{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:62px;height:62px;border-radius:18px;background:#ffe9e9;color:#ff0000;font-size:28px}
.wcat-ov-tx{min-width:0;padding-left:18px;border-left:1px solid #ffd3d3}
html body .wcat-ov-card h3:not(#_){margin:0 0 4px;color:#470000;font-size:18px;font-weight:800;line-height:1.25;text-align:left}
html body .wcat-ov-card p:not(#_){margin:0;color:#470000;-webkit-text-fill-color:currentColor;font-size:14.5px;line-height:1.5;text-align:left}
.wcat-ov-foot .wcat-ov-card{padding:14px 16px 14px 14px}
.wcat-ov-foot .wcat-ov-ic{width:50px;height:50px;border-radius:15px;font-size:22px}
.wcat-ov-foot .wcat-ov-tx{padding-left:14px}
html body .wcat-ov-foot .wcat-ov-card h3:not(#_){font-size:16px}
html body .wcat-ov-foot .wcat-ov-card p:not(#_){font-size:13.5px;line-height:1.45}
.wcat-ov-bar{display:flex;flex-direction:column;align-items:center;gap:16px;margin-top:34px;padding:26px 22px;border:1px solid rgba(255,255,255,.28);border-radius:28px;background:#470000;box-shadow:0 16px 34px rgba(0,0,0,.28);text-align:center}
.wcat-ov-bar>*{margin:0}
.wcat-ov-bar-ic{display:inline-flex;align-items:center;justify-content:center;width:62px;height:62px;border-radius:50%;border:2px solid rgba(255,255,255,.5);color:#fff;font-size:28px}
html body .wcat-ov-bar-t:not(#_){margin:0;color:#fff;font-size:22px;font-weight:800;line-height:1.25}
html body .wcat-ov-bar-t span:not(#_){color:#ff0000}
.wcat-ov-bar-p p{margin:0;color:rgba(255,255,255,.9);font-size:15.5px;line-height:1.55}
.wcat-ov-bar .wcat-actions{margin:0}
@media(min-width:768px){.wcat-ov-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.wcat-ov-foot{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(min-width:992px){
  .wcat-ov{grid-template-columns:minmax(300px,380px) minmax(0,1fr);gap:26px;align-items:center}
  .wcat-ov-art{display:block;position:relative;height:540px}
  .wcat-ov-bar{flex-direction:row;justify-content:center;gap:22px;padding:24px 34px;text-align:left}
  .wcat-ov-bar-p{flex:1 1 0;min-width:0;padding-left:22px;border-left:1px solid rgba(255,255,255,.3)}
  .wcat-ov-bar-t{white-space:nowrap}
}
@media(max-width:991px){.wcat-ov-foot .wcat-ov-card{padding:16px 18px 16px 16px}}
.wcat-ov-tile{position:absolute;z-index:3;display:inline-flex;align-items:center;justify-content:center;width:76px;height:76px;border-radius:22px;background:#fff;color:#ff0000;font-size:38px;box-shadow:0 16px 28px -8px rgba(0,0,0,.45)}
.wcat-ov-tile--a{left:2%;top:30%;transform:rotate(-8deg)}
.wcat-ov-tile--b{right:0;top:46%;transform:rotate(6deg)}
.wcat-ov-tile--c{left:8%;bottom:8%;transform:rotate(-6deg);width:70px;height:70px;font-size:30px}
/* overview bar sits on its own #470000 panel on every tone, so the existing button keeps its dark-section look: white label, red circle */



/* stage layout, "rows" + phone art (section fields rows:true, artStyle:"phone"): white row cards with a red icon tile (no numbers) either side of a phone mock-up */
@media(max-width:1279px){.wcat-stage .wcat-phone-art{display:none}}
@media(min-width:1280px){.wcat-stage-phoneart{display:block;position:relative;height:560px}.wcat-stage .wcat-ov-tile--c{left:auto;right:6%;bottom:12%}}
.wcat-stage--rows .wcat-stage-item{grid-template-columns:56px minmax(0,1fr);gap:16px;padding:12px 20px 12px 12px;border-radius:20px;background:#fff;box-shadow:0 10px 24px rgba(0,0,0,.24)}
.wcat-stage--rows .wcat-stage-n{display:none}
.wcat-stage--rows .wcat-stage-ic{width:56px;height:56px;border-radius:15px;background:#ff0000;color:#fff;box-shadow:0 8px 14px -6px rgba(255,0,0,.6)}
html body .wcat-stage--rows .wcat-stage-item h3:not(#_){margin:0 0 2px;color:#470000;font-size:17.5px;font-weight:800;line-height:1.25}
html body .wcat-stage--rows .wcat-stage-item p:not(#_){margin:0;color:#470000;-webkit-text-fill-color:currentColor;font-size:14px;line-height:1.4}
@media(min-width:1280px){.wcat-stage-phoneart .wcat-phone-disc{width:380px;height:380px;margin:-190px 0 0 -190px}.wcat-stage-phoneart .wcat-phone-dev{transform:rotate(-9deg) scale(1.22)}}
@media(min-width:1280px){.wcat-stage-phoneart{align-self:center}}

/* the red Alive Inc. badges (orbit + hub layouts) show the real logo (the header logo turned white) instead of the favicon + plain text */
.wcat-web .wcat-orbit-core .wcat-core-logo,.wcat-web .wcat-hub-core .wcat-core-logo{display:block;height:auto;max-width:none;filter:brightness(0) invert(1)}
.wcat-web .wcat-orbit-core .wcat-core-logo{width:68%;margin:0 0 4px}
.wcat-web .wcat-hub-core .wcat-core-logo{width:170px}
@media(max-width:991px){.wcat-web .wcat-hub-core .wcat-core-logo{width:150px}}

/* tabs layout, phones and tablets (<992px): Previous / Next buttons + counter under the card, so the other services are easy to find */
.wcat-tabs-nav{display:none}
.wcat-tabs-list{scroll-margin-top:90px}
@media(max-width:991px){
  .wcat-tabs.is-enhanced .wcat-tabs-nav{display:flex;align-items:center;justify-content:space-between;gap:12px;position:fixed;left:50%;bottom:14px;z-index:900;box-sizing:border-box;width:min(calc(100vw - 32px),440px);padding:8px;border-radius:999px;background:rgba(71,0,0,.96);box-shadow:0 10px 28px rgba(0,0,0,.4);opacity:0;pointer-events:none;transform:translate(-50%,18px);transition:opacity .25s ease,transform .25s ease}
  /* fixed bar: always in the same place on screen while this section is in view (js/wcat-tabs.js adds .is-pinned); room below the last card so nothing hides behind it */
  .wcat-tabs.is-enhanced.is-pinned .wcat-tabs-nav{opacity:1;pointer-events:auto;transform:translate(-50%,0)}
  .wcat-tabs.is-enhanced{padding-bottom:76px}
  .wcat-tabs-nav button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:46px;padding:10px 20px;border:0;border-radius:999px;background:#ff0000;color:#fff;font:inherit;font-size:15px;font-weight:700;line-height:1;cursor:pointer;box-shadow:0 8px 18px -8px rgba(255,0,0,.7);transition:transform .2s ease,box-shadow .2s ease}
  .wcat-tabs-nav button:active{transform:scale(.97)}
  .wcat-tabs-nav button:focus-visible{outline:2px solid #fff;outline-offset:3px}
  .wcat-tabs-nav button i{font-size:13px}
  html body .wcat-tabs-nav .wcat-tabs-count:not(#_){color:#fff;font-size:15px;font-weight:700;letter-spacing:.04em;white-space:nowrap}
  .wcat-tabs-count b{font-weight:800}
}
@media(max-width:400px){.wcat-tabs-nav button{padding:10px 16px}.wcat-tabs-nav button span{font-size:14px}}

/* style "rich" (section field "style": "rich"): livelier cards - soft gradient, accent bar that grows on hover, lift, gradient icon tile that tilts, no numbers. Text and layout unchanged. */
html body .wcat-web .wcat-st-rich .wcat-item:not(#_){position:relative;overflow:hidden;padding:28px 24px 24px;border:1px solid rgba(255,0,0,.14);border-radius:24px;background:linear-gradient(160deg,#fff 0%,#fff 58%,#fff0f0 100%);box-shadow:0 14px 32px rgba(71,0,0,.13);transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s ease,border-color .35s ease}
html body .wcat-web .wcat-st-rich .wcat-item:not(#_)::before{content:"";position:absolute;left:0;right:0;top:0;height:5px;background:linear-gradient(90deg,#ff0000,#ff7a7a);transform:scaleX(.22);transform-origin:left;transition:transform .45s cubic-bezier(.2,.7,.2,1)}
html body .wcat-web .wcat-st-rich .wcat-item:hover:not(#_){transform:translateY(-7px);border-color:rgba(255,0,0,.55);box-shadow:0 22px 42px rgba(71,0,0,.22)}
html body .wcat-web .wcat-st-rich .wcat-item:hover:not(#_)::before{transform:scaleX(1)}
html body .wcat-web .wcat-st-rich .wcat-item-heading:not(#_){position:relative;z-index:1;align-items:center;gap:14px;margin-bottom:14px}
html body .wcat-web .wcat-st-rich .wcat-item-icon:not(#_){width:54px;height:54px;flex-basis:54px;border-radius:17px;background:linear-gradient(135deg,#ff4a4a,#ff0000 60%,#d90000);color:#fff;box-shadow:0 12px 20px -8px rgba(255,0,0,.7),0 0 0 6px rgba(255,0,0,.08);transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s ease}
html body .wcat-web .wcat-st-rich .wcat-item-icon i:not(#_){font-size:22px}
html body .wcat-web .wcat-st-rich .wcat-item:hover:not(#_) .wcat-item-icon{transform:rotate(-8deg) scale(1.08);box-shadow:0 14px 24px -8px rgba(255,0,0,.85),0 0 0 8px rgba(255,0,0,.12)}
html body .wcat-web .wcat-st-rich .wcat-item h3:not(#_){font-size:18.5px;line-height:1.25}
html body .wcat-web .wcat-st-rich .wcat-item>p:not(#_){position:relative;z-index:1;font-size:15px;line-height:1.6}
@media(prefers-reduced-motion:reduce){html body .wcat-web .wcat-st-rich .wcat-item:not(#_),html body .wcat-web .wcat-st-rich .wcat-item:not(#_)::before,html body .wcat-web .wcat-st-rich .wcat-item-icon:not(#_){transition:none}html body .wcat-web .wcat-st-rich .wcat-item:hover:not(#_){transform:none}}

/* style "fill" (section field "style": "fill"): centred cards, round icon on top, the whole card fills red with white text on hover. No numbers. */
html body .wcat-web .wcat-st-fill .wcat-item:not(#_){position:relative;display:flex;flex-direction:column;align-items:center;padding:30px 20px 26px;border:1px solid #ffd6d6;border-radius:22px;background:#fff;box-shadow:0 10px 26px rgba(71,0,0,.1);text-align:center;transition:background .35s ease,border-color .35s ease,box-shadow .35s ease,transform .35s cubic-bezier(.2,.7,.2,1)}
html body .wcat-web .wcat-st-fill .wcat-item-heading:not(#_){flex-direction:column;align-items:center;gap:14px;margin-bottom:12px;min-height:0}
html body .wcat-web .wcat-st-fill .wcat-item-icon:not(#_){width:64px;height:64px;flex-basis:64px;border-radius:50%;background:#fff0f0;color:#ff0000;box-shadow:0 0 0 7px rgba(255,0,0,.07);transition:background .35s ease,color .35s ease,box-shadow .35s ease,transform .35s ease}
html body .wcat-web .wcat-st-fill .wcat-item-icon i:not(#_){font-size:26px}
html body .wcat-web .wcat-st-fill .wcat-item h3:not(#_){margin:0;color:#470000;font-size:18px;line-height:1.3;text-align:center;overflow-wrap:normal;word-break:normal;hyphens:none;transition:color .35s ease}
html body .wcat-web .wcat-st-fill .wcat-item>p:not(#_){margin:0;color:#470000;-webkit-text-fill-color:currentColor;font-size:14.5px;line-height:1.55;text-align:center;transition:color .35s ease}
html body .wcat-web .wcat-st-fill .wcat-item:hover:not(#_){transform:translateY(-6px);border-color:#ff0000;background:linear-gradient(160deg,#ff2a2a 0%,#ff0000 55%,#c70000 100%);box-shadow:0 22px 40px rgba(255,0,0,.32)}
html body .wcat-web .wcat-st-fill .wcat-item:hover:not(#_) h3,html body .wcat-web .wcat-st-fill .wcat-item:hover:not(#_)>p{color:#fff}
html body .wcat-web .wcat-st-fill .wcat-item:hover:not(#_) .wcat-item-icon{background:#fff;color:#ff0000;box-shadow:0 0 0 8px rgba(255,255,255,.22);transform:scale(1.08)}
@media(prefers-reduced-motion:reduce){html body .wcat-web .wcat-st-fill .wcat-item:not(#_),html body .wcat-web .wcat-st-fill .wcat-item-icon:not(#_){transition:none}html body .wcat-web .wcat-st-fill .wcat-item:hover:not(#_){transform:none}}

/* style "edge" (section field "style": "edge"): cards with a red accent edge that thickens on hover, gradient icon tile, soft gradient; a full-width last card (lastWide) becomes a dark notice banner with its two paragraphs side by side. No numbers. */
html body .wcat-web .wcat-st-edge .wcat-item:not(#_){position:relative;overflow:hidden;padding:24px 22px 22px 28px;border:1px solid rgba(255,0,0,.12);border-radius:20px;background:linear-gradient(135deg,#fff 0%,#fff 62%,#fff2f2 100%);box-shadow:0 12px 28px rgba(71,0,0,.12);transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s ease,border-color .35s ease}
html body .wcat-web .wcat-st-edge .wcat-item:not(#_)::before{content:"";position:absolute;left:0;top:0;bottom:0;width:6px;background:linear-gradient(180deg,#ff0000,#ff8080);transition:width .3s ease}
html body .wcat-web .wcat-st-edge .wcat-item:hover:not(#_){transform:translateY(-5px);border-color:rgba(255,0,0,.4);box-shadow:0 20px 38px rgba(71,0,0,.2)}
html body .wcat-web .wcat-st-edge .wcat-item:hover:not(#_)::before{width:11px}
html body .wcat-web .wcat-st-edge .wcat-item-icon:not(#_){width:52px;height:52px;flex-basis:52px;border-radius:15px;background:linear-gradient(135deg,#ff4a4a,#ff0000 60%,#d90000);color:#fff;box-shadow:0 10px 18px -8px rgba(255,0,0,.7);transition:transform .35s ease}
html body .wcat-web .wcat-st-edge .wcat-item:hover:not(#_) .wcat-item-icon{transform:rotate(-7deg) scale(1.07)}
html body .wcat-web .wcat-st-edge .wcat-item h3:not(#_){font-size:18px;line-height:1.3}
html body .wcat-web .wcat-st-edge .wcat-item>p:not(#_){font-size:14.8px;line-height:1.6}
html body .wcat-web .wcat-st-edge .wcat-grid--lastwide>.wcat-item:last-child:not(#_){padding:26px 30px 26px 34px;border:0;background:linear-gradient(120deg,#470000 0%,#7b0505 100%);box-shadow:0 18px 36px rgba(71,0,0,.35)}
html body .wcat-web .wcat-st-edge .wcat-grid--lastwide>.wcat-item:last-child:not(#_)::before{background:#ff0000;width:8px}
html body .wcat-web .wcat-st-edge .wcat-grid--lastwide>.wcat-item:last-child:not(#_) .wcat-item-icon{background:#fff;color:#ff0000;box-shadow:none}
html body .wcat-web .wcat-st-edge .wcat-grid--lastwide>.wcat-item:last-child:not(#_) h3{color:#fff}
html body .wcat-web .wcat-st-edge .wcat-grid--lastwide>.wcat-item:last-child:not(#_)>p{color:rgba(255,255,255,.92)}
@media(min-width:992px){
  html body .wcat-web .wcat-st-edge .wcat-grid--lastwide>.wcat-item:last-child:not(#_){display:grid;grid-template-columns:minmax(220px,300px) minmax(0,1fr) minmax(0,1fr);align-items:center;gap:6px 34px}
  html body .wcat-web .wcat-st-edge .wcat-grid--lastwide>.wcat-item:last-child:not(#_) .wcat-item-heading{margin:0}
  html body .wcat-web .wcat-st-edge .wcat-grid--lastwide>.wcat-item:last-child:not(#_)>p{margin:0}
}
@media(prefers-reduced-motion:reduce){html body .wcat-web .wcat-st-edge .wcat-item:not(#_),html body .wcat-web .wcat-st-edge .wcat-item-icon:not(#_),html body .wcat-web .wcat-st-edge .wcat-item:not(#_)::before{transition:none}html body .wcat-web .wcat-st-edge .wcat-item:hover:not(#_){transform:none}}
@media(min-width:992px){html body .wcat-web .wcat-st-edge .wcat-grid--lastwide>.wcat-item:last-child:not(#_)>p{align-self:center;text-align:left}}

/* style "sweep" (section field "style": "sweep"): outlined round icon that fills red on hover, a pink wash that sweeps across the card from the left, soft lift; with lastWide the last card is a red gradient banner (white text, icon + title left, paragraphs side by side). No numbers. */
html body .wcat-web .wcat-st-sweep .wcat-item:not(#_){position:relative;overflow:hidden;padding:26px 22px 24px;border:1px solid #ffd9d9;border-radius:18px;background:linear-gradient(90deg,#ffe6e6,#ffe6e6) no-repeat left center/0% 100%,#fff;box-shadow:0 10px 24px rgba(71,0,0,.1);transition:background-size .5s cubic-bezier(.2,.7,.2,1),transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s ease,border-color .35s ease}
html body .wcat-web .wcat-st-sweep .wcat-item:hover:not(#_){background-size:100% 100%;transform:translateY(-5px);border-color:#ff8f8f;box-shadow:0 18px 34px rgba(71,0,0,.18)}
html body .wcat-web .wcat-st-sweep .wcat-item-icon:not(#_){width:50px;height:50px;flex-basis:50px;border:2px solid #ff0000;border-radius:50%;background:#fff;color:#ff0000;box-shadow:none;transition:background .3s ease,color .3s ease,transform .35s ease}
html body .wcat-web .wcat-st-sweep .wcat-item-icon i:not(#_){font-size:20px}
html body .wcat-web .wcat-st-sweep .wcat-item:hover:not(#_) .wcat-item-icon{background:#ff0000;color:#fff;transform:scale(1.1)}
html body .wcat-web .wcat-st-sweep .wcat-item h3:not(#_){font-size:17.5px;line-height:1.3}
html body .wcat-web .wcat-st-sweep .wcat-item>p:not(#_){font-size:14.8px;line-height:1.6}
html body .wcat-web .wcat-st-sweep .wcat-grid--lastwide>.wcat-item:last-child:not(#_){padding:28px 32px;border:0;background:linear-gradient(120deg,#ff1a1a 0%,#e00000 55%,#a80000 100%);box-shadow:0 18px 36px rgba(255,0,0,.3)}
html body .wcat-web .wcat-st-sweep .wcat-grid--lastwide>.wcat-item:last-child:hover:not(#_){background-size:auto;transform:translateY(-3px)}
html body .wcat-web .wcat-st-sweep .wcat-grid--lastwide>.wcat-item:last-child:not(#_) .wcat-item-icon{border-color:#fff;background:#fff;color:#ff0000}
html body .wcat-web .wcat-st-sweep .wcat-grid--lastwide>.wcat-item:last-child:not(#_) h3{color:#fff}
html body .wcat-web .wcat-st-sweep .wcat-grid--lastwide>.wcat-item:last-child:not(#_)>p{color:#fff}
@media(min-width:992px){
  html body .wcat-web .wcat-st-sweep .wcat-grid--lastwide>.wcat-item:last-child:not(#_){display:grid;grid-template-columns:minmax(240px,320px) minmax(0,1fr) minmax(0,1fr);align-items:center;gap:6px 34px}
  html body .wcat-web .wcat-st-sweep .wcat-grid--lastwide>.wcat-item:last-child:not(#_) .wcat-item-heading{margin:0}
  html body .wcat-web .wcat-st-sweep .wcat-grid--lastwide>.wcat-item:last-child:not(#_)>p{margin:0;align-self:center}
}
@media(prefers-reduced-motion:reduce){html body .wcat-web .wcat-st-sweep .wcat-item:not(#_),html body .wcat-web .wcat-st-sweep .wcat-item-icon:not(#_){transition:none}html body .wcat-web .wcat-st-sweep .wcat-item:hover:not(#_){transform:none}}

/* style "stripe" (section field "style": "stripe"): each card has a full-height red icon stripe on its left (icon centred), text on the right. With lastWide the last card is an outlined glass banner (white border, white text) that works on a dark section. No numbers. Built as a grid (not absolute positioning) so the tone engine never treats the icon as decoration. */
html body .wcat-web .wcat-st-stripe .wcat-item:not(#_){position:relative;display:grid;grid-template-columns:70px minmax(0,1fr);grid-template-rows:min-content min-content 1fr;column-gap:20px;overflow:hidden;padding:0 20px 0 0;min-height:104px;border:0;border-radius:18px;background:#fff;box-shadow:0 10px 26px rgba(0,0,0,.22);transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s ease}
html body .wcat-web .wcat-st-stripe .wcat-item-heading:not(#_){display:contents}
html body .wcat-web .wcat-st-stripe .wcat-item-icon:not(#_){grid-column:1;grid-row:1 / -1;align-self:stretch;width:auto;height:auto;flex-basis:auto;border-radius:0;background:linear-gradient(180deg,#ff2a2a,#ff0000 55%,#c70000);color:#fff;box-shadow:none}
html body .wcat-web .wcat-st-stripe .wcat-item-icon i:not(#_){font-size:24px;transition:transform .35s ease}
html body .wcat-web .wcat-st-stripe .wcat-item:hover:not(#_){transform:translateY(-5px);box-shadow:0 20px 38px rgba(0,0,0,.34)}
html body .wcat-web .wcat-st-stripe .wcat-item:hover:not(#_) .wcat-item-icon i{transform:scale(1.22)}
html body .wcat-web .wcat-st-stripe .wcat-item h3:not(#_){grid-column:2;margin:22px 0 8px;font-size:17.5px;line-height:1.3}
html body .wcat-web .wcat-st-stripe .wcat-item>p:not(#_){grid-column:2;margin:0 0 8px;font-size:14.8px;line-height:1.55}
html body .wcat-web .wcat-st-stripe .wcat-item>p:last-of-type:not(#_){margin-bottom:20px}
html body .wcat-web .wcat-st-stripe .wcat-grid--lastwide>.wcat-item:last-child:not(#_){background:rgba(255,255,255,.06);border:1.5px solid rgba(255,255,255,.55);box-shadow:none}
html body .wcat-web .wcat-st-stripe .wcat-grid--lastwide>.wcat-item:last-child:hover:not(#_){transform:none;box-shadow:none}
html body .wcat-web .wcat-st-stripe .wcat-grid--lastwide>.wcat-item:last-child:not(#_) h3{color:#fff}
html body .wcat-web .wcat-st-stripe .wcat-grid--lastwide>.wcat-item:last-child:not(#_)>p{color:rgba(255,255,255,.92)}
@media(min-width:992px){
  html body .wcat-web .wcat-st-stripe .wcat-grid--lastwide>.wcat-item:last-child:not(#_){grid-template-columns:76px minmax(220px,300px) minmax(0,1fr) minmax(0,1fr);align-items:center;column-gap:30px;padding-right:30px}
  html body .wcat-web .wcat-st-stripe .wcat-grid--lastwide>.wcat-item:last-child:not(#_) .wcat-item-icon{grid-row:1 / -1}
  html body .wcat-web .wcat-st-stripe .wcat-grid--lastwide>.wcat-item:last-child:not(#_) h3{grid-column:2;grid-row:1;margin:26px 0}
  html body .wcat-web .wcat-st-stripe .wcat-grid--lastwide>.wcat-item:last-child:not(#_)>p{grid-row:1;margin:26px 0}
  html body .wcat-web .wcat-st-stripe .wcat-grid--lastwide>.wcat-item:last-child:not(#_)>p:nth-of-type(1){grid-column:3}
  html body .wcat-web .wcat-st-stripe .wcat-grid--lastwide>.wcat-item:last-child:not(#_)>p:nth-of-type(2){grid-column:4}
}
@media(prefers-reduced-motion:reduce){html body .wcat-web .wcat-st-stripe .wcat-item:not(#_){transition:none}html body .wcat-web .wcat-st-stripe .wcat-item:hover:not(#_){transform:none}}

/* Layout "autoslide": cards in a scroll-snap row that slides on its own (js/wcat-auto.js), arrows + dots + pause button under it, the closing note as its own card. */
.wcat-section--autoslide .wcat-auto-head{display:flex;flex-direction:column;align-items:center;gap:14px;margin:0 auto 36px;max-width:900px;text-align:center}
.wcat-section--autoslide .wcat-auto-head>*{margin:0}
.wcat-auto-track{position:relative;display:flex;gap:18px;margin:0 -4px;padding:10px 4px 40px;margin-bottom:-18px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;outline-offset:2px}
.wcat-auto-track::-webkit-scrollbar{display:none}
.wcat-auto-card{flex:0 0 calc((100% - 18px) / 1.15);box-sizing:border-box;min-width:0;display:flex;flex-direction:column;gap:10px;scroll-snap-align:start;padding:26px 24px;border:1px solid rgba(255,0,0,.14);border-radius:22px;background:linear-gradient(160deg,#fff 0%,#fff 60%,#fff1f1 100%);box-shadow:0 4px 12px rgba(71,0,0,.1);transition:transform .3s ease,box-shadow .3s ease}
.wcat-auto-card:hover{transform:translateY(-3px);box-shadow:0 8px 18px rgba(71,0,0,.16)}
.wcat-auto-top{display:flex;align-items:center;gap:14px}
.wcat-auto-ic{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:16px;background:linear-gradient(135deg,#ff4a4a,#ff0000 60%,#d90000);color:#fff;font-size:22px;box-shadow:0 10px 18px -8px rgba(255,0,0,.7)}
html body .wcat-auto-card h3:not(#_){margin:0;color:#470000;font-size:18px;font-weight:800;line-height:1.3;text-align:left}
html body .wcat-auto-card p:not(#_){margin:0;color:#470000;-webkit-text-fill-color:currentColor;font-size:15px;line-height:1.6;text-align:left}
@media(min-width:576px){.wcat-auto-card{flex-basis:calc((100% - 18px) / 2)}}
@media(min-width:992px){.wcat-auto-card{flex-basis:calc((100% - 36px) / 3)}}
@media(min-width:1200px){.wcat-auto-card{flex-basis:calc((100% - 54px) / 4)}}
.wcat-auto-ctl{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:4px}
.wcat-auto-ctl button{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:0;border-radius:50%;background:#ff0000;color:#fff;font-size:14px;cursor:pointer;box-shadow:0 8px 16px -8px rgba(255,0,0,.8);transition:transform .2s ease}
.wcat-auto-ctl button:active{transform:scale(.94)}
.wcat-auto-ctl button:focus-visible,.wcat-auto-track:focus-visible{outline:2px solid #ff0000;outline-offset:3px}
.wcat-auto-ctl .wcat-auto-toggle{width:38px;height:38px;background:transparent;border:2px solid #ff0000;color:#ff0000;box-shadow:none;font-size:12px}
.wcat-auto-dots{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:center;max-width:60%}
.wcat-auto-dot{width:10px!important;height:10px!important;min-width:0;border-radius:50%!important;background:rgba(255,0,0,.28)!important;box-shadow:none!important;transition:width .25s ease,background .25s ease!important}
.wcat-auto-dot.is-active{width:28px!important;border-radius:999px!important;background:#ff0000!important}
.wcat-auto-note{display:grid;grid-template-columns:auto minmax(200px,300px) minmax(0,1fr);align-items:center;gap:8px 26px;margin-top:30px;padding:24px 28px;border:1px solid rgba(255,0,0,.2);border-left:7px solid #ff0000;border-radius:20px;background:#fff;box-shadow:0 12px 28px rgba(71,0,0,.14)}
.wcat-auto-note-ic{display:inline-flex;align-items:center;justify-content:center;width:50px;height:50px;border-radius:50%;background:#ff0000;color:#fff;font-size:22px}
html body .wcat-auto-note h3:not(#_){margin:0;color:#470000;font-size:19px;font-weight:800;line-height:1.3;text-align:left}
.wcat-auto-note-p p{margin:0 0 6px}
.wcat-auto-note-p p:last-child{margin-bottom:0}
html body .wcat-auto-note-p p:not(#_){color:#470000;-webkit-text-fill-color:currentColor;font-size:15px;line-height:1.55;text-align:left}
@media(max-width:991px){.wcat-auto-note{grid-template-columns:auto minmax(0,1fr)}.wcat-auto-note-p{grid-column:1 / -1}}
@media(max-width:575px){.wcat-auto-note{padding:20px 18px}.wcat-auto-dots{max-width:44%}}
@media(prefers-reduced-motion:reduce){.wcat-auto-card,.wcat-auto-dot{transition:none!important}.wcat-auto-card:hover{transform:none}}

/* Layout "deliver": scope-of-work cards around a central phone (>=1200px), two columns below, one on phones. Cards are white with their own text colours; head, background and button come from the page. */
.wcat-section--deliver .wcat-dl-head{display:flex;flex-direction:column;align-items:center;gap:14px;margin:0 auto 38px;max-width:900px;text-align:center}
.wcat-section--deliver .wcat-dl-head>*{margin:0}
.wcat-dl{display:grid;grid-template-columns:minmax(0,1fr);gap:18px}
.wcat-dl-art{display:none}
.wcat-dl-card{box-sizing:border-box;min-width:0;padding:22px 22px 20px;border-radius:22px;background:#fff;box-shadow:0 12px 28px rgba(0,0,0,.24)}
.wcat-dl-top{display:flex;align-items:center;gap:14px;margin-bottom:14px}
.wcat-dl-ic{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:14px;background:linear-gradient(135deg,#ff4a4a,#ff0000 60%,#d90000);color:#fff;font-size:21px;box-shadow:0 8px 16px -8px rgba(255,0,0,.7)}
html body .wcat-dl-card h3:not(#_){margin:0;color:#470000;font-size:18px;font-weight:800;line-height:1.3;text-align:left}
.wcat-dl-card ul{display:grid;grid-template-columns:minmax(0,1fr);gap:0;margin:0;padding:0;list-style:none}
.wcat-dl-card li{position:relative;margin:0;padding:3px 0 3px 18px}
.wcat-dl-card li::before{content:"";position:absolute;left:0;top:.82em;width:7px;height:7px;border-radius:50%;background:#ff0000}
html body .wcat-dl-card li:not(#_),html body .wcat-dl-card p:not(#_){color:#470000;-webkit-text-fill-color:currentColor;font-size:14.8px;line-height:1.5;text-align:left}
.wcat-dl-card p{margin:0}
@media(min-width:576px){.wcat-dl{grid-template-columns:repeat(2,minmax(0,1fr))}.wcat-dl-card--long{grid-column:1 / -1}.wcat-dl-card--long ul{display:block;column-count:2;column-gap:34px}.wcat-dl-card--long li{break-inside:avoid}}
@media(min-width:1200px){
  .wcat-dl{grid-template-columns:minmax(0,1fr) clamp(250px,22vw,320px) minmax(0,1fr);grid-template-areas:"a b c" "d p e" "f p g" "h h i" "h h j";gap:20px}
  .wcat-dl-card{grid-area:var(--ga)}
  .wcat-dl-art{display:block;grid-area:p;position:relative;align-self:center;min-height:380px}
}
.wcat-dl-glow{position:absolute;left:50%;top:50%;width:300px;height:300px;margin:-150px 0 0 -150px;border-radius:50%;background:radial-gradient(circle,rgba(255,0,0,.5),rgba(255,0,0,0) 68%)}
.wcat-dl-phone{position:absolute;left:50%;top:50%;width:190px;height:380px;margin:-190px 0 0 -95px;padding:8px;box-sizing:border-box;border-radius:36px;background:#15151d;box-shadow:0 26px 40px -12px rgba(0,0,0,.6),inset 0 0 0 2px #3a3a46}
.wcat-dl-screen{display:flex;align-items:center;justify-content:center;height:100%;border-radius:29px;background:linear-gradient(160deg,#ff3a3a 0%,#e00000 50%,#7a0000 100%);color:#fff;font-size:76px}

/* ---- phone / tablet fixes (2026-11-03 audit) ---- */
/* hub layout with 4 cards: its fixed 3-column areas overrode the 2-column / 1-column areas of the smaller screens (grid collapsed to a few px wide and thousands of px tall) */
@media(max-width:1199px){.wcat-web .wcat-hub--n4{grid-template-areas:"core core" "a b" "c d"}}
@media(max-width:767px){.wcat-web .wcat-hub--n4{grid-template-areas:"core" "a" "b" "c" "d"}}
/* auto-slide dots: 24px tap area around the 10px dot; on phones the dots are replaced by a counter */
.wcat-auto-ctl .wcat-auto-dot{position:relative;width:24px!important;height:24px!important;background:transparent!important;border-radius:0!important}
.wcat-auto-ctl .wcat-auto-dot::before{content:"";position:absolute;left:50%;top:50%;width:10px;height:10px;margin:-5px 0 0 -5px;border-radius:50%;background:rgba(255,0,0,.28);transition:width .25s ease,margin .25s ease,background .25s ease}
.wcat-auto-ctl .wcat-auto-dot.is-active::before{width:26px;margin-left:-13px;border-radius:999px;background:#ff0000}
.wcat-auto-dots{gap:0;max-width:none}
.wcat-auto-count{display:none;min-width:64px;font-size:15px;font-weight:700;letter-spacing:.04em;text-align:center;color:#470000}
section[data-ss="b"] .wcat-auto-count{color:#fff}
@media(max-width:575px){.wcat-auto-dots{display:none}.wcat-auto-count{display:block}}
/* deliver layout on tablets: the 7th card would sit alone in its row, so it spans both columns */
@media(min-width:576px) and (max-width:1199px){.wcat-dl-card:nth-child(7){grid-column:1 / -1}.wcat-dl-card:nth-child(7) ul{display:block;column-count:2;column-gap:34px}.wcat-dl-card:nth-child(7) li{break-inside:avoid}}

/* Layout "journey" (2026-11-04): the About-page process for category pages - six stages on a curved path, a travelling dot lights the current step (js/wcat-journey.js).
   Head, CTA and notes are centred; titles and text follow the section tone (--ss-h / --ss-t), only nodes, icons, numbers and the path are red. Below 1200px: vertical rail with cards. */
.wcat-journey{position:relative;overflow:hidden}
.wcj-journey{position:relative;min-height:420px}
.wcj-line{position:absolute;inset:0;width:100%;height:420px;overflow:visible;pointer-events:none}
.wcj-line path{fill:none;stroke:#ff9999;stroke-width:2.5}
.wcj-nodes circle{fill:#ff2222;stroke:#fff;stroke-width:2}
.wcj-traveller{fill:#ff0000;stroke:#fff;stroke-width:2;filter:drop-shadow(0 0 5px #ff5555)}
.wcj-steps{position:relative;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:0;min-height:420px;margin:0;padding:0;list-style:none}
.wcat-journey .wcj-step{position:relative;display:grid;grid-template-columns:70px minmax(0,1fr);gap:16px;align-self:start;align-items:start;margin:0 -50% 0 0;padding:0 8px 0 0}
.wcj-step:nth-child(odd){margin-top:14px}
.wcj-step:nth-child(even){margin-top:246px}
.wcj-step:nth-child(6){margin-right:0;grid-template-columns:60px minmax(0,1fr);gap:12px}
.wcj-no{position:absolute;left:-7px;top:-5px;transform:translateX(-65%);color:#ffc8c8;font-size:32px;font-weight:800;line-height:1}
section[data-ss="w"] .wcj-no,section[data-ss="p"] .wcj-no{color:rgba(255,0,0,.45)}
.wcj-icon{position:relative;display:flex;align-items:center;justify-content:center;width:70px;height:70px;border:4px solid #ffd3d3;border-top-color:#ff0000;border-right-color:#ff0000;border-radius:50%;background:#fff;color:#ff0000;box-shadow:0 10px 22px rgba(255,0,0,.1);font-size:28px;transition:background .25s ease,color .25s ease,box-shadow .25s ease}
.wcj-step:nth-child(6) .wcj-icon{width:60px;height:60px}
.wcj-icon::after{content:'';position:absolute;left:50%;top:100%;width:1px;height:56px;background:#ff7777}
.wcj-step:nth-child(even) .wcj-icon::after{top:auto;bottom:100%;height:26px}
.wcj-copy{min-width:0;transition:background .25s ease,box-shadow .25s ease}
html body .wcat-journey .wcj-copy h3:not(#_){margin:0 0 8px;font-size:18px;line-height:1.25;font-weight:800;text-align:left;color:var(--ss-h,#470000);transition:color .25s ease}
html body .wcat-journey .wcj-copy p:not(#_){margin:0;font-size:14px;line-height:1.55;text-align:left;color:var(--ss-t,#654d4d)}
.wcj-step.is-current .wcj-icon{background:#ff0000;color:#fff;border-color:#ff0000;box-shadow:0 0 0 7px rgba(255,0,0,.1),0 10px 24px rgba(255,0,0,.2)}
.wcj-step.is-current .wcj-no{color:#ff0000}
.wcj-step.is-current .wcj-copy{border-radius:8px;background:rgba(255,255,255,.75);box-shadow:0 0 0 8px rgba(255,255,255,.75)}
section[data-ss="b"] .wcj-step.is-current .wcj-copy{background:rgba(255,255,255,.1);box-shadow:0 0 0 8px rgba(255,255,255,.1)}
html body section[data-ss="w"] .wcj-step.is-current .wcj-copy h3:not(#_),html body section[data-ss="p"] .wcj-step.is-current .wcj-copy h3:not(#_){color:#ff0000}
.wcj-nodes circle.is-current{fill:#ff0000;stroke-width:3;filter:drop-shadow(0 0 5px #ff5555)}
@media(min-width:1200px){.wcj-journey{padding-left:48px}.wcj-line{inset:0 0 auto 48px;width:calc(100% - 48px)}}
@media(max-width:1199px){
  .wcj-journey{min-height:0;padding-left:32px}
  .wcj-line{display:block;height:100%}
  .wcj-steps{grid-template-columns:minmax(0,1fr);gap:22px;min-height:0}
  .wcj-step:nth-child(n){margin:0;padding:18px;grid-template-columns:60px minmax(0,1fr);gap:18px;border:1px solid #ffe0e0;border-radius:16px;background:#fff}
  section[data-ss="b"] .wcj-step:nth-child(n){border-color:rgba(255,255,255,.16);background:rgba(255,255,255,.07)}
  .wcj-icon,.wcj-step:nth-child(6) .wcj-icon{width:60px;height:60px}
  .wcj-icon::after{display:none}
  .wcj-no{left:auto;right:12px;top:8px;transform:none;font-size:23px}
  .wcj-copy{padding-top:22px}
  .wcj-step::before{content:'';position:absolute;left:-21px;top:48px;width:21px;height:1px;background:#ffaaaa}
  html body section[data-ss="w"] .wcat-journey .wcj-copy h3:not(#_){color:#470000}
}
@media(max-width:639px){.wcj-journey{padding-left:28px}.wcj-step:nth-child(n){padding:18px 14px;gap:14px}.wcj-step::before{left:-17px;width:17px}}
@media(prefers-reduced-motion:reduce){.wcj-traveller{display:none}.wcj-icon,.wcj-copy,.wcj-copy h3{transition:none}}

/* orbit stat cards revolve around the core (js/wcat-orbit.js) */
.wcat-web .wcat-orbit-tile{will-change:transform}
@media(max-width:991px){.wcat-web .wcat-orbit-tile{will-change:auto}}

/* Checklists with 8+ items ("suitable for" lists on the title pages, 2026-11-04): the card spans the full content width; items flow into 4 columns (3 under 1200px, 2 under 992px, 1 under 576px). Short lists keep the narrow card. */
html body .wcat-web .wcat-section--split .wcat-split-body:has(.wcat-list>li:nth-child(8)):not(#_){max-width:none}
html body .wcat-web .wcat-section--split .wcat-split-body:has(.wcat-list>li:nth-child(8))>p:not(#_){max-width:920px;margin-inline:auto}
html body .wcat-web .wcat-section--split .wcat-split-body:has(.wcat-list>li:nth-child(8)) .wcat-list:not(#_){max-width:none;width:100%;margin:18px 0;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px 36px}
@media(max-width:1199px){html body .wcat-web .wcat-section--split .wcat-split-body:has(.wcat-list>li:nth-child(8)) .wcat-list:not(#_){grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 30px}}
@media(max-width:991px){html body .wcat-web .wcat-section--split .wcat-split-body:has(.wcat-list>li:nth-child(8)) .wcat-list:not(#_){grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 28px}}
@media(max-width:575px){html body .wcat-web .wcat-section--split .wcat-split-body:has(.wcat-list>li:nth-child(8)) .wcat-list:not(#_){grid-template-columns:1fr}}

/* Category tabs (all category pages): the tab list sits on top, centred, and the selected service card spans the full content width below it */
@media(min-width:992px){
  html body .wcat .wcat-tabs.is-enhanced:not(#_){grid-template-columns:minmax(0,1fr);gap:20px}
  html body .wcat .wcat-tabs.is-enhanced .wcat-tabs-list:not(#_){flex-direction:row;flex-wrap:wrap;justify-content:center;gap:10px}
  html body .wcat .wcat-tabs-tab:not(#_){width:auto;grid-template-columns:auto auto 34px;gap:12px;padding:12px 16px;font-size:16px}
  html body .wcat .wcat-tabs-tab:hover:not(#_),html body .wcat .wcat-tabs-tab.is-active:not(#_){transform:none}
  html body .wcat .wcat-tabs.is-enhanced .wcat-tabs-panel:not(#_){padding:32px 36px}
  html body .wcat .wcat-tabs-ic:not(#_){width:64px;height:64px;margin-bottom:18px;border-radius:18px;font-size:26px}
}

/* Category tabs card: no big number, icon and title side by side, tighter spacing between the text blocks */
html body .wcat .wcat-tabs-num:not(#_){display:none}
@media(min-width:992px){
  html body .wcat .wcat-tabs.is-enhanced .wcat-tabs-panel:not(#_){display:grid;grid-template-columns:auto minmax(0,1fr);align-content:center;align-items:center;column-gap:16px;row-gap:0;padding:28px 36px}
}
@media(max-width:991px){
  html body .wcat .wcat-tabs.is-enhanced .wcat-tabs-panel.is-active:not(#_),html body .wcat .wcat-tabs:not(.is-enhanced) .wcat-tabs-panel:not(#_){display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;column-gap:14px;row-gap:0}
}
html body .wcat .wcat-tabs-panel>*:not(#_){grid-column:1/-1}
html body .wcat .wcat-tabs-panel .wcat-tabs-ic:not(#_){grid-column:1;grid-row:1;width:52px;height:52px;margin:0 0 14px;border-radius:15px;font-size:22px}
html body .wcat .wcat-tabs-panel h3:not(#_){grid-column:2;grid-row:1;margin:0 0 14px;font-size:28px}
html body .wcat .wcat-tabs-panel p:not(#_){margin:0 0 8px}
html body .wcat .wcat-tabs-panel p.wcat-tabs-tag:not(#_){margin:0 0 8px}
html body .wcat .wcat-tabs-panel p.wcat-suit:not(#_){margin:4px 0 10px}
html body .wcat .wcat-tabs-panel .global-cta:not(#_){margin-top:6px}
@media(max-width:575px){html body .wcat .wcat-tabs-panel h3:not(#_){font-size:21px}}

/* "pair" block: two cards side by side, each with the icon beside its title and a short red rule under the title */
.wcat-pair{display:grid;grid-template-columns:minmax(0,1fr);gap:24px;margin:26px 0 22px;text-align:left}
@media(min-width:768px){.wcat-pair{grid-template-columns:repeat(2,minmax(0,1fr))}}
.wcat-pair-card{padding:30px 32px;border:1px solid #f6dcdc;border-radius:28px;background:linear-gradient(145deg,#fff 0%,#fff3f3 100%);box-shadow:0 14px 34px rgba(71,0,0,.1)}
.wcat-pair-head{display:flex;align-items:center;gap:20px;margin-bottom:20px}
.wcat-pair-ic{display:flex;flex:0 0 auto;align-items:center;justify-content:center;width:64px;height:64px;border-radius:18px;background:linear-gradient(145deg,#ff2a2a,#d90000);color:#fff;font-size:28px;box-shadow:0 12px 24px -10px rgba(255,0,0,.6)}
html body .wcat-pair-head h3:not(#_){position:relative;margin:0;padding-bottom:12px;color:#470000;font-size:26px;font-weight:800;line-height:1.2;text-align:left}
html body .wcat-pair-head h3:not(#_)::after{content:"";position:absolute;left:0;bottom:0;width:52px;height:4px;border-radius:4px;background:#ff0000}
html body .wcat-pair-card p:not(#_){margin:0 0 12px;max-width:none;color:#470000;-webkit-text-fill-color:currentColor;font-size:16.5px;line-height:1.65;text-align:left}
html body .wcat-pair-card p:last-child:not(#_){margin-bottom:0}
@media(max-width:575px){.wcat-pair-card{padding:22px 20px;border-radius:22px}.wcat-pair-ic{width:52px;height:52px;font-size:22px;border-radius:15px}html body .wcat-pair-head h3:not(#_){font-size:21px}}

/* ladder (2026-11-04): no numbered badges, so the two columns sit closer; a last card left alone in its row spans the full width */
@media(min-width:992px){.wcat-web .wcat-ladder{column-gap:28px}.wcat-web .wcat-ladder-item:last-child:nth-child(odd){grid-column:1 / -1}}
/* a split section that holds the two-card pair uses the full content width; the cards are the wide part, the other text keeps its readable width */
html body .wcat-web .wcat-section--split .wcat-split-body:has(.wcat-pair):not(#_){max-width:none}
html body .wcat-web .wcat-section--split .wcat-split-body:has(.wcat-pair)>p:not(#_){max-width:920px;margin-inline:auto}

/* plan layout, style "bento" (2026-11-04): centred head, then white / maroon cards alternating three per row (the last row of two shares the width), no icons, a red (white on maroon) bar beside each title. */
.wcat-web .wcat-plan--bento .wcat-plan-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:22px;padding:0;align-items:stretch}
.wcat-web .wcat-plan--bento .wcat-plan-card{grid-column:span 2;padding:28px 30px 30px;border-radius:26px;border:1px solid rgba(255,0,0,.14);background:linear-gradient(135deg,#fff 0%,#fff 55%,#fff1f1 100%);box-shadow:0 16px 32px -20px rgba(71,0,0,.4);transform:none;transition:transform .3s ease,box-shadow .3s ease}
.wcat-web .wcat-plan--bento .wcat-plan-card>*{transform:none}
.wcat-web .wcat-plan--bento .wcat-plan-card:hover{transform:translateY(-5px);box-shadow:0 24px 40px -20px rgba(71,0,0,.5)}
.wcat-web .wcat-plan--bento .wcat-plan-card:nth-last-child(2):nth-child(3n+1),.wcat-web .wcat-plan--bento .wcat-plan-card:last-child:nth-child(3n+2){grid-column:span 3}
.wcat-web .wcat-plan--bento .wcat-plan-card:last-child:nth-child(3n+1){grid-column:1 / -1}
.wcat-web .wcat-plan--bento .wcat-plan-head{display:block;padding:2px 0 2px 16px;border-left:4px solid #ff0000}
.wcat-web .wcat-plan--bento .wcat-plan-head>i{display:none}
html body .wcat-web .wcat-plan--bento .wcat-plan-head h3:not(#_){font-size:22px;line-height:1.2;font-weight:800;color:#470000}
html body .wcat-web .wcat-plan--bento .wcat-plan-card p:not(#_){font-size:15.5px;line-height:1.55;color:#470000;-webkit-text-fill-color:currentColor}
html body .wcat-web .wcat-plan--bento .wcat-plan-card .wcat-plan-list li:not(#_){color:#470000;-webkit-text-fill-color:currentColor}
html body .wcat-web .wcat-plan--bento .wcat-plan-card:nth-child(even):not(#_){border-color:rgba(255,255,255,.12);background:linear-gradient(135deg,#900808 0%,#5a0000 100%);box-shadow:0 18px 34px -18px rgba(71,0,0,.7)}
html body .wcat-web .wcat-plan--bento .wcat-plan-card:nth-child(even) .wcat-plan-head:not(#_){border-left-color:#fff}
html body .wcat-web .wcat-plan--bento .wcat-plan-card:nth-child(even) :is(h3,p,li):not(#_){color:#fff}
html body .wcat-web .wcat-plan--bento .wcat-plan-card:nth-child(even) .wcat-plan-list li:not(#_)::before{background:#fff}

@media(max-width:991px){
  .wcat-web .wcat-plan--bento .wcat-plan-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .wcat-web .wcat-plan--bento .wcat-plan-card,.wcat-web .wcat-plan--bento .wcat-plan-card:nth-last-child(2):nth-child(3n+1),.wcat-web .wcat-plan--bento .wcat-plan-card:last-child:nth-child(3n+2){grid-column:auto}
  .wcat-web .wcat-plan--bento .wcat-plan-card:last-child:nth-child(odd){grid-column:1 / -1}
}
@media(max-width:575px){
  .wcat-web .wcat-plan--bento .wcat-plan-grid{grid-template-columns:minmax(0,1fr)}
  .wcat-web .wcat-plan--bento .wcat-plan-card{padding:22px 22px 24px}
  html body .wcat-web .wcat-plan--bento .wcat-plan-head h3:not(#_){font-size:20px}
}
@media(prefers-reduced-motion:reduce){.wcat-web .wcat-plan--bento .wcat-plan-card{transition:none}.wcat-web .wcat-plan--bento .wcat-plan-card:hover{transform:none}}

.wcat-web .wcat-plan--bento .wcat-plan-grid{display:grid;justify-content:normal}
.wcat-web .wcat-plan--bento .wcat-plan-card{flex:none;max-width:none;width:auto}

/* plan layout with "cols":2 (2026-11-04): stacked plan cards sit two per row instead of four (Blockchain architecture section) */
@media(min-width:576px){.wcat-web .wcat-plan--stack.wcat-plan--cols2 .wcat-plan-card{flex-basis:calc((100% - 22px) / 2)}}

/* two-column card grids: bullet lists inside the cards flow into 2 columns on desktop (Blockchain key features, 2026-11-04); grids with a full-width last card keep their own list rule */
@media(min-width:992px){.wcat .wcat-grid.wcat-cols-2:not(.wcat-grid--lastwide) .wcat-item .wcat-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 32px}}

/* plan layout, style "bento2" (2026-11-04): the bento grid for a dark section (Blockchain "Why Choose"): centred heading with the button centred under it, cream and translucent-maroon cards alternating three per row, each with an icon, a red divider and the title. */
.wcat-web .wcat-plan--bento.wcat-plan--bento2 .wcat-plan-grid{gap:22px}
html body .wcat-web .wcat-plan--bento.wcat-plan--bento2 .wcat-plan-card:not(#_){border:1px solid rgba(255,255,255,.14);background:linear-gradient(135deg,#fff8f1 0%,#ffece0 100%);box-shadow:0 18px 34px -20px rgba(0,0,0,.6)}
html body .wcat-web .wcat-plan--bento.wcat-plan--bento2 .wcat-plan-card:nth-child(even):not(#_){border-color:rgba(255,255,255,.14);background:linear-gradient(135deg,rgba(160,12,12,.5) 0%,rgba(96,0,0,.55) 100%);box-shadow:0 18px 34px -22px rgba(0,0,0,.7)}
.wcat-web .wcat-plan--bento.wcat-plan--bento2 .wcat-plan-head{display:flex;align-items:center;gap:16px;padding:0;border-left:0}
.wcat-web .wcat-plan--bento.wcat-plan--bento2 .wcat-plan-head>i{display:block;flex:0 0 40px;width:40px;font-size:32px;line-height:1;text-align:center}
html body .wcat-web .wcat-plan--bento.wcat-plan--bento2 .wcat-plan-head>i:not(#_){color:#ff0000}
html body .wcat-web .wcat-plan--bento.wcat-plan--bento2 .wcat-plan-card:nth-child(even) .wcat-plan-head>i:not(#_){color:#fff}
html body .wcat-web .wcat-plan--bento.wcat-plan--bento2 .wcat-plan-head h3:not(#_){padding:2px 0 2px 16px;border-left:2px solid #ff0000;font-size:21px;line-height:1.2}
html body .wcat-web .wcat-plan--bento.wcat-plan--bento2 .wcat-plan-card:nth-child(even) .wcat-plan-head:not(#_){border-left:0}
html body .wcat-web .wcat-plan--bento.wcat-plan--bento2 .wcat-plan-card p:not(#_){font-size:15px;line-height:1.55}
html body .wcat-web .wcat-plan--bento.wcat-plan--bento2 .wcat-plan-card:not(:nth-child(even)) p:not(#_){color:#3b2a2a}

/* Layout "scenario" (2026-11-04): heading + intro left with a small icon illustration right, a centred lead-in pill with side lines, a card of icon chips, and a note box with a clipboard icon. Card colours are fixed (white / pink), so it reads on any section tone. */
.wcat-scn-top{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:36px;align-items:center}
.wcat-scn-head{display:flex;flex-direction:column;align-items:flex-start;gap:16px;min-width:0}
.wcat-scn-head>*{margin:0}
.wcat-scn-head h2{text-align:left}
html body .wcat-section--scenario .wcat-scn-head h2 span:not(#_){color:#ff0000}
.wcat-scn-head>p:not(.wcat-eyebrow){max-width:640px;text-align:left}
.wcat-scn-art{position:relative;width:100%;max-width:470px;aspect-ratio:4 / 3;margin:0 auto}
.wcat-scn-art::before{content:"";position:absolute;inset:14% 6%;border-radius:50%;background:radial-gradient(closest-side,rgba(255,0,0,.2),rgba(255,0,0,0))}
.wcat-scn-lines{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.wcat-scn-lines path{fill:none;stroke:#ff4a4a;stroke-width:2;stroke-dasharray:5 7;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 4px rgba(255,0,0,.55))}
.wcat-scn-core,.wcat-scn-sat,.wcat-scn-shield{position:absolute;display:grid;place-items:center;transform:translate(-50%,-50%);background:#fff;color:#ff0000;box-shadow:0 18px 34px -14px rgba(71,0,0,.45)}
.wcat-scn-core{left:50%;top:50%;width:25%;aspect-ratio:1;border-radius:22%;background:linear-gradient(140deg,#ff3a3a,#c40000);color:#fff;font-size:clamp(28px,4.4vw,52px);box-shadow:0 0 0 12px rgba(255,0,0,.12),0 0 0 26px rgba(255,0,0,.07),0 22px 40px -14px rgba(120,0,0,.7)}
.wcat-scn-sat{width:19%;aspect-ratio:1;border-radius:24%;font-size:clamp(20px,3vw,36px)}
.wcat-scn-sat--1{left:17.5%;top:23%}.wcat-scn-sat--2{left:82.5%;top:23%}.wcat-scn-sat--3{left:17.5%;top:77%}.wcat-scn-sat--4{left:82.5%;top:77%}
.wcat-scn-shield{left:50%;top:15%;width:13%;aspect-ratio:1;border-radius:50%;font-size:clamp(16px,2.2vw,26px)}
.wcat-scn-lead{position:relative;display:flex;align-items:center;justify-content:center;margin:34px 0 26px}
.wcat-scn-lead::before,.wcat-scn-lead::after{content:"";flex:1 1 0;height:2px;background:linear-gradient(90deg,rgba(255,0,0,0),#ff0000)}
.wcat-scn-lead::after{background:linear-gradient(270deg,rgba(255,0,0,0),#ff0000)}
.wcat-scn-lead span{display:inline-flex;align-items:center;gap:12px;margin:0 18px;padding:12px 30px;border-radius:999px;background:linear-gradient(120deg,#d90000,#a10000);color:#fff;font-size:19px;font-weight:800;line-height:1.2;box-shadow:0 12px 24px -12px rgba(120,0,0,.8)}
.wcat-scn-lead span i{color:#fff;font-size:18px}
.wcat-scn-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:0;padding:22px;list-style:none;border-radius:30px;background:rgba(255,255,255,.7);box-shadow:0 18px 40px -26px rgba(71,0,0,.45)}
.wcat-scn-grid li{display:flex;align-items:center;gap:14px;min-width:0;margin:0;padding:12px 16px;border-radius:18px;background:#fff;box-shadow:0 10px 24px -16px rgba(71,0,0,.5)}
.wcat-scn-ic{display:grid;place-items:center;flex:0 0 46px;width:46px;height:46px;border-radius:14px;background:#ffe6e6;color:#ff0000;font-size:20px}
html body .wcat-section--scenario .wcat-scn-tx:not(#_){color:#470000;font-size:15.5px;font-weight:600;line-height:1.3;text-align:left}
.wcat-scn-note{display:grid;grid-template-columns:auto minmax(0,1fr);gap:26px;align-items:center;margin-top:26px;padding:24px 30px;border-radius:26px;background:linear-gradient(120deg,#ffe3e3,#fff2f2);box-shadow:0 14px 30px -22px rgba(71,0,0,.5)}
.wcat-scn-note-ic{display:grid;place-items:center;width:88px;height:88px;border-radius:50%;background:#fff;color:#ff0000;font-size:40px;box-shadow:0 10px 24px -14px rgba(71,0,0,.5)}
.wcat-scn-note-tx{min-width:0;padding-left:26px;border-left:2px solid #ff0000}
.wcat-scn-note-tx p{margin:0 0 8px}
.wcat-scn-note-tx p:last-child{margin-bottom:0}
html body .wcat-section--scenario .wcat-scn-note-tx p:not(#_){color:#470000;-webkit-text-fill-color:currentColor;font-size:15.5px;line-height:1.55;text-align:left}
html body .wcat-section--scenario .wcat-scn-note-tx p:last-child:not(#_),html body .wcat-section--scenario .wcat-scn-note-tx p:last-child strong:not(#_){color:#ff0000;font-weight:800}
@media(max-width:1199px){.wcat-scn-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:991px){
  .wcat-scn-top{grid-template-columns:minmax(0,1fr);gap:26px}
  .wcat-scn-head{align-items:center;text-align:center}
  .wcat-scn-head h2,.wcat-scn-head>p:not(.wcat-eyebrow){text-align:center}
  .wcat-scn-art{max-width:400px}
  .wcat-scn-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:575px){
  .wcat-scn-grid{grid-template-columns:minmax(0,1fr);padding:14px;border-radius:22px}
  .wcat-scn-lead span{margin:0 10px;padding:10px 18px;font-size:16px}
  .wcat-scn-note{grid-template-columns:minmax(0,1fr);gap:16px;padding:22px 20px;justify-items:center}
  .wcat-scn-note-tx{padding:16px 0 0;border-left:0;border-top:2px solid #ff0000}
}

/* Layout "deck" (2026-11-04): process steps as cards, icon + divider + title, text, and a Deliverables box pinned to the bottom. White and maroon cards alternate (five per row from 1200px, a checkerboard of two up to 1199px, one under 576px). Card colours are fixed, so it reads on any section tone. Light colours are the defaults; the dark set is applied per breakpoint below. */
.wcat-deck-head{display:flex;flex-direction:column;align-items:center;gap:14px;margin-bottom:38px;text-align:center}
.wcat-deck-head>*{margin:0}
html body .wcat-section--deck .wcat-deck-head h2 span:not(#_){color:#ff0000}
.wcat-deck{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;align-items:stretch}
.wcat-deck-card{--dk-bg:linear-gradient(145deg,#fff 0%,#fff 60%,#fff1f1 100%);--dk-bd:rgba(255,0,0,.12);--dk-sh:0 18px 34px -22px rgba(71,0,0,.45);--dk-ic:#ff0000;--dk-rule:#470000;--dk-tt:#470000;--dk-tx:#470000;--dk-db:#ffe3e3;--dk-dt:#470000;display:flex;flex-direction:column;gap:14px;min-width:0;padding:20px 18px 18px;border-radius:24px;border:1px solid var(--dk-bd);background:var(--dk-bg);box-shadow:var(--dk-sh);transition:transform .3s ease,box-shadow .3s ease}
.wcat-deck-card:hover{transform:translateY(-5px)}
.wcat-deck-top{display:flex;align-items:center;gap:12px}
.wcat-deck-ic{display:grid;place-items:center;flex:0 0 40px;width:40px;font-size:30px;line-height:1;color:var(--dk-ic)}
.wcat-deck-top h3{margin:0;min-width:0;padding-left:12px;border-left:2px solid var(--dk-rule);font-size:16px;line-height:1.2;font-weight:800;text-align:left}
html body .wcat-deck-card .wcat-deck-top h3:not(#_){color:var(--dk-tt);font-size:16.5px;line-height:1.2}
.wcat-deck-card p{margin:0}
html body .wcat-deck-card .wcat-deck-p:not(#_){font-size:14px;line-height:1.5;color:var(--dk-tx);text-align:left}
.wcat-deck-card .wcat-deck-d{margin-top:auto;padding:12px 14px;border-radius:14px;background:var(--dk-db)}
html body .wcat-deck-card .wcat-deck-d:not(#_){font-size:13.5px;line-height:1.4;color:var(--dk-dt);text-align:left}
.wcat-deck-after{margin-top:26px;text-align:center}
.wcat-deck-cta{display:flex;justify-content:center;margin-top:36px}
@media(min-width:1200px){
  .wcat-deck-card:nth-child(even){--dk-bg:linear-gradient(145deg,#8f0808 0%,#4d0000 100%);--dk-bd:rgba(255,255,255,.12);--dk-sh:0 20px 36px -20px rgba(71,0,0,.8);--dk-ic:#fff;--dk-rule:#fff;--dk-tt:#fff;--dk-tx:#fff;--dk-db:rgba(255,255,255,.1);--dk-dt:#fff}
}
@media(min-width:576px) and (max-width:1199px){
  .wcat-deck{grid-template-columns:repeat(2,minmax(0,1fr))}
  .wcat-deck-card:nth-child(4n+2),.wcat-deck-card:nth-child(4n+3){--dk-bg:linear-gradient(145deg,#8f0808 0%,#4d0000 100%);--dk-bd:rgba(255,255,255,.12);--dk-sh:0 20px 36px -20px rgba(71,0,0,.8);--dk-ic:#fff;--dk-rule:#fff;--dk-tt:#fff;--dk-tx:#fff;--dk-db:rgba(255,255,255,.1);--dk-dt:#fff}
  html body .wcat-deck-card .wcat-deck-top h3:not(#_){font-size:19px}
}
@media(max-width:575px){
  .wcat-deck{grid-template-columns:minmax(0,1fr)}
  .wcat-deck-card:nth-child(even){--dk-bg:linear-gradient(145deg,#8f0808 0%,#4d0000 100%);--dk-bd:rgba(255,255,255,.12);--dk-sh:0 20px 36px -20px rgba(71,0,0,.8);--dk-ic:#fff;--dk-rule:#fff;--dk-tt:#fff;--dk-tx:#fff;--dk-db:rgba(255,255,255,.1);--dk-dt:#fff}
  html body .wcat-deck-card .wcat-deck-top h3:not(#_){font-size:19px}
}
@media(prefers-reduced-motion:reduce){.wcat-deck-card{transition:none}.wcat-deck-card:hover{transform:none}}

/* Card style "band": a pink header strip holds the round icon and the title side by side, the text sits below; hover turns the strip red */
html body .wcat-web .wcat-st-band .wcat-item:not(#_){padding:0;overflow:hidden;border:1px solid #f3d3d3;border-radius:18px;background:#fff;box-shadow:0 10px 24px rgba(71,0,0,.1);transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease}
html body .wcat-web .wcat-st-band .wcat-item:hover:not(#_){transform:translateY(-5px);border-color:#ff0000;box-shadow:0 18px 34px rgba(255,0,0,.22)}
html body .wcat-web .wcat-st-band .wcat-item-heading:not(#_),html body .wcat-web .wcat-st-band .wcat-grid.wcat-cols-5 .wcat-item-heading:not(#_){display:flex;flex-direction:row;align-items:center;gap:12px;margin:0;padding:14px 16px;background:#fdeaea;border-bottom:1px solid #f6c9c9;transition:background .3s ease,border-color .3s ease}
html body .wcat-web .wcat-st-band .wcat-item-icon:not(#_){flex:0 0 42px;width:42px;height:42px;margin:0;border-radius:50%;background:#ff0000;color:#fff;box-shadow:none;transition:background .3s ease,color .3s ease}
html body .wcat-web .wcat-st-band .wcat-item-icon i:not(#_){color:inherit;font-size:17px}
html body .wcat-web .wcat-st-band .wcat-item-heading h3:not(#_){margin:0;color:#470000;font-size:17px;font-weight:800;line-height:1.25;text-align:left;transition:color .3s ease}
html body .wcat-web .wcat-st-band .wcat-item p:not(#_){margin:0;padding:16px 18px 20px;color:#470000;-webkit-text-fill-color:currentColor;font-size:15.5px;line-height:1.6;text-align:left}
html body .wcat-web .wcat-st-band .wcat-item p+p:not(#_){padding-top:0}
html body .wcat-web .wcat-st-band .wcat-item:hover .wcat-item-heading:not(#_){background:#ff0000;border-bottom-color:#ff0000}
html body .wcat-web .wcat-st-band .wcat-item:hover .wcat-item-heading h3:not(#_){color:#fff}
html body .wcat-web .wcat-st-band .wcat-item:hover .wcat-item-icon:not(#_){background:#fff;color:#ff0000}
@media(prefers-reduced-motion:reduce){html body .wcat-web .wcat-st-band .wcat-item:not(#_),html body .wcat-web .wcat-st-band .wcat-item-heading:not(#_){transition:none}html body .wcat-web .wcat-st-band .wcat-item:hover:not(#_){transform:none}}

/* Layout "spotlight" (2026-11-04): a tall feature card (first item, with a small dashboard illustration) beside the other items: 3 on the first row, the rest (4) below, on a 48-column grid; two columns of cards from 768px, one under 576px. Card colours are fixed (white cards, red feature card) so it reads on any section tone. */
.wcat-spot-head{display:flex;flex-direction:column;align-items:center;gap:14px;margin-bottom:38px;text-align:center}
.wcat-spot-head>*{margin:0}
html body .wcat-section--spot .wcat-spot-head h2 span:not(#_){color:#ff0000}
.wcat-spot{display:grid;grid-template-columns:repeat(48,minmax(0,1fr));gap:18px;align-items:stretch}
.wcat-spot-card{display:flex;flex-direction:column;gap:14px;min-width:0;padding:24px 22px;border-radius:26px;border:1px solid rgba(255,0,0,.12);background:linear-gradient(145deg,#fff 0%,#fff 62%,#ffeaea 100%);box-shadow:0 18px 36px -24px rgba(71,0,0,.5);transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease}
.wcat-spot-card:hover{transform:translateY(-6px);border-color:rgba(255,0,0,.45);box-shadow:0 26px 44px -22px rgba(71,0,0,.55)}
.wcat-spot-card{grid-column:span 12}
.wcat-spot-card--feature{grid-column:span 12;grid-row:span 2;padding:28px 24px 0;overflow:hidden;border-color:rgba(255,255,255,.25);background:linear-gradient(160deg,#e01212 0%,#a50909 55%,#6e0000 100%);box-shadow:0 24px 44px -22px rgba(0,0,0,.6)}
.wcat-spot--split .wcat-spot-card:nth-child(n+5){grid-column:span 9}
.wcat-spot-top{display:flex;align-items:center;gap:14px}
.wcat-spot-ic{display:grid;place-items:center;flex:0 0 52px;width:52px;height:52px;border-radius:16px;background:linear-gradient(135deg,#ff4a4a,#c40000);color:#fff;font-size:22px;box-shadow:0 12px 20px -10px rgba(255,0,0,.7);transition:transform .3s ease}
.wcat-spot-card:hover .wcat-spot-ic{transform:rotate(-8deg) scale(1.08)}
.wcat-spot-top h3{margin:0;min-width:0;text-align:left}
html body .wcat-spot-card .wcat-spot-top h3:not(#_){font-size:18.5px;line-height:1.2;font-weight:800;color:#470000}
.wcat-spot-card p{margin:0}
html body .wcat-spot-card .wcat-spot-p:not(#_){font-size:15px;line-height:1.55;color:#470000;-webkit-text-fill-color:currentColor;text-align:left}
.wcat-spot-card--feature .wcat-spot-top{flex-direction:column;align-items:flex-start;gap:18px}
.wcat-spot-card--feature .wcat-spot-ic{width:70px;height:70px;flex-basis:70px;border-radius:20px;background:#fff;color:#ff0000;font-size:30px;box-shadow:0 14px 24px -12px rgba(0,0,0,.5)}
html body .wcat-spot-card--feature .wcat-spot-top h3:not(#_){font-size:25px;line-height:1.15;color:#fff}
html body .wcat-spot-card--feature .wcat-spot-p:not(#_){color:#fff;font-size:16px}
.wcat-spot-art{position:relative;flex:1 1 auto;min-height:170px;margin:10px -24px 0}
.wcat-spot-panel{position:absolute;left:14%;bottom:0;width:58%;height:78%;display:flex;align-items:flex-end;gap:7%;padding:14% 9% 0;border-radius:16px 16px 0 0;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.35);border-bottom:0}
.wcat-spot-panel i{flex:1 1 0;border-radius:4px 4px 0 0;background:#fff;opacity:.92}
.wcat-spot-trend{position:absolute;right:14%;top:2%;display:grid;place-items:center;width:72px;height:56px;border-radius:12px;background:#fff;color:#ff0000;font-size:24px;box-shadow:0 12px 22px -10px rgba(0,0,0,.5)}
.wcat-spot-horn{position:absolute;right:9%;bottom:8%;display:grid;place-items:center;width:62px;height:62px;border-radius:50%;background:#fff;color:#ff0000;font-size:26px;box-shadow:0 12px 22px -10px rgba(0,0,0,.55)}
.wcat-spot-after{margin-top:26px;text-align:center}
.wcat-spot-cta{display:flex;justify-content:center;margin-top:34px}
@media(max-width:1199px){
  .wcat-spot{grid-template-columns:repeat(2,minmax(0,1fr))}
  .wcat-spot-card,.wcat-spot--split .wcat-spot-card:nth-child(n+5){grid-column:auto}
  .wcat-spot-card--feature{grid-column:1 / -1;grid-row:auto;padding-bottom:0}
  .wcat-spot-art{min-height:200px}
}
@media(max-width:575px){
  .wcat-spot{grid-template-columns:minmax(0,1fr)}
}
@media(prefers-reduced-motion:reduce){.wcat-spot-card,.wcat-spot-ic{transition:none}.wcat-spot-card:hover,.wcat-spot-card:hover .wcat-spot-ic{transform:none}}

/* Layout "metrics" (2026-11-04): metric groups as cards (icon tile + title, list in balanced columns with a divider), white and maroon alternating as a checkerboard on two columns, an odd last card full width (three list columns), the closing notes as a row of icon notes with dividers. Card colours are fixed so it reads on any section tone. */
.wcat-met-head{display:flex;flex-direction:column;align-items:center;gap:14px;margin-bottom:36px;text-align:center}
.wcat-met-head>*{margin:0}
html body .wcat-section--metrics .wcat-met-head h2 span:not(#_){color:#ff0000}
.wcat-met{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;align-items:stretch}
.wcat-met-card{--mt-bg:linear-gradient(145deg,#fff 0%,#fff 62%,#ffeaea 100%);--mt-bd:rgba(255,0,0,.12);--mt-sh:0 18px 36px -24px rgba(71,0,0,.5);--mt-tile:linear-gradient(135deg,#ff4a4a,#c40000);--mt-tic:#fff;--mt-tt:#470000;--mt-tx:#470000;--mt-dot:#ff0000;--mt-rule:rgba(71,0,0,.22);display:flex;flex-direction:column;gap:18px;min-width:0;padding:26px 28px;border-radius:26px;border:1px solid var(--mt-bd);background:var(--mt-bg);box-shadow:var(--mt-sh);transition:transform .3s ease,box-shadow .3s ease}
.wcat-met-card:hover{transform:translateY(-5px);box-shadow:0 26px 44px -24px rgba(71,0,0,.6)}
.wcat-met-card--wide{grid-column:1 / -1}
.wcat-met-top{display:flex;align-items:center;gap:16px}
.wcat-met-ic{display:grid;place-items:center;flex:0 0 52px;width:52px;height:52px;border-radius:16px;background:var(--mt-tile);color:var(--mt-tic);font-size:22px;box-shadow:0 12px 20px -10px rgba(0,0,0,.45)}
.wcat-met-top h3{margin:0;min-width:0;text-align:left}
html body .wcat-met-card .wcat-met-top h3:not(#_){font-size:22px;line-height:1.2;font-weight:800;color:var(--mt-tt)}
.wcat-met-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:44px;margin:0;padding:0;list-style:none;background:linear-gradient(var(--mt-rule),var(--mt-rule)) 50% 0 / 1px 100% no-repeat}
.wcat-met-card--wide .wcat-met-list{grid-template-columns:repeat(3,minmax(0,1fr));background:linear-gradient(var(--mt-rule),var(--mt-rule)) calc(33.333% - 7px) 0 / 1px 100% no-repeat,linear-gradient(var(--mt-rule),var(--mt-rule)) calc(66.666% + 7px) 0 / 1px 100% no-repeat}
.wcat-met-list li{position:relative;margin:0 0 9px;padding-left:20px}
.wcat-met-list li::before{content:"";position:absolute;left:0;top:.55em;width:8px;height:8px;border-radius:50%;background:var(--mt-dot)}
html body .wcat-met-card .wcat-met-list li:not(#_){font-size:15.5px;line-height:1.45;color:var(--mt-tx);text-align:left}
.wcat-met-card:nth-child(4n+2),.wcat-met-card:nth-child(4n+3){--mt-bg:linear-gradient(145deg,#8f0808 0%,#4d0000 100%);--mt-bd:rgba(255,255,255,.12);--mt-sh:0 20px 38px -22px rgba(71,0,0,.8);--mt-tile:#fff;--mt-tic:#ff0000;--mt-tt:#fff;--mt-tx:#fff;--mt-dot:#fff;--mt-rule:rgba(255,255,255,.3)}
.wcat-met-notes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:34px}
.wcat-met-notes p{display:flex;align-items:center;gap:16px;margin:0;padding:6px 28px}
.wcat-met-notes p+p{border-left:1px solid rgba(71,0,0,.28)}
.wcat-met-notes p i{flex:0 0 auto;font-size:34px;color:#ff0000}
html body .wcat-met-notes p span:not(#_){font-size:15px;line-height:1.45;color:#470000;-webkit-text-fill-color:currentColor;text-align:left}
.wcat-met-cta{display:flex;justify-content:center;margin-top:34px}
@media(max-width:991px){
  .wcat-met-card--wide .wcat-met-list{grid-template-columns:repeat(2,minmax(0,1fr));background:linear-gradient(var(--mt-rule),var(--mt-rule)) 50% 0 / 1px 100% no-repeat}
  .wcat-met-notes{grid-template-columns:minmax(0,1fr);gap:14px}
  .wcat-met-notes p{padding:6px 0}
  .wcat-met-notes p+p{border-left:0;border-top:1px solid rgba(71,0,0,.2);padding-top:14px}
}
@media(max-width:767px){
  .wcat-met{grid-template-columns:minmax(0,1fr)}
  .wcat-met-card:nth-child(4n+3){--mt-bg:linear-gradient(145deg,#fff 0%,#fff 62%,#ffeaea 100%);--mt-bd:rgba(255,0,0,.12);--mt-sh:0 18px 36px -24px rgba(71,0,0,.5);--mt-tile:linear-gradient(135deg,#ff4a4a,#c40000);--mt-tic:#fff;--mt-tt:#470000;--mt-tx:#470000;--mt-dot:#ff0000;--mt-rule:rgba(71,0,0,.22)}
  .wcat-met-card:nth-child(4n+4){--mt-bg:linear-gradient(145deg,#8f0808 0%,#4d0000 100%);--mt-bd:rgba(255,255,255,.12);--mt-sh:0 20px 38px -22px rgba(71,0,0,.8);--mt-tile:#fff;--mt-tic:#ff0000;--mt-tt:#fff;--mt-tx:#fff;--mt-dot:#fff;--mt-rule:rgba(255,255,255,.3)}
  .wcat-met-list,.wcat-met-card--wide .wcat-met-list{grid-template-columns:minmax(0,1fr);background:none}
  .wcat-met-card{padding:22px 20px}
}
@media(prefers-reduced-motion:reduce){.wcat-met-card{transition:none}.wcat-met-card:hover{transform:none}}

/* Layout "regions" (2026-11-04): the Services-page region cards for a category page: outlined cards (flag, title, faint number, text) in a row, then a wide bar (icon, divider, title + text, the section button on the right). Card colours are fixed (white) so it reads on any section tone. */
.wcat-reg-head{display:flex;flex-direction:column;align-items:center;gap:14px;max-width:820px;margin:0 auto 34px;text-align:center}
.wcat-reg-head>*{margin:0}
.wcat-reg{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.wcat-reg--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.wcat-reg--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.wcat-reg--1{grid-template-columns:minmax(0,1fr)}
.wcat-reg-card{position:relative;display:flex;flex-direction:column;gap:12px;min-width:0;padding:22px;border:1px solid rgba(255,0,0,.45);border-radius:18px;background:#fff;box-shadow:0 16px 32px -24px rgba(71,0,0,.5);transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease}
.wcat-reg-card:hover{transform:translateY(-5px);border-color:#ff0000;box-shadow:0 24px 40px -24px rgba(71,0,0,.6)}
.wcat-reg-card p{margin:0}
.wcat-reg-num{position:absolute;right:18px;top:12px;color:#ff0000;opacity:.16;font-size:36px;font-weight:800;line-height:1}
.wcat-reg-trow{display:flex;align-items:center;gap:12px;padding-right:44px}
.wcat-reg-trow img{flex:0 0 44px;width:44px;height:44px;border:2px solid #ffd9d9;border-radius:50%;object-fit:cover;background:#fff}
.wcat-reg-fi{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;border-radius:50%;background:#ffe3e3;color:#ff0000;font-size:18px}
.wcat-reg-trow h3{margin:0;min-width:0;text-align:left}
html body .wcat-reg-card .wcat-reg-trow h3:not(#_){font-size:19px;line-height:1.2;font-weight:800;color:#470000}
html body .wcat-reg-card .wcat-reg-p:not(#_){font-size:15px;line-height:1.55;color:#470000;-webkit-text-fill-color:currentColor;text-align:left}
.wcat-reg-bar{display:flex;align-items:center;gap:24px;margin-top:18px;padding:22px 30px;border:1px solid rgba(255,0,0,.45);border-radius:18px;background:#fff;box-shadow:0 16px 32px -24px rgba(71,0,0,.5)}
.wcat-reg-ic{display:flex;flex:0 0 60px;align-items:center;justify-content:center;width:60px;height:60px;border:2px solid #ff0000;border-radius:50%;color:#ff0000;font-size:24px}
.wcat-reg-text{flex:1;min-width:0;padding-left:24px;border-left:1px solid rgba(71,0,0,.2)}
.wcat-reg-text h3{margin:0 0 6px;text-align:left}
.wcat-reg-text p{margin:0}
html body .wcat-reg-bar .wcat-reg-text h3:not(#_){font-size:20px;line-height:1.25;font-weight:800;color:#470000}
html body .wcat-reg-bar .wcat-reg-text p:not(#_){font-size:15.5px;line-height:1.55;color:#470000;-webkit-text-fill-color:currentColor;text-align:left}
.wcat-reg-cta{flex:0 0 auto;margin:0}
.wcat-reg-cta--solo{display:flex;justify-content:center;margin-top:30px}
.wcat-reg-after{margin-top:24px;text-align:center}
@media(max-width:1199px){
  .wcat-reg,.wcat-reg--3{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:767px){
  .wcat-reg-bar{display:grid;grid-template-columns:auto minmax(0,1fr);gap:16px;padding:20px}
  .wcat-reg-text{padding-left:16px}
  .wcat-reg-cta{grid-column:1 / -1}
}
@media(max-width:575px){
  .wcat-reg,.wcat-reg--3,.wcat-reg--2{grid-template-columns:minmax(0,1fr)}
  .wcat-reg-ic{flex-basis:46px;width:46px;height:46px;font-size:19px}
}
@media(prefers-reduced-motion:reduce){.wcat-reg-card{transition:none}.wcat-reg-card:hover{transform:none}}

/* Layout "pricing" (2026-11-04): one rounded board - dark copy panel left (heading, intro, button), detail cards right (list in two columns / ruled list), a "Timeline and Results" row of linked cards, a dark closing band across the bottom. Colours are fixed so it reads on any section tone. Stacks below 1200px. */
.wcat-pr{display:grid;grid-template-columns:minmax(0,340px) minmax(0,1fr);overflow:hidden;border-radius:30px;background:linear-gradient(160deg,#fff 0%,#fff5f5 100%);box-shadow:0 30px 60px -30px rgba(0,0,0,.55)}
.wcat-pr-copy{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:16px;min-width:0;padding:34px 28px 40px;background:#e31e2426;overflow:hidden}
.wcat-pr-copy>*{position:relative;z-index:1;margin:0}
.wcat-pr-copy h2{text-align:left;font-size:clamp(30px,3.2vw,44px);line-height:1.1}
html body .wcat-pr-copy h2:not(#_){color:#470000}
html body section.wcat-section--pricing[data-ss] .wcat-pr-copy .wcat-eyebrow:not(#_){color:#ff0000;border-color:rgba(255,0,0,.35);background:#fff}
html body section.wcat-section--pricing[data-ss] .wcat-pr-copy .wcat-eyebrow i:not(#_){color:#ff0000}
html body .wcat-pr-copy h2 span:not(#_){color:#ff0000}
html body .wcat-pr-copy>p:not(.wcat-eyebrow):not(#_){color:#470000;font-size:15.5px;line-height:1.55;text-align:left}
.wcat-pr-copy .wcat-actions{margin-top:6px}


.wcat-pr-main{display:flex;flex-direction:column;gap:26px;min-width:0;padding:28px 28px 30px}
.wcat-pr-cards{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:22px;align-items:start}
.wcat-pr-card{min-width:0;overflow:hidden;border-radius:22px;background:#fff;box-shadow:0 16px 34px -24px rgba(71,0,0,.5)}
.wcat-pr-head{display:flex;align-items:center;gap:18px;padding:0 20px 0 0;background:linear-gradient(90deg,#ffdede,#fff4f4)}
.wcat-pr-tab{display:grid;place-items:center;flex:0 0 auto;width:96px;height:62px;padding-right:14px;background:linear-gradient(135deg,#ff2a2a,#c40000);clip-path:polygon(0 0,100% 0,82% 100%,0 100%);color:#fff;font-size:26px}
.wcat-pr-head h3{margin:0;min-width:0;text-align:left}
html body .wcat-pr-card .wcat-pr-head h3:not(#_){font-size:21px;line-height:1.2;font-weight:800;color:#470000}
.wcat-pr-list{margin:0;padding:18px 22px 22px;list-style:none}
.wcat-pr-card--cols .wcat-pr-list{columns:2;column-gap:26px;column-rule:1px solid rgba(71,0,0,.18)}
.wcat-pr-list li{position:relative;break-inside:avoid;margin:0 0 10px;padding-left:22px}
.wcat-pr-list li::before{content:"";position:absolute;left:0;top:.5em;width:9px;height:9px;border-radius:50%;background:#ff0000}
html body .wcat-pr-card .wcat-pr-list li:not(#_){font-size:14.5px;line-height:1.4;color:#470000;-webkit-text-fill-color:currentColor;text-align:left}
.wcat-pr-card--rules .wcat-pr-list li{margin:0;padding-top:12px;padding-bottom:12px;padding-left:22px;border-top:1px solid rgba(255,0,0,.5)}
.wcat-pr-card--rules .wcat-pr-list li:first-child{border-top:0;padding-top:0}
.wcat-pr-card--rules .wcat-pr-list li::before{top:calc(.5em + 12px)}
.wcat-pr-card--rules .wcat-pr-list li:first-child::before{top:.5em}
.wcat-pr-time{display:flex;flex-direction:column;gap:18px}
.wcat-pr-time-t{display:flex;align-items:center;gap:16px;margin:0;text-align:left}
.wcat-pr-time-t::after{content:"";flex:0 0 100px;height:4px;border-radius:2px;background:linear-gradient(90deg,#ff0000,rgba(255,0,0,.15))}
html body .wcat-pr-time .wcat-pr-time-t:not(#_){font-size:26px;line-height:1.2;font-weight:800;color:#470000}
.wcat-pr-steps{display:grid;grid-template-columns:repeat(var(--n,4),minmax(0,1fr));gap:34px;margin:0;padding:0;list-style:none}
.wcat-pr-steps li{position:relative;display:flex;align-items:center;min-width:0;padding:20px 18px;border:1px solid rgba(255,0,0,.25);border-radius:20px;background:linear-gradient(160deg,#fff 0%,#ffeded 100%)}
.wcat-pr-steps li:not(:last-child)::after{content:"";position:absolute;left:100%;top:50%;width:34px;height:2px;background:#ff0000;transform:translateY(-50%)}
.wcat-pr-steps li:not(:last-child)::before{content:"";position:absolute;left:calc(100% + 24px);top:50%;width:10px;height:10px;border:2px solid #ff0000;border-radius:50%;background:#fff;transform:translateY(-50%);z-index:1}
.wcat-pr-steps p{margin:0}
html body .wcat-pr-steps p:not(#_){font-size:15px;line-height:1.5;color:#470000;-webkit-text-fill-color:currentColor;text-align:left}
.wcat-pr-close{grid-column:1 / -1;margin:0;padding:26px 34px;background:#e31e2426;text-align:center}
html body .wcat-pr .wcat-pr-close:not(#_){color:#470000;font-size:22px;line-height:1.4;font-weight:800}
@media(max-width:1199px){
  .wcat-pr{grid-template-columns:minmax(0,1fr)}
  .wcat-pr-copy{padding:32px 28px 40px}
  html body .wcat-pr-copy>p:not(.wcat-eyebrow):not(#_){max-width:760px}
}
@media(max-width:991px){
  .wcat-pr-cards{grid-template-columns:minmax(0,1fr)}
  .wcat-pr-steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
  .wcat-pr-steps li::before,.wcat-pr-steps li::after{display:none}
}
@media(max-width:575px){
  .wcat-pr-main{padding:20px 16px 24px}
  .wcat-pr-card--cols .wcat-pr-list{columns:1}
  .wcat-pr-steps{grid-template-columns:minmax(0,1fr)}
  html body .wcat-pr .wcat-pr-close:not(#_){font-size:18px;padding:22px 20px}
  .wcat-pr-copy{padding:28px 20px 34px}
  .wcat-pr-tab{width:78px}
  .wcat-pr-time-t::after{flex-basis:48px}
}

/* deck, three columns (section field cols:3, e.g. Why Choose): same cards, larger text, a 3 x 3 checkerboard from 1200px (the 2-column checkerboard below). */
@media(min-width:1200px){.wcat-deck--c3{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}}
html body .wcat-deck--c3 .wcat-deck-card .wcat-deck-top h3:not(#_){font-size:20px}
html body .wcat-deck--c3 .wcat-deck-card .wcat-deck-p:not(#_){font-size:15px}
.wcat-deck--c3 .wcat-deck-card .wcat-deck-p+.wcat-deck-p{margin-top:-4px}

/* Layout "regionmap" (2026-11-04): head left + intro right (red rule), four country blocks on the two sides of a dotted world map with a pin on the first country, a red bar for the last item with the section button. Colours are fixed (maroon text, red accents) so it reads on any light tone. Stacks below 992px (the map is hidden there). */
.wcat-rm-top{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:center;margin-bottom:34px}
.wcat-rm-head{display:flex;flex-direction:column;align-items:flex-start;gap:16px;min-width:0}
.wcat-rm-head>*{margin:0}
.wcat-rm-head h2{text-align:left}
html body .wcat-section--regionmap .wcat-rm-head h2 span:not(#_){color:#ff0000}
.wcat-rm-intro{min-width:0;padding-left:34px;border-left:2px solid #ff0000}
.wcat-rm-intro p{margin:0 0 12px}
.wcat-rm-intro p:last-child{margin-bottom:0}
html body .wcat-section--regionmap .wcat-rm-intro p:not(#_){font-size:16px;line-height:1.6;color:#470000;-webkit-text-fill-color:currentColor;text-align:left}
.wcat-rm-board{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr) minmax(0,1fr);grid-template-areas:"a map b" "c map d";column-gap:34px;row-gap:0;align-items:start}
.wcat-rm-map{position:relative;grid-area:map;align-self:center;width:100%;aspect-ratio:100 / 59}
.wcat-rm-map>img{position:absolute;inset:0;width:100%;height:100%}
.wcat-rm-map svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}
.wcat-rm-map svg path{fill:none;stroke:#ff0000;stroke-width:1.4;vector-effect:non-scaling-stroke;opacity:.7;stroke-dasharray:2 4}
.wcat-rm-map svg circle{fill:#ff0000;stroke:#fff;stroke-width:1;vector-effect:non-scaling-stroke}
.wcat-rm-pin{position:absolute;left:72%;top:49%;display:grid;place-items:center;width:58px;height:58px;margin:-62px 0 0 -29px;border-radius:50%;background:#ff0000;box-shadow:0 0 0 8px rgba(255,0,0,.16),0 14px 22px -8px rgba(120,0,0,.6)}
.wcat-rm-pin::after{content:"";position:absolute;left:50%;bottom:-9px;width:0;height:0;margin-left:-8px;border:8px solid transparent;border-top:12px solid #ff0000;border-bottom:0}
.wcat-rm-pin img{width:42px;height:42px;border-radius:50%;object-fit:cover}
.wcat-rm-card{min-width:0;padding:18px 4px 20px}
.wcat-rm-card--1{grid-area:a}.wcat-rm-card--2{grid-area:b}.wcat-rm-card--3{grid-area:c}.wcat-rm-card--4{grid-area:d}
.wcat-rm-card--3,.wcat-rm-card--4{margin-top:18px;border-top:1px solid rgba(255,0,0,.5);padding-top:26px}
.wcat-rm-card p{margin:0}
.wcat-rm-trow{display:flex;align-items:center;gap:16px;margin-bottom:12px}
.wcat-rm-trow img{flex:0 0 60px;width:60px;height:60px;border-radius:50%;object-fit:cover;box-shadow:0 10px 18px -8px rgba(71,0,0,.5)}
.wcat-rm-trow h3{margin:0;min-width:0;padding-left:16px;border-left:2px solid #ff0000;text-align:left}
html body .wcat-rm-card .wcat-rm-trow h3:not(#_){font-size:25px;line-height:1.15;font-weight:800;color:#470000}
html body .wcat-rm-card .wcat-rm-p:not(#_){font-size:15.5px;line-height:1.55;color:#470000;-webkit-text-fill-color:currentColor;text-align:left}
.wcat-rm-bar{display:flex;align-items:center;gap:26px;margin-top:22px;padding:24px 34px;border-radius:26px;background:linear-gradient(100deg,#e01212 0%,#9a0808 40%,#4d0000 100%);box-shadow:0 24px 44px -26px rgba(71,0,0,.7)}
.wcat-rm-bar-ic{display:flex;flex:0 0 64px;align-items:center;justify-content:center;width:64px;height:64px;color:#fff;font-size:50px}
.wcat-rm-bar-tx{flex:1;min-width:0;padding-left:26px;border-left:1px solid rgba(255,255,255,.4)}
.wcat-rm-bar-tx h3{margin:0 0 6px;text-align:left}
.wcat-rm-bar-tx p{margin:0}
html body .wcat-rm-bar .wcat-rm-bar-tx h3:not(#_){font-size:28px;line-height:1.2;font-weight:800;color:#fff}
html body .wcat-rm-bar .wcat-rm-bar-tx p:not(#_){font-size:16px;line-height:1.5;color:#fff;text-align:left}
.wcat-rm-cta{flex:0 0 auto;margin:0;padding-left:26px;border-left:1px solid rgba(255,255,255,.4)}


.wcat-rm-after{margin-top:22px;text-align:center}
@media(max-width:1199px){
  .wcat-rm-board{column-gap:22px}
  html body .wcat-rm-card .wcat-rm-trow h3:not(#_){font-size:21px}
}
@media(max-width:991px){
  .wcat-rm-top{grid-template-columns:minmax(0,1fr);gap:22px}
  .wcat-rm-board{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:none;column-gap:28px}
  .wcat-rm-map{display:none}
  .wcat-rm-card--1,.wcat-rm-card--2,.wcat-rm-card--3,.wcat-rm-card--4{grid-area:auto}
  .wcat-rm-card--3,.wcat-rm-card--4{margin-top:0;border-top:0;padding-top:18px}
  .wcat-rm-bar{flex-wrap:wrap}
}
@media(max-width:767px){
  .wcat-rm-intro{padding-left:18px}
  .wcat-rm-board{grid-template-columns:minmax(0,1fr)}
  .wcat-rm-bar{display:grid;grid-template-columns:auto minmax(0,1fr);gap:16px;padding:22px 20px}
  .wcat-rm-bar-ic{flex-basis:44px;width:44px;height:44px;font-size:34px}
  .wcat-rm-bar-tx{padding-left:16px}
  html body .wcat-rm-bar .wcat-rm-bar-tx h3:not(#_){font-size:22px}
  .wcat-rm-cta{grid-column:1 / -1;padding-left:0;border-left:0}
}

/* pricing: a checklist under the timeline heading (list after the button) */
.wcat-pr-lead{margin:0}
html body .wcat-pr-time .wcat-pr-lead:not(#_){font-size:15.5px;line-height:1.5;font-weight:700;color:#470000;text-align:left}
.wcat-pr-chips{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 28px;margin:0;padding:0;list-style:none}
.wcat-pr-chips li{position:relative;margin:0;padding-left:22px}
.wcat-pr-chips li::before{content:"";position:absolute;left:0;top:.5em;width:9px;height:9px;border-radius:50%;background:#ff0000}
html body .wcat-pr-time .wcat-pr-chips li:not(#_){font-size:15px;line-height:1.4;color:#470000;-webkit-text-fill-color:currentColor;text-align:left}
@media(max-width:991px){.wcat-pr-chips{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:575px){.wcat-pr-chips{grid-template-columns:minmax(0,1fr)}}

/* deck: paragraphs of one card sit closer together (the 2 paragraph cards of Why Choose) */
.wcat-deck-card .wcat-deck-p+.wcat-deck-p{margin-top:-6px}

/* style "slant" (2026-11-05): skewed cards (text stays upright) alternating cream / maroon (a checkerboard: 4 columns from 1200px, 2 columns to 1199px, one under 576px), the icon beside the title, a small red line at the bottom, and the closing note as a pill with a shield between two lines. Card colours are fixed so it reads on any section tone. */
html body .wcat-web .wcat-st-slant .wcat-item:not(#_){--sl-bg:linear-gradient(145deg,#fff8f2 0%,#ffe8da 100%);--sl-bd:rgba(255,255,255,.25);--sl-sh:0 18px 34px -20px rgba(0,0,0,.65);--sl-tt:#470000;--sl-tx:#3b2a2a;position:relative;overflow:hidden;padding:26px 28px 36px;border:1px solid var(--sl-bd);border-radius:22px;background:var(--sl-bg);box-shadow:var(--sl-sh);transform:skewX(-8deg);transition:transform .3s ease,box-shadow .3s ease}
html body .wcat-web .wcat-st-slant .wcat-item:not(#_)>*{transform:skewX(8deg)}
html body .wcat-web .wcat-st-slant .wcat-item:not(#_)::after{content:"";position:absolute;left:50%;bottom:15px;width:96px;height:3px;margin-left:-48px;border-radius:2px;background:linear-gradient(90deg,rgba(255,0,0,0),#ff0000,rgba(255,0,0,0))}
html body .wcat-web .wcat-st-slant .wcat-item:hover:not(#_){transform:skewX(-8deg) translateY(-6px);box-shadow:0 26px 40px -20px rgba(0,0,0,.8)}
html body .wcat-web .wcat-st-slant .wcat-item-heading:not(#_){align-items:center;gap:14px;margin-bottom:12px}
html body .wcat-web .wcat-st-slant .wcat-item-icon:not(#_){width:48px;height:48px;flex-basis:48px;border-radius:14px;background:linear-gradient(135deg,#ff4a4a,#c40000);color:#fff;box-shadow:0 10px 18px -8px rgba(255,0,0,.7)}
html body .wcat-web .wcat-st-slant .wcat-item-icon i:not(#_){font-size:20px}
html body .wcat-web .wcat-st-slant .wcat-item h3:not(#_){font-size:19px;line-height:1.2;color:var(--sl-tt)}
html body .wcat-web .wcat-st-slant .wcat-item>p:not(#_){font-size:15px;line-height:1.55;color:var(--sl-tx)}
@media(min-width:1200px){
  html body .wcat-web .wcat-st-slant .wcat-item:is(:nth-child(8n+2),:nth-child(8n+4),:nth-child(8n+5),:nth-child(8n+7)):not(#_){--sl-bg:linear-gradient(145deg,#8f0808 0%,#4d0000 100%);--sl-bd:rgba(255,255,255,.2);--sl-tt:#fff;--sl-tx:#fff}
}
@media(min-width:576px) and (max-width:1199px){
  html body .wcat-web .wcat-st-slant .wcat-item:is(:nth-child(4n+2),:nth-child(4n+3)):not(#_){--sl-bg:linear-gradient(145deg,#8f0808 0%,#4d0000 100%);--sl-bd:rgba(255,255,255,.2);--sl-tt:#fff;--sl-tx:#fff}
}
@media(max-width:575px){
  html body .wcat-web .wcat-st-slant .wcat-item:nth-child(even):not(#_){--sl-bg:linear-gradient(145deg,#8f0808 0%,#4d0000 100%);--sl-bd:rgba(255,255,255,.2);--sl-tt:#fff;--sl-tx:#fff}
}
html body .wcat-web .wcat-st-slant .wcat-after:not(#_){flex-wrap:nowrap;gap:18px}
html body .wcat-web .wcat-st-slant .wcat-after:not(#_)::before,html body .wcat-web .wcat-st-slant .wcat-after:not(#_)::after{content:"";flex:1 1 40px;height:1px;background:linear-gradient(90deg,rgba(255,0,0,0),rgba(255,0,0,.7))}
html body .wcat-web .wcat-st-slant .wcat-after:not(#_)::after{background:linear-gradient(270deg,rgba(255,0,0,0),rgba(255,0,0,.7))}
html body .wcat-web .wcat-st-slant .wcat-after>p:not(#_){flex:0 1 auto;width:auto;max-width:900px;padding:12px 26px 12px 20px;border:1px solid rgba(255,0,0,.5);border-radius:999px;background:rgba(255,0,0,.1)}
html body .wcat-web .wcat-st-slant .wcat-after>p:not(#_)::before{content:"\f3ed";display:inline-block;margin-right:12px;color:#ff4a4a;font-family:"Font Awesome 6 Free";font-weight:900}
@media(max-width:767px){
  html body .wcat-web .wcat-st-slant .wcat-after:not(#_){flex-wrap:wrap}
  html body .wcat-web .wcat-st-slant .wcat-after:not(#_)::before,html body .wcat-web .wcat-st-slant .wcat-after:not(#_)::after{display:none}
  html body .wcat-web .wcat-st-slant .wcat-after>p:not(#_){border-radius:22px}
}
@media(prefers-reduced-motion:reduce){html body .wcat-web .wcat-st-slant .wcat-item:not(#_){transition:none}html body .wcat-web .wcat-st-slant .wcat-item:hover:not(#_){transform:skewX(-8deg)}}

/* hover on slant cards: cream cards turn maroon, maroon cards turn cream (card and content colours swap); the skew is a variable, smaller on phones, and the section clips the sideways overhang */
html body .wcat-web .wcat-section--cards.wcat-st-slant:not(#_){overflow-x:clip}
html body .wcat-web .wcat-st-slant .wcat-item:not(#_){--sk:-8deg;transform:skewX(var(--sk));transition:transform .3s ease,box-shadow .3s ease,background .3s ease,border-color .3s ease}
html body .wcat-web .wcat-st-slant .wcat-item:not(#_)>*{transform:skewX(calc(var(--sk) * -1))}
html body .wcat-web .wcat-st-slant .wcat-item:hover:not(#_){transform:skewX(var(--sk)) translateY(-6px)}
html body .wcat-web .wcat-st-slant .wcat-item h3:not(#_),html body .wcat-web .wcat-st-slant .wcat-item>p:not(#_){transition:color .3s ease}
@media(min-width:1200px){
  html body .wcat-web .wcat-st-slant .wcat-item:hover:not(:is(:nth-child(8n+2),:nth-child(8n+4),:nth-child(8n+5),:nth-child(8n+7))):not(#_){--sl-bg:linear-gradient(145deg,#8f0808 0%,#4d0000 100%);--sl-bd:rgba(255,255,255,.2);--sl-tt:#fff;--sl-tx:#fff}
  html body .wcat-web .wcat-st-slant .wcat-item:is(:nth-child(8n+2),:nth-child(8n+4),:nth-child(8n+5),:nth-child(8n+7)):hover:not(#_){--sl-bg:linear-gradient(145deg,#fff8f2 0%,#ffe8da 100%);--sl-bd:rgba(255,255,255,.25);--sl-tt:#470000;--sl-tx:#3b2a2a}
}
@media(min-width:576px) and (max-width:1199px){
  html body .wcat-web .wcat-st-slant .wcat-item:hover:not(:is(:nth-child(4n+2),:nth-child(4n+3))):not(#_){--sl-bg:linear-gradient(145deg,#8f0808 0%,#4d0000 100%);--sl-bd:rgba(255,255,255,.2);--sl-tt:#fff;--sl-tx:#fff}
  html body .wcat-web .wcat-st-slant .wcat-item:is(:nth-child(4n+2),:nth-child(4n+3)):hover:not(#_){--sl-bg:linear-gradient(145deg,#fff8f2 0%,#ffe8da 100%);--sl-bd:rgba(255,255,255,.25);--sl-tt:#470000;--sl-tx:#3b2a2a}
}
@media(max-width:575px){
  html body .wcat-web .wcat-st-slant .wcat-item:hover:not(:nth-child(even)):not(#_){--sl-bg:linear-gradient(145deg,#8f0808 0%,#4d0000 100%);--sl-bd:rgba(255,255,255,.2);--sl-tt:#fff;--sl-tx:#fff}
  html body .wcat-web .wcat-st-slant .wcat-item:nth-child(even):hover:not(#_){--sl-bg:linear-gradient(145deg,#fff8f2 0%,#ffe8da 100%);--sl-bd:rgba(255,255,255,.25);--sl-tt:#470000;--sl-tx:#3b2a2a}
}
@media(max-width:575px){html body .wcat-web .wcat-st-slant .wcat-item:not(#_){--sk:-4deg}}

/* style "flip" (use together with rich: style "rich flip"): the icon always sits beside the title (also in 5 columns) and on hover the card turns maroon with white text and a white icon tile */
html body .wcat-web .wcat-st-flip .wcat-grid .wcat-item-heading:not(#_){flex-direction:row;align-items:center;gap:12px;margin-bottom:12px}
html body .wcat-web .wcat-st-flip .wcat-grid.wcat-cols-5 .wcat-item-icon:not(#_){width:44px;height:44px;flex-basis:44px;border-radius:13px}
html body .wcat-web .wcat-st-flip .wcat-grid.wcat-cols-5 .wcat-item-icon i:not(#_){font-size:18px}
html body .wcat-web .wcat-st-flip .wcat-grid.wcat-cols-5 .wcat-item h3:not(#_){font-size:16.5px}
html body .wcat-web .wcat-st-flip .wcat-item:not(#_){transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s ease,background .3s ease,border-color .3s ease}
html body .wcat-web .wcat-st-flip .wcat-item h3:not(#_),html body .wcat-web .wcat-st-flip .wcat-item>p:not(#_),html body .wcat-web .wcat-st-flip .wcat-item-icon:not(#_),html body .wcat-web .wcat-st-flip .wcat-item-icon i:not(#_){transition:color .3s ease,background .3s ease}
html body .wcat-web .wcat-st-flip .wcat-item:hover:not(#_){background:linear-gradient(145deg,#8f0808 0%,#4d0000 100%);border-color:rgba(255,255,255,.25);box-shadow:0 24px 44px -20px rgba(0,0,0,.75)}
html body .wcat-web .wcat-st-flip .wcat-item:hover h3:not(#_),html body .wcat-web .wcat-st-flip .wcat-item:hover>p:not(#_){color:#fff}
html body .wcat-web .wcat-st-flip .wcat-item:hover .wcat-item-icon:not(#_){background:#fff;box-shadow:0 10px 18px -8px rgba(0,0,0,.5)}
html body .wcat-web .wcat-st-flip .wcat-item:hover .wcat-item-icon i:not(#_){color:#ff0000}
html body .wcat-web .wcat-st-slant .wcat-grid:not(#_){padding-inline:12px}

/* Layout "radial" (2026-11-05): cards on both sides of a round centre badge, joined by short red connectors (desktop only); white and maroon cards alternate (the even cards are maroon). Card colours are fixed so it reads on any section tone. Below 1200px the badge sits above two columns of cards, one column under 576px. */
.wcat-rad-head{display:flex;flex-direction:column;align-items:center;gap:14px;max-width:1000px;margin:0 auto 38px;text-align:center}
.wcat-rad-head>*{margin:0}
.wcat-rad{--rd-gap:48px;position:relative;display:grid;grid-template-columns:minmax(0,1fr) 290px minmax(0,1fr);grid-template-rows:repeat(3,auto);column-gap:var(--rd-gap);row-gap:22px;align-items:stretch}
.wcat-rad-core{grid-column:2;grid-row:1 / span 3;align-self:center;justify-self:center;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;width:290px;height:290px;border-radius:50%;background:radial-gradient(circle at 35% 28%,#9a0a0a 0%,#4d0000 70%);border:9px solid #fff;box-shadow:0 0 0 18px rgba(255,0,0,.1),0 0 0 40px rgba(255,0,0,.05),0 26px 50px -20px rgba(71,0,0,.7);text-align:center}
.wcat-rad-core i{color:#fff;font-size:68px;line-height:1}
.wcat-rad-core span{padding:0 28px;color:#fff;font-size:26px;font-weight:800;line-height:1.15}
.wcat-rad-card{position:relative;display:flex;flex-direction:column;gap:12px;min-width:0;padding:20px 22px 22px;border-radius:22px;border:1px solid rgba(255,0,0,.15);background:linear-gradient(145deg,#fff 0%,#fff 60%,#fff1f1 100%);box-shadow:0 16px 32px -22px rgba(71,0,0,.5);--rd-tt:#470000;--rd-tx:#470000;--rd-rule:#470000;transition:transform .3s ease,box-shadow .3s ease}
.wcat-rad-card:hover{transform:translateY(-4px)}
.wcat-rad-card:nth-child(odd){border-color:rgba(255,255,255,.12);background:linear-gradient(145deg,#8f0808 0%,#4d0000 100%);box-shadow:0 20px 36px -20px rgba(71,0,0,.8);--rd-tt:#fff;--rd-tx:#fff;--rd-rule:#fff}
.wcat-rad-card--1{grid-column:1;grid-row:1}.wcat-rad-card--2{grid-column:3;grid-row:1}.wcat-rad-card--3{grid-column:3;grid-row:2}.wcat-rad-card--4{grid-column:1;grid-row:2}.wcat-rad-card--5{grid-column:1;grid-row:3}.wcat-rad-card--6{grid-column:3;grid-row:3}
.wcat-rad-card::after{content:"";position:absolute;top:50%;width:var(--rd-gap);height:2px;background:#ff0000;transform-origin:var(--rd-o,left) center}
.wcat-rad-card::before{content:"";position:absolute;top:50%;z-index:1;width:10px;height:10px;margin-top:-5px;border-radius:50%;background:#ff0000;box-shadow:0 0 0 3px #fff}
.wcat-rad-card--1::after,.wcat-rad-card--4::after,.wcat-rad-card--5::after{left:100%;--rd-o:left}
.wcat-rad-card--1::before,.wcat-rad-card--4::before,.wcat-rad-card--5::before{right:-5px}
.wcat-rad-card--2::after,.wcat-rad-card--3::after,.wcat-rad-card--6::after{right:100%;--rd-o:right}
.wcat-rad-card--2::before,.wcat-rad-card--3::before,.wcat-rad-card--6::before{left:-5px}
.wcat-rad-card--1::after,.wcat-rad-card--5::after{transform:rotate(32deg)}
.wcat-rad-card--4::after,.wcat-rad-card--3::after{transform:none}
.wcat-rad-card--5::after{transform:rotate(-32deg)}
.wcat-rad-card--2::after{transform:rotate(-32deg)}
.wcat-rad-card--6::after{transform:rotate(32deg)}
.wcat-rad-top{display:flex;align-items:center;gap:14px}
.wcat-rad-ic{display:grid;place-items:center;flex:0 0 46px;width:46px;height:46px;border-radius:13px;background:linear-gradient(135deg,#ff4a4a,#c40000);color:#fff;font-size:19px;box-shadow:0 10px 18px -8px rgba(255,0,0,.7)}
.wcat-rad-card:nth-child(odd) .wcat-rad-ic{background:#fff;color:#ff0000}
.wcat-rad-top h3{margin:0;min-width:0;padding-left:14px;border-left:2px solid var(--rd-rule);text-align:left}
html body .wcat-rad-card .wcat-rad-top h3:not(#_){font-size:18px;line-height:1.2;font-weight:800;color:var(--rd-tt)}
.wcat-rad-card p{margin:0}
html body .wcat-rad-card .wcat-rad-p:not(#_){font-size:15px;line-height:1.5;color:var(--rd-tx);text-align:left}
.wcat-rad-after{margin-top:24px;text-align:center}
@media(max-width:1199px){
  .wcat-rad{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:none;column-gap:22px}
  .wcat-rad-core{grid-column:1 / -1;grid-row:auto;width:210px;height:210px;margin-bottom:14px;border-width:7px}
  .wcat-rad-core i{font-size:50px}
  .wcat-rad-core span{padding:0 20px;font-size:20px}
  .wcat-rad-card--1,.wcat-rad-card--2,.wcat-rad-card--3,.wcat-rad-card--4,.wcat-rad-card--5,.wcat-rad-card--6{grid-column:auto;grid-row:auto}
  .wcat-rad-card::before,.wcat-rad-card::after{display:none}
}
@media(max-width:575px){
  .wcat-rad{grid-template-columns:minmax(0,1fr)}
}
@media(prefers-reduced-motion:reduce){.wcat-rad-card{transition:none}.wcat-rad-card:hover{transform:none}}
/* radial: on hover the card and its content swap colours (white <-> maroon), like the other security cards */
.wcat-rad-card,.wcat-rad-ic{transition:transform .3s ease,box-shadow .3s ease,background .3s ease,color .3s ease,border-color .3s ease}
.wcat-rad-card:nth-child(even):hover{border-color:rgba(255,255,255,.12);background:linear-gradient(145deg,#8f0808 0%,#4d0000 100%);--rd-tt:#fff;--rd-tx:#fff;--rd-rule:#fff}
.wcat-rad-card:nth-child(even):hover .wcat-rad-ic{background:#fff;color:#ff0000}
.wcat-rad-card:nth-child(odd):hover{border-color:rgba(255,0,0,.15);background:linear-gradient(145deg,#fff 0%,#fff 60%,#fff1f1 100%);--rd-tt:#470000;--rd-tx:#470000;--rd-rule:#470000}
.wcat-rad-card:nth-child(odd):hover .wcat-rad-ic{background:linear-gradient(135deg,#ff4a4a,#c40000);color:#fff}

/* radial: curved lines drawn by js/wcat-radial.js join each card to the badge (the short CSS connectors are hidden once they exist); the badge glows like a heartbeat (two quick beats, then a rest). */
.wcat-rad-lines{position:absolute;left:0;top:0;z-index:1;pointer-events:none;overflow:visible}
.wcat-rad-lines path{fill:none;stroke:#ff0000;stroke-width:2;stroke-linecap:round}
.wcat-rad-core{position:relative;z-index:2;animation:wcatHeart 2.4s ease-in-out infinite}
.wcat-rad-card{z-index:2}
.wcat-rad.has-lines .wcat-rad-card::after{display:none}
@keyframes wcatHeart{
  0%,100%{transform:scale(1);box-shadow:0 0 0 18px rgba(255,0,0,.10),0 0 0 40px rgba(255,0,0,.05),0 0 24px 4px rgba(255,0,0,.12),0 26px 50px -20px rgba(71,0,0,.7)}
  12%{transform:scale(1.05);box-shadow:0 0 0 24px rgba(255,0,0,.22),0 0 0 52px rgba(255,0,0,.11),0 0 74px 28px rgba(255,0,0,.5),0 26px 50px -20px rgba(71,0,0,.7)}
  24%{transform:scale(1.01);box-shadow:0 0 0 19px rgba(255,0,0,.12),0 0 0 42px rgba(255,0,0,.06),0 0 32px 8px rgba(255,0,0,.2),0 26px 50px -20px rgba(71,0,0,.7)}
  38%{transform:scale(1.035);box-shadow:0 0 0 22px rgba(255,0,0,.18),0 0 0 48px rgba(255,0,0,.09),0 0 58px 20px rgba(255,0,0,.38),0 26px 50px -20px rgba(71,0,0,.7)}
  54%{transform:scale(1);box-shadow:0 0 0 18px rgba(255,0,0,.10),0 0 0 40px rgba(255,0,0,.05),0 0 24px 4px rgba(255,0,0,.12),0 26px 50px -20px rgba(71,0,0,.7)}
}
@media(prefers-reduced-motion:reduce){.wcat-rad-core{animation:none}}

/* style "ticket" (2026-11-05): two-column white cards with a red corner flag, a pink icon tile, a red divider, title + text on the right; the closing note is a line - info icon - text - line. Fixed colours, so it reads on any tone (use section field "tone":"p" for the pink band). Icon always beside the title block. */
html body .wcat-web .wcat-st-ticket .wcat-grid:not(#_){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 32px;margin:26px 0 0}
html body .wcat-web .wcat-st-ticket .wcat-item:not(#_){position:relative;overflow:hidden;display:grid;grid-template-columns:78px minmax(0,1fr);grid-template-rows:auto 1fr;column-gap:36px;align-content:center;align-items:start;width:auto;padding:26px 28px 26px 28px;border:0;border-radius:24px;background:#fff;box-shadow:0 14px 30px -18px rgba(71,0,0,.45);transition:transform .3s ease,box-shadow .3s ease}
html body .wcat-web .wcat-st-ticket .wcat-item:hover:not(#_){transform:translateY(-5px);box-shadow:0 22px 40px -18px rgba(71,0,0,.55)}
html body .wcat-web .wcat-st-ticket .wcat-item:not(#_)::before{content:"";position:absolute;left:0;top:0;width:54px;height:54px;background:#ff0000;clip-path:polygon(0 0,100% 0,0 100%);transform:none;height:54px}
html body .wcat-web .wcat-st-ticket .wcat-item:not(#_)::after{content:"";position:absolute;left:calc(28px + 78px + 18px);top:28px;bottom:28px;width:2px;background:#ff0000}
html body .wcat-web .wcat-st-ticket .wcat-item-heading:not(#_){display:contents}
html body .wcat-web .wcat-st-ticket .wcat-item-icon:not(#_){grid-column:1;grid-row:1 / span 2;align-self:center;width:78px;height:78px;border-radius:20px;background:#fde4e4;color:#ff0000;box-shadow:none;transition:background .3s ease,color .3s ease}
html body .wcat-web .wcat-st-ticket .wcat-item-icon i:not(#_){font-size:32px}
html body .wcat-web .wcat-st-ticket .wcat-item:hover:not(#_) .wcat-item-icon{background:#ff0000;color:#fff}
html body .wcat-web .wcat-st-ticket .wcat-item h3:not(#_){grid-column:2;grid-row:1;align-self:end;margin:0 0 6px;font-size:21px;line-height:1.2;font-weight:800;color:#470000;text-align:left}
html body .wcat-web .wcat-st-ticket .wcat-item>p:not(#_){grid-column:2;grid-row:2;margin:0;font-size:15.5px;line-height:1.5;color:#470000;-webkit-text-fill-color:currentColor;text-align:left}
html body .wcat-web .wcat-st-ticket .wcat-after:not(#_){flex-wrap:nowrap;gap:18px;margin-top:28px}
html body .wcat-web .wcat-st-ticket .wcat-after:not(#_)::before,html body .wcat-web .wcat-st-ticket .wcat-after:not(#_)::after{content:"";flex:1 1 40px;height:2px;background:#ff0000}
html body .wcat-web .wcat-st-ticket .wcat-after>p:not(#_){flex:0 1 auto;width:auto;max-width:760px;padding:0}
html body .wcat-web .wcat-st-ticket .wcat-after>p:not(#_)::before{content:"\f05a";display:inline-block;margin-right:12px;color:#ff0000;font-family:"Font Awesome 6 Free";font-weight:900;font-size:20px;vertical-align:-2px}
@media(max-width:991px){
  html body .wcat-web .wcat-st-ticket .wcat-grid:not(#_){grid-template-columns:minmax(0,1fr)}
}
@media(max-width:767px){
  html body .wcat-web .wcat-st-ticket .wcat-after:not(#_){flex-wrap:wrap}
  html body .wcat-web .wcat-st-ticket .wcat-after:not(#_)::before,html body .wcat-web .wcat-st-ticket .wcat-after:not(#_)::after{display:none}
}
@media(max-width:575px){
  html body .wcat-web .wcat-st-ticket .wcat-item:not(#_){grid-template-columns:56px minmax(0,1fr);column-gap:28px;padding:22px 18px}
  html body .wcat-web .wcat-st-ticket .wcat-item-icon:not(#_){width:56px;height:56px;border-radius:16px}
  html body .wcat-web .wcat-st-ticket .wcat-item-icon i:not(#_){font-size:24px}
  html body .wcat-web .wcat-st-ticket .wcat-item:not(#_)::after{left:calc(18px + 56px + 14px);top:20px;bottom:20px}
  html body .wcat-web .wcat-st-ticket .wcat-item h3:not(#_){font-size:18px}
}
@media(prefers-reduced-motion:reduce){html body .wcat-web .wcat-st-ticket .wcat-item:not(#_){transition:none}html body .wcat-web .wcat-st-ticket .wcat-item:hover:not(#_){transform:none}}

/* Layout "sidepanel" (2026-11-05): for a dark band - the head and a small icon illustration on the left, the cards as a two-column list on the right (outline icon, red divider, title, text, red rules between the rows). Colours are fixed (white text, red accents), so force the dark tone with section field "tone":"b". Stacks below 1200px. */
.wcat-sp{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.6fr);gap:0;align-items:stretch}
.wcat-sp-side{display:flex;flex-direction:column;align-items:flex-start;gap:16px;min-width:0;padding-right:44px;border-right:1px solid rgba(255,0,0,.55)}
.wcat-sp-side>p,.wcat-sp-side>h2{margin:0}
.wcat-sp-side h2{text-align:left;font-size:clamp(34px,3.6vw,50px);line-height:1.1}
html body .wcat-sp .wcat-sp-side h2:not(#_){color:#fff}
html body .wcat-sp .wcat-sp-side h2 span:not(#_){color:#ff2a2a}
html body .wcat-sp .wcat-sp-side>p:not(.wcat-eyebrow):not(#_){color:#fff;font-size:17px;line-height:1.5;text-align:left}
.wcat-sp-art{position:relative;align-self:center;width:100%;max-width:380px;aspect-ratio:1 / 1;margin-top:8px}
.wcat-sp-art>span{position:absolute;display:grid;place-items:center}
.wcat-sp-base{left:4%;right:4%;bottom:4%;height:30%;border-radius:12px;background:linear-gradient(160deg,#5c0000,#240000);box-shadow:0 0 34px 6px rgba(255,0,0,.45),inset 0 0 0 2px rgba(255,60,60,.7);transform:perspective(500px) rotateX(55deg)}
.wcat-sp-cloud{left:14%;top:6%;width:52%;aspect-ratio:1;color:#f1dcdc;font-size:clamp(90px,13vw,170px);filter:drop-shadow(0 12px 18px rgba(0,0,0,.5))}
.wcat-sp-shield{left:28%;top:20%;width:24%;aspect-ratio:1;color:#e01212;font-size:clamp(52px,7vw,92px);filter:drop-shadow(0 0 14px rgba(255,0,0,.8))}
.wcat-sp-shield b{position:absolute;color:#fff;font-size:.32em;margin-top:.1em}
.wcat-sp-server{right:6%;top:38%;width:30%;aspect-ratio:1;color:#7a2b2b;font-size:clamp(64px,9vw,120px);filter:drop-shadow(0 0 12px rgba(255,0,0,.55))}
.wcat-sp-db{left:12%;bottom:12%;width:24%;aspect-ratio:1;color:#e8c9c9;font-size:clamp(44px,6vw,80px);filter:drop-shadow(0 0 10px rgba(255,0,0,.6))}
.wcat-sp-restore{left:42%;bottom:10%;width:20%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,#c40000,#6a0000);color:#fff;font-size:clamp(24px,3.2vw,44px);box-shadow:0 0 24px 4px rgba(255,0,0,.6),inset 0 0 0 3px rgba(255,255,255,.5)}
.wcat-sp-win{left:4%;top:42%;width:24%;height:18%;border-radius:8px;background:#6c3a3a;color:#f3d6d6;font-size:clamp(18px,2.4vw,32px);box-shadow:0 0 14px rgba(255,0,0,.4)}
.wcat-sp-main{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:36px;align-content:start;min-width:0;padding-left:44px}
.wcat-sp-item{min-width:0;padding:22px 0}
.wcat-sp-item:nth-child(-n+2){padding-top:0}
.wcat-sp-item:nth-child(n+3){border-top:1px solid rgba(255,0,0,.6)}
.wcat-sp-top{display:flex;align-items:center;gap:16px;margin-bottom:10px}
.wcat-sp-ic{display:grid;place-items:center;flex:0 0 52px;width:52px;color:#ff2a2a;font-size:38px;line-height:1;transition:transform .3s ease}
.wcat-sp-item:hover .wcat-sp-ic{transform:scale(1.12)}
.wcat-sp-top h3{margin:0;min-width:0;padding-left:16px;border-left:2px solid #ff2a2a;text-align:left}
html body .wcat-sp .wcat-sp-top h3:not(#_){font-size:21px;line-height:1.2;font-weight:800;color:#fff}
.wcat-sp-item p{margin:0}
.wcat-sp-item p+p{margin-top:10px}
html body .wcat-sp .wcat-sp-p:not(#_){font-size:15px;line-height:1.5;color:#fff;text-align:left}
.wcat-sp-after{margin-top:28px;text-align:center}
html body .wcat-sp-after p:not(#_){color:#fff}
@media(max-width:1199px){
  .wcat-sp{grid-template-columns:minmax(0,1fr);gap:34px}
  .wcat-sp-side{padding-right:0;border-right:0;align-items:center;text-align:center}
  .wcat-sp-side h2,html body .wcat-sp .wcat-sp-side>p:not(.wcat-eyebrow):not(#_){text-align:center}
  .wcat-sp-art{max-width:300px}
  .wcat-sp-main{padding-left:0}
}
@media(max-width:767px){
  .wcat-sp-main{grid-template-columns:minmax(0,1fr)}
  .wcat-sp-item:nth-child(2){padding-top:22px;border-top:1px solid rgba(255,0,0,.6)}
}
@media(prefers-reduced-motion:reduce){.wcat-sp-ic{transition:none}.wcat-sp-item:hover .wcat-sp-ic{transform:none}}

/* cards with a bullet list followed by closing paragraphs (Technical Support capabilities): a little air between them */
html body .wcat-web .wcat-item .wcat-list+p:not(#_){margin-top:14px}

/* tabs: a bullet list inside a panel (two columns, red dots); tab buttons may carry a short label (section field "tabLabels") while the panel keeps the full title */
html body .wcat-tabs-panel ul.wcat-tabs-bul:not(#_){position:relative;z-index:1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 36px;margin:2px 0 16px;padding:0;list-style:none}
html body .wcat-tabs-panel ul.wcat-tabs-bul li:not(#_){position:relative;margin:0;padding-left:22px;color:#470000;-webkit-text-fill-color:currentColor;font-size:16px;line-height:1.45;text-align:left}
html body .wcat-tabs-panel ul.wcat-tabs-bul li:not(#_)::before{content:"";position:absolute;left:0;top:.5em;width:9px;height:9px;border-radius:50%;background:#ff0000}
@media(max-width:767px){html body .wcat-tabs-panel ul.wcat-tabs-bul:not(#_){grid-template-columns:minmax(0,1fr)}}

/* Layout "iconpanel" (2026-11-06): round illustration (badge + four orbiting icon circles) with a red divider on the left, outlined cards in two columns on the right (pale icon tile, red divider, title, text), note between two red lines. Fixed colours (light cards); hover turns a card maroon with white text. Stacks below 1200px (illustration above, then cards). */
.wcat-ip-head{display:flex;flex-direction:column;align-items:center;gap:14px;max-width:900px;margin:0 auto 34px;text-align:center}
.wcat-ip-head>*{margin:0}
.wcat-ip{display:grid;grid-template-columns:minmax(0,.62fr) minmax(0,1.7fr);gap:0;align-items:center}
.wcat-ip-art{position:relative;align-self:center;justify-self:center;width:min(100%,330px);aspect-ratio:1;margin-right:36px}
.wcat-ip-art::after{content:"";position:absolute;right:-36px;top:-14%;bottom:-14%;width:2px;background:linear-gradient(180deg,rgba(255,0,0,.15),#ff0000 50%,rgba(255,0,0,.15))}
.wcat-ip-disc{position:absolute;inset:11%;border-radius:50%;border:2px solid rgba(255,0,0,.22);box-shadow:inset 0 0 0 28px rgba(255,0,0,.05)}
.wcat-ip-core{position:absolute;left:50%;top:50%;width:48%;aspect-ratio:1;margin:-24% 0 0 -24%;display:grid;place-items:center;border-radius:50%;background:radial-gradient(circle,#fff 40%,#ffe9e9);color:#ff0000;font-size:clamp(56px,7vw,92px);box-shadow:0 18px 36px -16px rgba(255,0,0,.55),0 0 0 14px rgba(255,0,0,.07);animation:wcatIpPulse 3s ease-in-out infinite}
.wcat-ip-sat{position:absolute;display:grid;place-items:center;width:25%;aspect-ratio:1;border-radius:50%;background:#fff;border:2px solid #ff0000;color:#ff0000;font-size:clamp(20px,2.6vw,32px);box-shadow:0 12px 22px -10px rgba(71,0,0,.4)}
.wcat-ip-sat--1{left:37.5%;top:0}.wcat-ip-sat--2{left:0;top:37.5%}.wcat-ip-sat--3{right:0;top:37.5%}.wcat-ip-sat--4{left:37.5%;bottom:0}
@keyframes wcatIpPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.04)}}
.wcat-ip-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 24px;min-width:0}
.wcat-ip-card{--ip-tt:#470000;--ip-tx:#470000;display:grid;grid-template-columns:66px minmax(0,1fr);grid-template-rows:auto 1fr;column-gap:34px;align-content:center;position:relative;min-width:0;padding:22px 24px;border:1px solid rgba(255,0,0,.2);border-radius:22px;background:linear-gradient(145deg,#fff 0%,#fff4f4 100%);box-shadow:0 10px 24px -18px rgba(71,0,0,.4);transition:transform .3s ease,background .3s ease,box-shadow .3s ease,border-color .3s ease}
.wcat-ip-card::after{content:"";position:absolute;left:calc(24px + 66px + 16px);top:22px;bottom:22px;width:2px;background:#ff0000}
.wcat-ip-card:hover{transform:translateY(-4px);border-color:transparent;background:linear-gradient(145deg,#8f0808 0%,#4d0000 100%);box-shadow:0 22px 38px -18px rgba(71,0,0,.7);--ip-tt:#fff;--ip-tx:#fff}
.wcat-ip-ic{grid-column:1;grid-row:1 / span 2;align-self:center;display:grid;place-items:center;width:66px;height:66px;border-radius:18px;background:#fde4e4;color:#ff0000;font-size:28px;transition:background .3s ease,color .3s ease}
.wcat-ip-card:hover .wcat-ip-ic{background:#fff}
.wcat-ip-card h3{grid-column:2;grid-row:1;align-self:end;margin:0 0 6px;text-align:left}
html body .wcat-ip .wcat-ip-card h3:not(#_){font-size:19px;line-height:1.2;font-weight:800;color:var(--ip-tt)}
.wcat-ip-card p{grid-column:2;grid-row:2;margin:0}
html body .wcat-ip .wcat-ip-card p:not(#_){font-size:15px;line-height:1.5;color:var(--ip-tx);text-align:left}
.wcat-ip-after{display:flex;align-items:center;gap:18px;margin-top:30px}
.wcat-ip-after::before,.wcat-ip-after::after{content:"";flex:1 1 40px;height:2px;background:#ff0000}
.wcat-ip-after p{flex:0 1 auto;max-width:760px;margin:0;text-align:center}
@media(max-width:1199px){
  .wcat-ip{grid-template-columns:minmax(0,1fr);gap:30px}
  .wcat-ip-art{width:min(100%,260px);margin-right:0}
  .wcat-ip-art::after{display:none}
}
@media(max-width:991px){.wcat-ip-grid{grid-template-columns:minmax(0,1fr)}}
@media(max-width:767px){.wcat-ip-after::before,.wcat-ip-after::after{display:none}.wcat-ip-after{justify-content:center}}
@media(max-width:575px){
  .wcat-ip-card{grid-template-columns:52px minmax(0,1fr);column-gap:28px;padding:18px}
  .wcat-ip-ic{width:52px;height:52px;font-size:22px;border-radius:14px}
  .wcat-ip-card::after{left:calc(18px + 52px + 13px);top:18px;bottom:18px}
}
@media(prefers-reduced-motion:reduce){.wcat-ip-core{animation:none}.wcat-ip-card{transition:none}.wcat-ip-card:hover{transform:none}}
html body .wcat-ip-art>.wcat-ip-sat:not(#_){display:grid}
html body .wcat-ip-art>.wcat-ip-disc:not(#_){display:block}
/* ticket cards in 3 columns (section field "cols":3): from 1200px three per row with a slimmer icon tile; two per row to 1199px; one under 768px */
@media(min-width:1200px){
  html body .wcat-web .wcat-st-ticket .wcat-grid.wcat-cols-3:not(#_){grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
  html body .wcat-web .wcat-st-ticket .wcat-grid.wcat-cols-3 .wcat-item:not(#_){grid-template-columns:60px minmax(0,1fr);column-gap:30px;padding:22px 20px}
  html body .wcat-web .wcat-st-ticket .wcat-grid.wcat-cols-3 .wcat-item:not(#_)::after{left:calc(20px + 60px + 14px);top:22px;bottom:22px}
  html body .wcat-web .wcat-st-ticket .wcat-grid.wcat-cols-3 .wcat-item-icon:not(#_){width:60px;height:60px;border-radius:16px}
  html body .wcat-web .wcat-st-ticket .wcat-grid.wcat-cols-3 .wcat-item-icon i:not(#_){font-size:25px}
  html body .wcat-web .wcat-st-ticket .wcat-grid.wcat-cols-3 .wcat-item h3:not(#_){font-size:18px}
  html body .wcat-web .wcat-st-ticket .wcat-grid.wcat-cols-3 .wcat-item>p:not(#_){font-size:14.5px}
}

/* iconpanel, head moved into the left column: pill + heading on top, the illustration below, the red divider is the column's right edge */
.wcat-ip{grid-template-columns:minmax(0,.8fr) minmax(0,1.7fr);align-items:stretch}
.wcat-ip-side{display:flex;flex-direction:column;align-items:flex-start;gap:26px;min-width:0;padding-right:36px;border-right:2px solid #ff0000}
.wcat-ip-side .wcat-ip-head{align-items:flex-start;max-width:none;margin:0;text-align:left}
.wcat-ip-side .wcat-ip-head h2{text-align:left;font-size:clamp(30px,3vw,42px);line-height:1.12}
html body .wcat-ip-side .wcat-ip-head>p:not(.wcat-eyebrow):not(#_){text-align:left}
.wcat-ip-side .wcat-ip-art{align-self:center;margin:auto 0;width:min(100%,300px)}
.wcat-ip-side .wcat-ip-art::after{display:none}
.wcat-ip-side+.wcat-ip-grid{padding-left:36px}
@media(max-width:1199px){
  .wcat-ip{grid-template-columns:minmax(0,1fr)}
  .wcat-ip-side{align-items:center;padding-right:0;border-right:0;gap:22px}
  .wcat-ip-side .wcat-ip-head{align-items:center;text-align:center}
  .wcat-ip-side .wcat-ip-head h2{text-align:center}
  html body .wcat-ip-side .wcat-ip-head>p:not(.wcat-eyebrow):not(#_){text-align:center}
  .wcat-ip-side+.wcat-ip-grid{padding-left:0;margin-top:30px}
  .wcat-ip-side .wcat-ip-art{width:min(100%,260px);margin:0}
}

/* region cards: the arrow at the end of the bar is a plain circle (same circle as .global-cta) */
html body .wcat-region-bar > span[aria-hidden="true"]:not(#_) { display: flex; align-items: center; justify-content: center; flex: 0 0 40px; width: 40px; height: 40px; margin-left: auto; border-radius: 50%; background: #ff0000; color: #fff; font-size: 14px; line-height: 0; }
html body .wcat-region-bar > span[aria-hidden="true"] > i:not(#_) { display: block; line-height: 1; color: inherit; }

/* ---- comparison table block (hire-dedicated-developers, 2026-11-07) ---- */
.wcat-table-wrap{margin:26px 0;overflow-x:auto;border:1px solid rgba(71,0,0,.14);border-radius:24px;background:#fff;box-shadow:0 12px 26px rgba(71,0,0,.1)}
.wcat-table-wrap:focus-visible{outline:3px solid #ff0000;outline-offset:2px}
.wcat-table{width:100%;min-width:640px;border-collapse:collapse;font-size:16px;line-height:1.5}
html body .wcat-table th:not(#_),html body .wcat-table td:not(#_){padding:14px 18px;border-bottom:1px solid rgba(71,0,0,.1);color:#2b2b2b;text-align:left;vertical-align:top}
html body .wcat-table thead th:not(#_){border-bottom:0;background:#470000;color:#fff;font-weight:700;white-space:nowrap}
html body .wcat-table tbody th:not(#_){color:#470000;font-weight:700}
html body .wcat-table tbody tr:nth-child(even) :is(th,td):not(#_){background:#fff5f5}
html body .wcat-table tbody tr:last-child :is(th,td):not(#_){border-bottom:0}
.wcat-section--form .wcat-list{max-width:900px;margin:18px auto 24px}
