/* Justin's site chrome (nav, drawer, buttons, footer) for the pages that keep their own body styling. */
:root{
  --navy:#0F1426; --navy-2:#171E38; --navy-3:#1D2547;
  --paper:#F6F0E4; --card:#FCF8EF; --ivory:#EDE5D3; --rule:#E0D6BF;
  --brass:#6B5410; --brass-lt:#C49507;
  --body:#3A3F4E; --muted:#5A6070; --on-navy:rgba(246,240,228,.82);
  --serif:"Playfair Display",Georgia,serif;
  --sans:"Inter Tight","Inter",system-ui,-apple-system,sans-serif;
  --mono:"JetBrains Mono",ui-monospace,Menlo,monospace;
  --wrap:1200px; --gut:clamp(20px,5vw,60px);
  --ribbon-h:34px; --nav-h:72px;
}
/* ---------- nav ---------- */
.nav{position:sticky;top:0;left:0;right:0;z-index:50;transition:background .35s,box-shadow .35s;background:transparent}
.nav .bar{display:flex;align-items:center;justify-content:space-between;height:var(--nav-h);gap:24px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-family:var(--mono);font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--navy);white-space:nowrap}
.brand img{width:36px;height:36px;filter:brightness(0);opacity:.88}
.brand small{display:block;font-size:8.5px;letter-spacing:.3em;color:var(--brass);margin-top:2px}
.nav.on-photo:not(.solid){color:var(--paper)}
.nav.on-photo:not(.solid) .brand{color:var(--paper)}
.nav.on-photo:not(.solid) .brand img{filter:none}
.nav.on-photo:not(.solid) .brand small{color:var(--brass-lt)}
.nav.solid{background:rgba(246,240,228,.95);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 1px 0 var(--rule)}
.navlinks{display:flex;align-items:center;gap:26px}
.navlinks>a,.dd>button{font-size:14px;text-decoration:none;background:none;border:0;cursor:pointer;font-family:var(--sans);color:inherit;opacity:.82;padding:6px 0;letter-spacing:.01em}
.navlinks>a:hover,.dd>button:hover,.navlinks>a[aria-current]{opacity:1}
.navlinks>a[aria-current]{box-shadow:0 2px 0 var(--brass-lt)}
.nav .cta{display:inline-flex;align-items:center;gap:10px;background:var(--navy);color:var(--paper);padding:11px 18px;font-size:13.5px;font-weight:500;text-decoration:none;border-radius:2px;opacity:1;transition:transform .2s}
.nav.on-photo:not(.solid) .cta{background:var(--paper);color:var(--navy)}
.nav .cta b{color:var(--brass-lt);font-weight:500}
.nav.on-photo:not(.solid) .cta b{color:var(--brass)}
.nav .cta:hover{transform:translateY(-1px)}
/* dropdown */
.dd{position:relative}
.dd>button::after{content:"▾";font-size:10px;margin-left:7px;opacity:.6}
.dd-menu{position:absolute;top:calc(100% + 10px);left:50%;transform:translate(-50%,6px);background:var(--navy);min-width:230px;padding:10px 0;border-radius:2px;box-shadow:0 18px 50px rgba(15,20,38,.35);opacity:0;visibility:hidden;transition:.22s}
.dd.open .dd-menu,.dd:hover .dd-menu,.dd:focus-within .dd-menu{opacity:1;visibility:visible;transform:translate(-50%,0)}
.dd-menu a{display:flex;justify-content:space-between;align-items:baseline;gap:18px;padding:11px 20px;color:var(--paper);text-decoration:none;font-size:14px}
.dd-menu a small{font-family:var(--mono);font-size:9px;letter-spacing:.14em;color:var(--brass-lt);text-transform:uppercase}
.dd-menu a:hover{background:var(--navy-3)}
/* burger */
.burger{display:none;background:none;border:0;cursor:pointer;width:44px;height:44px;position:relative;z-index:70}
.burger i,.burger i::before,.burger i::after{content:"";position:absolute;left:10px;width:24px;height:2px;background:currentColor;transition:.25s}
.burger i{top:21px}.burger i::before{left:0;top:-7px}.burger i::after{left:0;top:7px}
body.menu-open .burger i{background:transparent}
body.menu-open .burger i::before{transform:translateY(7px) rotate(45deg)}
body.menu-open .burger i::after{transform:translateY(-7px) rotate(-45deg)}
/* mobile menu */
.mmenu{position:fixed;inset:0;background:var(--navy);z-index:65;display:flex;flex-direction:column;justify-content:center;padding:80px var(--gut) 40px;opacity:0;visibility:hidden;transition:.3s}
body.menu-open .mmenu{opacity:1;visibility:visible}
.mmenu a{font-family:var(--serif);font-size:clamp(28px,7vw,40px);color:var(--paper);text-decoration:none;padding:10px 0;border-bottom:1px solid rgba(246,240,228,.12);display:flex;justify-content:space-between;align-items:baseline}
.mmenu a small{font-family:var(--mono);font-size:10px;letter-spacing:.18em;color:var(--brass-lt);text-transform:uppercase}
.mmenu .sub{font-size:clamp(20px,5vw,26px);padding-left:18px;font-style:italic}
body.menu-open{overflow:hidden}
@media(max-width:1020px){.navlinks{display:none}.burger{display:block;color:var(--navy)}.nav.on-photo:not(.solid) .burger{color:var(--paper)}body.menu-open .burger{color:var(--paper)!important}}

