/* Shared editorial shell: header + footer overrides loaded after page-local CSS. */
:root{
  --shell-ink: var(--ink, var(--espresso, #3D2B1F));
  --shell-ink-light: var(--ink-light, var(--espresso-light, #6B5340));
  --shell-muted: var(--ink-muted, var(--espresso-muted, #9A8878));
  --shell-paper: var(--paper, var(--cream, #FCF7F0));
  --shell-paper-light: var(--paper-light, var(--cream-light, #FEFAF5));
  --shell-paper-dark: var(--paper-dark, var(--cream-dark, #F5EDE3));
  --shell-gold: var(--gold, #D4A76A);
  --shell-gold-dark: var(--gold-dark, var(--cappuccino-dark, #B8894E));
  --shell-ease: var(--ease-smooth, cubic-bezier(0.65,0,0.35,1));
}

nav{
  position:fixed!important;
  top:8px!important;
  left:8px!important;
  right:8px!important;
  z-index:1000!important;
  width:auto!important;
  height:56px!important;
  padding:0 6px 0 20px!important;
  transform:none!important;
  border-radius:var(--radius)!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:transparent!important;
  box-shadow:none!important;
  backdrop-filter:blur(0)!important;
  transition:background 0.5s var(--shell-ease),box-shadow 0.5s var(--shell-ease),backdrop-filter 0.5s var(--shell-ease)!important;
}

nav.scrolled{
  background:rgba(252,247,240,0.88)!important;
  backdrop-filter:blur(16px)!important;
  box-shadow:0 18px 54px rgba(61,43,31,0.08),inset 0 1px 0 rgba(255,255,255,0.78)!important;
}

nav.nav-top{
  background:transparent!important;
  backdrop-filter:blur(0)!important;
  box-shadow:none!important;
}

.nav-inner{position:relative;z-index:1;max-width:1120px!important}
.logo-link{gap:12px!important;color:var(--shell-ink)!important}
.logo-img{height:38px!important;width:auto!important}
.logo-text{font-size:1.08rem!important;letter-spacing:-0.035em!important;color:var(--shell-ink)!important}
.logo-text small{font-size:0.48rem!important;letter-spacing:0.36em!important;color:rgba(61,43,31,0.46)!important}

.nav-links{
  gap:4px!important;
  padding:0!important;
  border-radius:0!important;
  background:transparent!important;
}

.nav-links a:not(.nav-cta){
  min-height:42px!important;
  display:inline-flex!important;
  align-items:center!important;
  padding:0 14px!important;
  color:var(--shell-ink-light)!important;
  font-size:0.78rem!important;
  font-weight:600!important;
  border-radius:var(--radius)!important;
}

.nav-links a:not(.nav-cta):hover{
  background:rgba(212,167,106,0.12)!important;
  color:var(--shell-ink)!important;
}

.nav-cta{
  min-height:46px!important;
  padding:0 22px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  border-radius:var(--radius)!important;
  background:linear-gradient(135deg,var(--shell-ink),#2E1F15)!important;
  color:var(--shell-paper-light)!important;
  font-size:0.82rem!important;
  box-shadow:0 12px 28px rgba(61,43,31,0.16)!important;
}

.nav-mobile-btn{
  width:36px!important;
  height:36px!important;
  border-radius:var(--radius-sm)!important;
  background:rgba(61,43,31,0.08)!important;
  color:var(--shell-ink)!important;
}

.mobile-menu{
  position:fixed!important;
  top:56px!important;
  left:8px!important;
  right:8px!important;
  z-index:999!important;
  width:auto!important;
  transform:translateY(-8px)!important;
  border-radius:var(--radius)!important;
  padding:10px!important;
  background:linear-gradient(180deg,rgba(255,251,245,0.98),rgba(252,247,240,0.94))!important;
  box-shadow:0 24px 70px rgba(61,43,31,0.14)!important;
}

.mobile-menu.open{transform:translateY(0)!important}
.mobile-menu a{border-radius:var(--radius-sm)!important;font-weight:600!important;color:var(--shell-ink-light)!important}
.mobile-menu a:hover{background:rgba(212,167,106,0.1)!important;color:var(--shell-ink)!important}
.mobile-menu .nav-cta-mobile{border-radius:var(--radius)!important;background:var(--shell-ink)!important;color:var(--shell-paper-light)!important}

footer{
  margin-top:0!important;
  padding:76px 24px 0!important;
  overflow:hidden!important;
  color:rgba(255,251,245,0.82)!important;
  background:
    radial-gradient(circle at 16% 18%,rgba(212,167,106,0.22),transparent 27%),
    radial-gradient(circle at 86% 12%,rgba(255,251,245,0.09),transparent 24%),
    linear-gradient(135deg,#6F5238 0%,#8A6A4A 46%,#745338 100%)!important;
}



.footer-inner{
  max-width:980px!important;
  grid-template-columns:minmax(320px,1.45fr) repeat(2,minmax(160px,0.72fr))!important;
  gap:44px!important;
}

.footer-brand{
  padding:26px!important;
  border-radius:var(--radius)!important;
  background:rgba(255,251,245,0.05)!important;
}

.footer-brand .logo-img{height:42px!important;width:auto!important}
.footer-brand .desc,
.footer-brand p.desc{font-size:0.9rem!important;line-height:1.9!important;color:rgba(255,251,245,0.66)!important;max-width:390px!important}

.footer-brand .social a{
  width:46px!important;
  height:46px!important;
  border-radius:var(--radius)!important;
  border-color:rgba(255,251,245,0.16)!important;
  color:rgba(255,251,245,0.64)!important;
  background:rgba(255,251,245,0.04)!important;
}

.footer-brand .social a:hover{
  color:#fff!important;
  background:rgba(255,251,245,0.12)!important;
  transform:translateY(-2px)!important;
}

.ft-col h4{
  font-size:0.98rem!important;
  color:rgba(255,251,245,0.92)!important;
  letter-spacing:-0.02em!important;
}

.ft-col h4::after{width:28px!important;opacity:0.62!important}

.ft-col a,
.ft-col .contact-item,
.ft-col .contact-item span{
  font-size:0.86rem!important;
  color:rgba(255,251,245,0.62)!important;
}

.ft-col a:hover{color:#fff!important;padding-left:6px!important}
.ft-col .contact-item{display:flex!important;align-items:center!important;gap:10px!important;min-height:44px!important;padding:8px 0!important}
.ft-col .contact-item a{padding:0!important;min-height:0!important;display:inline!important;border:none!important}
.ft-col .contact-item .ci-icon{color:var(--shell-gold)!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;width:16px!important}

.footer-sub{
  max-width:980px!important;
  margin-top:54px!important;
  padding:28px 0 34px!important;
  border-top-color:rgba(255,251,245,0.11)!important;
  color:rgba(255,251,245,0.45)!important;
}

.legal-document{
  border:none!important;
}

.legal-document::before{
  display:none!important;
}

@media(max-width:1024px){
  .footer-inner{grid-template-columns:1.25fr 1fr 1fr!important}
}

@media(max-width:768px){
  nav{top:6px!important;left:6px!important;right:6px!important;height:50px!important;padding:0 4px 0 14px!important}
  nav::before{inset:5px;border-radius:var(--radius-sm)}
  .logo-img{height:34px!important}
  .logo-text{font-size:0.96rem!important}
  .logo-text small{font-size:0.42rem!important;letter-spacing:0.3em!important}
  .nav-links{background:transparent!important;border:0!important;padding:0!important}
  .nav-links a:not(.nav-cta){display:none!important}
  .nav-cta{min-height:42px!important;padding:0 16px!important;font-size:0.76rem!important}
  .nav-mobile-btn{display:flex!important;width:42px!important;height:42px!important;border-radius:var(--radius-sm)!important}
  .mobile-menu{top:56px!important;left:6px!important;right:6px!important}
  footer{padding:58px 22px 0!important}
  .footer-inner{grid-template-columns:1fr!important;gap:24px!important}
  .footer-brand{padding:24px!important}
}

@media(max-width:420px){
  nav{height:48px!important}
  .logo-img{height:30px!important}
  .logo-text{font-size:0.86rem!important}
  .logo-text small{font-size:0.36rem!important;letter-spacing:0.24em!important}
  .nav-cta{padding:0 13px!important;font-size:0.72rem!important}
  .nav-mobile-btn{width:40px!important;height:40px!important}
  .mobile-menu{top:48px!important;left:4px!important;right:4px!important}
  footer{padding:50px 16px 0!important}
  .footer-brand{padding:20px!important;border-radius:var(--radius-lg)!important}
  .footer-sub{align-items:flex-start!important;text-align:left!important}
}
