/* Site header and footer for WordPress (McCombie Group theme). Copied from mcg-website src/assets/mcg.css
   (tokens; base type, links, .wrap, .btn; the nav and footer blocks; the 2026-10-12 UX fixes 1 and 3) and scoped to
   #site-nav and #site-foot, so nothing here reaches The7 page bodies. When the header or footer CSS changes in
   mcg.css, change it here too. */
#site-nav,#site-foot{
  --navy-900:#0E2740; --navy-800:#163A59; --navy-700:#1F4A6E; --navy-600:#2E5C83;
  --navy-400:#6E8CA6; --navy-200:#BFD0DF; --navy-100:#E3EBF2; --navy-50:#F2F6FA;
  --amber-700:#C97F1C; --amber-600:#E5972A; --amber-500:#F9AE40;
  --amber-300:#FBC877; --amber-100:#FDEBCF;
  --amber-ink:#A5670F;
  --gold-700:#6B5F3E; --gold-500:#84754D; --gold-300:#B3A57E;
  --ink-900:#1A1D21; --ink-800:#303030; --ink-600:#5A5C5F; --ink-500:#919396;
  --ink-400:#B4B6B9; --ink-300:#D2D4D7; --ink-200:#E4E6E8; --ink-100:#F1F2F4;
  --paper:#FFFFFF; --paper-2:#F7F8FA;
  --success-600:#2E7D5B; --success-100:#E1F1E9;
  --warning-600:#C97F1C; --warning-100:#FDEBCF;
  --danger-600:#B23A33;  --danger-100:#F6E2E0;
  --info-600:#2E5C83;    --info-100:#E3EBF2;
  --color-bg:var(--paper-2);
  --color-surface:var(--paper);
  --color-surface-2:var(--navy-50);
  --color-surface-dark:var(--navy-800);
  --color-surface-inverse:var(--navy-900);
  --text-primary:var(--navy-900);
  --text-secondary:var(--ink-600);
  --text-muted:var(--ink-500);
  --text-on-dark:#FFFFFF;
  --text-on-dark-muted:var(--navy-200);
  --text-accent:var(--amber-700);
  --brand-primary:var(--navy-800);
  --brand-accent:var(--amber-500);
  --brand-gold:var(--gold-500);
  --border:var(--ink-200);
  --border-strong:var(--ink-300);
  --border-on-dark:rgba(255,255,255,0.16);
  --link:var(--navy-700);
  --link-hover:var(--navy-900);
  --focus-ring:var(--amber-500);
  --overlay:rgba(14,39,64,0.55);
  --font-serif:"Libre Baskerville","Georgia","Times New Roman",serif;
  --font-sans:"Montserrat",-apple-system,"Segoe UI",Helvetica,Arial,sans-serif;
  --font-display:var(--font-serif);
  --font-body:var(--font-sans);
  --serif:var(--font-serif);
  --sans:var(--font-sans);
  --fw-light:300; --fw-regular:400; --fw-medium:500; --fw-semibold:600; --fw-bold:700;
  --fs-display:4rem; --fs-h1:3rem; --fs-h2:2.25rem; --fs-h3:1.75rem;
  --fs-h4:1.375rem; --fs-h5:1.125rem; --fs-lead:1.25rem;
  --fs-body:1rem; --fs-sm:0.875rem; --fs-xs:0.75rem;
  --lh-tight:1.1; --lh-snug:1.25; --lh-normal:1.5; --lh-relaxed:1.65;
  --ls-tight:-0.01em; --ls-normal:0; --ls-wide:0.08em; --ls-eyebrow:0.22em;
  --space-0:0; --space-1:0.25rem; --space-2:0.5rem; --space-3:0.75rem;
  --space-4:1rem; --space-5:1.5rem; --space-6:2rem; --space-7:3rem;
  --space-8:4rem; --space-9:6rem; --space-10:8rem;
  --radius-none:0; --radius-sm:2px; --radius-md:4px; --radius-lg:8px;
  --radius-xl:14px; --radius-pill:999px;
  --border-width:1px; --border-accent-width:3px;
  --shadow-xs:0 1px 2px rgba(14,39,64,0.06);
  --shadow-sm:0 1px 3px rgba(14,39,64,0.08), 0 1px 2px rgba(14,39,64,0.06);
  --shadow-md:0 4px 12px rgba(14,39,64,0.10);
  --shadow-lg:0 12px 32px rgba(14,39,64,0.14);
  --shadow-focus:0 0 0 3px rgba(249,174,64,0.45);
  --container-sm:720px; --container-md:960px;
  --container-lg:1200px; --container-xl:1320px;
  --wrap:1140px;
  --ease-standard:cubic-bezier(0.4,0,0.2,1);
  --ease-out:cubic-bezier(0.16,1,0.3,1);
  --dur-fast:120ms; --dur-base:200ms; --dur-slow:360ms;
}
/* reset inside the header and footer only: The7's element styles stop at these two boxes */
#site-nav,#site-foot{font-family:var(--sans);color:var(--ink-800);font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased;text-align:left;letter-spacing:normal;text-transform:none}
#site-nav *,#site-foot *{margin:0;padding:0;box-sizing:border-box;font-family:inherit;background-image:none}
#site-nav ul,#site-foot ul{list-style:none}
#site-nav img,#site-foot img{max-width:100%;display:block}
#site-nav svg,#site-foot svg{display:block}
#site-nav a,#site-foot a{color:var(--navy-700);text-decoration:none;border-bottom:1px solid var(--amber-300);transition:.15s}
#site-nav a:hover,#site-foot a:hover{color:var(--navy-900);border-color:var(--amber-500)}
#site-nav .wrap,#site-foot .wrap{max-width:1120px;margin:0 auto;padding:0 24px}
#site-nav .btn,#site-foot .btn{display:inline-block;font-weight:600;font-size:15px;padding:14px 28px;border-radius:4px;border:0;cursor:pointer;transition:.15s;text-align:center}
#site-nav .btn-amber,#site-foot .btn-amber{background:var(--amber-500);color:var(--navy-900)}
#site-nav .btn-amber:hover,#site-foot .btn-amber:hover{background:var(--amber-700);color:#fff}
#site-nav .vh,#site-foot .vh{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
/* header */
/* Sticky offset: the WordPress admin bar when it shows (core sets --wp-admin--admin-bar--height; at 600px and below
   the bar scrolls away with the page), else 0. Everything that sticks or scrolls to an anchor below the header adds it. */
