/* ediefeffer.com shared stylesheet — sitewide changes happen HERE, once. */

/* Readability: ~10% larger base type across the site (all sizes are rem-based) */
html{font-size:117%}

/* Floors for the smallest UI text */
.nav-links a,.dropdown-menu a{font-size:0.8rem}
.footer-links a{font-size:0.78rem}
.stat-label{font-size:0.7rem}

/* Dropdown: invisible hover bridge kills the vanishing-menu bug */
.nav-dropdown{position:relative}
.nav-dropdown::after{content:'';position:absolute;top:100%;left:-0.5rem;right:-0.5rem;height:0.7rem}
.dropdown-menu{min-width:230px}

/* Dropdown section labels + divider */
.dropdown-label{list-style:none;padding:0.35rem 1.2rem 0.15rem;font-size:0.6rem;font-weight:500;letter-spacing:0.13em;text-transform:uppercase;color:var(--taupe)}
.dropdown-divider{list-style:none;height:1px;background:var(--border);margin:0.5rem 1.2rem}

/* Footer social icons */
.footer-social{display:flex;gap:0.9rem;align-items:center;margin-left:0.5rem}
.footer-social a{color:rgba(224,222,210,0.45);display:flex;transition:color 0.2s}
.footer-social a:hover{color:var(--taupe)}

/* Mobile: nav panel offset for slightly taller nav */
@media(max-width:960px){
  .nav-links,.nav-links.mobile-open{top:72px}
  footer{flex-direction:column;gap:1.5rem;text-align:center}
  .footer-links{flex-wrap:wrap;justify-content:center}
}


/* ---- Canonical nav + footer styles (portable to every page, incl. landing pages) ---- */
nav{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:1.1rem 3.5rem;background:rgba(250,250,247,0.95);backdrop-filter:blur(14px);border-bottom:1px solid var(--border,#D8CFC4)}
.nav-logo{font-family:'Cormorant Garamond',serif;font-size:1.45rem;font-weight:500;color:var(--text,#2E2D2B);text-decoration:none;letter-spacing:0.02em}
.nav-links{display:flex;gap:1.8rem;list-style:none;align-items:center;margin:0;padding:0}
.nav-links a{font-weight:400;letter-spacing:0.09em;text-transform:uppercase;color:var(--text-mid,#6B5A4A);text-decoration:none;transition:color 0.2s}
.nav-links a:hover{color:var(--brown,#875F45)}
.nav-cta{background:var(--brown,#875F45)!important;color:#fff!important;padding:0.5rem 1.2rem;border-radius:2rem}
.nav-cta:hover{background:var(--brown-dark,#6B4530)!important}
.nav-dropdown>span{font-size:0.8rem;font-weight:400;letter-spacing:0.09em;text-transform:uppercase;color:var(--text-mid,#6B5A4A);cursor:pointer}
.dropdown-menu{display:none;position:absolute;top:calc(100% + 0.2rem);left:50%;transform:translateX(-50%);background:var(--off-white,#FAFAF7);border:1px solid var(--border,#D8CFC4);border-radius:0.5rem;box-shadow:0 8px 24px rgba(0,0,0,0.08);padding:0.8rem 0;min-width:230px;z-index:200;list-style:none;margin:0}
.dropdown-menu a{display:block;padding:0.5rem 1.2rem;white-space:nowrap}
.dropdown-menu a:hover{background:var(--linen,#E0DED2)}
@media(min-width:961px){.nav-dropdown:hover .dropdown-menu{display:block}}
footer{background:var(--charcoal,#2E2D2B);border-top:1px solid rgba(224,222,210,0.07);padding:2.5rem 5rem;display:flex;align-items:center;justify-content:space-between}
.footer-logo{font-family:'Cormorant Garamond',serif;font-size:1.3rem;font-weight:500;color:var(--linen,#E0DED2)}
.footer-sub{font-size:0.7rem;color:rgba(224,222,210,0.3);margin-top:0.2rem;letter-spacing:0.06em}
.footer-links{display:flex;gap:2rem;list-style:none;align-items:center;margin:0;padding:0}
.footer-links a{color:rgba(224,222,210,0.35);text-decoration:none;letter-spacing:0.06em;transition:color 0.2s}
.footer-links a:hover{color:var(--taupe,#C7BAA9)}
@media(max-width:960px){
  nav{padding:1rem 1.5rem}
  .nav-hamburger{display:flex!important;flex-direction:column;gap:6px;background:none;border:none;cursor:pointer;padding:0;width:24px;height:24px;align-items:center;justify-content:center;position:absolute;right:1.5rem;top:50%;transform:translateY(-50%)}
  .nav-hamburger span{display:block;width:24px;height:2px;background:#2E2D2B;border-radius:2px}
  .nav-links{display:none!important;position:absolute;left:0;right:0;flex-direction:column;background:var(--off-white,#FAFAF7);border-bottom:1px solid var(--border,#D8CFC4);padding:1.5rem;gap:1rem;z-index:99}
  .nav-links.mobile-open{display:flex!important}
  .dropdown-menu{position:static;transform:none;box-shadow:none}
}
@media(min-width:961px){.nav-hamburger{display:none}}


/* Images: attributes reserve layout space, CSS controls display size.
   height:auto preserves aspect ratio wherever a page sets only width;
   class-based height rules (e.g. .hero-photo{height:100%}) still win. */
img{height:auto}

/* ---- Readability: case-study quotes & links (was thin italic / faint) ---- */
.cs-card-pullquote,.inline-quote{font-style:normal!important;font-weight:500!important;color:var(--charcoal,#2E2D2B)!important}
.cs-card-link{font-weight:500!important;color:var(--brown,#875F45)!important;font-size:0.85rem!important}
.cs-card-link:hover{color:var(--brown-dark,#6B4530)!important}
