
    .sc-placeholder{background:color-mix(in srgb,currentColor 8%,transparent);
      border:1px solid color-mix(in srgb,currentColor 50%,transparent);
      border-radius:2px;box-sizing:border-box;overflow:hidden}
    @keyframes sc-shine{0%{background-position:100% 50%}100%{background-position:0% 50%}}
    html.sc-dc-streaming .sc-placeholder,
    html.sc-dc-streaming .sc-interp.sc-missing{position:relative;
      background:color-mix(in srgb,currentColor 5%,transparent);
      border-color:transparent}
    html.sc-dc-streaming .sc-placeholder::before,
    html.sc-dc-streaming .sc-interp.sc-missing::before{content:'';
      position:absolute;inset:0;pointer-events:none;
      background:linear-gradient(90deg,rgba(217,119,87,0) 25%,rgba(247,225,211,.95) 37%,rgba(217,119,87,0) 63%);
      background-size:400% 100%;animation:sc-shine 1.4s ease infinite}
    html.sc-dc-streaming .sc-placeholder:nth-child(n+9 of .sc-placeholder)::before,
    html.sc-dc-streaming .sc-interp.sc-missing:nth-child(n+9 of .sc-interp.sc-missing)::before{animation:none;
      background:color-mix(in srgb,currentColor 8%,transparent)}
    .sc-placeholder-error{padding:4px 8px;font:11px/1.4 ui-monospace,monospace;
      color:color-mix(in srgb,currentColor 70%,transparent);word-break:break-word}
    .sc-interp.sc-missing{display:inline-block;width:2em;height:1em;overflow:hidden;
      vertical-align:text-bottom;background:rgba(255,255,255,.3);border:1px solid rgba(0,0,0,.5);
      border-radius:2px;box-sizing:border-box;color:transparent;
      user-select:none}
    .sc-interp.sc-unresolved{font-family:ui-monospace,monospace;font-size:.85em;
      color:color-mix(in srgb,currentColor 50%,transparent);
      background:color-mix(in srgb,currentColor 10%,transparent);border-radius:3px;
      padding:0 3px}
    .sc-host.sc-has-error{position:relative}
    .sc-logic-error{position:absolute;top:8px;left:8px;z-index:2147483647;max-width:60ch;
      padding:6px 10px;background:#b00020;color:#fff;font:12px/1.4 ui-monospace,monospace;
      border-radius:4px;white-space:pre-wrap;pointer-events:none}
    /* Mirrors PRINT_BASELINE_CSS in apps/web deck-stage-export.ts — keep both
       in sync until dc-runtime regains a build step. */
    @media print {
      @page { margin: 0.5cm; }
      figure, table { break-inside: avoid; }
      #dc-root, #dc-root > .sc-host { height: auto; }
      *, *::before, *::after {
        print-color-adjust: exact; -webkit-print-color-adjust: exact;
        backdrop-filter: none !important; -webkit-backdrop-filter: none !important;
        animation-delay: -99s !important; animation-duration: .001s !important;
        animation-iteration-count: 1 !important; animation-fill-mode: both !important;
        animation-play-state: running !important; transition-duration: 0s !important;
      }
    }
  
x-dc{display:none!important}
.fx{display:flex}.col{display:flex;flex-direction:column}.grid{display:grid}.ac{align-items:center}.jc{justify-content:center}.jb{justify-content:space-between}.f1{flex:1}.noshrink{flex-shrink:0}.wrap{flex-wrap:wrap}.fw5{font-weight:500}.fw6{font-weight:600}.fw7{font-weight:700}.fw8{font-weight:800}.fs11{font-size:11px}.fs12{font-size:12px}.fs13{font-size:13px}.fs14{font-size:14px}.fs15{font-size:15px}.fs16{font-size:16px}.fs20{font-size:20px}.fs22{font-size:22px}.upper{text-transform:uppercase}.tc{text-align:center}.nowrap{white-space:nowrap}.gap8{gap:8px}.gap10{gap:10px}.gap12{gap:12px}.gap16{gap:16px}.gap24{gap:24px}.m0{margin:0}.mt8{margin-top:8px}.mt12{margin-top:12px}.mt16{margin-top:16px}.mb8{margin-bottom:8px}.mb12{margin-bottom:12px}.mb16{margin-bottom:16px}.posrel{position:relative}.posabs{position:absolute}.round{border-radius:50%}.ohide{overflow:hidden}.bbox{box-sizing:border-box}.pointer{cursor:pointer}.w100{width:100%}.b0{border:none}

html,body{height:100%;margin:0}#dc-root,#dc-root>.sc-host{height:100%}