:root{--mcg-sticky-top:var(--wp-admin--admin-bar--height,0px)}
@media(max-width:600px){:root{--mcg-sticky-top:0px}}
#site-nav{background:#fff;border-bottom:1px solid var(--navy-100);position:sticky;top:var(--mcg-sticky-top);z-index:50}
#site-nav .nav-in{display:flex;align-items:center;justify-content:space-between;height:75px;max-width:1120px;margin:0 auto;padding:0 24px}
#site-nav .brand{display:flex;align-items:center;border:none}
#site-nav .brand img{height:50px;width:auto;display:block}
#site-nav .brand-lockup{display:flex;align-items:center}
#site-nav .since{display:flex;align-items:center;margin-left:36px;height:54px;color:var(--navy-900);user-select:none}
#site-nav .est{display:inline-flex;align-items:center;gap:10px;font:700 9.5px/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;white-space:nowrap;color:var(--navy-900)}
#site-nav .est i{display:block;flex:none;width:16px;height:1.5px;background:var(--amber-500)}
@media(max-width:1080px){
#site-nav .since:has(.est.ms){display:none}
}
@media(max-width:1000px){
#site-nav .since{display:none}
}
#site-nav .nav-links{display:flex;align-items:center;gap:28px;font-size:14.5px}
#site-nav .nav-links a{border:none;color:var(--navy-900)}
#site-nav .nav-links a.active{box-shadow:0 2px 0 var(--amber-500)}
#site-nav .nav-right{display:flex;align-items:center;gap:28px}
#site-nav .nav-cta{padding:11px 20px;font-size:14px}
#site-nav .nav-toggle{display:none;width:44px;height:44px;border:1px solid var(--navy-100);border-radius:6px;background:#fff;cursor:pointer;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:0}
#site-nav .nav-toggle span{display:block;width:20px;height:2px;background:var(--navy-900);transition:transform .2s,opacity .2s}
#site-nav.open .nav-toggle span:nth-child(1){transform:translateY(7px) rotate(45deg)}
#site-nav.open .nav-toggle span:nth-child(2){opacity:0}
#site-nav.open .nav-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
@media(max-width:860px){
#site-nav .nav-right{gap:12px}
#site-nav .nav-toggle{display:flex}
#site-nav .nav-cta{padding:10px 14px;font-size:13.5px}
#site-nav .nav-links{display:none;position:absolute;top:75px;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;background:#fff;border-bottom:1px solid var(--navy-100);box-shadow:0 12px 24px rgba(14,39,64,.08);padding:6px 0 10px}
#site-nav.open .nav-links{display:flex}
#site-nav .nav-links a{padding:14px 24px;font-size:16px;border-top:1px solid var(--navy-50)}
#site-nav .nav-links a.active{box-shadow:inset 3px 0 0 var(--amber-500)}
}
#site-nav .nav-cta{white-space:nowrap}
@media(max-width:480px){
#site-nav .nav-in,#site-nav .wrap{padding:0 16px}
#site-nav .brand img{height:38px}
#site-nav .nav-right{gap:10px}
#site-nav .nav-cta{padding:9px 12px;font-size:13px}
#site-nav .nav-toggle{width:42px;height:42px}
#site-nav .nav-links a{padding:14px 16px}
}
@media(max-width:360px){
#site-nav .brand img{height:32px}
#site-nav .nav-cta{padding:8px 10px;font-size:12.5px}
}
#site-nav .nav-in{max-width:1200px}
#site-nav .nav-links{gap:16px;font-size:14px}
#site-nav .nav-menu{display:flex;align-items:center;gap:16px;list-style:none;margin:0;padding:0}
#site-nav .nav-menu li{margin:0}
#site-nav .nav-menu>.menu-item{position:relative;display:flex;align-items:center;height:75px}
#site-nav .nav-menu>li>a{border:none;color:var(--navy-900);white-space:nowrap}
#site-nav .nav-menu>.current-section>a{box-shadow:0 2px 0 var(--amber-500)}
#site-nav .sub-menu-toggle{display:inline-flex;align-items:center;justify-content:center;width:20px;height:32px;margin-left:0;padding:0;border:0;background:none;color:var(--navy-600);cursor:pointer;border-radius:4px}
#site-nav .sub-menu-toggle svg{width:12px;height:12px;transition:transform var(--dur-base) var(--ease-standard)}
#site-nav .sub-menu-toggle:focus-visible{outline:2px solid var(--focus-ring);outline-offset:1px}
#site-nav .nav-menu>li>.sub-menu{display:none;list-style:none;margin:0;position:absolute;top:calc(100% - 8px);left:-18px;z-index:60;min-width:270px;background:#fff;border:1px solid var(--navy-100);border-radius:8px;box-shadow:0 18px 40px -12px rgba(14,39,64,.28);padding:10px 0}
#site-nav .nav-menu>li>.sub-menu::before{content:"";position:absolute;left:0;right:0;top:-10px;height:10px}
#site-nav .nav-menu .sub-menu .sub-menu{list-style:none;margin:0;padding:0}
#site-nav .nav-menu .sub-menu a{display:block;padding:9px 20px;font-size:14.5px;line-height:1.4;color:var(--navy-900);border:none;border-left:3px solid transparent;white-space:nowrap}
#site-nav .nav-menu .sub-menu a:hover,#site-nav .nav-menu .sub-menu a:focus-visible{background:var(--navy-50);border-left-color:var(--amber-500);outline:none}
#site-nav .nav-menu .sub-menu a[aria-current]{font-weight:600}
#site-nav .nav-menu>li>.sub-menu-cols{display:none;min-width:470px;padding:14px 0 12px}
#site-nav .mcg-group{flex:1 1 0}
#site-nav .mcg-group+.mcg-group{border-left:1px solid var(--navy-100)}
#site-nav .menu-heading{display:block;margin:0 0 4px;padding:0 20px;font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--amber-ink)}
@media(min-width:861px){
#site-nav .nav-menu>.menu-item-has-children:hover>.sub-menu,#site-nav .nav-menu>.menu-item-has-children.open>.sub-menu{display:block}
#site-nav .nav-menu>.menu-item-has-children:hover>.sub-menu-cols,#site-nav .nav-menu>.menu-item-has-children.open>.sub-menu-cols{display:flex}
#site-nav .nav-menu>.menu-item-has-children:hover .sub-menu-toggle svg,#site-nav .nav-menu>.menu-item-has-children.open .sub-menu-toggle svg{transform:rotate(180deg)}
#site-nav .nav-tel-m{display:none}
}
#site-nav .nav-tel{display:inline-flex;align-items:center;gap:6px;border:none;color:var(--navy-900);font-size:14px;font-weight:600;white-space:nowrap;letter-spacing:.01em}
#site-nav .nav-tel svg{width:17px;height:17px;flex:none;color:var(--amber-700)}
#site-nav .nav-tel:hover{color:var(--navy-700)}
#site-nav .nav-right{gap:18px}
#site-nav .nav-right .nav-cta{padding:11px 17px}
#site-nav .brand-lockup{margin-right:20px}
@media(max-width:1199px){
#site-nav .nav-tel span{display:none}
#site-nav .nav-tel{width:36px;height:36px;justify-content:center;border:1px solid var(--navy-100);border-radius:50%}
}
@media(max-width:1080px){
#site-nav .nav-links{gap:16px}
#site-nav .nav-right{gap:16px}
}
@media(max-width:860px){
#site-nav .nav-menu{display:block}
  #site-nav .nav-menu>.menu-item{display:flex;flex-wrap:wrap;height:auto;border-top:1px solid var(--navy-50)}
#site-nav .nav-menu>li>a{flex:1 1 auto;padding:14px 24px;font-size:16px;border-top:none}
#site-nav .nav-menu>.current-section>a{box-shadow:inset 3px 0 0 var(--amber-500)}
#site-nav .sub-menu-toggle{width:56px;height:52px;margin:0;border-left:1px solid var(--navy-50);border-radius:0}
#site-nav .sub-menu-toggle svg{width:14px;height:14px}
#site-nav .nav-menu>.menu-item-has-children.open .sub-menu-toggle svg{transform:rotate(180deg)}
#site-nav .nav-menu>li>.sub-menu,#site-nav .nav-menu>li>.sub-menu-cols{position:static;flex-basis:100%;min-width:0;border:0;border-radius:0;box-shadow:none;background:var(--navy-50);padding:4px 0 8px}
#site-nav .nav-menu>.menu-item-has-children.open>.sub-menu{display:block}
#site-nav .nav-menu>li>.sub-menu::before{display:none}
#site-nav .nav-menu .sub-menu a{padding:12px 24px 12px 36px;font-size:15px;white-space:normal;min-height:44px}
#site-nav .mcg-group+.mcg-group{border-left:0;margin-top:6px}
#site-nav .menu-heading{padding:8px 24px 2px 36px}
#site-nav .nav-tel{display:none}
#site-nav .nav-links .nav-tel-m{display:block;margin:6px 24px 4px;padding:13px 16px;border:1px solid var(--navy-100);border-radius:6px;text-align:center;font-weight:600;font-size:15.5px;color:var(--navy-900)}
#site-nav .nav-links .nav-tel-m:hover{background:var(--navy-50)}
}
@media(max-width:480px){
#site-nav .nav-menu>li>a{padding:14px 16px}
#site-nav .nav-menu .sub-menu a{padding-left:28px}
#site-nav .menu-heading{padding-left:28px}
#site-nav .nav-links .nav-tel-m{margin:6px 16px 4px}
}
@media print{
#site-nav .nav-menu>li>.sub-menu{display:none!important}
}
/* footer */
#site-foot{background:var(--navy-900);color:var(--navy-200);font-size:12px;line-height:1.7;padding:30px 0}
#site-foot .foot-in{display:flex;align-items:center;justify-content:space-between;gap:14px 28px;flex-wrap:wrap}
#site-foot .foot-legal{margin:0;flex:1 1 420px}
#site-foot .foot-social{display:flex;gap:10px;list-style:none;margin:0;padding:0}
#site-foot .foot-social a{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;border:1px solid rgba(191,208,223,.4);color:var(--navy-200);transition:color .2s,background-color .2s,border-color .2s}
#site-foot .foot-social a:hover,#site-foot .foot-social a:focus-visible{color:var(--navy-900);background:var(--amber-500);border-color:var(--amber-500);outline:none}
#site-foot .foot-social svg{width:17px;height:17px;display:block}
#site-foot{padding:52px 0 30px}
#site-foot .foot-cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) minmax(0,1.25fr);gap:28px 36px;padding-bottom:34px;margin-bottom:26px;border-bottom:1px solid rgba(191,208,223,.22)}
#site-foot .foot-h,#site-foot .foot-menu>li>a{margin:0 0 12px;font-size:11.5px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--amber-500)}
#site-foot .foot-h a,#site-foot .foot-menu>li>a{color:var(--amber-500);border:none}
#site-foot .foot-menu{display:contents;list-style:none;margin:0;padding:0}
#site-foot .foot-menu>li>a{display:inline-block;vertical-align:top}
#site-foot .foot-menu .sub-menu{list-style:none;margin:0;padding:0}
#site-foot .foot-menu li{margin:0}
#site-foot .foot-menu .sub-menu a,#site-foot .foot-office p a{display:inline-block;padding:5px 0;font-size:14px;line-height:1.5;color:var(--navy-100);border:none}
#site-foot .foot-menu .sub-menu a:hover,#site-foot .foot-office p a:hover,#site-foot .foot-h a:hover,#site-foot .foot-menu>li>a:hover{color:#fff;text-decoration:underline;text-underline-offset:3px}
#site-foot .foot-office address{font-style:normal;font-size:14px;line-height:1.6;color:var(--navy-100);margin:5px 0 6px}
#site-foot .foot-office p{margin:0}
#site-foot .foot-links{margin:0;padding:0;list-style:none;flex-basis:100%;font-size:12.5px}
#site-foot .foot-links li{display:inline;margin:0 .6em 0 0}
#site-foot .foot-links a{color:var(--navy-100);border-color:rgba(191,208,223,.35)}
@media(max-width:860px){
#site-foot .foot-cols{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:480px){
#site-foot{padding-top:36px}
#site-foot .foot-cols{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px 14px;padding-bottom:26px}
#site-foot .foot-h,#site-foot .foot-menu>li>a{font-size:10.5px;letter-spacing:.14em;margin-bottom:6px}
#site-foot .foot-menu .sub-menu a{padding:6px 0;font-size:13.5px;line-height:1.35}
#site-foot .foot-office p a{padding:6px 0}
}
@media(max-width:480px){
#site-foot .foot-office{grid-column:1 / -1}
}
@media(max-width:480px){#site-foot .wrap{padding:0 16px}}
/* The7 pages: #page is a grid of named areas (main.min.css), so the header and footer take The7's own header and footer
   areas; unplaced, the footer lands in the first free row, above the content. overflow:clip in place of The7's hidden
   still clips the page sideways but is no scroll container, so the header can stay pinned (position:sticky). */
#page>#site-nav{grid-area:header}
#page>#site-foot{grid-area:footer}
#page{overflow:clip}
/* The7 Theme Options custom CSS sets p{font-weight:400 !important} site-wide; the bold labels here are p elements. */
#site-foot .foot-h,#site-foot .foot-menu>li>a,#site-nav .menu-heading{font-weight:700!important}
