/* Shared redesign frame for preserved legacy content in the private staging tree. */
:root { --fp-paper:#f7f5ef; --fp-ink:#243746; --fp-navy:#203344; --fp-gold:#a8793c; --fp-sage:#647869; --fp-line:#d9d5ca; --fp-white:#fffefa; --fp-width:74rem; }
html { scroll-behavior:smooth; }
body.fp-staged-route { margin:0; background:var(--fp-paper); color:var(--fp-ink); font-family:Georgia,'Times New Roman',serif; line-height:1.68; }
.fp-staged-route *, .fp-staged-route *::before, .fp-staged-route *::after { box-sizing:border-box; }
.fp-staged-route a { color:#315a68; text-underline-offset:.16em; }
.fp-staged-route a:hover { color:#8a5f2e; }
.fp-staged-route :focus-visible { outline:3px solid var(--fp-gold); outline-offset:3px; }
.fp-skip { position:absolute; left:-9999px; top:.5rem; z-index:20; padding:.55rem .9rem; background:var(--fp-white); color:var(--fp-navy); }
.fp-skip:focus { left:.5rem; }
.fp-header { min-height:5.5rem; padding:.8rem max(1.25rem,calc((100vw - var(--fp-width))/2)); display:flex; align-items:center; justify-content:space-between; gap:2rem; background:var(--fp-navy); color:#fffefa; border-bottom:3px solid var(--fp-gold); }
.fp-brand { display:flex; align-items:center; gap:.75rem; color:inherit!important; text-decoration:none; font:600 1.05rem/1.15 system-ui,sans-serif; letter-spacing:.015em; }
.fp-brand small { display:block; margin-top:.3rem; color:#e3d7c4; font:400 .68rem/1.25 system-ui,sans-serif; letter-spacing:.04em; }
.fp-mark { display:grid; place-items:center; width:2.6rem; height:2.6rem; border:1px solid #d6b77f; border-radius:50%; color:#e7ca91; font:600 1.2rem Georgia,serif; }
.fp-nav { display:flex; flex-wrap:wrap; align-items:center; gap:.25rem; font:500 .88rem/1.2 system-ui,sans-serif; }
.fp-nav a { padding:.55rem .65rem; color:#f8f4eb; text-decoration:none; border-radius:.2rem; }
.fp-nav a:hover, .fp-nav a[aria-current="page"] { color:white; background:#ffffff1c; }
.fp-menu { display:none; }
.fp-main { width:min(100% - 2.5rem,var(--fp-width)); margin:0 auto; min-height:60vh; padding:1.2rem 0 4rem; }
.fp-crumb { display:flex; flex-wrap:wrap; align-items:center; gap:.4rem; margin:.2rem 0 1.4rem; color:#6d706d; font:400 .78rem/1.5 system-ui,sans-serif; }
.fp-crumb a { color:#526b70; }
.fp-content { min-width:0; }
.fp-content img, .fp-content video, .fp-content iframe { max-width:100%; height:auto; }
.fp-content pre, .fp-content table { max-width:100%; overflow:auto; }
.fp-footer { padding:2.3rem max(1.25rem,calc((100vw - var(--fp-width))/2)); border-top:1px solid var(--fp-line); background:#eeeae0; color:#47545a; font:400 .9rem/1.55 system-ui,sans-serif; }
.fp-footer-brand { color:var(--fp-navy)!important; }
.fp-footer .fp-mark { color:var(--fp-gold); border-color:#b89b6b; }
.fp-footer nav { display:flex; flex-wrap:wrap; gap:.55rem 1.2rem; margin:1rem 0; }
.fp-footer nav a { color:#315a68; }
.fp-footer small { color:#6d706d; }
@media (max-width:900px) {
 .fp-header { position:relative; flex-wrap:wrap; gap:.6rem; padding:.8rem 1rem; }
 .fp-menu { display:block; margin-left:auto; padding:.5rem .75rem; border:1px solid #c2b28d; border-radius:.25rem; background:transparent; color:#fffefa; font:500 .9rem system-ui,sans-serif; }
 .fp-nav { display:none; width:100%; padding:.4rem 0 .2rem; }
 .fp-nav.is-open { display:flex; }
 .fp-nav a { flex:1 1 7rem; }
}
@media (max-width:560px) {
 .fp-main { width:min(100% - 1.5rem,var(--fp-width)); padding-top:.8rem; }
 .fp-brand small { max-width:13rem; }
 .fp-footer { padding:1.8rem 1rem; }
}

/* Accessible primary-navigation shortcuts for preserved legacy pages. */
.fp-nav .nav-item { position:relative; display:flex; align-items:center; }
.fp-nav .nav-item>a { padding-right:.18rem; }
.fp-nav .submenu-toggle { display:grid; place-items:center; width:1.7rem; height:1.9rem; padding:0; border:0; border-radius:.2rem; background:transparent; color:#f8f4eb; font:inherit; cursor:pointer; }
.fp-nav .submenu-toggle:hover, .fp-nav .submenu-toggle:focus-visible, .fp-nav .nav-item.is-open>.submenu-toggle { color:white; background:#ffffff1c; }
.fp-nav .submenu-toggle span { transition:transform .15s ease; }
.fp-nav .nav-item.is-open>.submenu-toggle span { transform:rotate(180deg); }
.fp-nav .submenu { display:none; position:absolute; z-index:20; top:calc(100% + .45rem); left:0; width:max-content; min-width:14rem; max-width:20rem; padding:.45rem; background:var(--fp-white); border:1px solid var(--fp-line); border-radius:.3rem; box-shadow:0 .8rem 2rem #1424312e; }
.fp-nav .nav-item:last-of-type .submenu { right:0; left:auto; }
.fp-nav .nav-item.is-open>.submenu, .fp-nav .nav-item:hover>.submenu, .fp-nav .nav-item:focus-within>.submenu { display:grid; }
.fp-nav .submenu a { display:block; padding:.62rem .72rem; border-radius:.2rem; color:var(--fp-navy); font-size:.86rem; line-height:1.3; text-decoration:none; white-space:normal; }
.fp-nav .submenu a:hover, .fp-nav .submenu a:focus-visible { color:var(--fp-navy); background:#eee4d2; }
@media (max-width:900px) {
 .fp-nav { flex-direction:column; align-items:stretch; }
 .fp-nav .nav-item { display:grid; grid-template-columns:1fr auto; width:100%; border-bottom:1px solid #ffffff21; }
 .fp-nav .nav-item>a { padding:.7rem .4rem; }
 .fp-nav .submenu-toggle { width:2.8rem; height:2.8rem; }
 .fp-nav .submenu { position:static; grid-column:1/-1; width:100%; min-width:0; max-width:none; margin:0 0 .5rem; padding:.2rem .35rem .45rem; background:#162936; border:0; border-radius:.2rem; box-shadow:none; }
 .fp-nav .nav-item:hover>.submenu, .fp-nav .nav-item:focus-within>.submenu { display:none; }
 .fp-nav .nav-item.is-open>.submenu { display:grid; }
 .fp-nav .submenu a { padding:.65rem .8rem; color:#f3eee5; font-size:.92rem; }
 .fp-nav .submenu a:hover, .fp-nav .submenu a:focus-visible { color:white; background:#ffffff17; }
}
