
body{font-family:'Hanken Grotesk',sans-serif;color:#33322e;margin:0;}
.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 */

/* Footer links are plain on the other seven pages; these four underlined them. */
footer a{text-decoration:none;}

/* --- mobile ---
   This page shipped without a phone layout: the footer kept its six columns in
   a 390px screen and overflowed it, and the headings and side padding stayed at
   desktop size. These match what the other pages do at the same widths. */
@media (max-width: 900px) {
  header, section, footer { padding-left: 20px !important; padding-right: 20px !important; }
  [style*="grid-template-columns"] { grid-template-columns: 1fr !important; }
  h1 { font-size: 34px !important; line-height: 1.12 !important; }
  h2 { font-size: 26px !important; }
}
