/* Nordon shell styles. Header and footer only. Source of truth for cross-page consistency. See CLAUDE.md Section 8. */

html{scroll-padding-top:100px}

/* ── HEADER ── */
.nav-top{
position:fixed;top:0;left:0;right:0;z-index:900;
padding:16px 40px 24px 40px;
display:flex;align-items:center;justify-content:space-between;
transition:background .4s,backdrop-filter .4s,padding .3s;
}
.nav-top.scrolled{
background:rgba(234,226,215,0.85);
backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);
padding:10px 40px 16px 40px;
}
.nav-top .logo{height:36px;width:auto;transition:opacity .3s}
.nav-top .logo-mono{height:48px;width:auto;display:none}
.nav-top.scrolled .logo{display:none}
.nav-top.scrolled .logo-mono{display:block}
.nav-links{display:flex;gap:32px;align-items:center}
.nav-links a{
font-family:var(--font-body);font-size:14px;font-weight:400;
color:var(--navy);letter-spacing:.02em;
position:relative;text-decoration:none;
}
.nav-links a:not(.nav-cta)::after{
content:'';position:absolute;bottom:-2px;left:0;width:0;height:1px;
background:var(--copper);transition:width .3s var(--ease-reveal);
}
.nav-links a:not(.nav-cta):hover::after{width:100%}
.nav-links a.active::after,
.nav-links a.current::after,
.nav-links a[aria-current="page"]::after{width:100%;background:var(--burgundy)}
.nav-cta{
font-size:13px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;
color:var(--burgundy);background:transparent;
padding:10px 22px;
border:1px solid var(--burgundy);
transition:background .3s,color .3s;
}
.nav-cta:hover{background:var(--burgundy);color:var(--ivory)}

/* ── FOOTER ── */
.section-inner{max-width:1160px;margin:0 auto;padding:0 40px}
.site-footer{
padding:80px 0 32px;background:var(--navy);color:var(--ivory);
}
.footer-top{
display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr;gap:40px;align-items:start;
margin-bottom:60px;
}
.footer-brand .footer-wordmark{
font-family:var(--font-display);font-size:22px;
color:var(--ivory);margin-bottom:12px;
}
.footer-brand .footer-compass-mark{width:32px;height:32px;margin-bottom:16px}
.footer-brand .footer-location{font-size:13px;color:var(--stone);font-weight:300;margin-bottom:4px}
.footer-brand .footer-tagline{font-size:13px;color:var(--stone);font-weight:300}
.footer-col h4{
font-family:var(--font-body);font-size:11px;font-weight:500;
letter-spacing:.1em;text-transform:uppercase;
color:var(--copper);margin-bottom:16px;
}
.footer-col a{
display:block;font-size:14px;color:var(--stone);
font-weight:300;margin-bottom:10px;text-decoration:none;
transition:color .3s;
}
.footer-col a:hover{color:var(--ivory)}
.footer-bottom{
border-top:1px solid rgba(181,169,154,0.2);
padding-top:24px;display:flex;justify-content:space-between;
align-items:center;
}
.footer-bottom span{font-size:12px;color:var(--stone);font-weight:300}
.footer-bottom a{font-size:12px;color:var(--stone);font-weight:300;text-decoration:none;transition:color .3s}
.footer-bottom a:hover{color:var(--ivory)}

/* ── PILL LABEL ── */
.pill-nav .pill-label{
font-size:11px;font-weight:300;letter-spacing:.06em;
color:var(--stone);padding:0 10px;
white-space:nowrap;min-width:80px;text-align:center;
text-transform:uppercase;
}

/* ── SHELL RESPONSIVE ── */
@media(max-width:1200px){
.section-inner{padding:0 32px}
.nav-links{gap:24px}
}
@media(max-width:900px){
.footer-top{grid-template-columns:1fr 1fr;gap:32px}
}
@media(max-width:768px){
.section-inner{padding:0 24px}
.pill-nav,.float-nav{display:none !important}
.nav-top .nav-cta{font-size:10px;padding:8px 14px;letter-spacing:.04em}
}
@media(max-width:600px){
.section-inner{padding:0 20px}
.nav-top{padding:12px 20px}
.footer-top{grid-template-columns:1fr}
.footer-bottom{flex-direction:column;gap:8px;text-align:center}
}