.btn{display:inline-flex;align-items:center;gap:12px;background:var(--paper);color:var(--navy);border:0;padding:16px 26px;font:inherit;font-size:15.5px;font-weight:500;cursor:pointer;border-radius:2px;text-decoration:none;transition:transform .2s;white-space:nowrap}
.btn b{color:var(--brass);font-weight:500}
.btn:hover{transform:translateY(-1px)}
.btn.ghost{background:transparent;color:var(--paper);border:1px solid rgba(246,240,228,.4)}
.btn.ghost b{color:var(--brass-lt)}
.btn.navy{background:var(--navy);color:var(--paper)}
.btn.navy b{color:var(--brass-lt)}
/* ---------- external mark ---------- */
.ext::after{content:" ↗";font-family:var(--mono);font-size:.8em;color:var(--brass);font-style:normal}
.dark .ext::after,.footer .ext::after,.cardx.feat .ext::after{color:var(--brass-lt)}

/* ---------- footer ---------- */
.footer{background:var(--navy);color:rgba(246,240,228,.7);font-size:14px}
.footer .top{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:40px;padding:clamp(48px,6vw,72px) 0 40px;border-bottom:1px solid rgba(246,240,228,.14)}
.footer .fbrand img{width:44px;filter:none}
.footer .fbrand .lead{color:var(--paper);font-size:22px;margin-top:16px;max-width:280px}
.footer .fbrand .lead em{color:var(--brass-lt)}
.footer h4{font-family:var(--mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--brass-lt);font-weight:400;margin-bottom:16px}
.footer ul{list-style:none}
.footer li{margin-top:9px}
.footer a{text-decoration:none;color:rgba(246,240,228,.75)}
.footer a:hover{color:var(--paper)}
.footer .legal{padding:26px 0 34px;font-size:12px;line-height:1.7;color:rgba(246,240,228,.45)}
.footer .legal b{color:rgba(246,240,228,.7);font-weight:500}
.footer .legal a{color:rgba(246,240,228,.65);border-bottom:1px solid rgba(196,149,7,.4)}
@media(max-width:960px){.footer .top{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.footer .top{grid-template-columns:1fr}}


/* keep the chrome clear of the page layers (system.css / redesign.css) */
footer.footer:not(#_):not(#__):not(#___):not(#____):not(#_____){padding:0!important;margin:0!important;background:var(--navy)!important}
footer.footer .top:not(#_):not(#__):not(#___):not(#____):not(#_____){border-bottom:1px solid rgba(246,240,228,.14)!important;padding:clamp(48px,6vw,72px) 0 40px!important}
footer.footer a:not(#_):not(#__):not(#___):not(#____):not(#_____){color:rgba(246,240,228,.75)!important;text-decoration:none!important;border:0!important}
footer.footer .legal:not(#_):not(#__):not(#___):not(#____):not(#_____){font-family:var(--sans)!important;font-size:12px!important;line-height:1.7!important;color:rgba(246,240,228,.66)!important;padding:26px 0 34px!important;margin:0!important;border:0!important}
footer.footer .legal.f-dnss:not(#_):not(#__):not(#___):not(#____):not(#_____){padding-top:0!important}
footer.footer .f-dnss a:not(#_):not(#__):not(#___):not(#____):not(#_____){color:rgba(246,240,228,.85)!important;border-bottom:1px solid rgba(196,149,7,.6)!important}
footer.footer .fbrand .lead:not(#_):not(#__):not(#___):not(#____):not(#_____){font-family:var(--serif)!important;font-size:22px!important;color:var(--paper)!important;margin:16px 0 0!important;max-width:280px!important;line-height:1.42!important}
footer.footer .fbrand .lead em:not(#_):not(#__):not(#___):not(#____):not(#_____){color:var(--brass-lt)!important}
footer.footer h4:not(#_):not(#__):not(#___):not(#____):not(#_____){font-family:var(--mono)!important;font-size:10px!important;letter-spacing:.2em!important;text-transform:uppercase!important;color:var(--brass-lt)!important;font-weight:400!important;margin:0 0 16px!important}
footer.footer ul:not(#_):not(#__):not(#___):not(#____):not(#_____){list-style:none!important;margin:0!important;padding:0!important}
footer.footer li:not(#_):not(#__):not(#___):not(#____):not(#_____){margin:9px 0 0!important;padding:0!important;font-size:14px!important}
footer.footer li:not(#_):not(#__):not(#___):not(#____):not(#_____)::before{content:none!important}
footer.footer .fbrand p:not(#_):not(#__):not(#___):not(#____):not(#_____){margin:14px 0 0!important}
header.nav:not(#_):not(#__):not(#___):not(#____):not(#_____){position:sticky!important;top:0!important;z-index:50!important;background:rgba(246,240,228,.95)!important;backdrop-filter:blur(10px);box-shadow:0 1px 0 var(--rule)!important;border:0!important}
header.nav .wrap:not(#_):not(#__):not(#___):not(#____):not(#_____){max-width:1200px!important;padding:0 var(--gut)!important;height:var(--nav-h)!important}
header.nav .brand:not(#_):not(#__):not(#___):not(#____):not(#_____){color:var(--navy)!important;text-decoration:none!important;border:0!important}
header.nav .brand img:not(#_):not(#__):not(#___):not(#____):not(#_____){width:36px!important;height:36px!important;max-width:none!important}
header.nav .navlinks>a:not(#_):not(#__):not(#___):not(#____):not(#_____),header.nav .dd>button:not(#_):not(#__):not(#___):not(#____):not(#_____){font-size:14px!important;font-family:var(--sans)!important;font-weight:400!important;letter-spacing:.01em!important;text-transform:none!important;color:var(--navy)!important;opacity:.82;text-decoration:none!important;border:0!important;background:none!important;padding:6px 0!important}
header.nav .navlinks>a[aria-current]:not(#_):not(#__):not(#___):not(#____):not(#_____){opacity:1;box-shadow:0 2px 0 var(--brass)!important}
header.nav .cta:not(#_):not(#__):not(#___):not(#____):not(#_____){background:var(--navy)!important;color:var(--paper)!important;border:0!important;border-radius:2px!important;padding:11px 18px!important;font-size:13.5px!important;font-weight:500!important;opacity:1}
header.nav .dd-menu a:not(#_):not(#__):not(#___):not(#____):not(#_____){color:var(--paper)!important;font-size:14px!important;padding:11px 20px!important;border:0!important}
.mmenu a:not(#_):not(#__):not(#___):not(#____):not(#_____){font-family:var(--serif)!important;color:var(--paper)!important;text-decoration:none!important;border:0!important;border-bottom:1px solid rgba(246,240,228,.12)!important;font-size:clamp(28px,7vw,40px)!important;padding:10px 0!important}
.mmenu a.sub:not(#_):not(#__):not(#___):not(#____):not(#_____){font-style:italic!important;font-size:clamp(20px,5vw,26px)!important;padding-left:18px!important}
.mmenu a small:not(#_):not(#__):not(#___):not(#____):not(#_____){font-family:var(--mono)!important;font-size:10px!important;color:var(--brass-lt)!important}
.footer .wt-lang-switcher{margin-top:14px;font-size:12px}
.footer .wt-lang-switcher select{font:inherit;background:var(--navy-3);color:var(--paper);border:1px solid rgba(246,240,228,.25);padding:6px 10px;border-radius:2px}
.mmenu{z-index:49}
body.menu-open header.nav:not(#_):not(#__):not(#___):not(#____):not(#_____){background:transparent!important;box-shadow:none!important;backdrop-filter:none!important}
body.menu-open header.nav .brand:not(#_):not(#__):not(#___){color:var(--paper)!important}
body.menu-open header.nav .brand img:not(#_):not(#__):not(#___){filter:none!important}
header.nav .brand img:not(#_):not(#__):not(#___){filter:brightness(0);opacity:.88}

/* Header fit at narrow widths: menu button never shrinks below 44px; wordmark scales. */
.nav .bar{min-width:0}
.burger{flex:0 0 44px;min-width:44px}
.brand{min-width:0;flex:0 1 auto}
.brand span{overflow:hidden;text-overflow:clip}
@media(max-width:400px){.brand{gap:10px;font-size:10px;letter-spacing:.14em}.brand img{width:32px;height:32px}}
@media(max-width:340px){.brand{font-size:9px;letter-spacing:.1em}}
html,body{overflow-x:clip}
@media(max-width:400px){header.nav .brand img:not(#_):not(#__):not(#___):not(#____):not(#_____){width:32px!important;height:32px!important}}
#ab-team,#scott,#structures,#portfolio-programs,#seller-protection{scroll-margin-top:calc(var(--nav-h,72px) + 24px)}

/* Two typefaces only: Playfair Display for display type, Inter Tight for everything else.
   Labels that the concept set in a monospace keep their size and tracking in Inter Tight. */
:root{--mono:var(--sans)}
