/* Purpose-built navigation for Avermont Partners. Each disclosure uses a
   distinct information hierarchy, with a shared editorial visual system. */
.desktop-navigation .mega-panel{
  padding:23px 26px 22px;
  max-height:calc(100dvh - 125px);
  overflow-y:auto;
  overscroll-behavior:contain;
  scrollbar-width:thin;
  background:#fff;
  border:1px solid #e5d9d4;
  border-radius:19px;
  box-shadow:0 30px 80px rgba(33,17,19,.18),0 3px 13px rgba(33,17,19,.05);
}
.desktop-navigation .mega-panel:not([hidden]){animation:navEditorialEnter .18s ease-out both}
@keyframes navEditorialEnter{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}
.nav-menu-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:24px;
  border-bottom:1px solid #e9dfda;
  padding:0 1px 17px;
  margin-bottom:18px;
}
.nav-menu-head>div{display:flex;align-items:baseline;flex-wrap:wrap;gap:15px}
.nav-menu-kicker,.nav-panel-label{
  color:#751a27;
  font-size:10px;
  line-height:1.45;
  letter-spacing:.17em;
  font-weight:800;
}
.nav-menu-kicker i{display:inline-block;width:18px;height:1px;background:#a9797f;vertical-align:middle;margin:0 7px 3px}
.nav-menu-description{color:#626068;font-size:12px;line-height:1.55;font-weight:500;letter-spacing:0}
.nav-menu-close{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:5px 7px 5px 10px;
  flex-shrink:0;
  border:0;
  border-radius:7px;
  background:transparent;
  color:#5e4147;
  font-size:11px;
  font-weight:700;
}
.nav-menu-close span{font-size:20px;line-height:1;font-weight:400}
.nav-menu-close:hover,.nav-menu-close:focus-visible{color:#65121d;background:#f8efec}

/* Capabilities: four linked practice cards with a readable service index. */
.nav-practice-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.nav-practice{
  position:relative;
  display:flex;
  flex-direction:column;
  min-width:0;
  min-height:397px;
  padding:21px 19px 15px;
  background:linear-gradient(164deg,#fff 0%,#fff 42%,#fdfaf8 100%);
  border:1px solid #e9e0dd;
  border-radius:12px;
  transition:border-color .2s,box-shadow .2s,transform .2s;
}
.nav-practice::before{content:'';position:absolute;top:-1px;left:19px;width:37px;height:2px;background:#7b202b}
.nav-practice:hover,.nav-practice:focus-within{border-color:#cfa4a5;box-shadow:0 9px 24px rgba(63,28,30,.075);transform:translateY(-2px)}
.nav-practice-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:19px}
.nav-practice-number{color:#781b27;font-size:12px;font-weight:800;letter-spacing:.02em}
.nav-practice-number small{color:#70545b;font-size:10px;letter-spacing:.07em}
.nav-practice-glyph{
  display:flex;
  justify-content:center;
  align-items:center;
  width:53px;
  height:53px;
  border-radius:50%;
  border:1px solid #e8d7d3;
  background:#f9f1ee;
  color:#731d28;
}
.nav-practice-glyph svg{width:30px;height:30px}
.nav-practice-title{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;min-height:50px;color:#18151b;font-size:18px;font-weight:800;line-height:1.22;letter-spacing:-.045em}
.nav-practice-title svg{width:17px;height:17px;color:#841e2a;flex-shrink:0;margin-top:3px;transition:transform .2s}
.nav-practice-title:hover{color:#751925}
.nav-practice-title:hover svg{transform:translate(2px,-2px)}
.nav-practice-desc{color:#55545d;font-size:12px;line-height:1.53;margin:9px 0 15px;min-height:56px}
.nav-practice-services{margin-top:auto;border-top:1px solid #e6dcd8;padding-top:10px}
.nav-practice-services>span{display:block;color:#7d6670;font-size:9px;letter-spacing:.14em;font-weight:800;margin-bottom:4px}
.nav-practice-services .mega-link{
  display:flex;
  align-items:center;
  justify-content:space-between;
  min-height:36px;
  margin:0 -8px;
  padding:7px 8px;
  border-radius:6px;
  color:#302e36;
  font-size:13.5px;
  line-height:1.35;
  font-weight:650;
  transition:background .18s,color .18s,padding .18s;
}
.nav-practice-services .mega-link span{font-size:15px;color:#9b6d72;opacity:1;transition:transform .18s,color .18s}
.nav-practice-services .mega-link:hover,.nav-practice-services .mega-link:focus-visible{background:#f8efec;color:#681923;padding-left:11px}
.nav-practice-services .mega-link:hover span,.nav-practice-services .mega-link:focus-visible span{transform:translate(2px,-2px);color:#681923}
.nav-menu-foot{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:15px;padding:17px 20px;border:1px solid #eadcd6;background:#faf5f2;border-radius:10px}
.nav-menu-foot>div{display:flex;align-items:baseline;flex-wrap:wrap;gap:11px}
.nav-menu-foot>div>span{font-size:9px;letter-spacing:.13em;color:#81212d;font-weight:800}
.nav-menu-foot strong{font-size:12px;line-height:1.4;color:#41383c;font-weight:700}
.nav-foot-link,.nav-method-link,.nav-resources-main-link{
  display:inline-flex;align-items:center;gap:12px;flex-shrink:0;color:#6a1420;font-size:12px;font-weight:800;line-height:1.35;
}
.nav-foot-link svg,.nav-method-link svg,.nav-resources-main-link svg{width:16px;height:16px;transition:transform .18s}
.nav-foot-link:hover svg,.nav-method-link:hover svg,.nav-resources-main-link:hover svg{transform:translateX(4px)}

/* How we work: a decision directory beside a restrained execution timeline. */
.nav-how-grid{display:grid;grid-template-columns:1.12fr .88fr;gap:22px}
.nav-how-directory{padding:11px 11px 0 5px}
.nav-how-directory h3,.nav-resources-intro h3,.nav-about-position h3{font-size:clamp(25px,2.4vw,34px);line-height:1.13;letter-spacing:-.055em;font-weight:800;margin:16px 0 18px}
.nav-how-directory h3 em,.nav-resources-intro h3 em,.nav-about-position h3 em{font-style:normal;color:#7a202b}
.nav-how-links{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.nav-directory-link{
  display:flex;align-items:center;gap:11px;min-height:79px;padding:14px 13px;
  background:#fff;border:1px solid #e8dfdb;border-radius:9px;
  transition:background .18s,border-color .18s,box-shadow .18s;
}
.nav-directory-link:hover,.nav-directory-link:focus-visible{background:#fcf6f3;border-color:#c99fa2;box-shadow:0 5px 14px rgba(77,24,30,.06)}
.nav-directory-num{align-self:flex-start;flex-shrink:0;font-size:10px;color:#9a4850;font-weight:800;margin-top:3px}
.nav-directory-text{min-width:0;flex:1;display:flex;flex-direction:column;gap:5px}
.nav-directory-text strong{color:#242128;line-height:1.25;font-size:13px;font-weight:800;letter-spacing:-.025em}
.nav-directory-text small{color:#66646a;line-height:1.4;font-size:11px}
.nav-directory-link>svg{color:#802733;width:17px;height:17px;flex-shrink:0}
.nav-how-method{padding:23px 26px;border-radius:12px;background:#f7f0ec;border:1px solid #e8d9d2;position:relative;overflow:hidden}
.nav-how-method::after{content:'';position:absolute;right:-80px;top:-95px;width:230px;height:230px;border:1px solid rgba(121,36,48,.13);border-radius:50%;pointer-events:none}
.nav-how-method .nav-panel-label{display:flex;justify-content:space-between;gap:15px;position:relative;z-index:1}
.nav-how-method .nav-panel-label span{color:#73535b;letter-spacing:0}
.nav-method-steps{position:relative;margin:23px 0 18px}
.nav-method-steps::before{content:'';position:absolute;left:16px;top:15px;bottom:25px;width:1px;background:#d0b8b5}
.nav-method-step{display:grid;grid-template-columns:33px 1fr;gap:13px;position:relative;margin-bottom:15px}
.nav-method-step>span{display:flex;align-items:center;justify-content:center;width:33px;height:33px;border-radius:50%;border:1px solid #d0b5b4;background:#fff;font-size:10px;color:#7a202c;font-weight:800;z-index:1}
.nav-method-step strong{font-size:15px;color:#201b20;font-weight:800}
.nav-method-step p{font-size:11px;line-height:1.5;margin:3px 0 0;color:#5e555b}
.nav-method-link{padding-top:13px;border-top:1px solid #dbc9c4;width:100%;justify-content:space-between}

/* Insights: topic index, format index and a dark editorial feature. */
.nav-insights-grid{display:grid;grid-template-columns:.88fr .75fr 1.17fr;gap:21px}
.nav-insights-index,.nav-insights-formats{padding:10px 5px 5px}
.nav-insights-index{padding-right:14px;border-right:1px solid #e8dfda}
.nav-topic-link{display:flex;align-items:center;gap:12px;padding:17px 0;border-bottom:1px solid #ebe2de;color:#262128}
.nav-topic-link>span{font-size:10px;color:#8a313d;font-weight:800}
.nav-topic-link strong{flex:1;font-size:13px;font-weight:800;letter-spacing:-.022em}
.nav-topic-link svg{width:16px;height:16px;color:#8d3942;transition:transform .18s}
.nav-topic-link:hover{color:#751b27}
.nav-topic-link:hover svg{transform:translateX(3px)}
.nav-subtle-link{display:inline-flex;align-items:center;gap:9px;margin-top:17px;color:#781925;font-size:12px;font-weight:800}
.nav-subtle-link svg{width:16px;height:16px}
.nav-format-link{display:flex;flex-direction:column;gap:5px;padding:17px 9px 16px 0;border-bottom:1px solid #ebe2de}
.nav-format-link strong{font-size:14px;color:#2c2830;font-weight:800}
.nav-format-link small{font-size:11px;color:#646168}
.nav-format-link:hover strong{color:#7b1a29}
.nav-feature-story{
  position:relative;display:flex;flex-direction:column;min-height:333px;overflow:hidden;
  padding:27px 31px 26px;background:#57131e;color:#fff;border-radius:10px;
  box-shadow:0 15px 28px rgba(68,20,26,.13);transition:background .2s;
}
.nav-feature-story:hover{background:#691824}
.nav-feature-story>span{font-size:10px;letter-spacing:.17em;color:#f2f0ed;font-weight:800}
.nav-feature-story h3{position:relative;font-family:Georgia,serif;font-size:clamp(32px,3vw,45px);line-height:1.04;font-weight:400;letter-spacing:-.052em;margin:32px 0 11px}
.nav-feature-story h3 em{font-style:italic;color:#fff}
.nav-feature-story p{color:#eeeae7;font-size:12px;line-height:1.6;max-width:330px;margin:0 0 22px}
.nav-feature-story>strong{display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid rgba(255,255,255,.3);padding-top:16px;color:#fff;font-size:12px;font-weight:800;margin-top:auto}
.nav-feature-story>strong svg{width:17px;height:17px}
.nav-feature-rule{position:absolute;right:18px;top:32px;width:102px;height:54px;display:flex;align-items:center;justify-content:space-between}
.nav-feature-rule::before,.nav-feature-rule::after{content:'';position:absolute;top:26px;height:1px;background:#c68d95}
.nav-feature-rule::before{left:9px;right:55px}.nav-feature-rule::after{left:60px;right:8px}
.nav-feature-rule i{width:11px;height:11px;border:1px solid #f9cccf;border-radius:50%;background:#752633;z-index:1}
.nav-feature-rule i:nth-child(2){width:18px;height:18px;background:#fff;border-color:#fff}

/* Resources: one working brief, four functional tools, and compact formats. */
.nav-resources-grid{display:grid;grid-template-columns:.35fr .65fr;gap:22px}
.nav-resources-intro{position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:flex-start;min-height:370px;padding:30px 28px;background:#f3eae4;border:1px solid #e8d8d0;border-radius:11px}
.nav-resources-intro::after{content:'';position:absolute;width:260px;height:260px;border:1px solid #d7b4ac;border-radius:50%;bottom:-158px;right:-108px;pointer-events:none}
.nav-resources-intro h3{margin-top:33px;font-size:clamp(29px,2.8vw,40px)}
.nav-resources-intro p{max-width:295px;color:#514e54;font-size:13px;line-height:1.72}
.nav-resources-main-link{margin-top:auto;padding-top:22px;border-top:1px solid #d9c5be;width:100%;justify-content:space-between}
.nav-resource-tools{padding:8px 2px 0}
.nav-resource-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px;margin:17px 0 15px}
.nav-resource-card{position:relative;display:flex;flex-direction:column;min-height:154px;padding:20px 22px 21px;border:1px solid #e8ded9;border-radius:9px;background:#fff;transition:border-color .18s,background .18s,transform .18s}
.nav-resource-card:hover,.nav-resource-card:focus-visible{border-color:#cda7a8;background:#fdf9f7;transform:translateY(-2px)}
.nav-resource-card>span{font-size:9px;letter-spacing:.18em;color:#862c37;font-weight:800}
.nav-resource-card strong{font-size:17px;line-height:1.25;letter-spacing:-.035em;color:#211e25;margin:16px 20px 7px 0}
.nav-resource-card small{font-size:11px;color:#626067;line-height:1.5;max-width:260px}
.nav-resource-card b{position:absolute;right:18px;top:17px;color:#842936;font-size:20px;font-weight:400}
.nav-resource-foot{display:flex;flex-wrap:wrap;gap:8px;padding-top:14px;border-top:1px solid #e9ded9}
.nav-resource-foot a{font-size:11px;font-weight:700;color:#74313b;background:#f9f4f1;border:1px solid #eadcd6;border-radius:999px;padding:7px 13px}
.nav-resource-foot a:hover{background:#f2e4df;border-color:#d5b5b2}

/* About: the firm identity and its practical information architecture. */
.nav-about-grid{display:grid;grid-template-columns:.43fr .57fr;gap:24px}
.nav-about-position{padding:25px 30px 28px;border-radius:11px;color:#fff;background:radial-gradient(circle at 97% 8%,#852836 0%,transparent 52%),#49121c;position:relative;overflow:hidden}
.nav-about-position .nav-panel-label{color:#f2f0ed}
.nav-about-mark{position:absolute;right:24px;top:25px;width:73px;height:73px;opacity:.96}
.nav-about-mark .brand-icon{width:73px;height:73px}
.nav-about-mark .brand-icon svg{width:73px;height:73px}
.nav-about-mark>span:last-child{position:absolute;width:116px;height:116px;left:-21px;top:-21px;border:1px solid rgba(255,255,255,.27);border-radius:50%}
.nav-about-position h3{position:relative;z-index:1;margin-top:113px;color:#fff;max-width:390px;font-size:clamp(27px,2.7vw,39px)}
.nav-about-position h3 em{color:#fff}
.nav-about-position p{color:#eeeae7;font-size:13px;line-height:1.7;max-width:350px;margin:0}
.nav-about-directory{padding:13px 5px 2px}
.nav-about-links{display:grid;grid-template-columns:1fr 1fr;gap:11px;margin:18px 0 22px}
.nav-about-links .nav-directory-link{min-height:112px;align-items:flex-start;padding:19px 15px}
.nav-about-links .nav-directory-text strong{font-size:15px}
.nav-about-links .nav-directory-text small{font-size:11px}
.nav-about-foot{border-top:1px solid #e7dcd7;padding-top:18px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.nav-about-foot>span{font-size:9px;letter-spacing:.14em;color:#806a71;font-weight:800}

@media(max-width:1250px){
  .desktop-navigation .mega-panel{padding:20px 19px}
  .nav-practice-grid{gap:8px}
  .nav-practice{padding:18px 13px 13px;min-height:400px}
  .nav-practice::before{left:13px}
  .nav-practice-title{font-size:16px}
  .nav-practice-desc{font-size:11.5px}
  .nav-practice-services .mega-link{font-size:12.25px}
  .nav-insights-grid{gap:14px}
}
@media(max-width:1200px){
  .mobile-panel{
    counter-reset:mobile-sections;
    background:#fff;
    border-color:#e3d5d0;
    box-shadow:0 25px 60px rgba(40,19,24,.14);
    padding:14px 22px 23px;
  }
  .mobile-panel details{counter-increment:mobile-sections;border-bottom:1px solid #e9e0dc}
  .mobile-panel summary{align-items:center;gap:14px;font-size:16px;letter-spacing:-.025em;padding:18px 5px;color:#222027}
  .mobile-panel summary::before{
    content:'0' counter(mobile-sections);
    color:#7c2430;
    font-size:10px;
    font-weight:800;
    letter-spacing:.09em;
    margin-right:5px;
  }
  .mobile-panel summary span{margin-left:auto;font-size:20px;font-weight:400;color:#772330}
  .mobile-panel details[open] summary{color:#641923}
  .mobile-panel details div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:4px 0 18px}
  .mobile-panel details a{
    display:flex;align-items:center;min-height:44px;padding:10px 13px;
    background:#fbf8f6;border:1px solid #ebe0dc;border-radius:8px;
    font-size:13px;font-weight:650;color:#42393e;line-height:1.35;
  }
  .mobile-panel details a:hover,.mobile-panel details a:focus-visible{color:#641923;background:#f7efeb;border-color:#cba9a9}
  .mobile-panel .mobile-cta{margin-top:20px;padding:15px 20px;box-shadow:0 7px 17px rgba(75,17,27,.13)}
}
@media(max-width:680px){
  .mobile-panel{padding:9px 16px 19px}
  .mobile-panel details div{grid-template-columns:1fr;gap:6px}
  .mobile-panel summary{font-size:15px;padding:17px 2px}
}
@media(prefers-reduced-motion:reduce){
  .desktop-navigation .mega-panel:not([hidden]){animation:none}
  .nav-practice,.nav-practice-title svg,.nav-practice-services .mega-link,.nav-practice-services .mega-link span,.nav-directory-link,.nav-topic-link svg,.nav-resource-card,.nav-feature-story{transition:none!important}
}

/* Brand tone audit: the source theme uses several pale rose accents that
   appear pink on dark surfaces. Use neutral ivory for readable text while
   retaining true oxblood for text and controls on light backgrounds. */
.closing .overline,
.specialty-hero--growth .overline,
.specialty-hero--supply .overline,
.funnel-stage:not(.stage-four) span,
.fit-grid .overline,
.fit-check>span,
.insights-art-label,
.insights-art-bottom,
.feature-art,
.brand--footer .brand-word small,
.footer-links h3,
.footer-links a:hover{color:#f2f0ed}
.closing p,
.specialty-hero--growth p{color:#eeeae7}
.insights-top>span{color:#5e141b}
