/* Quo Vadis CCS – site stylesheet
   Lineage: IBM Carbon (Plex type, square geometry, 1px rules, tiles) + Tailwind Slate/Sky neutrals,
   with Royal Blue as the single accent on white. No frameworks, no third-party requests. */

/* ---------- fonts (IBM Plex, SIL Open Font Licence, self-hosted) ---------- */
@font-face{font-family:"IBM Plex Sans";font-style:normal;font-weight:300;font-display:swap;src:url(/assets/fonts/ibm-plex-sans-latin-300-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"IBM Plex Sans";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/ibm-plex-sans-latin-400-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"IBM Plex Sans";font-style:italic;font-weight:400;font-display:swap;src:url(/assets/fonts/ibm-plex-sans-latin-400-italic.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"IBM Plex Sans";font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/ibm-plex-sans-latin-500-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"IBM Plex Sans";font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/ibm-plex-sans-latin-600-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"IBM Plex Sans";font-style:normal;font-weight:300;font-display:swap;src:url(/assets/fonts/ibm-plex-sans-latin-ext-300-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"IBM Plex Sans";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/ibm-plex-sans-latin-ext-400-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"IBM Plex Sans";font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/ibm-plex-sans-latin-ext-600-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/ibm-plex-mono-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/ibm-plex-mono-latin-500-normal.woff2) format("woff2")}
@font-face{font-family:"IBM Plex Serif";font-style:italic;font-weight:300;font-display:swap;src:url(/assets/fonts/ibm-plex-serif-latin-300-italic.woff2) format("woff2")}

/* ---------- tokens ---------- */
:root{
  /* Tailwind Slate */
  --slate-50:#f8fafc;--slate-100:#f1f5f9;--slate-200:#e2e8f0;--slate-300:#cbd5e1;--slate-400:#94a3b8;
  --slate-500:#64748b;--slate-600:#475569;--slate-700:#334155;--slate-800:#1e293b;--slate-900:#0f172a;--slate-950:#020617;
  /* Tailwind Sky (supporting tints) */
  --sky-50:#f0f9ff;--sky-100:#e0f2fe;--sky-200:#bae6fd;--sky-500:#0ea5e9;
  /* Royal Blue accent */
  --royal:#1d4ed8;--royal-hover:#1e40af;--royal-active:#1e3a8a;--royal-50:#eff4ff;--royal-100:#dbe6fe;
  --text:var(--slate-700);--heading:var(--slate-900);--muted:var(--slate-500);--line:var(--slate-200);--surface:var(--slate-50);
  --focus:var(--royal);
  --paper:#fff;--royal-bg:var(--royal);--on-royal:#dbe6fe;
  color-scheme:light dark;
  --sans:"IBM Plex Sans",system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  --serif:"IBM Plex Serif",Georgia,serif;
  --gutter:32px;                 /* Carbon 2x grid gutter */
  --page:calc(100% - 32px);      /* 16px side margins on phones */
  --ease:cubic-bezier(.2,0,.38,.9);  /* Carbon "productive" easing */
}
@media (min-width:672px){:root{--page:90%}}
@media (min-width:1056px){:root{--page:80%}}   /* Carbon lg breakpoint: 80% page width */
@media (max-width:671px){:root{--gutter:16px}}

/* ---------- base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{font-family:var(--sans);font-size:16px;font-weight:400;line-height:1.5;color:var(--text);background:var(--paper);-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}
body{margin:0;background:var(--paper);overflow-x:hidden}
img,picture,svg{max-width:100%;height:auto}
img{display:inline-block;vertical-align:middle}
::selection{background:var(--royal-100);color:var(--slate-900)}
a{color:var(--royal);text-decoration:none;text-underline-offset:3px}
a:hover{color:var(--royal-hover);text-decoration:underline}
:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
p,ul,ol,dl,pre,address,blockquote,figure,.table-wrap{margin:0 0 1rem}
:where(p,ul,ol,dl,pre,address,blockquote,figure,.table-wrap,h1,h2,h3,h4,h5,h6,.grid,.facts,.card):last-child{margin-bottom:0}
* + :where(h1,h2,h3,h4,h5,h6){margin-top:2.5rem}
ul,ol{padding-left:1.5rem}
li + li{margin-top:.375rem}
li::marker{color:var(--royal)}
strong,b{font-weight:600;color:var(--heading)}
hr{border:0;border-top:1px solid var(--line);margin:3rem 0}
address{font-style:normal}
pre,code,kbd{font-family:var(--mono);font-size:.875rem}
pre{background:var(--slate-50);border:1px solid var(--line);border-left:3px solid var(--royal);padding:1rem 1.25rem;overflow:auto;white-space:pre-wrap}
:not(pre)>code{background:var(--slate-100);padding:.1em .35em;color:var(--slate-800)}
blockquote{font-family:var(--serif);font-weight:300;font-style:italic;font-size:clamp(1.25rem,1rem + .8vw,1.75rem);line-height:1.4;color:var(--slate-900);border-left:3px solid var(--royal);padding:.25rem 0 .25rem 1.5rem;margin:2.5rem 0}
blockquote :is(strong,b,em,i){font-weight:300;color:inherit}
blockquote footer{font-family:var(--mono);font-style:normal;font-size:.75rem;letter-spacing:.32px;text-transform:uppercase;color:var(--royal);margin-top:1rem}
blockquote footer::before{content:"— "}
blockquote footer :is(strong,b,em,i,cite){font-style:normal;color:inherit}
.table-wrap{overflow-x:auto;border:1px solid var(--line)}
table{border-collapse:collapse;width:100%;font-size:.875rem}
th,td{border-bottom:1px solid var(--line);padding:.75rem 1rem;text-align:left;vertical-align:top}
th{font-weight:600;color:var(--heading);background:var(--slate-100)}
tr:last-child td{border-bottom:0}

/* ---------- type scale (Carbon productive/expressive, sentence case) ---------- */
h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{font-family:var(--sans);color:var(--heading);margin:0 0 1rem;overflow-wrap:break-word;text-transform:none;letter-spacing:0}
h1,.h1{font-size:clamp(2rem,1.5rem + 1.6vw,2.625rem);font-weight:300;line-height:1.2}
h2,.h2{font-size:clamp(1.625rem,1.35rem + 1vw,2rem);font-weight:400;line-height:1.25}
h3,.h3{font-size:1.5rem;font-weight:400;line-height:1.33}
h4,.h4{font-size:1.25rem;font-weight:500;line-height:1.4}
h5,.h5{font-size:1rem;font-weight:600;line-height:1.5}
h6,.h6{font-size:.875rem;font-weight:600;line-height:1.43}
.display-s{font-size:clamp(2.25rem,1.6rem + 2.4vw,3.5rem);font-weight:300;line-height:1.15;letter-spacing:-.01em;color:var(--heading)}
.display-m{font-size:clamp(2.5rem,1.7rem + 3vw,4.25rem);font-weight:300;line-height:1.1;letter-spacing:-.015em}
.display-l{font-size:clamp(2.75rem,1.6rem + 4.4vw,5.25rem);font-weight:300;line-height:1.05;letter-spacing:-.02em}
.display-xl{font-size:clamp(3rem,1.7rem + 5.4vw,6rem);font-weight:300;line-height:1.02;letter-spacing:-.02em}
.serif{font-weight:400}
.sans{font-weight:300}
.title{margin:0 0 .25rem}

/* ---------- utilities ---------- */
.center{text-align:center}.right{text-align:right}.upper{text-transform:uppercase}.bold{font-weight:600;color:var(--heading)}
.accent{color:var(--royal)}.emph{color:var(--heading)}.muted-strong{color:var(--slate-600)}
.lead{font-size:1.25rem;font-weight:300;line-height:1.5;color:var(--slate-800)}
.lead-l{font-size:clamp(1.25rem,1.05rem + .7vw,1.625rem);font-weight:300;line-height:1.45;color:var(--heading)}
.meta{font-family:var(--mono);font-size:.75rem;line-height:1.33;letter-spacing:.32px;color:var(--muted);text-transform:uppercase;margin:0 0 .75rem}
.small{font-size:.875rem;line-height:1.5}
.measure{max-width:46rem}.measure-s{max-width:32rem}.mx-auto{margin-left:auto;margin-right:auto}
.note{font-family:var(--mono);font-size:.8125rem;letter-spacing:.16px;background:var(--royal-50);border-left:3px solid var(--royal);padding:.75rem 1rem;color:var(--slate-800)}
.skip{position:absolute;left:-9999px;top:0;background:var(--royal-bg);color:#fff;padding:.75rem 1rem;z-index:100}
.skip:focus{left:1rem;top:1rem;color:#fff}
.shadow{box-shadow:0 1px 2px rgba(15,23,42,.06),0 8px 24px -12px rgba(15,23,42,.18)}
.bordered{border:1px solid var(--line);margin:1rem 0}

/* lists */
.plain{list-style:none;padding-left:0}
.disc{list-style:square;padding-left:1.25rem}
.decimal{list-style:decimal;padding-left:1.5rem}
.divider{list-style:none;padding-left:0}.divider>li+li{border-top:1px solid var(--line);margin-top:.75rem;padding-top:.75rem}
.checks{list-style:none;padding-left:0}
.checks>li{display:flex;gap:.75rem;align-items:flex-start;padding:.5rem 0;border-bottom:1px solid var(--line);margin:0}
.checks>li:last-child{border-bottom:0}
.checks .icon-wrap{color:var(--royal);flex:none;padding-top:.15rem}

/* ---------- layout: 80% page width, fluid below ---------- */
.wrap{width:var(--page);max-width:none;margin:0 auto;padding:0}
.wrap .wrap{width:100%}
.wrap--expand{width:var(--page)}
/* long-form text keeps a readable measure inside the wide page, Carbon-style left aligned */
.wrap--xsmall>*,.wrap--small>*{max-width:52rem}
.wrap--xsmall .grid,.wrap--small .grid{max-width:none}
.band{padding:3rem 0;position:relative}
@media (min-width:1056px){.band{padding:4.5rem 0}}
.band--small{padding:2.5rem 0}
@media (min-width:1056px){.band--small{padding:3rem 0}}
.band--large{padding:4rem 0}
@media (min-width:1056px){.band--large{padding:6rem 0}}
.band--xlarge{padding:4.5rem 0}
@media (min-width:1056px){.band--xlarge{padding:7.5rem 0}}
.band--flush{padding-top:0;padding-bottom:0}
.band--flush-top{padding-top:0}.band--flush-bottom{padding-bottom:0}
.band--muted{background:var(--surface);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.band--brand{background:var(--surface);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.band--dark{background:var(--slate-900);color:var(--slate-300)}
.band--dark :is(h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.display-s,.display-m,.display-l,.display-xl,.lead,.lead-l,strong,.emph,.muted-strong){color:#fff}
.band--dark .meta{color:var(--slate-400)}
.band--dark a:not(.btn){color:var(--sky-200)}
.band--image{background-size:cover;background-position:center;background-repeat:no-repeat}
.band--image>.wrap{position:relative;z-index:1}
.band--image.band--flush-top{padding-top:3.5rem}
.band--dark.band--image::before{content:"";position:absolute;inset:0;background:rgba(15,23,42,.82)}
section.band.band--flush .wrap--expand{width:100%}
.band--flush img{width:100%}
.overlay-light{position:absolute;inset:0;background:rgba(255,255,255,.86)}
.band--overlap{border-bottom:1px solid var(--line)}
.band--image.band--overlap{min-height:380px}
@media (min-width:1056px){.band--image.band--overlap{min-height:480px;display:flex;align-items:center}}
.band--image.band--overlap>.wrap{width:var(--page)}
.band--image.band--overlap .overlay-light,.band--image:not(.band--dark) .overlay-light{background:linear-gradient(90deg,rgba(255,255,255,.95) 0%,rgba(255,255,255,.88) 55%,rgba(255,255,255,.7) 100%)}

/* flex grid with UIkit-style fractional widths (generated rules appended at build) */
.grid{display:flex;flex-wrap:wrap;margin-left:calc(var(--gutter) * -1);row-gap:var(--gutter);margin-bottom:1.5rem}
.grid>.col{padding-left:var(--gutter);width:100%;min-width:0}
.grid.gap-s{--gutter:16px}
@media (min-width:1312px){.grid.gap-l{--gutter:64px}}
.grid.middle,.grid>.col.middle{align-items:center;align-self:center}
.grid>.col.bottom{align-self:flex-end}
.grid.match>.col{display:flex;flex-direction:column}
.grid.match>.col>.card{flex:1}
@media (max-width:959px){.hide-narrow{display:none}}
@media (min-width:960px){.aside{position:sticky;top:96px;align-self:flex-start}}
@media (max-width:959px){.aside{border-top:1px solid var(--line);padding-top:2rem!important}}
@media (min-width:960px){.grid>.col.aside{border-left:1px solid var(--line)}}
.aside .btn{display:flex;width:100%}

/* ---------- header (Carbon UI shell, light theme) ---------- */
.site-header{background:rgba(255,255,255,.96);position:sticky;top:0;z-index:50;border-bottom:1px solid var(--line);-webkit-backdrop-filter:saturate(1.4) blur(8px);backdrop-filter:saturate(1.4) blur(8px)}
.header-inner{display:flex;align-items:center;gap:1.5rem;min-height:64px}
/* logo: a white badge that breaks out of the header at the top of the page, then tucks in on scroll */
:root{--hdr:64px;--badge:148px;--badge-pad:12px;--badge-mini:78px}
@media (min-width:1056px){:root{--hdr:80px;--badge:212px;--badge-pad:16px;--badge-mini:100px}}
.header-inner{min-height:var(--hdr)}
.logo{position:relative;flex:none;align-self:stretch;width:var(--badge);text-decoration:none!important;z-index:2}
.logo-badge{position:absolute;left:calc(var(--badge-pad) * -1);top:0;width:calc(var(--badge) + var(--badge-pad) * 2);padding:var(--badge-pad);background:#fff;border:1px solid var(--line);border-top:0;box-shadow:0 18px 32px -20px rgba(15,23,42,.35);transition:width 220ms var(--ease),padding 220ms var(--ease),box-shadow 220ms var(--ease),border-color 220ms var(--ease)}
.logo-badge::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:3px;background:var(--royal-bg);transition:opacity 220ms var(--ease)}
.logo-badge img{display:block;width:100%;height:auto;max-width:none}
.logo:hover .logo-badge{box-shadow:0 22px 40px -20px rgba(29,78,216,.45)}
/* compact (scrolled, or no JavaScript): fits inside the bar */
.is-compact .logo-badge,:root:not(.js) .logo-badge{width:var(--badge-mini);padding:6px 0;border-color:transparent;box-shadow:none;left:0}
.is-compact .logo-badge::after,:root:not(.js) .logo-badge::after{opacity:0}
.is-compact .logo,:root:not(.js) .logo{width:var(--badge-mini)}
/* leave room for the hanging badge above the first heading */
.js main>section:first-child:not(.band--flush):not(.hero){padding-top:max(9rem,calc(var(--badge) * .75 + 2rem))}
@media (max-width:1055px){.js main>section:first-child:not(.band--flush):not(.hero){padding-top:calc(var(--badge) * .75 + 1.5rem)}}
.js .hero{padding-top:calc(var(--badge) * .55 + 1.5rem);padding-bottom:3.5rem}
@media (prefers-reduced-motion:reduce){.logo-badge{transition:none}}
.site-nav{margin-left:auto;align-self:stretch;display:flex}
.site-nav ul{list-style:none;margin:0;padding:0}
.site-nav>ul{display:flex;align-items:stretch}
.site-nav>ul>li{margin:0;display:flex}
.site-nav a{color:var(--slate-700);font-size:.9375rem;font-weight:400;display:flex;align-items:center;position:relative;padding:0 1rem;text-decoration:none;transition:color 110ms var(--ease),background-color 110ms var(--ease)}
.site-nav>ul>li>a::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:3px;background:var(--royal-bg);transform:scaleX(0);transition:transform 150ms var(--ease)}
.site-nav a:hover{color:var(--slate-900);background:var(--slate-100);text-decoration:none}
.site-nav a[aria-current]{color:var(--slate-900);font-weight:500}
.site-nav>ul>li>a[aria-current]::after{transform:scaleX(1)}
.has-sub{position:relative}
.sub{position:absolute;left:0;top:100%;min-width:320px;background:var(--paper);border:1px solid var(--line);border-top:0;box-shadow:0 12px 24px -12px rgba(15,23,42,.25);padding:.5rem 0!important;opacity:0;visibility:hidden;transform:translateY(-4px);transition:opacity 110ms var(--ease),transform 110ms var(--ease),visibility 110ms}
.sub li{margin:0}
.sub a{font-size:.875rem;padding:.625rem 1rem;border-left:3px solid transparent}
.sub a:hover{border-left-color:var(--royal);background:var(--slate-50)}
.has-sub:hover .sub,.has-sub:focus-within .sub{opacity:1;visibility:visible;transform:none}
.header-phone{display:inline-flex;align-items:center;gap:.5rem;white-space:nowrap;font-weight:500;font-size:.875rem;color:var(--royal);border:1px solid var(--royal);padding:0 1rem;min-height:40px;transition:background-color 110ms var(--ease),color 110ms var(--ease)}
.header-phone:hover{background:var(--royal-bg);color:#fff;text-decoration:none}
.social{display:flex;gap:.25rem}
.social a{color:var(--slate-500);display:flex;align-items:center;justify-content:center;width:40px;height:40px}
.social a:hover{color:var(--royal);background:var(--slate-100)}
.nav-toggle{position:absolute;opacity:0;pointer-events:none}
.nav-burger{display:none}
@media (max-width:1311px){.social{display:none}}
@media (max-width:1055px){.site-nav a{padding:0 .75rem}}
@media (max-width:959px){
  .header-inner{flex-wrap:wrap;gap:.5rem}
  .header-phone{margin-left:auto;padding:0 .75rem}
  .nav-burger{display:flex;align-items:center;justify-content:center;width:48px;height:48px;cursor:pointer;order:3;margin-right:-12px}
  .nav-burger span,.nav-burger span::before,.nav-burger span::after{display:block;width:20px;height:2px;background:var(--slate-800);position:relative;transition:transform 150ms var(--ease)}
  .nav-burger span::before,.nav-burger span::after{content:"";position:absolute;left:0}
  .nav-burger span::before{top:-6px}.nav-burger span::after{top:6px}
  .site-nav{order:4;flex-basis:100%;display:none;border-top:1px solid var(--line);background:var(--paper)}
  .nav-toggle:checked ~ .site-nav{display:block}
  .nav-toggle:checked ~ .nav-burger span{background:transparent}
  .nav-toggle:checked ~ .nav-burger span::before{transform:translateY(6px) rotate(45deg)}
  .nav-toggle:checked ~ .nav-burger span::after{transform:translateY(-6px) rotate(-45deg)}
  .nav-toggle:focus-visible ~ .nav-burger{outline:2px solid var(--focus)}
  .site-nav>ul{flex-direction:column;padding:.5rem 0 1rem}
  .site-nav>ul>li{display:block;border-bottom:1px solid var(--slate-100)}
  .site-nav a{padding:.875rem 0;font-size:1rem}
  .site-nav>ul>li>a::after{display:none}
  .site-nav a[aria-current]{border-left:3px solid var(--royal);padding-left:13px}
  .sub{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:0;padding:0 0 .5rem!important;min-width:0}
  .sub a{padding-left:16px;font-size:.9375rem}
}
@media (max-width:419px){.header-phone span{display:none}.header-phone{padding:0;width:40px;justify-content:center}}

/* ---------- tiles / cards (Carbon tiles) ---------- */
.card{position:relative;background:var(--paper);margin-bottom:1rem;display:flex;flex-direction:column;border:1px solid var(--line);transition:border-color 150ms var(--ease),box-shadow 150ms var(--ease)}
.card--plain{color:var(--text)}
.card--brand{color:var(--slate-600)}
.card--brand::before{content:"";position:absolute;left:-1px;right:-1px;top:-1px;height:3px;background:var(--royal-bg);transform:scaleX(0);transform-origin:left;transition:transform 240ms var(--ease)}
.card--brand:hover{border-color:var(--slate-300);box-shadow:0 12px 32px -16px rgba(15,23,42,.25)}
.card--brand:hover::before{transform:scaleX(1)}
.card--accent{background:var(--royal-bg);border-color:var(--royal);color:var(--on-royal)}
.card--accent :is(h1,h2,h3,h4,.h3,.title,.display-s,.card-title,strong,a,.contact-big){color:#fff}
.card.card--accent .meta{color:var(--sky-200)}
.card--accent .icon-wrap,.card--accent .icon-xl{color:#fff}
.card--accent a:hover{color:#fff}
.card--dark{background:var(--slate-900);border-color:var(--slate-900);color:var(--slate-300)}
.card-body{padding:1.5rem;flex:1}
@media (min-width:1056px){.card-body{padding:2rem}.card--large .card-body{padding:2.5rem}}
.card-title{font-size:1.25rem;font-weight:400;line-height:1.4;color:var(--heading)}
.card-title a{color:var(--heading)}
.card-title a:hover{color:var(--royal);text-decoration:none}
.card-media{display:block;line-height:0;overflow:hidden;border-bottom:1px solid var(--line);background:var(--slate-50)}
.card-media img{width:100%;height:auto;transition:transform 400ms var(--ease)}
.post:hover .card-media img{transform:scale(1.02)}
.icon-wrap{display:inline-flex;line-height:0;vertical-align:middle}
.icon-xl{margin-bottom:1.5rem;color:var(--royal)}
.icon-xl svg{width:48px;height:48px}
.icon{stroke-width:1}
.card .display-s{font-size:clamp(1.75rem,1.4rem + 1vw,2.25rem);font-weight:300;line-height:1.15;margin-top:.25rem;letter-spacing:-.01em}
.card .meta{color:var(--royal);margin-bottom:1.25rem}

/* home: "did you know" facts – swipeable, no JS */
.facts{display:grid;grid-auto-flow:column;grid-auto-columns:85%;gap:0;overflow-x:auto;scroll-snap-type:x mandatory;margin-bottom:0;border:1px solid var(--line);background:var(--paper);scrollbar-width:thin;scrollbar-color:var(--slate-300) transparent}
@media (min-width:672px){.facts{grid-auto-columns:50%}}
@media (min-width:1312px){.facts{grid-auto-columns:33.333%}}
.fact{scroll-snap-align:start;padding:1.5rem;border-right:1px solid var(--line)}
.fact .title{font-size:1.125rem;font-weight:500;color:var(--heading)}
.fact .meta{color:var(--royal)}
.fact p{font-size:.9375rem;color:var(--slate-600)}
.facts-hint{font-family:var(--mono);font-size:.75rem;letter-spacing:.32px;color:var(--muted);margin:.75rem 0 0;text-transform:uppercase}

/* listing */
.posts{display:grid;gap:var(--gutter);grid-template-columns:1fr}
@media (min-width:672px){.posts{grid-template-columns:1fr 1fr}}
@media (min-width:1312px){.posts{grid-template-columns:1fr 1fr 1fr}}
.post .card-title{font-size:1.125rem;font-weight:500}
.post:hover{border-color:var(--slate-300);box-shadow:0 12px 32px -16px rgba(15,23,42,.25)}

/* article */
.page-article .wrap--xsmall p img,.page-article .wrap--xsmall figure img{display:block;margin:1.5rem 0}
.page-article .wrap--xsmall h1{margin-bottom:.5rem}
.page-article main>article .center{text-align:left}

/* buttons (Carbon) */
.btn{display:inline-flex;align-items:center;justify-content:space-between;gap:2rem;font:inherit;font-size:.875rem;font-weight:400;letter-spacing:.16px;line-height:1.29;min-height:48px;padding:.875rem 1rem;border:1px solid transparent;border-radius:0;text-decoration:none;cursor:pointer;transition:background-color 110ms var(--ease),border-color 110ms var(--ease),color 110ms var(--ease)}
.btn:hover{text-decoration:none}
.btn:active{transform:translateY(1px)}
.btn--primary{background:var(--royal-bg);color:#fff}
.btn--primary:hover{background:var(--royal-hover);color:#fff}
.btn--primary:active{background:var(--royal-active)}
.btn--ghost{border-color:var(--royal);color:var(--royal);background:transparent}
.btn--ghost:hover{background:var(--royal-bg);color:#fff}
.band--dark .btn--ghost{border-color:#fff;color:#fff}
.band--dark .btn--ghost:hover{background:#fff;color:var(--slate-900)}
.btn--light{background:#fff;color:var(--royal);border-color:#fff}
.btn--light:hover{background:var(--royal-50);color:var(--royal-hover)}
.btn--lg{font-size:1rem;min-height:64px;padding:1rem 1.25rem}
.btn--sm{min-height:40px;padding:.5rem 1rem}
.btn svg{flex:none}
.link-arrow::after{content:" →"}
.aside .btn{margin:1rem 0 2rem}
.aside h3{margin-top:2rem;font-size:1.125rem;font-weight:600}

/* contact */
.contact-cards{display:grid;gap:0;grid-template-columns:1fr;border:1px solid var(--line)}
@media (min-width:960px){.contact-cards{grid-template-columns:repeat(3,1fr)}}
.contact-cards .card{margin:0;border:0}
@media (max-width:959px){.contact-cards .card+.card{border-top:1px solid var(--line)}}
@media (min-width:960px){.contact-cards .card+.card{border-left:1px solid var(--line)}}
.contact-big{font-size:clamp(1.25rem,1.1rem + .6vw,1.625rem);font-weight:300;line-height:1.3;word-break:break-word}
.contact-big a{color:inherit}
.card--plain .contact-big a{color:var(--royal)}
.icon-wrap.accent{color:var(--royal)}

/* CTA band: the one strong Royal Blue surface */
.band.cta{background:var(--royal-bg);color:var(--on-royal);border:0}
.cta h2{color:#fff;margin:0 0 .25rem;font-weight:300;font-size:clamp(1.5rem,1.2rem + 1vw,2rem)}
.cta p{margin:0}
.cta-inner{display:flex;flex-wrap:wrap;gap:1.5rem;align-items:center;justify-content:space-between}

/* ---------- footer (Carbon g100) ---------- */
.site-footer{background:var(--slate-950);color:var(--slate-400);padding:3rem 0 2.5rem;font-size:.875rem}
.site-footer a{color:var(--slate-200)}
.site-footer a:hover{color:#fff}
.footer-inner{display:grid;gap:2rem;grid-template-columns:1fr}
@media (min-width:960px){.footer-inner{grid-template-columns:1.2fr 1fr;align-items:start}.footer-legal{grid-column:1/-1}}
.footer-logo{display:block;width:150px;height:auto;margin:0 0 1.5rem;opacity:.95}
.footer-name{font-size:1.25rem;font-weight:300;color:#fff;margin-bottom:.75rem}
.footer-phone{font-size:1.125rem;font-weight:400}
.footer-links{display:flex;flex-wrap:wrap;gap:.5rem 2rem}
@media (min-width:960px){.footer-links{justify-content:flex-end}}
.footer-legal{border-top:1px solid var(--slate-800);padding-top:1.5rem;color:var(--slate-400);font-size:.75rem;line-height:1.6}
.footer-legal p{margin-bottom:.5rem}
.at{padding:0 1px}

/* ---------- page-specific ---------- */
/* home hero: the CCS acrostic – read down for the initials, across for the meaning */
.hero{position:relative;overflow:hidden;background-color:var(--paper);background-image:linear-gradient(var(--slate-100) 1px,transparent 1px),linear-gradient(90deg,var(--slate-100) 1px,transparent 1px);background-size:64px 64px;background-position:center top;border-bottom:1px solid var(--line);padding:3rem 0}
@media (min-width:1056px){.hero{padding:5.5rem 0}}
.hero-inner{display:grid;grid-template-columns:1fr;gap:2.5rem;align-items:center}
@media (min-width:1056px){.hero-inner{grid-template-columns:minmax(0,7fr) minmax(300px,4fr);gap:4rem}}
@media (min-width:1600px){.hero-inner{grid-template-columns:minmax(0,2fr) minmax(340px,1fr)}}
.hero-eyebrow{font-family:var(--mono);font-size:.75rem;letter-spacing:.32px;text-transform:uppercase;color:var(--muted);margin:0 0 1.5rem;display:flex;flex-wrap:wrap;gap:.25rem .75rem;align-items:baseline}
.hero-eyebrow i{font-family:var(--serif);font-weight:300;font-size:1.125rem;text-transform:none;letter-spacing:0;color:var(--royal)}
.hero-name{margin:0;font-weight:300;line-height:1;color:var(--heading)}
.hero-name{--hero-size:clamp(2.6rem,1rem + 4.4vw,7rem)}
.hero-quo{display:block;font-family:var(--serif);font-style:italic;font-weight:300;font-size:calc(var(--hero-size) * 1.08);line-height:1;letter-spacing:-.02em;color:var(--slate-900);margin-left:-.04em}
.quo-q{color:var(--royal);margin-left:.04em}
.quo-gloss{display:flex;align-items:baseline;gap:.75rem;font-family:var(--mono);font-size:.75rem;font-weight:400;letter-spacing:.32px;text-transform:uppercase;color:var(--muted);margin:.75rem 0 1.25rem;line-height:1.3}
.quo-gloss i{font-style:normal;color:var(--royal);border:1px solid var(--royal-100);padding:.2em .5em}
.quo-arrow{color:var(--royal)}
@media (min-width:1056px){.quo-gloss{margin:1rem 0 1.5rem}}
.ccs{display:block;position:relative;padding-left:0}
.ccs-row{display:flex;align-items:baseline;font-size:var(--hero-size);line-height:1.02;letter-spacing:-.025em;white-space:nowrap}
.ccs-cap{flex:none;width:.66em;text-align:right;font-weight:600;color:var(--royal);position:relative}
/* the vertical "CCS" spine */
.ccs::before{content:"";position:absolute;left:.7em;top:.18em;bottom:.12em;width:2px;background:var(--royal-100);font-size:var(--hero-size)}
.ccs-tail{color:var(--slate-800);padding-left:.1em;display:inline-block;clip-path:inset(0 0 0 0)}
.ccs-ltd{align-self:flex-start;margin:.55em 0 0 .5em;font-family:var(--mono);font-size:.16em;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--slate-500);border:1px solid var(--slate-300);padding:.25em .5em;line-height:1}
.hero-key{margin:1.25rem 0 0;font-family:var(--mono);font-size:.8125rem;letter-spacing:.32px;color:var(--slate-600);text-transform:uppercase}
.hero-key span{color:var(--royal);font-weight:500}
/* reveal: initials first, then each word unfurls from its letter */
@media (prefers-reduced-motion:no-preference){
  .ccs-cap{animation:ccs-cap 500ms var(--ease) both}
  .ccs-tail{animation:ccs-tail 800ms var(--ease) both}
  .ccs-ltd,.hero-key{animation:ccs-fade 600ms var(--ease) both;animation-delay:1.55s}
  .quo-q{display:inline-block;animation:quo-q 700ms var(--ease) both;animation-delay:.1s}
  .quo-gloss{animation:ccs-fade 600ms var(--ease) both;animation-delay:.35s}
  .ccs-cap{animation-delay:.5s}
  .ccs-row[data-row="0"] .ccs-cap{animation-delay:.5s}.ccs-row[data-row="1"] .ccs-cap{animation-delay:.62s}.ccs-row[data-row="2"] .ccs-cap{animation-delay:.74s}
  .ccs-row[data-row="0"] .ccs-tail{animation-delay:.95s}.ccs-row[data-row="1"] .ccs-tail{animation-delay:1.15s}.ccs-row[data-row="2"] .ccs-tail{animation-delay:1.35s}
}
@keyframes ccs-cap{from{opacity:0;transform:translateY(.25em)}to{opacity:1;transform:none}}
@keyframes ccs-tail{from{clip-path:inset(0 100% 0 0);opacity:.2}to{clip-path:inset(0 0 0 0);opacity:1}}
@keyframes ccs-fade{from{opacity:0}to{opacity:1}}
@keyframes quo-q{0%{opacity:0;transform:translateY(-.3em) rotate(-12deg)}60%{opacity:1;transform:translateY(.04em) rotate(4deg)}100%{opacity:1;transform:none}}
/* hover a row: its initial and word light up together */
.ccs-row:hover .ccs-tail{color:var(--royal)}
/* Royal Blue "at a glance" panel */
.hero-panel{background:var(--royal-bg);color:var(--on-royal);padding:2rem;position:relative}
@media (min-width:1056px){.hero-panel{padding:2.5rem}}
.hero-panel::before{content:"";position:absolute;right:0;top:0;width:48px;height:48px;background:linear-gradient(225deg,#fff 50%,transparent 50%);opacity:.12}
.hero-facts{margin:0 0 2rem;display:grid;gap:0}
.hero-facts div{padding:.875rem 0;border-bottom:1px solid rgba(255,255,255,.18)}
.hero-facts div:first-child{padding-top:0}
.hero-facts dt{font-family:var(--mono);font-size:.6875rem;letter-spacing:.32px;text-transform:uppercase;color:var(--sky-200);margin-bottom:.25rem}
.hero-facts dd{margin:0;font-size:1.25rem;font-weight:300;color:#fff;line-height:1.3}
.hero-call{width:100%;white-space:nowrap;gap:1rem}
.hero-link{display:inline-block;margin-top:1rem;color:#fff;font-size:.875rem}
.hero-link:hover{color:#fff}
@media (max-width:419px){.ccs-ltd{font-size:.22em;margin-left:.4em}}
/* portfolio tiles sit flush in one bordered grid */
.page-home .band--muted .grid.cw-m-1-3{--gutter:0px;row-gap:0;margin-left:0;border-top:1px solid var(--line);border-left:1px solid var(--line);background:var(--paper)}
.page-home .band--muted .grid.cw-m-1-3>.col{display:flex}
.page-home .band--muted .grid.cw-m-1-3>.col>.card{margin:0;border-top:0;border-left:0;flex:1}

/* short title / call-to-action columns ride alongside long text instead of leaving dead space */
@media (min-width:960px){
  .grid>.col:has(>:is(h2,h3,h4):only-child),
  .grid>.col:has(>.demo-card:only-child){position:sticky;top:104px;align-self:flex-start}
}

/* home: "Did you know?" – heading row with controls above a full-width strip */
.grid:has(.facts){flex-direction:column-reverse;row-gap:1.25rem}
.grid:has(.facts)>.col{width:100%!important}
.grid:has(.facts) h2{margin:0;font-size:clamp(1.625rem,1.35rem + 1vw,2rem);font-weight:300;color:var(--heading)}
.facts-head{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.facts-nav{display:flex;gap:0}
.facts-nav button{width:48px;height:48px;display:inline-flex;align-items:center;justify-content:center;background:var(--paper);border:1px solid var(--line);color:var(--slate-800);cursor:pointer;font:inherit;transition:background-color 110ms var(--ease),color 110ms var(--ease)}
.facts-nav button+button{border-left:0}
.facts-pause{font-size:.75rem;letter-spacing:-.1em}
.facts-nav button:hover:not(:disabled){background:var(--royal-bg);border-color:var(--royal);color:#fff}
.facts-nav button:disabled{color:var(--slate-300);cursor:default}
.facts-count{font-family:var(--mono);font-size:.75rem;letter-spacing:.32px;color:var(--muted);align-self:center;margin-right:1rem}
.js .facts-hint{display:none}
.facts{scroll-behavior:smooth}
.fact{display:flex;flex-direction:column}
.fact .title{order:-1}

/* ---------- motion & print ---------- */
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
@media print{.site-header,.cta,.site-footer .footer-links{display:none}.band--dark,.card--accent{background:none!important;color:#000}.band--dark *,.card--accent *{color:#000!important}a{color:#000}.page-home main>section:first-child::after{display:none}}

/* =====================================================================
   HOME NARRATIVE
   ===================================================================== */
/* hero additions */
.hero-lead{font-size:clamp(1.125rem,1rem + .4vw,1.375rem);font-weight:300;line-height:1.45;color:var(--slate-700);max-width:40rem;margin:1.25rem 0 1.5rem}
.hero-lead strong{font-weight:500;color:var(--slate-900)}
.hero-actions{display:flex;flex-wrap:wrap;gap:1rem}
.hero-actions .btn{min-width:min(100%,16rem)}
.hero-panel-kicker{font-size:1.25rem;font-weight:300;line-height:1.3;color:#fff;margin:0 0 1.5rem;padding-bottom:1.25rem;border-bottom:1px solid rgba(255,255,255,.25)}
.hero-facts dd{font-size:1rem}
.hero-facts div{padding:.75rem 0}

/* shared section head */
.section-head{max-width:52rem;margin-bottom:2.5rem}
.eyebrow{font-family:var(--mono);font-size:.75rem;letter-spacing:.32px;text-transform:uppercase;color:var(--royal);margin:0 0 1rem;display:flex;align-items:center;gap:.75rem}
.eyebrow::before{content:"";width:24px;height:2px;background:currentColor}
.section-title{font-size:clamp(1.875rem,1.3rem + 2vw,3rem);font-weight:300;line-height:1.15;letter-spacing:-.01em;margin:0 0 1rem;color:var(--heading)}
.section-lead{font-size:clamp(1.0625rem,1rem + .3vw,1.25rem);font-weight:300;line-height:1.5;color:var(--slate-600);margin:0}
.band--dark .eyebrow{color:var(--sky-200)}
.band--dark .section-title{color:#fff}
.band--dark .section-lead{color:var(--slate-300)}

/* trust strip */
.trust{border-bottom:1px solid var(--line);background:var(--paper);padding:1.5rem 0}
.trust-inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1.25rem 2.5rem}
.trust-line{margin:0;font-size:1.125rem;font-weight:300;color:var(--slate-800);max-width:40rem;line-height:1.4}
.trust-line .meta{display:block;color:var(--royal);margin-bottom:.25rem}
.trust-badges{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:.75rem}
.trust-badges li{margin:0}
.trust-badges img{display:block;width:auto;height:72px}
@media (min-width:1056px){.trust-badges img{height:88px}}
.trust-more a{font-family:var(--mono);font-size:.75rem;letter-spacing:.32px;text-transform:uppercase;display:inline-block;padding:.5rem .75rem;border:1px solid var(--line)}

/* five Ws */
.ws-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr;border-top:1px solid var(--line);border-left:1px solid var(--line)}
@media (min-width:672px){.ws-grid{grid-template-columns:1fr 1fr}}
@media (min-width:1056px){.ws-grid{grid-template-columns:repeat(6,1fr)}.w{grid-column:span 2}.w:nth-child(-n+2){grid-column:span 3}.w:nth-child(-n+2) .w-q{font-size:clamp(3rem,2rem + 2.4vw,4.5rem)}.w:nth-child(-n+2) p:last-child{font-size:1rem;max-width:34rem}}
.w{margin:0;padding:2rem 1.5rem 2.25rem;border-right:1px solid var(--line);border-bottom:1px solid var(--line);position:relative;transition:background-color 150ms var(--ease)}
.w:hover{background:var(--slate-50)}
.w::before{content:"";position:absolute;left:-1px;top:-1px;width:calc(100% + 2px);height:3px;background:var(--royal-bg);transform:scaleX(0);transform-origin:left;transition:transform 240ms var(--ease)}
.w:hover::before{transform:scaleX(1)}
.w-q{font-size:clamp(2.5rem,2rem + 1.5vw,3.25rem);font-weight:300;line-height:1;letter-spacing:-.02em;color:var(--slate-900);margin:0 0 1.5rem}
.w-q b{font-weight:600;color:var(--royal)}
.w h3{font-size:1.125rem;font-weight:600;margin:0 0 .75rem}
.w p:last-child{color:var(--slate-600);font-size:.9375rem;margin:0}
.w strong{font-weight:600}

/* platform */
.platform-head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:2rem}
.platform-logo{display:block;width:180px;flex:none;background:#fff;border:1px solid var(--line);padding:1rem;line-height:0}
.platform-logo img{width:100%;height:auto}
@media (max-width:671px){.platform-logo{width:130px}}
.stats{margin:0 0 3rem;display:grid;grid-template-columns:1fr;border-top:1px solid var(--line);border-left:1px solid var(--line);background:var(--paper)}
@media (min-width:672px){.stats{grid-template-columns:1fr 1fr}}
@media (min-width:1056px){.stats{grid-template-columns:repeat(4,1fr)}}
.stat{padding:1.5rem;border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;flex-direction:column;min-height:180px}
.stat dt{font-family:var(--mono);font-size:.75rem;letter-spacing:.32px;text-transform:uppercase;color:var(--muted);margin-bottom:auto;padding-bottom:1.5rem}
.stat dd{margin:0;display:flex;align-items:flex-end;gap:.75rem;flex-wrap:wrap}
.stat-n{font-size:clamp(2.5rem,2rem + 1.8vw,3.75rem);font-weight:300;line-height:1;letter-spacing:-.02em;color:var(--slate-900)}
.stat-u{font-size:.9375rem;line-height:1.3;color:var(--slate-700);padding-bottom:.35rem}
.stat-src{margin:.75rem 0 0;font-size:.8125rem;color:var(--slate-500)}
.stat-src sup a,.platform-why sup a{font-family:var(--mono);font-size:.6875rem;text-decoration:none;margin-left:2px}
.stat--lead{background:var(--royal-bg);color:var(--on-royal)}
.stat--lead dt,.stat--lead .stat-src{color:var(--sky-200)}
.stat--lead .stat-n{color:#fff;font-size:clamp(4rem,3rem + 4vw,6.5rem)}
.stat--lead .stat-u{color:#fff}
.stat--lead sup a{color:#fff}
@media (min-width:1056px){.stat--lead{grid-row:span 2;grid-column:span 2;padding:2.5rem}}
@media (min-width:672px) and (max-width:1055px){.stat--lead{grid-column:span 2}}
.platform-why{display:grid;grid-template-columns:1fr;gap:2rem;margin-bottom:2.5rem}
@media (min-width:960px){.platform-why{grid-template-columns:repeat(3,1fr);gap:var(--gutter)}}
.platform-why h3{font-size:1.125rem;font-weight:600;margin:0 0 .5rem;padding-top:1rem;border-top:2px solid var(--royal);display:inline-block}
.platform-why p{color:var(--slate-600);margin:0}
.sources{margin:0;padding:1.25rem 0 0 1.25rem;border-top:1px solid var(--line);font-size:.75rem;line-height:1.55;color:var(--slate-500)}
.sources li::marker{color:var(--slate-400);font-family:var(--mono)}
.sources a{color:var(--slate-600)}
.sources .disclaimer{list-style:none;margin:1rem 0 0 -1.25rem;font-size:.6875rem;color:var(--slate-600)}
.sources li:target{color:var(--slate-900);background:var(--royal-50)}

/* AI */
.ai-diagram{margin:0 0 3rem;border:1px solid var(--slate-700);background:var(--slate-950);padding:1.5rem;overflow-x:auto}
.ai-diagram svg{display:block;width:100%;min-width:760px;height:auto}
.ai-diagram figcaption{font-family:var(--mono);font-size:.75rem;letter-spacing:.32px;text-transform:uppercase;color:var(--slate-400);margin-top:1rem}
.d-node rect{fill:var(--slate-800);stroke:var(--slate-600);stroke-width:1}
.d-node--accent rect{stroke:var(--sky-500);stroke-width:1.5}
.d-core>rect{fill:var(--royal)}
.d-inner{fill:rgba(255,255,255,.08);stroke:rgba(255,255,255,.35);stroke-width:1}
.d-label{font-family:var(--mono);font-size:13px;letter-spacing:.6px;fill:var(--sky-200)}
.d-label--on{fill:#dbe6fe}.d-label--accent{fill:#7dd3fc}
.d-head{font-family:var(--sans);font-weight:300;font-size:24px;fill:#fff}
.d-text{font-family:var(--sans);font-size:15px;fill:var(--slate-300)}
.d-text--on{fill:#fff}
.d-flow{fill:none;stroke:var(--sky-200);stroke-width:2}
.d-arrowhead{fill:var(--sky-200)}
.d-note{font-family:var(--mono);font-size:12px;fill:var(--slate-400)}
.ai-cards{display:grid;grid-template-columns:1fr;gap:1px;background:var(--slate-700);border:1px solid var(--slate-700)}
@media (min-width:672px){.ai-cards{grid-template-columns:1fr 1fr}}
@media (min-width:1056px){.ai-cards{grid-template-columns:repeat(3,1fr)}}
.ai-card{background:var(--slate-900);padding:1.75rem;display:flex;flex-direction:column;transition:background-color 150ms var(--ease)}
.ai-card:hover{background:var(--slate-800)}
.ai-card .meta{color:var(--sky-200);margin-bottom:1rem}
.ai-card h3{color:#fff;font-size:1.25rem;font-weight:400;margin:0 0 .75rem}
.ai-card p:last-of-type{color:var(--slate-300);font-size:.9375rem;margin:0}
.ai-card--cta{background:var(--royal-bg)}
.ai-card--cta:hover{background:var(--royal-hover)}
.ai-card--cta .meta,.ai-card--cta p:last-of-type{color:var(--on-royal)}
.ai-card--cta .btn{margin-top:auto;align-self:flex-start;transform:translateY(1.25rem)}
.ai-card--cta{padding-bottom:3rem}

/* what we do + lifecycle */
.what{background:var(--surface);border-top:1px solid var(--line);padding-bottom:2rem}
.what + .band--muted{border-top:0;padding-top:1rem}
.lifecycle{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr;counter-reset:none;border-top:1px solid var(--line)}
@media (min-width:960px){.lifecycle{grid-template-columns:repeat(5,1fr);border-top:0}}
.lifecycle li{margin:0;padding:1.25rem 1rem 1.25rem 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:3rem 1fr;gap:.25rem .75rem;position:relative}
@media (min-width:960px){.lifecycle li{display:block;padding:1.5rem 1.5rem 0 0;border-bottom:0;border-top:3px solid var(--slate-200)}.lifecycle li:hover{border-top-color:var(--royal)}}
.lc-n{font-family:var(--mono);font-size:.75rem;color:var(--royal);grid-row:span 2}
.lifecycle b{display:block;font-weight:600;color:var(--heading);margin:.25rem 0 .5rem}
.lifecycle span:last-child{font-size:.875rem;color:var(--slate-600)}

/* scale */
.scale-bar{list-style:none;margin:0 0 2.5rem;padding:0;display:grid;grid-template-columns:repeat(4,1fr);align-items:end;gap:1px;height:clamp(240px,30vw,340px)}
.scale-bar li{margin:0;height:100%;display:flex;flex-direction:column;justify-content:flex-end}
.scale-bar li::after{content:"";display:block;background:var(--royal-bg);opacity:.35;transition:opacity 150ms var(--ease)}
.scale-bar li:nth-child(1)::after{height:22%;opacity:.25}.scale-bar li:nth-child(2)::after{height:42%;opacity:.45}.scale-bar li:nth-child(3)::after{height:66%;opacity:.7}.scale-bar li:nth-child(4)::after{height:100%;opacity:1}
.scale-bar li:hover::after{opacity:1}
.scale-bar b{font-size:clamp(1rem,.9rem + .6vw,1.5rem);font-weight:400;color:var(--heading)}
.scale-bar span{font-size:.8125rem;color:var(--slate-600);margin:.25rem 0 .75rem;padding-right:.5rem;line-height:1.35}
.verticals{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.5rem}
.verticals li{margin:0;font-size:.875rem;padding:.5rem .875rem;background:var(--slate-100);color:var(--slate-800);border:1px solid var(--slate-200)}

/* certification wall */
.badge-wall{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}
@media (min-width:672px){.badge-wall{grid-template-columns:repeat(3,1fr)}}
@media (min-width:1312px){.badge-wall{grid-template-columns:repeat(6,1fr)}}
.badge-wall li{margin:0;padding:1.5rem 1.25rem;border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;flex-direction:column;align-items:flex-start;background:var(--paper)}
.badge-wall img{width:auto;height:120px;margin-bottom:1.25rem;transition:transform 200ms var(--ease)}
.badge-wall li:hover img{transform:translateY(-4px)}
.badge-wall b{font-weight:600;color:var(--heading);margin-bottom:.25rem}
.badge-wall span{font-size:.8125rem;color:var(--slate-600);line-height:1.4}
@media (max-width:671px){.hero-actions .btn{width:100%;min-width:0}}

/* =====================================================================
   SOLUTIONS
   ===================================================================== */
/* --- mega menu (desktop) / compact list (mobile) --- */
.has-mega{position:static}
.mega{position:absolute;left:0;right:0;top:100%;background:var(--paper);border-top:1px solid var(--line);border-bottom:1px solid var(--line);box-shadow:0 24px 48px -24px rgba(15,23,42,.35);opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity 140ms var(--ease),transform 140ms var(--ease),visibility 140ms;z-index:40;max-height:calc(100vh - var(--hdr) - 16px);overflow:auto}
.has-mega:hover .mega,.has-mega:focus-within .mega{opacity:1;visibility:visible;transform:none}
.mega-inner{width:var(--page);margin:0 auto;padding:2rem 0 2.25rem;display:grid;grid-template-columns:minmax(220px,1fr) 4fr;gap:2.5rem}
.mega-title{font-size:1.25rem;font-weight:300;line-height:1.35;color:var(--heading);margin:0 0 1.25rem}
.mega-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem 2rem}
@media (max-width:1311px){.mega-grid{grid-template-columns:repeat(3,1fr)}.mega-inner{grid-template-columns:1fr}.mega-intro{display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap}.mega-intro .eyebrow{display:none}.mega-title{margin:0}}
.mega-col ul{list-style:none;margin:0;padding:0}
.mega-col li{margin:0}
.site-nav .mega-col a{display:block;padding:.25rem 0;font-size:.8125rem;color:var(--slate-600);height:auto;line-height:1.4}
.site-nav .mega-col a:hover{color:var(--royal);background:none;text-decoration:underline}
.site-nav .mega-col a::after{display:none}
.mega-h{margin:0 0 .5rem;padding-bottom:.5rem;border-bottom:2px solid var(--royal)}
.site-nav .mega-h a{display:flex;gap:.5rem;align-items:center;font-size:.8125rem;font-weight:600;color:var(--heading);padding:0}
.mega-h svg{color:var(--royal);flex:none}
.sub--mobile{display:none}
@media (max-width:959px){.mega{display:none}.sub--mobile{display:block}}

/* --- breadcrumb --- */
.crumbs ol{list-style:none;margin:0 0 1.5rem;padding:0;display:flex;flex-wrap:wrap;gap:.25rem .5rem;font-size:.8125rem;color:var(--slate-500)}
.crumbs li{margin:0;display:flex;gap:.5rem;align-items:center}
.crumbs li+li::before{content:"/";color:var(--slate-300)}
.crumbs a{color:var(--slate-600)}
.crumbs [aria-current]{color:var(--slate-900)}

/* --- hero art (decorative pictogram renderings) --- */
.art{display:block;width:100%;height:auto}
.art-dot{fill:var(--slate-300)}
.art-sq1{fill:var(--royal)}
.art-sq2{fill:none;stroke:var(--slate-300);stroke-width:1}
.art-sq3{fill:var(--sky-100)}
.art-sq4{fill:var(--slate-900)}
.art-sq5{fill:var(--sky-500)}
.art-icon{color:#fff;stroke:#fff}
.art-icon *{vector-effect:non-scaling-stroke;stroke-width:2.5}
.art-rule{stroke:var(--royal);stroke-width:2}

/* --- solutions hero --- */
.sol-hero{background:var(--paper);border-bottom:1px solid var(--line);padding:calc(var(--badge) * .55 + 1.5rem) 0 3rem;background-image:linear-gradient(var(--slate-100) 1px,transparent 1px),linear-gradient(90deg,var(--slate-100) 1px,transparent 1px);background-size:64px 64px}
:root:not(.js) .sol-hero{padding-top:3rem}
.sol-hero-inner{display:grid;gap:2.5rem;align-items:center;grid-template-columns:1fr}
@media (min-width:1056px){.sol-hero-inner{grid-template-columns:minmax(0,3fr) minmax(280px,2fr);gap:4rem}}
.sol-h1{font-size:clamp(2.25rem,1.5rem + 3vw,4rem);font-weight:300;line-height:1.08;letter-spacing:-.02em;margin:0 0 1rem}
.sol-h1 span{color:var(--royal)}
.sol-hero-art{max-width:520px;width:100%;justify-self:end}
@media (max-width:1055px){.sol-hero-art{max-width:360px;justify-self:start}}
@media (max-width:671px){.sol-hero-art{display:none}}
.sol-count{display:flex;gap:0;margin:2rem 0 0;border:1px solid var(--line);width:fit-content;background:var(--paper)}
.sol-count div{padding:1rem 1.5rem;border-right:1px solid var(--line)}
.sol-count div:last-child{border-right:0}
.sol-count dt{font-family:var(--mono);font-size:.6875rem;letter-spacing:.32px;text-transform:uppercase;color:var(--muted)}
.sol-count dd{margin:0;font-size:2rem;font-weight:300;color:var(--heading);line-height:1.1}

/* --- secondary nav (level II) --- */
.sol-nav{position:sticky;top:var(--hdr);z-index:30;background:rgba(255,255,255,.96);border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.sol-nav ul{list-style:none;margin:0;padding:0;display:flex;gap:0;overflow-x:auto;scrollbar-width:thin}
.sol-nav li{margin:0;flex:none}
.sol-nav a{display:flex;align-items:center;gap:.5rem;padding:.875rem 1rem;font-size:.875rem;color:var(--slate-700);border-bottom:3px solid transparent;white-space:nowrap;text-decoration:none}
.sol-nav a:hover{color:var(--royal);border-bottom-color:var(--royal);background:var(--slate-50)}
.sol-nav svg{color:var(--royal)}
.sol-nav b{font-family:var(--mono);font-size:.6875rem;font-weight:400;color:var(--slate-600);background:var(--slate-100);padding:.1rem .4rem}
.sol-cat{scroll-margin-top:calc(var(--hdr) + 56px)}
.sol-cat-head{display:flex;gap:1.5rem;align-items:flex-start;margin-bottom:2rem}
.sol-cat-head .section-lead{max-width:48rem}
.sol-cat-icon{flex:none;width:72px;height:72px;display:flex;align-items:center;justify-content:center;background:var(--royal-bg);color:#fff}
@media (max-width:671px){.sol-cat-icon{width:52px;height:52px}.sol-cat-icon svg{width:28px;height:28px}}

/* --- tiles --- */
.sol-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr;border-top:1px solid var(--line);border-left:1px solid var(--line);background:var(--paper)}
@media (min-width:672px){.sol-grid{grid-template-columns:1fr 1fr}}
@media (min-width:1312px){.sol-grid{grid-template-columns:repeat(3,1fr)}}
.sol-tile{margin:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);position:relative}
.sol-tile a{display:flex;flex-direction:column;height:100%;padding:1.75rem 1.5rem 1.5rem;color:var(--text);text-decoration:none;transition:background-color 150ms var(--ease)}
.sol-tile a::before{content:"";position:absolute;left:-1px;right:-1px;top:-1px;height:3px;background:var(--royal-bg);transform:scaleX(0);transform-origin:left;transition:transform 240ms var(--ease)}
.sol-tile a:hover{background:var(--slate-50)}
.sol-tile a:hover::before{transform:scaleX(1)}
.sol-icon{color:var(--royal);margin-bottom:1rem;display:inline-flex}
.sol-tile h3{font-size:1.25rem;font-weight:400;margin:0 0 .75rem;color:var(--heading)}
.sol-tile p{font-size:.9375rem;color:var(--slate-600);margin:0 0 1.25rem;flex:1}
.sol-more{font-size:.875rem;color:var(--royal);font-weight:500;margin-top:auto}
.sol-tile--compact a{padding:1.5rem}
.sol-tile--compact .meta{margin-bottom:.5rem}
.sol-tile--compact h3{font-size:1.125rem}

/* --- detail page --- */
.sol-summary{border-bottom:1px solid var(--line)}
.sol-panel{border-left:3px solid var(--royal);padding:.25rem 0 .25rem 1.5rem;max-width:62rem;margin-bottom:1.5rem}
.sol-panel-text{font-size:clamp(1.0625rem,1rem + .3vw,1.25rem);font-weight:300;line-height:1.6;color:var(--slate-800);margin:0}
.tags{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.5rem}
.tags li{margin:0;font-family:var(--mono);font-size:.6875rem;letter-spacing:.32px;text-transform:uppercase;padding:.375rem .625rem;background:var(--royal-50);color:var(--royal-hover);border:1px solid var(--royal-100)}
.hl-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr;border-top:1px solid var(--line);border-left:1px solid var(--line);background:var(--paper)}
@media (min-width:672px){.hl-grid{grid-template-columns:1fr 1fr}}
@media (min-width:1056px){.hl-grid{grid-template-columns:repeat(4,1fr)}}
.hl{margin:0;padding:1.75rem 1.5rem;border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:.5rem}
.hl-icon{width:52px;height:52px;display:flex;align-items:center;justify-content:center;background:var(--royal-50);color:var(--royal);margin-bottom:.75rem}
.hl b{font-weight:600;color:var(--heading)}
.hl span:last-child{font-size:.9375rem;color:var(--slate-600)}
.sol-layout{display:grid;grid-template-columns:1fr;gap:3rem}
@media (min-width:1056px){.sol-layout{grid-template-columns:260px minmax(0,1fr);gap:4rem}}
.sol-aside{order:2}
@media (min-width:1056px){.sol-aside{order:0;position:sticky;top:calc(var(--hdr) + 24px);align-self:start;max-height:calc(100vh - var(--hdr) - 48px);overflow:auto}}
.aside-block{border-top:3px solid var(--royal);padding-top:1rem;margin-bottom:2rem}
.toc,.sibs{list-style:none;margin:0;padding:0;font-size:.875rem}
.toc li,.sibs li{margin:0}
.toc a,.sibs a{display:block;padding:.4rem 0 .4rem .75rem;border-left:2px solid var(--line);color:var(--slate-600);text-decoration:none;line-height:1.35}
.toc a:hover,.sibs a:hover{border-left-color:var(--royal);color:var(--royal)}
.sibs a[aria-current]{border-left-color:var(--royal);color:var(--heading);font-weight:600}
.sibs-all{display:inline-block;margin-top:.75rem;font-size:.875rem}
.sol-main{min-width:0}
.sol-main>*{max-width:50rem}
.sol-main>.diagram{max-width:none}
.prose-sec{margin:0 0 2.5rem;scroll-margin-top:calc(var(--hdr) + 24px)}
.sec-n{font-family:var(--mono);font-size:.75rem;color:var(--royal);margin:0 0 .5rem}
.prose-sec h2{font-size:clamp(1.5rem,1.25rem + .9vw,2rem);font-weight:300;margin:0 0 1rem;line-height:1.2}
.prose-sec p{font-size:1.0625rem;line-height:1.7;color:var(--slate-700)}
.pull{font-size:clamp(1.375rem,1.1rem + 1vw,2rem);margin:3rem 0;padding:1.5rem 0 1.5rem 2rem;border-left:4px solid var(--royal);background:linear-gradient(90deg,var(--royal-50),transparent 70%)}
.pull p{margin:0}
.sol-get{background:var(--slate-50);border:1px solid var(--line);padding:2rem}
.sol-get h2{font-size:1.5rem;font-weight:300;margin:0 0 1.25rem}
.checklist{list-style:none;margin:0;padding:0;display:grid;gap:.75rem}
@media (min-width:672px){.checklist{grid-template-columns:1fr 1fr;gap:.75rem 2rem}}
.checklist li{margin:0;display:flex;gap:.75rem;align-items:flex-start;font-size:.9375rem;color:var(--slate-800)}
.checklist svg{flex:none;color:#fff;background:var(--royal-bg);padding:3px;margin-top:2px}

/* diagrams (HTML/CSS: responsive and readable on phones) */
.diagram{margin:0 0 3rem;border:1px solid var(--line);background:var(--paper);padding:1.5rem}
@media (min-width:1056px){.diagram{padding:2rem}}
.dg-title{display:flex;flex-direction:column;gap:.25rem;font-size:1.125rem;font-weight:400;color:var(--heading);margin-bottom:1.5rem}
.dg-title .meta{color:var(--royal);margin:0}
.dg-caption{margin:1.25rem 0 0;font-family:var(--mono);font-size:.75rem;letter-spacing:.32px;color:var(--slate-500);text-transform:uppercase}
.dg-flow{list-style:none;margin:0;padding:0;display:grid;gap:12px;grid-template-columns:1fr;counter-reset:none}
@media (min-width:880px){.dg-flow--4{grid-template-columns:repeat(4,1fr)}.dg-flow--5{grid-template-columns:repeat(5,1fr)}.dg-flow--6{grid-template-columns:repeat(6,1fr)}}
.dg-flow li{margin:0;position:relative;padding:1rem 1rem 1.125rem;background:var(--slate-50);border:1px solid var(--line);border-top:3px solid var(--royal);display:flex;flex-direction:column;gap:.25rem}
.dg-flow li:first-child{background:var(--royal-bg);border-color:var(--royal)}
.dg-flow li:first-child :is(b,span){color:#fff}
.dg-flow li:last-child{background:var(--slate-900);border-color:var(--slate-900);border-top-color:var(--sky-500)}
.dg-flow li:last-child :is(b,span){color:#fff}
.dg-flow .dg-n{font-family:var(--mono);font-size:.6875rem;color:var(--royal)}
.dg-flow li:first-child .dg-n{color:var(--on-royal)}
.dg-flow b{font-weight:600;color:var(--heading);font-size:.9375rem;line-height:1.3}
.dg-flow span:last-child{font-size:.8125rem;color:var(--slate-600);line-height:1.35}
.dg-flow li:not(:last-child)::after{content:"";position:absolute;background:var(--royal-bg);z-index:1}
@media (max-width:879px){.dg-flow li:not(:last-child)::after{left:1.25rem;bottom:-13px;width:2px;height:12px}}
@media (min-width:880px){.dg-flow li:not(:last-child)::after{right:-13px;top:50%;width:12px;height:2px}.dg-flow li:not(:last-child)::before{content:"";position:absolute;right:-14px;top:calc(50% - 4px);border:5px solid transparent;border-left-color:var(--royal);border-right:0;z-index:2}}
.dg-hub{position:relative}
.dg-hub-lines{display:none}
.dg-center{background:var(--royal-bg);color:#fff;padding:1.25rem;display:flex;flex-direction:column;gap:.25rem;margin-bottom:12px}
.dg-center b{font-size:1.125rem;font-weight:500;color:#fff}
.dg-center span{font-size:.8125rem;color:var(--on-royal)}
.dg-spokes{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:12px}
.dg-spoke{margin:0;padding:.875rem 1rem;background:var(--slate-50);border:1px solid var(--line);display:flex;flex-direction:column;gap:.2rem}
.dg-spoke b{font-size:.9375rem;font-weight:600;color:var(--heading);line-height:1.3}
.dg-spoke span{font-size:.8125rem;color:var(--slate-600);line-height:1.35}
@media (min-width:880px){
  .dg-hub{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,auto);gap:20px}
  .dg-hub-lines{display:block;position:absolute;inset:0;width:100%;height:100%;z-index:0}
  .dg-hub-lines line{stroke:var(--royal);stroke-width:1.5;stroke-dasharray:4 4;vector-effect:non-scaling-stroke}
  .dg-spokes{display:contents}
  .dg-center{grid-column:2;grid-row:2;margin:0;z-index:1;align-self:center;text-align:center;padding:1.75rem 1.25rem;box-shadow:0 0 0 8px var(--paper),0 0 0 9px var(--royal-100)}
  .dg-spoke{z-index:1;background:var(--paper);align-self:center}
  .dg-tl{grid-column:1;grid-row:1}.dg-tc{grid-column:2;grid-row:1}.dg-tr{grid-column:3;grid-row:1}
  .dg-ml{grid-column:1;grid-row:2}.dg-mr{grid-column:3;grid-row:2}
  .dg-bl{grid-column:1;grid-row:3}.dg-bc{grid-column:2;grid-row:3}.dg-br{grid-column:3;grid-row:3}
}
.dg-layers{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.dg-layers>li{margin:0;display:grid;grid-template-columns:1fr;gap:.75rem;padding:1rem;background:var(--slate-50);border:1px solid var(--line);border-left:4px solid var(--royal)}
@media (min-width:672px){.dg-layers>li{grid-template-columns:200px 1fr;align-items:center}}
.dg-layers>li:first-child{background:var(--royal-bg);border-color:var(--royal)}
.dg-layers>li:first-child b{color:#fff}
.dg-layers>li:first-child li{background:rgba(255,255,255,.14);color:#fff;border-color:rgba(255,255,255,.3)}
.dg-layers>li:last-child{background:var(--slate-900);border-color:var(--slate-900);border-left-color:var(--sky-500)}
.dg-layers>li:last-child b{color:#fff}
.dg-layers>li:last-child li{background:var(--slate-800);color:var(--slate-200);border-color:var(--slate-700)}
.dg-layers b{font-weight:600;color:var(--heading);font-size:.9375rem}
.dg-layers ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.dg-layers ul li{margin:0;font-size:.8125rem;padding:.375rem .625rem;background:var(--paper);border:1px solid var(--line);color:var(--slate-700)}

/* how we deliver */
.steps{list-style:none;margin:0 0 2.5rem;padding:0;display:grid;grid-template-columns:1fr;gap:1px;background:var(--slate-700);border:1px solid var(--slate-700)}
@media (min-width:672px){.steps{grid-template-columns:1fr 1fr}}
@media (min-width:1056px){.steps{grid-template-columns:repeat(5,1fr)}}
.steps li{margin:0;background:var(--slate-900);padding:1.5rem;display:flex;flex-direction:column;gap:.5rem;position:relative}
.steps li:hover{background:var(--slate-800)}
.st-n{font-family:var(--mono);font-size:2.25rem;font-weight:400;color:var(--royal);line-height:1;-webkit-text-stroke:0;color:transparent;-webkit-text-stroke:1px var(--sky-200)}
.steps b{color:#fff;font-weight:500;font-size:1.0625rem}
.steps span:last-child{color:var(--slate-300);font-size:.875rem}
.team ul{list-style:none;margin:.5rem 0 0;padding:0;display:flex;flex-wrap:wrap;gap:.5rem}
.team li{margin:0;display:flex;align-items:center;gap:.5rem;padding:.5rem .875rem;border:1px solid var(--slate-700);color:var(--slate-200);font-size:.875rem;background:var(--slate-900)}
.team li svg{color:var(--sky-200)}
.team .tm-badge{padding:.25rem .875rem .25rem .375rem}
.team .tm-badge img{width:auto;height:36px}

/* faq */
.sol-faq-inner{display:grid;grid-template-columns:1fr;gap:1rem}
@media (min-width:1056px){.sol-faq-inner{grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:4rem}}
.faqs{border-top:1px solid var(--line)}
.faq{border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer;list-style:none;padding:1.25rem 3rem 1.25rem 0;font-size:1.0625rem;font-weight:500;color:var(--heading);position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:.5rem;top:50%;transform:translateY(-50%);font-family:var(--mono);font-size:1.5rem;font-weight:300;color:var(--royal);transition:transform 150ms var(--ease)}
.faq[open] summary::after{transform:translateY(-50%) rotate(45deg)}
.faq summary:hover{color:var(--royal)}
.faq p{margin:0 0 1.25rem;color:var(--slate-600);max-width:46rem}

/* --- home: extended service panels + explorer --- */
.svc-band{padding-top:0}
.svc-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr;border-top:1px solid var(--line);border-left:1px solid var(--line);background:var(--paper)}
@media (min-width:672px){.svc-grid{grid-template-columns:1fr 1fr}}
@media (min-width:1056px){.svc-grid{grid-template-columns:repeat(3,1fr)}}
.svc-tile{margin:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);position:relative}
.svc-tile a{display:flex;flex-direction:column;height:100%;padding:2rem 1.75rem 1.75rem;color:var(--text);text-decoration:none;transition:background-color 150ms var(--ease)}
.svc-tile a::before{content:"";position:absolute;left:-1px;right:-1px;top:-1px;height:3px;background:var(--royal-bg);transform:scaleX(0);transform-origin:left;transition:transform 240ms var(--ease)}
.svc-tile a:hover{background:var(--slate-50)}
.svc-tile a:hover::before{transform:scaleX(1)}
.svc-icon{color:var(--royal);margin-bottom:1.5rem;display:inline-flex}
.svc-label{font-size:clamp(1.75rem,1.4rem + 1vw,2.25rem);font-weight:300;color:var(--heading);margin:0 0 .25rem;line-height:1.1}
.svc-tile .meta{color:var(--royal);margin-bottom:1.25rem}
.svc-text{font-size:.9375rem;line-height:1.6;color:var(--slate-600);margin:0 0 1.5rem;flex:1}
.explorer{border-top:1px solid var(--line)}
.ex-grid{display:grid;grid-template-columns:1fr;gap:0;border-top:1px solid var(--line);border-left:1px solid var(--line)}
@media (min-width:672px){.ex-grid{grid-template-columns:1fr 1fr}}
@media (min-width:1312px){.ex-grid{grid-template-columns:repeat(3,1fr)}}
.ex-block{padding:1.5rem;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.ex-h{margin:0 0 .5rem}
.ex-h a{display:flex;align-items:center;gap:.625rem;font-size:1.125rem;font-weight:500;color:var(--heading);text-decoration:none}
.ex-h a:hover{color:var(--royal)}
.ex-h svg{color:var(--royal);flex:none}
.ex-sum{font-size:.875rem;color:var(--slate-600);margin:0 0 1rem}
.ex-block ul{list-style:none;margin:0;padding:0;display:grid;gap:0}
.ex-block li{margin:0;border-top:1px solid var(--slate-100)}
.ex-block li a{display:flex;align-items:center;gap:.625rem;padding:.5rem 0;font-size:.9375rem;color:var(--slate-700);text-decoration:none}
.ex-block li a:hover{color:var(--royal)}
.ex-block li svg{color:var(--slate-400);flex:none}
.ex-block li a:hover svg{color:var(--royal)}
.ex-all{margin:2rem 0 0}
.mega{z-index:60}
.site-nav .mega .btn{color:#fff;display:inline-flex;padding:.5rem 1rem;height:auto}
.site-nav .mega .btn:hover{background:var(--royal-hover);color:#fff}
.site-nav .mega .btn::after{display:none}
@media (min-width:1600px){.mega-grid{grid-template-columns:repeat(5,1fr)}}
.ex-cta{background:var(--royal-bg);color:var(--on-royal);display:flex;flex-direction:column;justify-content:center;gap:.75rem;grid-column:1/-1}
@media (min-width:1312px){.ex-cta{grid-column:span 2}}
.ex-cta-n{font-size:clamp(3rem,2.5rem + 2vw,4.5rem);font-weight:300;line-height:1;color:#fff;margin:0}
.ex-cta-t{font-size:1.125rem;font-weight:300;color:#fff;margin:0 0 .75rem;max-width:30rem}
.ex-cta .btn{align-self:flex-start}

/* specialist roster (subject matter experts) */
.roster{border-bottom:1px solid var(--line)}
.role-group{margin-bottom:2.5rem}
.role-group:last-child{margin-bottom:0}
.role-group-h{display:flex;align-items:center;gap:.625rem;font-size:1rem;font-weight:600;margin:0 0 1rem;padding-bottom:.75rem;border-bottom:2px solid var(--royal)}
.role-group-h svg{color:var(--royal)}
.role-group-h b{font-family:var(--mono);font-size:.6875rem;font-weight:400;color:var(--slate-500);background:var(--slate-100);padding:.1rem .45rem;margin-left:.25rem}
.role-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr;border-top:1px solid var(--line);border-left:1px solid var(--line)}
@media (min-width:672px){.role-grid{grid-template-columns:1fr 1fr}}
@media (min-width:1312px){.role-grid{grid-template-columns:repeat(3,1fr)}}
.role{margin:0;padding:1.5rem;border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;flex-direction:column;background:var(--paper);transition:background-color 150ms var(--ease)}
.role:hover{background:var(--slate-50)}
.role .meta{color:var(--royal);margin-bottom:.5rem}
.role h3{font-size:1.25rem;font-weight:400;margin:0 0 .75rem;line-height:1.3}
.role>p:not(.meta){font-size:.9375rem;color:var(--slate-600);margin:0 0 1.25rem;flex:1}
.role-focus{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.375rem}
.role-focus li{margin:0;font-size:.75rem;padding:.3rem .55rem;background:var(--royal-50);color:var(--royal-hover);border:1px solid var(--royal-100)}
.role--lead{background:var(--royal-bg);color:var(--on-royal)}
.role--lead:hover{background:var(--royal-hover)}
.role--lead .meta{color:var(--sky-200)}
.role--lead h3{color:#fff;font-size:1.375rem}
.role--lead>p:not(.meta){color:var(--on-royal)}
.role--lead .role-focus li{background:rgba(255,255,255,.12);color:#fff;border-color:rgba(255,255,255,.3)}
@media (min-width:1312px){.role-group:first-child .role-grid{grid-template-columns:1fr 1fr 1fr}}
@media (min-width:1312px){.role-grid:has(> :nth-child(2):last-child){grid-template-columns:1fr 1fr}}

/* ---------- practice method: stages, templates, references ---------- */
.lifecycle--7 li{grid-template-columns:3rem 1fr}
.lifecycle--7 li>span:not(.lc-n){grid-column:2}
@media (min-width:960px){.lifecycle--7{grid-template-columns:repeat(4,1fr);row-gap:2rem}}
@media (min-width:1312px){.lifecycle--7{grid-template-columns:repeat(7,1fr)}}
.lifecycle--7 li>span:nth-of-type(2){font-size:.875rem;color:var(--slate-600);display:block}
.lc-art{display:block;font-family:var(--mono);font-size:.6875rem!important;color:var(--slate-500)!important;margin-top:.625rem;line-height:1.5}
.lc-gate{display:inline-flex!important;align-items:center;gap:.375rem;margin-top:.75rem;font-size:.75rem!important;font-weight:600;color:var(--royal)!important;text-transform:uppercase;letter-spacing:.04em}
.mt-more{margin:2rem 0 0;font-weight:500}
.method-strip{list-style:none;margin:0 0 2rem;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
@media (min-width:672px){.method-strip{grid-template-columns:repeat(4,1fr)}}
@media (min-width:1056px){.method-strip{grid-template-columns:repeat(7,1fr)}}
.method-strip li{margin:0;background:var(--paper);padding:1rem;display:flex;flex-direction:column;gap:.125rem;color:var(--slate-500);border-top:3px solid transparent}
.method-strip li b{color:var(--slate-500);font-weight:500}
.method-strip li span:last-child{font-size:.75rem}
.method-strip .ms-n{font-family:var(--mono);font-size:.75rem}
.method-strip li.on{border-top-color:var(--royal);color:var(--slate-600)}
.method-strip li.on b{color:var(--heading)}
.method-strip li.on .ms-n{color:var(--royal)}
.mt-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr;border-top:1px solid var(--line);border-left:1px solid var(--line);background:var(--paper)}
@media (min-width:672px){.mt-grid{grid-template-columns:1fr 1fr}}
@media (min-width:1056px){.mt-grid{grid-template-columns:repeat(3,1fr)}}
.mt-card{margin:0;padding:1.5rem;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.mt-card .meta{color:var(--royal);margin-bottom:.5rem}
.mt-card h3{font-size:1.125rem;font-weight:500;margin:0 0 .5rem;color:var(--heading)}
.mt-card p:last-child{font-size:.9375rem;color:var(--slate-600)}
.sol-refs{margin-top:2.5rem;border-top:1px solid var(--line);padding-top:2rem}
.sol-refs h2{font-size:1.25rem;font-weight:500;margin:0 0 .5rem}
.sol-refs ol{margin:1rem 0 0;padding-left:1.5rem}
.sol-refs li{font-size:.9375rem}
.ref-host{display:block;font-family:var(--mono);font-size:.75rem;color:var(--slate-500)}
.sol-fig{margin:2.5rem 0}
.sol-fig img{display:block;width:100%;height:auto;border:1px solid var(--line)}
.team-note{margin:1.5rem 0 0;max-width:56rem;font-size:.9375rem;color:var(--slate-300);border-left:3px solid var(--sky-200);padding-left:1rem}
.team-note b{color:#fff}
.stages{list-style:none;margin:0;padding:0;display:grid;gap:1px;background:var(--line);border:1px solid var(--line)}
.stage{margin:0;background:var(--paper);padding:1.75rem 1.5rem;display:grid;gap:1rem}
@media (min-width:1056px){.stage{grid-template-columns:minmax(220px,1fr) 3fr;gap:2rem;padding:2rem}.stage-gate{grid-column:2}}
.stage header .st-n{-webkit-text-stroke:1px var(--royal);font-size:2rem}
.stage header h3{font-size:1.5rem;font-weight:400;margin:.5rem 0}
.stage header p{color:var(--slate-600);font-size:.9375rem}
.stage-cols{display:grid;gap:1.5rem}
@media (min-width:672px){.stage-cols{grid-template-columns:1fr 1fr}}
.stage-cols ul{margin:.5rem 0 0;font-size:.9375rem}
.stage-art{list-style:none;padding:0}
.stage-art li{display:flex;gap:.5rem;align-items:flex-start}
.stage-art svg{flex:none;color:var(--royal);margin-top:.2rem}
.stage-gate{margin:0;display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:var(--royal-50);color:var(--slate-700);font-size:.9375rem}
.stage-gate svg{color:var(--royal)}
.gov{margin-top:2rem}
.gov ul{list-style:none;margin:.5rem 0 0;padding:0;display:flex;flex-wrap:wrap;gap:.5rem}
.gov li{margin:0;padding:.5rem .875rem;border:1px solid var(--line);background:var(--paper);font-size:.875rem}
.bench-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr;gap:1px;background:var(--line);border:1px solid var(--line)}
@media (min-width:672px){.bench-list{grid-template-columns:1fr 1fr}}
@media (min-width:1056px){.bench-list{grid-template-columns:repeat(3,1fr)}}
.bench-list li{margin:0;background:var(--paper);padding:1rem 1.25rem;display:flex;gap:.75rem;align-items:center;color:var(--heading)}
.bench-list svg{color:var(--royal);flex:none}
.ed-note{margin:2rem 0 0;padding:1.5rem;border:1px solid var(--royal-100);border-left:4px solid var(--royal);background:var(--royal-50)}
.ed-note .meta{color:var(--royal);margin-bottom:.5rem}
.ed-note p,.ed-note li{font-size:.9375rem}
.ed-note ul{margin:.5rem 0 0}
.fact-src{margin-top:auto!important;padding-top:.75rem;font-size:.8125rem!important}
.band--brand .fact-src a{text-decoration:underline}
@media (max-width:671px){.method-strip li:last-child{grid-column:1/-1}}
@media (min-width:672px) and (max-width:1055px){.method-strip li:last-child{grid-column:span 2}}
@media (min-width:960px) and (max-width:1311px){.lifecycle--7 li:last-child{grid-column:span 1}}


/* ---------- legal pages ---------- */
.legal h2{font-size:1.5rem;font-weight:400;scroll-margin-top:120px}
.legal h3{font-size:1.125rem;font-weight:500;margin-top:1.75rem}
.legal-toc{border:1px solid var(--line);background:var(--slate-50);padding:1.25rem 1.5rem;margin:2rem 0 2.5rem}
.legal-toc ol{margin:0;columns:2;column-gap:2rem}
@media (max-width:671px){.legal-toc ol{columns:1}}
.legal-toc li{break-inside:avoid}
.legal td,.legal th{vertical-align:top;text-align:left}
.legal code{font-size:.8125rem;white-space:nowrap}

/* ---------- managed services tiers ---------- */
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
:root{--bronze:#a15c2a;--silver:#7c8794;--gold:#b8860b;--diamond:#1d4ed8}
.tier-gem{display:inline-block;width:12px;height:12px;transform:rotate(45deg);margin-right:.625rem;vertical-align:.05em;background:var(--royal-bg)}
.tier--bronze .tier-gem,.ct-bronze .tier-gem{background:var(--bronze)}
.tier--silver .tier-gem,.ct-silver .tier-gem{background:var(--silver)}
.tier--gold .tier-gem,.ct-gold .tier-gem{background:var(--gold)}
.tier--diamond .tier-gem,.ct-diamond .tier-gem{background:linear-gradient(135deg,var(--sky-200),var(--diamond))}
.tier-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr;gap:1px;background:var(--line);border:1px solid var(--line)}
@media (min-width:672px){.tier-grid{grid-template-columns:1fr 1fr}}
@media (min-width:1312px){.tier-grid{grid-template-columns:repeat(4,1fr)}}
.tier{margin:0;background:var(--paper);padding:1.75rem 1.5rem;display:flex;flex-direction:column;gap:1rem;border-top:4px solid var(--slate-200)}
.tier--bronze{border-top-color:var(--bronze)}.tier--silver{border-top-color:var(--silver)}.tier--gold{border-top-color:var(--gold)}.tier--diamond{border-top-color:var(--diamond)}
.tier--featured{box-shadow:inset 0 0 0 2px var(--royal-100)}
.tier-name{margin:0;font-family:var(--mono);font-size:.8125rem;text-transform:uppercase;letter-spacing:.08em;color:var(--slate-600)}
.tier h3{margin:0;font-size:1.625rem;font-weight:400;color:var(--heading)}
.tier-sum{margin:0;color:var(--slate-600);font-size:.9375rem}
.tier-kv{margin:0;display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line)}
.tier-kv div{background:var(--slate-50);padding:.75rem}
.tier-kv dt{font-size:.75rem;color:var(--slate-500)}
.tier-kv dd{margin:0;font-weight:600;color:var(--heading)}
.tier-pts{list-style:none;margin:0;padding:0;font-size:.9375rem}
.tier-pts li{display:flex;gap:.5rem;align-items:flex-start}
.tier-pts svg{flex:none;color:var(--royal);margin-top:.2rem}
.tier-ideal{margin:0;font-size:.875rem;color:var(--slate-600);border-top:1px solid var(--line);padding-top:1rem;flex:1}
.tier-more{font-weight:500}
.ct-wrap{background:var(--paper);max-height:none}
.ct{min-width:860px;font-size:.875rem}
.ct thead th{position:sticky;top:0;background:var(--slate-900);color:#fff;font-weight:500;font-size:1rem;vertical-align:bottom;z-index:1}
.ct thead th small{display:block;font-size:.75rem;font-weight:400;color:var(--slate-300);margin-top:.125rem}
.ct thead .ct-corner{background:var(--slate-900)}
.ct tbody th{font-weight:500;color:var(--heading);background:var(--paper);width:24%}
.ct tbody th small{display:block;font-weight:400;color:var(--slate-500);font-size:.75rem;margin-top:.25rem}
.ct td{width:19%}
.ct .ct-group th{background:var(--slate-100);font-family:var(--mono);font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:var(--royal);padding:.5rem 1rem}
.ct .ct-yes{color:var(--royal)}
.ct-note{margin:1.25rem 0 0;font-size:.875rem;color:var(--slate-600);max-width:60rem}
.ct-note--callout{display:flex;gap:.625rem;align-items:flex-start;background:var(--paper);border-left:3px solid var(--royal);padding:1rem 1.25rem;max-width:none}
.ct-note--callout svg{flex:none;color:var(--royal);margin-top:.15rem}
@media (min-width:1056px){.steps--6{grid-template-columns:repeat(6,1fr)}}
.io-grid{display:grid;grid-template-columns:1fr;gap:1px;background:var(--line);border:1px solid var(--line)}
@media (min-width:960px){.io-grid{grid-template-columns:1fr 1fr}}
.io-col{background:var(--paper);padding:2rem}
.io-col h3{display:flex;gap:.625rem;align-items:center;margin:0 0 1.25rem;font-size:1.25rem;font-weight:500}
.io-col h3 svg{color:var(--royal)}
.io-col--ex h3 svg,.io-col--ex .checklist svg{color:var(--slate-500)}
.scope-notes{margin-top:1.5rem;font-size:.9375rem;color:var(--slate-600)}
.pri-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr;gap:1px;background:var(--line);border:1px solid var(--line)}
@media (min-width:672px){.pri-grid{grid-template-columns:1fr 1fr}}
@media (min-width:1056px){.pri-grid{grid-template-columns:repeat(4,1fr)}}
.pri{margin:0;background:var(--paper);padding:1.5rem;border-top:4px solid var(--slate-300)}
.pri b{display:block;font-family:var(--mono);font-size:2rem;font-weight:500;color:var(--heading);line-height:1}
.pri .meta{display:block;margin:.375rem 0 .75rem}
.pri p{margin:0;font-size:.9375rem;color:var(--slate-600)}
.pri--p1{border-top-color:#b91c1c}.pri--p2{border-top-color:#c2410c}.pri--p3{border-top-color:var(--royal)}.pri--p4{border-top-color:var(--slate-400)}
.sm-grid{display:grid;grid-template-columns:1fr;gap:1px;background:var(--line);border:1px solid var(--line)}
@media (min-width:960px){.sm-grid{grid-template-columns:1fr 1fr}}
.sm-card{background:var(--paper);padding:2rem}
.sm-card h3{font-size:1.25rem;font-weight:500;margin:1rem 0 .5rem}
.sm-card p{margin:0;color:var(--slate-600)}
.app-groups{display:grid;grid-template-columns:1fr;gap:1.5rem}
@media (min-width:960px){.app-groups{grid-template-columns:1fr 1fr}}
@media (min-width:1312px){.app-groups{grid-template-columns:repeat(3,1fr)}}
.app-group{background:var(--paper);border:1px solid var(--line);padding:1.5rem}
.app-group h3{display:flex;justify-content:space-between;align-items:baseline;margin:0 0 1rem;font-size:1.0625rem;font-weight:500;border-bottom:1px solid var(--line);padding-bottom:.75rem}
.app-group h3 b{font-family:var(--mono);font-size:.8125rem;color:var(--royal);font-weight:500}
.app-group ul{list-style:none;margin:0;padding:0}
.app-group li{margin:0;padding:.5rem 0;border-bottom:1px solid var(--slate-100);display:grid;gap:.125rem}
.app-group li:last-child{border-bottom:0}
.app-group li b{font-weight:500;font-size:.9375rem}
.app-group li span{font-size:.8125rem;color:var(--slate-600)}
.onoff{display:grid;grid-template-columns:1fr;gap:2.5rem}
@media (min-width:960px){.onoff{grid-template-columns:3fr 2fr;gap:4rem}}
.onoff h3{font-size:1.25rem;font-weight:500;margin:0 0 1.25rem}
.tl{list-style:none;margin:0;padding:0;border-left:2px solid var(--royal-100)}
.tl li{margin:0 0 0 0;padding:0 0 1.25rem 1.5rem;position:relative;display:grid;gap:.25rem}
.tl li::before{content:"";position:absolute;left:-7px;top:.35rem;width:12px;height:12px;background:var(--royal-bg)}
.tl .st-n{font-size:.75rem;-webkit-text-stroke:0;color:var(--royal);font-family:var(--mono)}
.tl b{color:var(--heading);font-weight:500}
.tl span:last-child{font-size:.9375rem;color:var(--slate-600)}
.ms-nav{position:sticky;top:var(--hdr,64px);z-index:5}
.ct tbody th,.ct thead .ct-corner{position:sticky;left:0;z-index:2}
.ct thead .ct-corner{z-index:3}
.ct .ct-group th{position:static}
.ct .ct-group th span{position:sticky;left:1rem}
@media (max-width:959px){.ct{min-width:760px}.ct tbody th{width:150px;min-width:150px;box-shadow:1px 0 0 var(--line)}}
.ct-hint{display:none;font-size:.8125rem;color:var(--slate-500);margin:0 0 .75rem}
@media (max-width:959px){.ct-hint{display:block}}
.tier-kv dd{font-size:.9375rem}
.ct-wrap{position:relative}

/* ---------- use the full page width: layout, not longer lines ---------- */
@media (min-width:1056px){
  .section-head:has(> .section-lead){max-width:none;display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);column-gap:4rem;align-items:end}
  .section-head:has(> .section-lead) > :not(.section-lead){grid-column:1}
  .section-head:has(> .section-lead) > .section-lead{grid-column:2;grid-row:1 / span 3;align-self:end;max-width:46rem}
  .section-head:has(> .section-lead) .section-title{margin-bottom:0}
}
.sum-grid{display:grid;grid-template-columns:1fr;gap:2rem}
@media (min-width:1056px){.sum-grid{grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:4rem;align-items:start}}
.sum-grid .sol-panel{max-width:none;margin:0}
.sum-side{display:grid;gap:1.5rem}
.sum-side .meta{margin-bottom:.625rem}
.sum-team{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.5rem}
.sum-team li{margin:0;padding:.375rem .75rem;border:1px solid var(--line);background:var(--slate-50);font-size:.875rem;color:var(--heading)}
@media (min-width:1312px){
  .sol-main>*{max-width:none}
  .prose-sec{display:grid;grid-template-columns:minmax(12rem,17rem) minmax(0,1fr);column-gap:3rem;align-items:start}
  .prose-sec>.sec-head{position:sticky;top:calc(var(--hdr) + 72px)}
  .prose-sec>.sec-head h2{margin-bottom:0}
  .prose-sec>.sec-body{max-width:52rem}
  .sol-get .checklist{columns:2;column-gap:3rem}
  .sol-get .checklist li{break-inside:avoid}
  .sol-refs ol{columns:2;column-gap:3rem}
  .sol-refs li{break-inside:avoid}
}
.faq p{max-width:none}
.legal-grid{display:grid;grid-template-columns:1fr;gap:2rem}
@media (min-width:1056px){.legal-grid{grid-template-columns:17rem minmax(0,62rem);gap:4rem}
  .legal-grid .legal-toc{position:sticky;top:calc(var(--hdr) + 24px);align-self:start;margin:0;max-height:calc(100vh - var(--hdr) - 48px);overflow:auto}
  .legal-grid .legal-toc ol{columns:1}}
.legal .wrap>p,.legal .wrap>h1{max-width:52rem}

.platform-head .section-head{display:block!important;max-width:52rem}
.platform-head .section-head .section-title{margin-bottom:1rem!important}
.prose-sec .sec-n{font-size:.75rem;line-height:1.5;color:var(--royal);margin:0 0 .5rem}
.legal-grid>*{min-width:0}.legal-toc{overflow-wrap:anywhere}

/* ---------- QVCCS App Suite: hub, app list links, themed user guides ---------- */
.suite-note{display:flex;gap:.75rem;align-items:flex-start;margin:1.5rem 0 0;padding:1rem 1.25rem;background:var(--royal-50);border-left:3px solid var(--royal);font-size:.9375rem;color:var(--slate-700);max-width:none}
.suite-note svg{flex:none;color:var(--royal);margin-top:.15rem}
.suite-note b{color:var(--heading)}
.suite-note--panel{margin:0}
.app-group li.has-guide{padding:0}
.app-group li.has-guide a{display:grid;gap:.125rem;padding:.5rem 0;color:inherit;text-decoration:none}
.app-group li.has-guide a:hover b{color:var(--royal)}
.app-guide{font-size:.75rem!important;font-weight:500;color:var(--royal)!important;font-family:var(--mono)}
.app-new{font-style:normal;font-family:var(--mono);font-size:.625rem;font-weight:500;text-transform:uppercase;letter-spacing:.06em;margin-left:.5rem;padding:.1rem .375rem;background:var(--royal-bg);color:#fff;vertical-align:.15em}
.g-aka{font-size:.875rem;color:var(--slate-600);margin:-.75rem 0 1.25rem}
.g-toc li{margin:0}
.g-toc a{display:flex;gap:.5rem}
.g-tn{font-family:var(--mono);font-size:.75rem;color:var(--royal);min-width:1.5rem}
.g-tsub a{padding-left:2rem;font-size:.8125rem;color:var(--slate-500)}
.guide-body{min-width:0;max-width:64rem}
.g-sec{padding:0 0 2rem;margin:0 0 2.5rem;border-bottom:1px solid var(--line);scroll-margin-top:calc(var(--hdr) + 24px)}
.g-sec [id]{scroll-margin-top:calc(var(--hdr) + 24px)}
.guide-body h2{display:flex;align-items:baseline;gap:.75rem;font-size:clamp(1.5rem,1.25rem + .9vw,2rem);font-weight:300;line-height:1.2;margin:0 0 1.25rem;padding-bottom:.75rem;border-bottom:2px solid var(--royal);color:var(--heading)}
.g-no{font-family:var(--mono);font-size:.875rem;font-weight:500;color:var(--royal)}
.guide-body h3{font-size:1.25rem;font-weight:500;margin:2rem 0 .75rem;color:var(--heading)}
.guide-body h4,.guide-body .h4{font-family:var(--mono);font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.08em;margin:1.5rem 0 .5rem;color:var(--slate-600)}
.guide-body p,.guide-body li,.guide-body dd{font-size:1rem;line-height:1.7;color:var(--slate-700)}
.guide-body p,.guide-body ul,.guide-body ol,.guide-body dl{max-width:56rem}
.guide-body code{font-family:var(--mono);font-size:.85em;background:var(--slate-100);border:1px solid var(--line);padding:.05rem .3rem;color:var(--heading);overflow-wrap:anywhere}
.guide-body kbd{font-family:var(--mono);font-size:.8em;background:var(--slate-900);color:#fff;padding:.1rem .375rem}
.g-table{margin:1rem 0 1.5rem}
.g-table table{font-size:.875rem}
.g-table th{font-family:var(--mono);font-size:.6875rem;text-transform:uppercase;letter-spacing:.06em;color:var(--slate-600);white-space:nowrap}
.g-table td code{white-space:normal;overflow-wrap:anywhere}
.g-m{display:inline-block;font-family:var(--mono);font-weight:500;font-size:.6875rem;padding:.125rem .4rem;border:1px solid}
.g-m.g-get{background:#ecfdf5;color:#047857;border-color:#6ee7b7}
.g-m.g-post{background:var(--royal-50);color:var(--royal-hover);border-color:var(--royal-100)}
.g-m.g-put{background:#fffbeb;color:#b45309;border-color:#fcd34d}
.g-m.g-del{background:#fff1f2;color:#be123c;border-color:#fda4af}
.g-note,.g-ok,.g-warn,.g-err,.g-callout{padding:1rem 1.25rem;margin:1.25rem 0;border-left:3px solid;font-size:.9375rem;max-width:56rem}
.g-note,.g-callout{background:var(--sky-50);border-color:var(--sky-500)}
.g-ok{background:#ecfdf5;border-color:#059669}
.g-warn{background:#fffbeb;border-color:#d97706}
.g-err{background:#fff1f2;border-color:#e11d48}
.g-note p:last-child,.g-ok p:last-child,.g-warn p:last-child,.g-err p:last-child{margin-bottom:0}
.guide-body dt{font-weight:600;color:var(--heading);margin-top:1rem}
.guide-body dd{margin:.25rem 0 0}
.g-foot{font-size:.875rem!important;color:var(--slate-500)!important}
.guide-cta .btn{margin-top:.5rem}
.g-table td:has(> .g-m:only-child){width:1%;white-space:nowrap}.g-table td{min-width:6rem}

/* ---------- original inline illustrations (.il) ---------- */
.il{margin:2.5rem 0;border:1px solid var(--line);background:#fff}
.il .il-svg{display:block;width:100%;height:auto}
.il figcaption{font-family:var(--mono);font-size:.75rem;letter-spacing:.32px;text-transform:uppercase;color:var(--slate-500);padding:.875rem 1.25rem;border-top:1px solid var(--line);background:var(--slate-50)}
.il-bg{fill:var(--slate-50)}
.il-dot{fill:var(--slate-300)}
.il-panel{fill:#fff;stroke:var(--slate-200)}
.il-tile{fill:#fff;stroke:var(--slate-300)}
.il-tile--royal{fill:var(--royal);stroke:var(--royal)}
.il-tile--soft{fill:var(--royal-50);stroke:var(--royal-100)}
.il-tile--ink{fill:var(--slate-900);stroke:var(--slate-900)}
.il-tile--warn{fill:#fffbeb;stroke:#fcd34d}
.il-tile--ok{fill:#ecfdf5;stroke:#6ee7b7}
.il-guard{fill:none;stroke:var(--royal);stroke-width:1.5;stroke-dasharray:6 5}
.il-line{fill:none;stroke:var(--slate-400);stroke-width:1.5}
.il-line--royal{stroke:var(--royal);stroke-width:2}
.il-line--thick{stroke-width:3}
.il-line--dash{stroke-dasharray:4 4}
.il-line--tangle{stroke:#d97706;stroke-width:1.5}
.il-ah{fill:var(--royal)}
.il-k{font-family:var(--mono);font-size:13px;letter-spacing:1.5px;fill:var(--royal)}
.il-k--small{font-size:11px;letter-spacing:1px}
.il-k--on{fill:var(--sky-200)}
.il-h{font-family:var(--sans);font-weight:300;font-size:26px;fill:var(--slate-900)}
.il-t{font-family:var(--sans);font-size:15px;fill:var(--slate-700)}
.il-t--s{font-size:13px}
.il-t--on{fill:#fff}
.il-t--muted{fill:var(--slate-500)}
.il-rule{fill:var(--slate-200)}
.il-bubble{fill:var(--royal-50);stroke:var(--royal)}
.il-bar{fill:var(--royal-100)}
.il-cross-c{fill:#fff1f2;stroke:#e11d48}
.il-cross-x{stroke:#e11d48;stroke-width:2;fill:none}
.il-tick{fill:none;stroke:#059669;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}
.il-gear{fill:none;stroke:#fff;stroke-width:6;stroke-dasharray:6 4}
.il-gear-c{fill:#fff}
.il-gear--soft{stroke:var(--royal);stroke-width:4}.il-gear-c--soft{fill:var(--royal)}
.il-person{fill:var(--slate-700)}
.il-phone{fill:var(--royal);stroke:#fff;stroke-width:1.5}
.il-headset{fill:none;stroke:var(--royal);stroke-width:3;stroke-linecap:round}
@media (max-width:671px){.il{overflow-x:auto}.il .il-svg{min-width:720px}}
/* illustration kit, extended */
.il-tile--sky{fill:var(--sky-50);stroke:var(--sky-200)}
.il-tile--dash{fill:#fff;stroke:var(--slate-400);stroke-dasharray:5 4}
.il-t--l{font-size:19px}
.il-t--xl{font-family:var(--sans);font-size:36px;font-weight:300;fill:var(--slate-900)}
.il-t--b{font-weight:600}
.il-t--royal{fill:var(--royal)}
.il-k--muted{fill:var(--slate-500)}
.il-fill-royal{fill:var(--royal)}
.il-fill-soft{fill:var(--royal-100)}
.il-fill-sky{fill:var(--sky-200)}
.il-fill-ink{fill:var(--slate-900)}
.il-fill-slate{fill:var(--slate-300)}
.il-fill-white{fill:#fff}
.il-fill-ok{fill:#059669}.il-fill-warn{fill:#d97706}.il-fill-err{fill:#e11d48}
.il-stroke{fill:none;stroke:var(--slate-700);stroke-width:2}
.il-stroke-royal{fill:none;stroke:var(--royal);stroke-width:2}
.il-stroke-white{fill:none;stroke:#fff;stroke-width:2}
.il-area{fill:var(--royal-100);opacity:.7}
.il-band{fill:var(--ok-band,#ecfdf5)}
.il-grid{stroke:var(--slate-200);stroke-width:1}
.il--thumb .il-svg{min-width:0!important}
.il{max-width:72rem}
.il--cover{max-width:56rem;margin:2rem auto}
.page-article .il--cover{margin-left:auto;margin-right:auto}
.il--thumb{display:block;border:0;margin:0}
.il--thumb .il-svg{display:block;width:100%;height:auto}
.card-media .il--thumb{background:var(--paper)}
/* screenshots render at their true size (never upscaled), centred in the reading column */
.page-article main img:not(.il-svg){width:auto;max-width:100%;height:auto}
.page-article main picture,.page-article main p>img{display:block;width:fit-content;max-width:100%;margin:1.5rem auto}
.page-article main picture img{display:block}
/* the home closing band: theme colour instead of the legacy background photo */
.page-home .band--overlap{background:var(--slate-900);border-bottom:0}
.page-home .band--overlap :is(h1,h2,h3,h4,p,.lead,.display-s,.display-m,.display-l){color:#fff}
.page-home .band--overlap .muted,.page-home .band--overlap .meta{color:var(--slate-300)}

/* ---------- consistent full-width alignment: every block in a column shares the column's full width ---------- */
.wrap--xsmall>*,.wrap--small>*,.section-head,.sol-cat-head .section-lead,.sol-panel,.sol-main>*,.faq p,.team-note,.ct-note,
.prose-sec>.sec-body,.legal .wrap>p,.legal .wrap>h1,.guide-body,.guide-body p,.guide-body ul,.guide-body ol,.guide-body dl,
.g-note,.g-ok,.g-warn,.g-err,.g-callout,.il,.w:nth-child(-n+2) p:last-child,.ed-note,.suite-note{max-width:none}
@media (min-width:1056px){.section-head:has(> .section-lead) > .section-lead{max-width:none}}
.legal-grid{grid-template-columns:1fr}
@media (min-width:1056px){.legal-grid{grid-template-columns:17rem minmax(0,1fr)}}
.wrap--xsmall .ed-note{margin-left:0;margin-right:0}
/* long lines stay readable on wide screens */
@media (min-width:1600px){
  .prose-sec p,.guide-body p,.guide-body li,.legal p,.legal li,.page-article main p,.faq p{font-size:1.125rem;line-height:1.8}
}
.il.il--cover{max-width:64rem;margin-left:auto;margin-right:auto}

/* ---------- Innovation articles (JSON-authored) ---------- */
.art-hero .wrap>*{max-width:none}
.art-hero .hero-lead{max-width:62rem}
.art-meta{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;font-family:var(--mono);font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:var(--slate-500);margin:1.5rem 0 0}
.art-meta a{color:var(--royal)}
.art-cover-band{padding-top:0}
.art-cover-band .il--cover{margin-top:0}
.dyk-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr;gap:1px;background:var(--line);border:1px solid var(--line)}
@media (min-width:960px){.dyk-grid{grid-template-columns:repeat(auto-fit,minmax(18rem,1fr))}}
.dyk{margin:0;background:var(--royal-50);padding:1.5rem;display:flex;gap:1rem;align-items:flex-start}
.dyk p{margin:0;font-size:1rem;color:var(--slate-800);line-height:1.6}
.dyk-icon{flex:none;width:2.25rem;height:2.25rem;display:flex;align-items:center;justify-content:center;background:var(--royal-bg);color:#fff;font-family:var(--mono);font-weight:500;font-size:1.125rem}
.art-callout{margin:1.5rem 0 0;padding:1.25rem 1.5rem;border-left:4px solid var(--royal);background:var(--royal-50)}
.art-callout .meta{color:var(--royal);margin-bottom:.375rem}
.art-callout p:last-child{margin:0;color:var(--slate-800)}
.art-callout--warn{border-color:#d97706;background:#fffbeb}
.art-body .il{margin:0 0 3rem}
.art-table table{font-size:.9375rem}
.art-table th[scope=row]{font-weight:600;color:var(--heading);width:22%}
.art-table td{width:39%}
.art-table thead th:nth-child(3){color:var(--royal)}
.art-end .sol-get{margin-bottom:2.5rem}
.art-cta{border:1px solid var(--line);padding:2rem;margin-bottom:2.5rem;background:var(--paper)}
.art-cta p:first-child{font-size:1.125rem;color:var(--slate-700)}
.art p,.art li,.art td,.art th{overflow-wrap:anywhere}.art .dyk-grid>li,.art .sec-body{min-width:0}
/* ---------------------------------------------------------------- careers */
.car-cta{margin-top:1.75rem;display:flex;flex-wrap:wrap;gap:.75rem}
.car-fig{margin:2.5rem 0 3rem}
.car-sec .sec-n{text-transform:uppercase}
.car-disc-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr;gap:1px;background:var(--line);border:1px solid var(--line)}
@media (min-width:672px){.car-disc-grid{grid-template-columns:1fr 1fr}}
@media (min-width:1056px){.car-disc-grid{grid-template-columns:repeat(3,1fr)}}
.car-disc{margin:0;background:var(--paper);padding:2rem 1.75rem;display:flex;flex-direction:column;gap:.5rem;min-width:0}
.car-disc h3{margin:0;font-size:1.25rem;font-weight:400}
.car-disc .meta{color:var(--royal);margin:0}
.car-disc p{margin:0;color:var(--slate-700);font-size:.9375rem;line-height:1.6}
.car-req{list-style:none;margin:0 0 1.5rem;padding:0;display:grid;grid-template-columns:1fr;gap:1px;background:var(--slate-700);border:1px solid var(--slate-700)}
@media (min-width:860px){.car-req{grid-template-columns:1fr 1fr}}
.car-req li{margin:0;background:var(--slate-900);color:#fff;padding:1.75rem;display:flex;gap:1.25rem;align-items:flex-start;min-width:0}
.car-req .car-n{flex:none;width:2.5rem;height:2.5rem;display:flex;align-items:center;justify-content:center;background:var(--royal-bg);font-family:var(--mono);font-size:1rem}
.car-req b{display:block;font-weight:500;font-size:1.125rem;margin-bottom:.35rem}
.car-req span:not(.car-n){color:var(--slate-300);font-size:.9375rem;line-height:1.6}
.car-firm{display:flex;gap:.75rem;align-items:center;margin:0 0 1rem;padding:1rem 1.25rem;border-left:4px solid var(--royal);background:var(--royal-50);font-weight:500;color:var(--slate-900)}
.car-firm svg{flex:none;color:var(--royal)}
.car-quals .io-col p{margin:0;line-height:1.7;color:var(--slate-700)}
.car-work-grid{margin-bottom:0}
@media (min-width:1056px){.car-work-grid{grid-template-columns:repeat(3,1fr)}}
.car-work-grid h3{font-weight:400;margin:.25rem 0 .5rem}
.car-work-grid p{margin:0;color:var(--slate-700);line-height:1.6}
.car-process-fig .car-fig{margin:0}
.car-addr{display:flex;gap:1rem;align-items:center;margin:0 0 2rem;padding:1.25rem 1.5rem;background:var(--slate-900);color:#fff;font-size:clamp(1.25rem,1rem + 1.2vw,1.875rem);font-weight:300;overflow-wrap:anywhere}
.car-addr a{color:#fff}
.car-addr svg{flex:none;color:var(--sky-400,#38bdf8)}
.car-check{margin-bottom:2rem}
.car-notes{display:grid;gap:1px;background:var(--line);border:1px solid var(--line)}
@media (min-width:860px){.car-notes{grid-template-columns:1fr 1fr}}
.car-notes p{margin:0;background:var(--paper);padding:1.25rem 1.5rem;display:flex;gap:.75rem;align-items:flex-start;color:var(--slate-700);line-height:1.6;min-width:0}
.car-notes svg{flex:none;color:var(--royal);margin-top:3px}
.car-req b{color:#fff}
@media (min-width:860px){.car-notes p:last-child:nth-child(odd){grid-column:1/-1}}
/* trust strip: full Genesys badge set */
.trust-badges{flex-wrap:wrap;gap:.5rem;max-width:35rem}
.trust-badges img,.trust-badges li img{height:60px;width:60px}
@media (min-width:1056px){.trust-badges img{height:64px;width:64px}}
.trust-more-link{display:inline-block;margin-top:.5rem;font-size:.9375rem}
.badge-wall{grid-template-columns:repeat(auto-fill,minmax(10.5rem,1fr))}
@media (min-width:1312px){.badge-wall{grid-template-columns:repeat(auto-fill,minmax(10.5rem,1fr))}}
.badge-wall img{height:96px;width:96px}
.fn-ref{font-size:.45em;vertical-align:super;margin-left:.1em;text-decoration:none;color:var(--royal)}
.hero-note{margin:.75rem 0 0;font-size:.8125rem;color:var(--slate-600);max-width:44rem;line-height:1.5}
.inno-intro{margin-top:1.5rem;max-width:50rem}
.inno-intro p{font-size:1.0625rem;line-height:1.7;color:var(--slate-700)}
.smap{display:grid;grid-template-columns:1fr;gap:2.5rem}
@media (min-width:860px){.smap{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1200px){.smap{grid-template-columns:repeat(3,minmax(0,1fr))}}
.smap-group h2{margin:0 0 .75rem;padding-bottom:.5rem;border-bottom:1px solid var(--line)}
.smap-group h2 .meta{color:var(--slate-500);margin-left:.5rem}
.smap-group ul{list-style:none;margin:0;padding:0;display:grid;gap:.35rem}
.smap-group li{margin:0;font-size:.9375rem;line-height:1.45}
/* search */
.header-search{display:flex;align-items:center;justify-content:center;width:40px;height:40px;color:var(--slate-700);border:1px solid var(--line);margin-right:.5rem}
.header-search:hover{color:var(--royal);border-color:var(--royal)}
.search-box{margin-top:1.5rem;max-width:44rem}
.search-box input{width:100%;box-sizing:border-box;font:inherit;font-size:1.25rem;padding:1rem 1.25rem;border:1px solid var(--slate-400,#94a3b8);border-bottom:2px solid var(--royal);background:var(--paper);color:var(--slate-900)}
.search-box input:focus{outline:2px solid var(--royal);outline-offset:2px}
.search-note{margin:.75rem 0 0;font-size:.875rem;color:var(--slate-600)}
.search-results{list-style:none;margin:1rem 0 0;padding:0;display:grid;gap:1px;background:var(--line);border:1px solid var(--line);max-width:56rem}
.search-results:empty{display:none}
.search-hit{margin:0;background:var(--paper);padding:1.25rem 1.5rem}
.search-hit h2{margin:0 0 .25rem}
.search-hit .meta{margin:0 0 .5rem;color:var(--slate-500)}
.search-excerpt{margin:0;color:var(--slate-700);line-height:1.6}
.search-excerpt mark{background:var(--royal-100);color:var(--slate-900);padding:0 .1em}
.site-nav a{white-space:nowrap}
@media (min-width:1056px) and (max-width:1359px){.site-nav a{padding:0 .6rem;font-size:.875rem}}
/* contact */
.ct-facts{display:flex;flex-wrap:wrap;gap:1rem 2.5rem;margin:1.75rem 0 0}
.ct-facts div{min-width:0}
.ct-facts dt{font-family:var(--mono);font-size:.75rem;letter-spacing:.32px;text-transform:uppercase;color:var(--slate-500)}
.ct-facts dd{margin:.25rem 0 0;font-size:1.125rem;overflow-wrap:anywhere}
.ct-routes{list-style:none;margin:0 0 2.5rem;padding:0;display:grid;grid-template-columns:1fr;gap:1px;background:var(--line);border:1px solid var(--line)}
@media (min-width:672px){.ct-routes{grid-template-columns:1fr 1fr}}
@media (min-width:1056px){.ct-routes{grid-template-columns:repeat(3,1fr)}}
.ct-route{margin:0;background:var(--paper);padding:1.75rem;display:flex;flex-direction:column;gap:.5rem;min-width:0}
.ct-route h2{margin:.25rem 0 0}
.ct-route p{margin:0;color:var(--slate-700);line-height:1.6;overflow-wrap:anywhere}
.ct-route .ct-where{font-weight:500;color:var(--slate-900)}
.ct-fig{margin:0}
.ct-engage-inner{display:grid;grid-template-columns:1fr;gap:2.5rem}
@media (min-width:960px){.ct-engage-inner{grid-template-columns:minmax(0,3fr) minmax(0,2fr)}}
.ct-engage p{line-height:1.7;color:var(--slate-700)}
.ct-company{background:var(--paper);border:1px solid var(--line);padding:1.75rem}
.ct-company address{font-style:normal;line-height:1.6;margin-bottom:.75rem}
@media (min-width:1056px){.trust-inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center}.trust-badges{max-width:none;justify-content:flex-end}}
.search-status{margin:2rem 0 0}.search-status:empty{display:none}
@media (min-width:1056px){.dyk-grid:has(> li:nth-child(4):last-child){grid-template-columns:repeat(2,minmax(0,1fr))}}
/* quo vadis discovery questions */
.quovadis{margin-top:2.5rem}
.qv-band .quovadis{margin-top:0}
.qv-head{max-width:46rem;margin-bottom:1.5rem}
.qv-head h3{margin:.25rem 0 .5rem}
.qv-head p:last-child{color:var(--slate-700);line-height:1.6}
.qv-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr;gap:1px;background:var(--line);border:1px solid var(--line)}
@media (min-width:672px){.qv-list{grid-template-columns:1fr 1fr}}
@media (min-width:1056px){.qv-list{grid-template-columns:repeat(3,1fr)}}
.qv-list li{margin:0;background:var(--paper);padding:1.5rem;display:flex;flex-direction:column;gap:.4rem;min-width:0}
.qv-n{font-family:var(--mono);font-size:.75rem;color:var(--royal)}
.qv-list b{font-weight:500;color:var(--heading);font-size:1.0625rem}
.qv-list span:last-child{color:var(--slate-700);font-size:.9375rem;line-height:1.55}
.workshops .io-col h3{margin-bottom:1rem}
.ws-note{margin:1.5rem 0 0;max-width:56rem;color:var(--slate-700);line-height:1.6}
.ct-topic{margin:1rem 0 0;padding:.75rem 1rem;border-left:4px solid var(--royal);background:var(--royal-50);color:var(--slate-900);max-width:44rem}
.nf-links{list-style:none;margin:2rem auto 0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem 1.5rem}
.nf-links li{margin:0}
.ct-topic{margin:1rem 0 0;padding:.75rem 1rem;border-left:4px solid var(--royal);background:var(--royal-50);color:var(--slate-900);max-width:44rem}
.nf-links{list-style:none;margin:2rem auto 0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem 1.5rem}
.nf-links li{margin:0}
/* cross-links: tools and further reading */
.sol-xlinks{border-top:1px solid var(--line)}
.xl-grid{display:grid;grid-template-columns:1fr;gap:2.5rem}
@media (min-width:960px){.xl-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.xl-col h2{margin:.25rem 0 1rem}
.xl-list{list-style:none;margin:0 0 1rem;padding:0;display:grid;gap:1px;background:var(--line);border:1px solid var(--line)}
.xl-list li{margin:0;background:var(--paper)}
.xl-list a{display:flex;flex-direction:column;gap:.25rem;padding:1rem 1.25rem;text-decoration:none;color:inherit}
.xl-list a:hover{background:var(--slate-50)}
.xl-list b{font-weight:500;color:var(--royal)}
.xl-list span{font-size:.875rem;color:var(--slate-600);line-height:1.5}
.g-story{margin:2rem 0 0;padding:1rem 1.25rem;border-left:4px solid var(--royal);background:var(--royal-50)}
.g-story p{margin:0}
.g-story .meta{margin-bottom:.25rem}

/* ---------- DES-07: hero drawings ---------- */
.il--hero{margin:0;max-width:none}
.il--hero .il-svg{min-width:0!important}
/* ---------- DES-03: listing thumbnails (lazy WebP files) ---------- */
.card-thumb{display:block;width:100%;height:auto;aspect-ratio:1200/630}
/* ---------- DES-04: question matrix and security cards ---------- */
.mx-group{margin-top:2.5rem}
.mx-h{display:flex;align-items:center;gap:.625rem;font-size:1.25rem;font-weight:400;color:var(--heading);margin:0 0 1rem;padding-bottom:.75rem;border-bottom:1px solid var(--line)}
.mx-h svg{color:var(--royal)}
.mx-list,.mx-ovs,.secc-grid{list-style:none;margin:0;padding:1px;display:grid;gap:1px;grid-template-columns:1fr}
.mx-q,.mx-ov,.secc{outline:1px solid var(--line)}
@media (min-width:672px){.mx-list,.mx-ovs{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1056px){.mx-list{grid-template-columns:repeat(3,1fr)}.secc-grid{grid-template-columns:repeat(2,1fr)}}
.mx-q,.mx-ov{background:var(--paper);padding:1.25rem 1.25rem 1.5rem;display:flex;flex-direction:column;gap:.75rem}
.mx-ask{font-size:1.0625rem;color:var(--heading);margin:0;line-height:1.4}
.mx-apps{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.5rem}
.mx-apps li>*{display:inline-block;font-family:var(--mono);font-size:.75rem;letter-spacing:.32px;padding:.25rem .5rem;border:1px solid var(--royal-100);background:var(--royal-50);color:var(--royal);text-decoration:none}
.mx-apps li>span{border-color:var(--line);background:var(--surface);color:var(--slate-600)}
.mx-apps a:hover{background:var(--royal-bg);border-color:var(--royal);color:#fff}
.mx-native{margin:0;font-size:.9375rem;color:var(--slate-600);border-left:2px solid var(--line);padding-left:.75rem}
.mx-native .meta{display:block;margin-bottom:.25rem}
.mx-ov-h{font-size:1.25rem;font-weight:400;color:var(--heading);margin:3rem 0 1rem}
.mx-pair{font-family:var(--mono);font-size:.8125rem;letter-spacing:.32px;text-transform:uppercase;color:var(--royal);margin:0}
.mx-ov p:last-child{margin:0;color:var(--slate-600)}
.secc{background:var(--paper);padding:1.5rem;min-width:0}
.secs .secc-grid{margin-top:2rem}
.secc-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.5rem 1rem;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid var(--line)}
.secc-name{font-size:1.25rem;font-weight:400;margin:0;color:var(--heading)}
.secc-name a{color:inherit;text-decoration:none}.secc-name a:hover{color:var(--royal);text-decoration:underline}
.secc-posture{--ok-text:#047857;display:inline-flex;align-items:center;gap:.375rem;margin:0;font-family:var(--mono);font-size:.75rem;letter-spacing:.32px;text-transform:uppercase;color:var(--ok-text)}
.secc-dl{margin:0;display:grid;gap:.75rem}
.secc-dl>div{display:grid;grid-template-columns:7.5rem 1fr;gap:1rem}
@media (max-width:671px){.secc-dl>div{grid-template-columns:1fr;gap:.125rem}}
.secc-dl dt{font-family:var(--mono);font-size:.75rem;letter-spacing:.32px;text-transform:uppercase;color:var(--muted);padding-top:.15rem}
.secc-dl dd{margin:0;font-size:.9375rem;color:var(--text);overflow-wrap:anywhere}
.secc-dl code{font-family:var(--mono);font-size:.8125rem;color:var(--slate-700);background:none;padding:0}
.g-sec .secc{border:1px solid var(--line)}
.g-sec>.wrap>.meta{margin:0 0 .75rem}
.g-sec-more{margin:.75rem 0 0;font-size:.9375rem}


/* ---------- DES-05: dark mode, following the system setting ---------- */
@media (prefers-color-scheme:dark){
  :root{--slate-50:#111a2c;--slate-100:#18233a;--slate-200:#26334d;--slate-300:#3a4863;--slate-400:#64748b;--slate-500:#94a3b8;--slate-600:#aab6c6;--slate-700:#cbd5e1;--slate-800:#e2e8f0;--slate-900:#f1f5f9;--slate-950:#f8fafc;--royal:#7ea3f8;--royal-bg:#2852d6;--royal-hover:#1e43b8;--on-royal:#e6edfe;--royal-active:#1e40af;--royal-50:#15224a;--royal-100:#223a7a;--sky-50:#0c2235;--sky-100:#0f2d45;--sky-200:#bae6fd;--paper:#0b1220;--text:var(--slate-700);--heading:var(--slate-900);--muted:var(--slate-500);--line:var(--slate-200);--surface:var(--slate-50);--focus:#7ea3f8}
  /* always-dark surfaces and the original drawings keep the light palette they were designed with */
  .band--dark,.card--dark,.site-footer,.ai-diagram,.ai-cards,.steps,.ct thead th,.ct thead .ct-corner,.guide-body kbd,
  .page-home .band--overlap,.car-req,.car-addr,.dg-flow li:last-child,.dg-layers>li:last-child,.il,.logo-badge,.platform-logo{--slate-50:#f8fafc;--slate-100:#f1f5f9;--slate-200:#e2e8f0;--slate-300:#cbd5e1;--slate-400:#94a3b8;--slate-500:#64748b;--slate-600:#475569;--slate-700:#334155;--slate-800:#1e293b;--slate-900:#0f172a;--slate-950:#020617;--royal:#1d4ed8;--royal-bg:#1d4ed8;--royal-hover:#1e40af;--royal-active:#1e3a8a;--royal-50:#eff4ff;--royal-100:#dbe6fe;--sky-50:#f0f9ff;--sky-100:#e0f2fe;--sky-200:#bae6fd;--paper:#fff;--text:#334155;--heading:#0f172a;--muted:#64748b;--line:#e2e8f0;--surface:#f8fafc;--focus:#1d4ed8;color-scheme:light}
  .il{border-color:#26334d}
  img.card-thumb,.badge-wall img,.trust img{filter:brightness(.92)}
  .g-m.g-get{background:#052e1f;color:#6ee7b7;border-color:#047857}
  .g-m.g-put{background:#3a2405;color:#fcd34d;border-color:#b45309}
  .g-m.g-del{background:#3b0a14;color:#fda4af;border-color:#be123c}
  .g-ok{background:#052e1f}.g-warn,.art-callout--warn{background:#2b1d05}.g-err{background:#33090f}
  .secc-posture{--ok-text:#6ee7b7}
  .site-header,.sol-nav{background:rgba(11,18,32,.94)}
  .tags li,.role-focus li,.g-m.g-post{color:#a9c1fb}
  .btn--light,.btn--light:hover{color:#1d4ed8}
  .overlay-light{background:rgba(11,18,32,.86)}
  .band--image.band--overlap .overlay-light,.band--image:not(.band--dark) .overlay-light{background:linear-gradient(90deg,rgba(11,18,32,.95) 0%,rgba(11,18,32,.88) 55%,rgba(11,18,32,.7) 100%)}
  .sub,.mega{box-shadow:0 24px 48px -24px rgba(0,0,0,.6)}
}
/* ---------- A11Y-04: drawings as text ---------- */
.il-text{border-top:1px solid var(--line);background:var(--paper)}
.il-text summary{cursor:pointer;font-family:var(--mono);font-size:.75rem;letter-spacing:.32px;text-transform:uppercase;color:var(--royal);padding:.875rem 1.25rem;list-style-position:inside}
.il-text summary:hover{text-decoration:underline}
.il-text-body{padding:0 1.25rem 1.25rem;font-size:.9375rem;color:var(--text);max-width:48rem}
.il-text-body p{margin:0 0 .75rem}
.il-text-body ol{margin:0;padding-left:1.25rem;display:grid;gap:.375rem}

/* ---------- A11Y-05: links in running text are underlined, not told apart by colour alone ---------- */
main :is(p,dd,td,blockquote,figcaption) a:not(.btn),main :is(ul,ol):not([class]) > li > a,main .sources li a{text-decoration:underline;text-decoration-thickness:1px}
main .g-note a,main .car-notes a,main .steps a,main p .js-mail{text-decoration:underline;text-decoration-thickness:1px}
/* ---------- SEO-04: last reviewed ---------- */
.reviewed{padding-top:2rem;padding-bottom:2rem}
.reviewed p{margin:0;font-family:var(--mono);font-size:.75rem;letter-spacing:.32px;text-transform:uppercase;color:var(--slate-600)}
/* ---------- TRU-01: integrator pledge ---------- */
.pledge{margin-top:3.5rem;padding-top:2.5rem;border-top:1px solid var(--line)}
.pledge-h{font-size:clamp(1.375rem,1.2rem + .6vw,1.75rem);font-weight:300;color:var(--heading);margin:0 0 .75rem}
.pledge-lead{max-width:48rem;color:var(--slate-600);margin:0 0 1.75rem}
.ct-pledge .pledge{margin-top:0;padding-top:0;border-top:0}
/* ---------- CAR: week in the life, sample exercise, criteria, pathway, inclusion ---------- */
.car-week{margin-top:auto;padding-top:1rem;border-top:1px solid var(--line)}
.car-week summary{cursor:pointer;font-family:var(--mono);font-size:.75rem;letter-spacing:.32px;text-transform:uppercase;color:var(--royal)}
.car-week summary:hover{text-decoration:underline}
.car-week ul{margin:.75rem 0 0;padding-left:1.1rem;display:grid;gap:.375rem;font-size:.9375rem}
.car-sample{margin-top:2.5rem;background:var(--paper);border:1px solid var(--line);border-left:3px solid var(--royal);padding:1.75rem 2rem;max-width:56rem}
.car-sample h3{font-size:1.25rem;font-weight:400;margin:0 0 .75rem}
.car-sample ol{margin:.5rem 0 1rem;padding-left:1.25rem;display:grid;gap:.375rem}
.car-sample-note{color:var(--slate-600);font-size:.9375rem;margin:0}
.car-crit{margin-top:2.5rem}
.car-crit h3{color:#fff;font-size:1.25rem;font-weight:400;margin:0 0 1rem}
.car-crit-list{list-style:none;margin:0;padding:0;display:grid;gap:1px;grid-template-columns:1fr;background:var(--slate-700);border:1px solid var(--slate-700);counter-reset:crit}
@media (min-width:672px){.car-crit-list{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1056px){.car-crit-list{grid-template-columns:repeat(5,1fr)}}
.car-crit-list li{background:var(--slate-900);padding:1.25rem 1.5rem;display:flex;flex-direction:column;gap:.375rem}
.car-crit-list b{color:#fff;font-weight:500}
.car-crit-list span{color:var(--slate-300);font-size:.875rem}
@media (min-width:1056px){.car-path-list{grid-template-columns:repeat(4,1fr)}}
@media (min-width:672px) and (max-width:1055px){.car-path-list{grid-template-columns:repeat(2,1fr)}}
.car-inc-body{max-width:52rem}
.car-inc-body p{margin:0 0 1rem}
.car-disc{display:flex;flex-direction:column}
/* ---------- INN-04/05/12: listing filters, series nav, stories, reference pages ---------- */
.inn-filter ul{display:none;list-style:none;margin:0;padding:0;flex-wrap:wrap;gap:.5rem}
.js .inn-filter ul{display:flex}
.chip{font:inherit;font-family:var(--mono);font-size:.75rem;letter-spacing:.32px;text-transform:uppercase;padding:.5rem .875rem;border:1px solid var(--line);background:var(--paper);color:var(--slate-700);cursor:pointer;min-height:40px}
.chip b{font-weight:500;color:var(--muted);margin-left:.25rem}
.chip:hover{border-color:var(--royal);color:var(--royal)}
.chip[aria-pressed="true"]{background:var(--royal-bg);border-color:var(--royal-bg);color:#fff}
.chip[aria-pressed="true"] b{color:var(--on-royal)}
.inn-refs{margin:1rem 0 0;font-size:.9375rem;color:var(--slate-600)}
.inn-sec[hidden]{display:none}
.post[hidden]{display:none}
.post-cat{margin-bottom:.25rem;color:var(--royal)}
.ser-nav .eyebrow{margin-bottom:1rem}
.ser-grid{display:grid;grid-template-columns:1fr;gap:1px;background:var(--line);border:1px solid var(--line)}
@media (min-width:672px){.ser-grid{grid-template-columns:1fr 1fr}}
.ser-grid>*{background:var(--paper)}
.ser-link{display:flex;flex-direction:column;gap:.25rem;padding:1.25rem 1.5rem;text-decoration:none;color:var(--text)}
.ser-link b{color:var(--heading);font-weight:500}
.ser-link:hover b{color:var(--royal);text-decoration:underline}
.ser-next{text-align:right}
.st-groups{display:grid;grid-template-columns:1fr;gap:2rem}
@media (min-width:672px){.st-groups{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1056px){.st-groups{grid-template-columns:repeat(3,1fr)}}
.st-group h3{margin:0 0 .75rem;padding-bottom:.5rem;border-bottom:1px solid var(--line)}
.st-group ul{list-style:none;margin:0;padding:0;display:grid;gap:.75rem}
.st-group a{display:flex;flex-direction:column;text-decoration:none;color:var(--text)}
.st-group a b{color:var(--royal);font-weight:500}
.st-group a:hover span{text-decoration:underline}
.ref-wrap{max-width:60rem}
.ref-block{padding:2rem 0;border-bottom:1px solid var(--line)}
.ref-block h2{margin:0 0 .75rem}
.ref-facts{margin:0 0 1rem;padding-left:1.25rem;display:grid;gap:.75rem}
.ref-src summary{cursor:pointer;font-family:var(--mono);font-size:.75rem;letter-spacing:.32px;text-transform:uppercase;color:var(--royal)}
.ref-src ol{margin:.75rem 0 0;font-size:.9375rem}
.ref-src li,.ref-facts li{overflow-wrap:anywhere}

/* generated: grid widths */
.grid.cw-xs-1-1>.col:not([class*=' w-']){width:100.0000%}.grid.cw-xs-1-2>.col:not([class*=' w-']){width:50.0000%}.grid.cw-xs-1-3>.col:not([class*=' w-']){width:33.3333%}.grid.cw-xs-2-3>.col:not([class*=' w-']){width:66.6667%}.grid.cw-xs-1-4>.col:not([class*=' w-']){width:25.0000%}.grid.cw-xs-3-4>.col:not([class*=' w-']){width:75.0000%}.grid.cw-xs-1-5>.col:not([class*=' w-']){width:20.0000%}.grid.cw-xs-2-5>.col:not([class*=' w-']){width:40.0000%}.grid.cw-xs-3-5>.col:not([class*=' w-']){width:60.0000%}.grid.cw-xs-4-5>.col:not([class*=' w-']){width:80.0000%}.grid.cw-xs-1-6>.col:not([class*=' w-']){width:16.6667%}.grid.cw-xs-5-6>.col:not([class*=' w-']){width:83.3333%}.grid.cw-xs-expand>.col:not([class*=' w-']){flex:1 1 0;width:auto}.grid.cw-xs-auto>.col:not([class*=' w-']){width:auto}.grid>.col.w-xs-1-1{width:100.0000%;flex:none}.grid>.col.w-xs-1-2{width:50.0000%;flex:none}.grid>.col.w-xs-1-3{width:33.3333%;flex:none}.grid>.col.w-xs-2-3{width:66.6667%;flex:none}.grid>.col.w-xs-1-4{width:25.0000%;flex:none}.grid>.col.w-xs-3-4{width:75.0000%;flex:none}.grid>.col.w-xs-1-5{width:20.0000%;flex:none}.grid>.col.w-xs-2-5{width:40.0000%;flex:none}.grid>.col.w-xs-3-5{width:60.0000%;flex:none}.grid>.col.w-xs-4-5{width:80.0000%;flex:none}.grid>.col.w-xs-1-6{width:16.6667%;flex:none}.grid>.col.w-xs-5-6{width:83.3333%;flex:none}.grid>.col.w-xs-expand{flex:1 1 0;width:auto}.grid>.col.w-xs-auto{width:auto;flex:none}
@media (min-width:640px){.grid.cw-s-1-1>.col:not([class*=' w-']){width:100.0000%}.grid.cw-s-1-2>.col:not([class*=' w-']){width:50.0000%}.grid.cw-s-1-3>.col:not([class*=' w-']){width:33.3333%}.grid.cw-s-2-3>.col:not([class*=' w-']){width:66.6667%}.grid.cw-s-1-4>.col:not([class*=' w-']){width:25.0000%}.grid.cw-s-3-4>.col:not([class*=' w-']){width:75.0000%}.grid.cw-s-1-5>.col:not([class*=' w-']){width:20.0000%}.grid.cw-s-2-5>.col:not([class*=' w-']){width:40.0000%}.grid.cw-s-3-5>.col:not([class*=' w-']){width:60.0000%}.grid.cw-s-4-5>.col:not([class*=' w-']){width:80.0000%}.grid.cw-s-1-6>.col:not([class*=' w-']){width:16.6667%}.grid.cw-s-5-6>.col:not([class*=' w-']){width:83.3333%}.grid.cw-s-expand>.col:not([class*=' w-']){flex:1 1 0;width:auto}.grid.cw-s-auto>.col:not([class*=' w-']){width:auto}.grid>.col.w-s-1-1{width:100.0000%;flex:none}.grid>.col.w-s-1-2{width:50.0000%;flex:none}.grid>.col.w-s-1-3{width:33.3333%;flex:none}.grid>.col.w-s-2-3{width:66.6667%;flex:none}.grid>.col.w-s-1-4{width:25.0000%;flex:none}.grid>.col.w-s-3-4{width:75.0000%;flex:none}.grid>.col.w-s-1-5{width:20.0000%;flex:none}.grid>.col.w-s-2-5{width:40.0000%;flex:none}.grid>.col.w-s-3-5{width:60.0000%;flex:none}.grid>.col.w-s-4-5{width:80.0000%;flex:none}.grid>.col.w-s-1-6{width:16.6667%;flex:none}.grid>.col.w-s-5-6{width:83.3333%;flex:none}.grid>.col.w-s-expand{flex:1 1 0;width:auto}.grid>.col.w-s-auto{width:auto;flex:none}}
@media (min-width:960px){.grid.cw-m-1-1>.col:not([class*=' w-']){width:100.0000%}.grid.cw-m-1-2>.col:not([class*=' w-']){width:50.0000%}.grid.cw-m-1-3>.col:not([class*=' w-']){width:33.3333%}.grid.cw-m-2-3>.col:not([class*=' w-']){width:66.6667%}.grid.cw-m-1-4>.col:not([class*=' w-']){width:25.0000%}.grid.cw-m-3-4>.col:not([class*=' w-']){width:75.0000%}.grid.cw-m-1-5>.col:not([class*=' w-']){width:20.0000%}.grid.cw-m-2-5>.col:not([class*=' w-']){width:40.0000%}.grid.cw-m-3-5>.col:not([class*=' w-']){width:60.0000%}.grid.cw-m-4-5>.col:not([class*=' w-']){width:80.0000%}.grid.cw-m-1-6>.col:not([class*=' w-']){width:16.6667%}.grid.cw-m-5-6>.col:not([class*=' w-']){width:83.3333%}.grid.cw-m-expand>.col:not([class*=' w-']){flex:1 1 0;width:auto}.grid.cw-m-auto>.col:not([class*=' w-']){width:auto}.grid>.col.w-m-1-1{width:100.0000%;flex:none}.grid>.col.w-m-1-2{width:50.0000%;flex:none}.grid>.col.w-m-1-3{width:33.3333%;flex:none}.grid>.col.w-m-2-3{width:66.6667%;flex:none}.grid>.col.w-m-1-4{width:25.0000%;flex:none}.grid>.col.w-m-3-4{width:75.0000%;flex:none}.grid>.col.w-m-1-5{width:20.0000%;flex:none}.grid>.col.w-m-2-5{width:40.0000%;flex:none}.grid>.col.w-m-3-5{width:60.0000%;flex:none}.grid>.col.w-m-4-5{width:80.0000%;flex:none}.grid>.col.w-m-1-6{width:16.6667%;flex:none}.grid>.col.w-m-5-6{width:83.3333%;flex:none}.grid>.col.w-m-expand{flex:1 1 0;width:auto}.grid>.col.w-m-auto{width:auto;flex:none}}
@media (min-width:1200px){.grid.cw-l-1-1>.col:not([class*=' w-']){width:100.0000%}.grid.cw-l-1-2>.col:not([class*=' w-']){width:50.0000%}.grid.cw-l-1-3>.col:not([class*=' w-']){width:33.3333%}.grid.cw-l-2-3>.col:not([class*=' w-']){width:66.6667%}.grid.cw-l-1-4>.col:not([class*=' w-']){width:25.0000%}.grid.cw-l-3-4>.col:not([class*=' w-']){width:75.0000%}.grid.cw-l-1-5>.col:not([class*=' w-']){width:20.0000%}.grid.cw-l-2-5>.col:not([class*=' w-']){width:40.0000%}.grid.cw-l-3-5>.col:not([class*=' w-']){width:60.0000%}.grid.cw-l-4-5>.col:not([class*=' w-']){width:80.0000%}.grid.cw-l-1-6>.col:not([class*=' w-']){width:16.6667%}.grid.cw-l-5-6>.col:not([class*=' w-']){width:83.3333%}.grid.cw-l-expand>.col:not([class*=' w-']){flex:1 1 0;width:auto}.grid.cw-l-auto>.col:not([class*=' w-']){width:auto}.grid>.col.w-l-1-1{width:100.0000%;flex:none}.grid>.col.w-l-1-2{width:50.0000%;flex:none}.grid>.col.w-l-1-3{width:33.3333%;flex:none}.grid>.col.w-l-2-3{width:66.6667%;flex:none}.grid>.col.w-l-1-4{width:25.0000%;flex:none}.grid>.col.w-l-3-4{width:75.0000%;flex:none}.grid>.col.w-l-1-5{width:20.0000%;flex:none}.grid>.col.w-l-2-5{width:40.0000%;flex:none}.grid>.col.w-l-3-5{width:60.0000%;flex:none}.grid>.col.w-l-4-5{width:80.0000%;flex:none}.grid>.col.w-l-1-6{width:16.6667%;flex:none}.grid>.col.w-l-5-6{width:83.3333%;flex:none}.grid>.col.w-l-expand{flex:1 1 0;width:auto}.grid>.col.w-l-auto{width:auto;flex:none}}
@media (min-width:1600px){.grid.cw-xl-1-1>.col:not([class*=' w-']){width:100.0000%}.grid.cw-xl-1-2>.col:not([class*=' w-']){width:50.0000%}.grid.cw-xl-1-3>.col:not([class*=' w-']){width:33.3333%}.grid.cw-xl-2-3>.col:not([class*=' w-']){width:66.6667%}.grid.cw-xl-1-4>.col:not([class*=' w-']){width:25.0000%}.grid.cw-xl-3-4>.col:not([class*=' w-']){width:75.0000%}.grid.cw-xl-1-5>.col:not([class*=' w-']){width:20.0000%}.grid.cw-xl-2-5>.col:not([class*=' w-']){width:40.0000%}.grid.cw-xl-3-5>.col:not([class*=' w-']){width:60.0000%}.grid.cw-xl-4-5>.col:not([class*=' w-']){width:80.0000%}.grid.cw-xl-1-6>.col:not([class*=' w-']){width:16.6667%}.grid.cw-xl-5-6>.col:not([class*=' w-']){width:83.3333%}.grid.cw-xl-expand>.col:not([class*=' w-']){flex:1 1 0;width:auto}.grid.cw-xl-auto>.col:not([class*=' w-']){width:auto}.grid>.col.w-xl-1-1{width:100.0000%;flex:none}.grid>.col.w-xl-1-2{width:50.0000%;flex:none}.grid>.col.w-xl-1-3{width:33.3333%;flex:none}.grid>.col.w-xl-2-3{width:66.6667%;flex:none}.grid>.col.w-xl-1-4{width:25.0000%;flex:none}.grid>.col.w-xl-3-4{width:75.0000%;flex:none}.grid>.col.w-xl-1-5{width:20.0000%;flex:none}.grid>.col.w-xl-2-5{width:40.0000%;flex:none}.grid>.col.w-xl-3-5{width:60.0000%;flex:none}.grid>.col.w-xl-4-5{width:80.0000%;flex:none}.grid>.col.w-xl-1-6{width:16.6667%;flex:none}.grid>.col.w-xl-5-6{width:83.3333%;flex:none}.grid>.col.w-xl-expand{flex:1 1 0;width:auto}.grid>.col.w-xl-auto{width:auto;flex:none}}

/* generated: section background images */