body{margin:0;background:#fff;font-family:'Hanken Grotesk',system-ui,sans-serif;-webkit-font-smoothing:antialiased}
a{color:#2E67B2;text-decoration:none}
a:hover{color:#204f8c}
*{box-sizing:border-box}
summary{list-style:none;outline:none}
summary::-webkit-details-marker{display:none}
summary::marker{content:""}
[data-chev]{transition:transform .22s ease}
details[open] [data-chev]{transform:rotate(45deg)}
details[open] [data-faqq]{color:#161616}

/* --- mobile: stop the horizontal overflow (added in review) --- */
@media (max-width: 900px) {
  [style*="display:flex"], [style*="display: flex"] { flex-wrap: wrap !important; }
  [style*="grid-template-columns"] { grid-template-columns: 1fr !important; }
  [style*="white-space:nowrap"], [style*="white-space: nowrap"] { white-space: normal !important; }
  /* Only the homepage's five stat tiles are columns sized with "flex: 0 0 calc(...)".
     Everything written "flex: 0 0 auto" is a dot, tick, icon, badge or logo and must
     keep its own size; forcing those to 100% stretched every one into a bar. */
  [style*="flex: 0 0 calc"] { flex-basis: 100% !important; }
  /* A row that leads with one of those small fixed things stays on one line, so the
     icon sits beside its text instead of above it. */
  [style*="display: flex"]:has(> span[style*="flex: 0 0 auto"]),
  [style*="display: flex"]:has(> img[style*="flex: 0 0 auto"]),
  [style*="display: flex"]:has(> span:first-child:empty) { flex-wrap: nowrap !important; }
  header, section, footer { padding-left: 20px !important; padding-right: 20px !important; }
  body * { max-width: 100% !important; }
  h1 { font-size: 34px !important; line-height: 1.12 !important; }
  h2 { font-size: 26px !important; }
}


.cs-call-num{display:inline-block;max-width:0;opacity:0;overflow:hidden;white-space:nowrap;
  font-variant-numeric:tabular-nums;transition:max-width .22s ease,opacity .16s ease,margin-left .22s ease;}
@media (hover:hover) and (pointer:fine){
  .cs-call:hover .cs-call-num,.cs-call:focus-visible .cs-call-num{max-width:170px;opacity:1;margin-left:9px;}
  .cs-call:hover .cs-call-num::before,.cs-call:focus-visible .cs-call-num::before{content:"\00b7";margin-right:9px;color:#8a8980;}
}
@media (hover:none){.cs-call-num{display:none;}}
.csnav{display:flex;gap:24px;align-items:center;}
.csdd{position:relative;display:flex;align-items:center;}
.csdd::after{content:"";position:absolute;top:100%;left:0;right:0;height:14px;}
.csdd-t{display:inline-flex;align-items:center;gap:5px;color:#33322e;font:500 15px 'Hanken Grotesk',sans-serif;text-decoration:none;}
.csdd:hover .csdd-t{color:#161616;}
.csdd-c{font-size:9px;line-height:1;color:#8a8980;transition:transform .12s ease;}
.csdd:hover .csdd-c{transform:translateY(1px);color:#33322e;}
.csdd-m{position:absolute;top:calc(100% + 13px);left:-12px;min-width:216px;background:#fff;
  border:1px solid rgba(22,22,22,.1);border-radius:12px;box-shadow:0 20px 44px -22px rgba(22,22,22,.42);
  padding:7px;display:none;z-index:70;}
.csdd:hover .csdd-m,.csdd:focus-within .csdd-m{display:block;}
.csdd-m a{display:block;padding:9px 12px;border-radius:8px;color:#33322e;
  font:500 14.5px 'Hanken Grotesk',sans-serif;text-decoration:none;white-space:nowrap;}
.csdd-m a:hover{background:#F7F4EC;color:#161616;}
.csdd-m .csdd-s{display:block;font:400 12.5px 'Hanken Grotesk',sans-serif;color:#7a7970;margin-top:2px;white-space:nowrap;}

.csnav .cssep{width:1px;height:17px;background:rgba(22,22,22,.15);margin:0 -6px;}
.csdd-cc .csdd-t{color:#706F67;}
.csdd-cc:hover .csdd-t{color:#161616;}
.csdd-cc .csdd-m{left:auto;right:-12px;}

.csnav-cb{display:none;}
.csnav-burger{display:none;}
.csnav>a{text-decoration:none;}
@media (max-width:1080px){
  header{position:relative!important;z-index:70!important;gap:12px!important;padding-left:18px!important;padding-right:18px!important;}
  header>a:first-of-type img{height:30px!important;}
  header>div:last-of-type{margin-left:auto!important;}
  header>div:last-of-type a{padding:8px 13px!important;font-size:14px!important;}
  .csnav-burger{display:flex!important;flex-direction:column;justify-content:center;gap:5px;
    width:44px;height:40px;padding:11px 10px;flex:none;cursor:pointer;
    border:1px solid rgba(22,22,22,.2);border-radius:10px;background:#fff;}
  .csnav-burger span{display:block;height:2px;background:#161616;border-radius:2px;}
  .csnav-cb:checked~.csnav{display:flex;}
  .csnav{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;
    align-items:stretch;gap:0;background:#fff;border-top:1px solid rgba(22,22,22,.1);
    box-shadow:0 24px 44px -22px rgba(22,22,22,.4);padding:2px 18px 22px;
    max-height:calc(100vh - 70px);overflow-y:auto;z-index:80;}
  .csdd{display:block;position:static;}
  .csdd::after{display:none;}
  .csdd-c{display:none;}
  .csdd-t{display:block;padding:15px 0 3px;border-top:1px solid rgba(22,22,22,.09);
    font:700 11.5px 'Hanken Grotesk',sans-serif;letter-spacing:.12em;
    text-transform:uppercase;color:#8a8980;}
  .csnav>a{display:block;padding:14px 0;border-top:1px solid rgba(22,22,22,.09);
    font:600 16.5px 'Hanken Grotesk',sans-serif!important;color:#161616!important;}
  .csdd-m{display:block!important;position:static;min-width:0;background:none;
    border:0;box-shadow:none;padding:0;}
  .csdd-m a{padding:11px 0;font-size:16.5px;font-weight:600;white-space:normal;border-radius:0;}
  .csdd-m a:hover{background:none;}
  .csdd-m .csdd-s{display:none;}
  .cssep{display:none;}
  .csdd-cc{margin-top:7px;}
  .csdd-cc .csdd-t{border-top:2px solid rgba(22,22,22,.22);color:#8a8980;}

  .cshdr-contact{display:none!important;}
}

/* Keep the fixed call pill clear of the footer's policy links. */
body:has(.cs-call) footer{padding-bottom:104px!important;}
.cs-call{max-width:calc(100vw - 48px);}
@media (max-width:900px){
  body:has(.cs-call) footer{padding-bottom:96px!important;}
  .cs-call{right:14px;bottom:14px;}
}
@media print{.cs-call{display:none!important;}body:has(.cs-call) footer{padding-bottom:34px!important;}}
/* current page */
.csnav a[data-here]{color:#161616!important;font-weight:700!important;}
.csnav>a[data-here],.csnav .csdd-t[data-here]{position:relative;}
.csnav>a[data-here]::after,.csnav .csdd-t[data-here]::after{content:"";position:absolute;
  left:0;right:0;bottom:-8px;height:2.5px;border-radius:2px;background:#2E67B2;}
.csdd-m a[data-here]{background:#F7F4EC;}
.csdd-m a[data-here] .csdd-s{color:#6b6a62;}
@media (max-width:1080px){
  /* in the burger panel the menu names are full-width headings, so the underline
     stretches across and reads as a divider rule. The highlighted item below it
     already says where you are. */
  .csnav>a[data-here]::after,.csnav .csdd-t[data-here]::after{display:none!important;}
}
/* end current page */

/* --- mobile: enlarged pictures ---
   The overlay is centred with left:50%, which leaves it half the screen to size
   itself in, and the blanket max-width above stops the picture pushing it wider,
   so on a phone the "enlarged" picture came out smaller than its thumbnail. Give
   the overlay a definite width and let the picture fill it. */
@media (max-width: 900px) {
  .lbx-cb:checked ~ .lbx-box,
  .gx-s { width: 94vw !important; max-width: 94vw !important; }
  .lbx-box img, .gx-s img { width: auto !important; max-width: 100% !important; margin: 0 auto; }
}

/* --- category bar ---
   The bar of category pills sticks 69px down the screen so it sits under the
   pinned header. At 1080px and below the header is no longer pinned and scrolls
   away, which left a 69px strip above the bar with the page showing through
   it. With no header to sit under, the bar sticks to the top of the screen. */
@media (max-width: 1080px) {
  section[style*="position: sticky"] { top: 0 !important; }
}

/* Tapping a pill jumps to its section, and each section asks for 150px of
   clearance above it. The bar's lower edge is at 180px on a desktop and lower
   still once the pills wrap onto more rows, so the section heading always
   landed behind the bar. These give each layout the clearance it needs: the
   bar's height at that width plus 16px. The breakpoints are where the pills
   wrap onto another row, rounded up so a slightly wider font errs on the side
   of too much room, never too little. */
[id^="cat"] { scroll-margin-top: 196px !important; }            /* pinned header + 2 rows */
@media (max-width: 1080px) { [id^="cat"] { scroll-margin-top: 127px !important; } }  /* 2 rows */
@media (max-width: 600px)  { [id^="cat"] { scroll-margin-top: 172px !important; } }  /* 3 rows */
@media (max-width: 480px)  { [id^="cat"] { scroll-margin-top: 217px !important; } }  /* 4 rows */
@media (max-width: 380px)  { [id^="cat"] { scroll-margin-top: 262px !important; } }  /* 5 rows */
