/* business-succession-planning-australia.html: page-specific rules plus any override of the shared core */

body {
      font-family: var(--font-body);
      font-size: var(--t-base);
      line-height: 1.72;
      color: var(--shadow);
      background: var(--cream);
      -webkit-font-smoothing: antialiased;
      overflow-x: hidden
    }

#nav {
      position: fixed;
      top: 0;
      left: 0;
      right: 0;
      z-index: 900;
      height: var(--nav-h);
      transition: background var(--tr), box-shadow var(--tr)
    }

#nav.scrolled {
      background: rgba(250, 248, 245, .94);
      backdrop-filter: blur(14px);
      box-shadow: 0 1px 0 rgba(0, 0, 0, .08)
    }

#nav:not(.scrolled) .nav-logo img {
      filter: brightness(0) invert(1)
    }

#nav:not(.scrolled) .nav-links a {
      color: rgba(255, 255, 255, .88)
    }

#nav:not(.scrolled) .nav-links a:hover {
      color: #fff
    }

#nav:not(.scrolled) .nav-cta {
      background: rgba(255, 255, 255, .15);
      color: #fff !important;
      border-color: rgba(255, 255, 255, .35)
    }

#nav:not(.scrolled) .hamburger span {
      background: #fff
    }

.nav-logo img {
      height: 32px;
      width: auto;
      transition: opacity var(--tr)
    }

.nav-logo:hover img {
      opacity: .75
    }

.nav-dropdown {
      position: absolute;
      top: calc(100% + 18px);
      left: 50%;
      transform: translateX(-50%) translateY(8px);
      background: var(--warm-white);
      border: 1px solid var(--stone);
      border-radius: 10px;
      padding: .75rem 0;
      min-width: 230px;
      box-shadow: 0 20px 60px rgba(0, 0, 0, .12);
      opacity: 0;
      pointer-events: none;
      transition: opacity 220ms var(--ease), transform 220ms var(--ease)
    }

.nav-dropdown a {
      display: block;
      padding: .6rem 1.25rem;
      font-size: 1.01rem;
      color: var(--shadow);
      transition: color var(--tr), padding-left var(--tr)
    }

.nav-dropdown a:hover {
      color: var(--night);
      padding-left: 1.5rem
    }

#nav:not(.scrolled) .nav-links>li>a.nav-active::after {
      background: #A0462A;
    }

.mobile-overlay {
      position: fixed;
      inset: 0;
      z-index: 950;
      background: var(--night-deep);
      display: flex;
      flex-direction: column;
      padding: 0 1.5rem 2rem;
      transform: translateX(100%);
      transition: transform 400ms var(--ease)
    }

.mobile-overlay .nav-logo img {
      filter: brightness(0) invert(1)
    }

.mobile-nav-sub {
      display: flex;
      flex-direction: column;
      padding-left: 1.25rem
    }

.mobile-nav-sub a {
      font-family: var(--font-body);
      font-size: .9rem;
      color: rgba(255, 255, 255, .55);
      padding: .35rem 0;
      border-bottom: none
    }

.mobile-cta a {
      display: block;
      text-align: center;
      background: var(--cream);
      color: var(--night);;
      padding: 1rem;
      border-radius: 8px;
      font-size: .85rem
    }

.page-hero {
      position: relative;
      height: 100vh;
      min-height: 680px;
      display: flex;
      align-items: flex-end;
      padding-top: var(--nav-h);
      padding-bottom: clamp(4rem, 8vw, 7rem);
      overflow: hidden
    }

.hero-bg {
      position: absolute;
      inset: -15% 0;
      width: 100%;
      height: 130%;
      will-change: transform
    }

.hero-bg img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center 30%
    }

.hero-overlay {
      position: absolute;
      inset: 0;
      background: linear-gradient(to right, rgba(43, 34, 27, .82) 0%, rgba(43, 34, 27, .65) 50%, rgba(43, 34, 27, .2) 100%)
    }

.hero-inner {
      position: relative;
      z-index: 2;
      max-width: var(--max-w);
      width: 100%;
      margin: 0 auto;
      padding: 0 clamp(1.5rem, 4vw, 3.5rem)
    }

.hero-sub {
      max-width: 480px;
      font-size: 1.125rem;
      line-height: 1.7;
      color: rgba(255, 255, 255, .7);
      font-weight: 300;
      margin-bottom: 2rem
    }

.hero-scroll {
      position: absolute;
      bottom: 2.5rem;
      right: clamp(1.5rem, 4vw, 3.5rem);
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: .5rem;
      z-index: 2
    }

.hero-scroll-line {
      width: 1px;
      height: 56px;
      background: rgba(255, 255, 255, .3);
      animation: scrollPulse 2s ease-in-out infinite
    }

.hero-scroll-text {
      font-size: .58rem;
      letter-spacing: .22em;
      text-transform: uppercase;
      color: rgba(255, 255, 255, .4);
      writing-mode: vertical-lr
    }

@keyframes scrollPulse {

      0%,
      100% {
        opacity: .3
      }

      50% {
        opacity: 1
      }
    }

.section {
      padding: clamp(3rem, 6vw, 5.5rem) 0
    }

.s-warm {
      background: var(--warm-white)
    }

.s-parchment {
      background: var(--parchment)
    }

.s-blush {
      background: var(--blush)
    }

.s-night {
      background: var(--night-deep);
      color: #fff
    }

.s-cream {
      background: var(--cream)
    }

.two-col {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: clamp(3rem, 6vw, 7rem);
      align-items: start
    }

.sec-heading {
      font-family: var(--font-display);
      font-size: var(--t-3xl);
      font-weight: 300;
      color: var(--night);
      line-height: 1.1;
      margin-bottom: 1.5rem
    }

.sec-heading em {
      font-style: italic
    }

.body-text {
      font-size: 1.125rem;
      line-height: 1.75;
      color: #4a4a4a;
      font-weight: 300
    }

.body-text p+p {
      margin-top: 1.25rem
    }

.rule {
      width: 40px;
      height: 1px;
      background: var(--moss);
      margin: 2rem 0
    }

.svc-img-wrap {
      position: relative;
      border-radius: 8px;
      overflow: hidden;
      aspect-ratio: 4/5
    }

.svc-img-wrap img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center
    }

.cta-bar {
      display: grid;
      grid-template-columns: 1fr auto;
      align-items: center;
      gap: 3rem
    }

.cta-heading-el {
      font-family: var(--font-display);
      font-size: var(--t-4xl);
      font-weight: 300;
      color: #fff;
      line-height: 1.1
    }

.cta-heading-el em {
      font-style: italic;
      color: var(--sky)
    }

.btn-night {
      background: var(--night);
      color: #fff
    }

.btn-night:hover {
      background: var(--sky);
      color: var(--night)
    }

.btn-outline {
      background: transparent;
      color: var(--night);
      border: 1px solid var(--night)
    }

.btn-outline:hover {
      background: var(--sky);
      color: var(--night)
    }

.btn-gl {
      background: transparent;
      color: rgba(255, 255, 255, .75);
      border: 1px solid rgba(255, 255, 255, .25)
    }

.btn-gl:hover {
      background: rgba(255, 255, 255, .1);
      color: #fff
    }

.btn-moss {
      background: var(--moss);
      color: #fff
    }

.btn-moss:hover {
      background: #6a756e
    }

.footer-top {
      display: grid;
      grid-template-columns: 2fr 1fr 1fr;
      gap: 3rem;
      padding-bottom: 3rem;
      padding-bottom: 2.5rem
    }

.d1 {
      transition-delay: 80ms
    }

.d2 {
      transition-delay: 160ms
    }

.d3 {
      transition-delay: 240ms
    }

.d4 {
      transition-delay: 320ms
    }

@media(max-width:900px) {
      .nav-links {
        display: none
      }

      .hamburger {
        display: flex
      }

      .two-col,
      .cta-bar {
        grid-template-columns: 1fr
      }

      .svc-img-wrap {
        aspect-ratio: 16/9
      }
    }

@media(max-width:600px) {
      .footer-top {
        grid-template-columns: 1fr
      }
    }

.insights-filter {
      display: flex;
      align-items: center;
      gap: 1.5rem;
      margin-bottom: 3rem;
      flex-wrap: wrap
    }

.filter-label {
      font-size: .65rem;
      letter-spacing: .2em;
      text-transform: uppercase;
      color: var(--moss)
    }

.filter-tabs {
      display: flex;
      gap: .5rem;
      flex-wrap: wrap
    }

.filter-tab {
      font-family: var(--font-body);
      font-size: .75rem;
      letter-spacing: .06em;
      text-transform: uppercase;
      padding: .5rem 1.1rem;
      border-radius: 8px;
      border: 1px solid var(--stone);
      background: transparent;
      color: #5a5a5a;
      cursor: pointer;
      transition: background var(--tr), color var(--tr), border-color var(--tr)
    }

.filter-tab.active,
    .filter-tab:hover {
      background: var(--night);
      color: #fff;
      border-color: var(--night)
    }

.articles-grid {
      display: grid;
      grid-template-columns: 1fr 1fr 1fr;
      gap: 2px;
      background: var(--stone);
      border-radius: 10px;
      overflow: hidden
    }

.article-card {
      background: var(--warm-white);
      display: flex;
      flex-direction: column;
      transition: background var(--tr-slow)
    }

.article-card:hover {
      background: var(--parchment)
    }

.article-featured {
      grid-column: 1/-1;
      flex-direction: row
    }

.article-img-wrap {
      overflow: hidden;
      aspect-ratio: 16/10;
      flex-shrink: 0
    }

.article-featured .article-img-wrap {
      width: 45%;
      aspect-ratio: auto
    }

.article-img-wrap img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      transition: transform 600ms var(--ease)
    }

.article-card:hover .article-img-wrap img {
      transform: scale(1.04)
    }

.article-content {
      padding: 2rem
    }

.article-featured .article-content {
      flex: 1;
      display: flex;
      flex-direction: column;
      justify-content: center;
      padding: 3rem
    }

.article-meta {
      display: flex;
      align-items: center;
      gap: 1rem;
      margin-bottom: 1rem
    }

.article-cat {
      font-size: .62rem;
      letter-spacing: .2em;
      text-transform: uppercase;
      color: var(--moss)
    }

.article-date {
      font-size: .62rem;
      letter-spacing: .1em;
      text-transform: uppercase;
      color: #aaa
    }

.article-title {
      font-family: var(--font-display);
      font-size: var(--t-2xl);
      font-weight: 400;
      color: var(--night);
      line-height: 1.2;
      margin-bottom: .85rem
    }

.article-featured .article-title {
      font-size: var(--t-3xl)
    }

.article-excerpt {
      font-size: .88rem;
      line-height: 1.7;
      color: var(--night);
      font-weight: 300;
      margin-bottom: 1.5rem
    }

.article-related { max-width: 760px; margin: 0 auto; padding: 0 clamp(1.5rem,4vw,3.5rem) 2.5rem; }

.article-related h2 { font-family: var(--font-display); font-weight: 400; font-size: 1.35rem; color: var(--night); margin: 0 0 .9rem; }

.related-item { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; padding: .95rem 0; border-top: 1px solid var(--stone); color: var(--night); text-decoration: none; font-size: .98rem; transition: color .25s; }

.related-item:last-of-type { border-bottom: 1px solid var(--stone); }

.related-item:hover { color: var(--gold, #A0462A); }

.related-item svg { flex-shrink: 0; opacity: .55; }

.article-cta {
      display: inline-flex;
      align-items: center;
      gap: .4rem;
      font-size: .72rem;
      letter-spacing: .12em;
      text-transform: uppercase;
      color: var(--night);
      margin-top: auto;
      transition: gap var(--tr)
    }

.article-card:hover .article-cta {
      gap: .7rem
    }

.hidden {
      display: none !important
    }

@media(max-width:900px) {
      .articles-grid {
        grid-template-columns: 1fr 1fr
      }

      .article-featured {
        flex-direction: column;
        grid-column: auto
      }

      .article-featured .article-img-wrap {
        width: 100%;
        aspect-ratio: 16/10
      }
    }

@media(max-width:600px) {
      .articles-grid {
        grid-template-columns: 1fr
      }
    }

body,
    a,
    button {
      cursor: none !important;
    }

#custom-cursor {
      position: fixed;
      top: 0;
      left: 0;
      width: 44px;
      height: 44px;
      pointer-events: none;
      z-index: 99999;
      transform: translate(-50%, -50%) scale(0.7);
      opacity: 0;
      transition: opacity 200ms ease, transform 280ms cubic-bezier(.34, 1.56, .64, 1);
      filter: drop-shadow(0 2px 12px rgba(0, 0, 0, 0.5));
    }

#nav:not(.scrolled) .nav-logo-img {
      filter: brightness(0) invert(1);
    }

#nav .nav-tagline {
      display: none;
    }

#nav .nav-dropdown a {
      color: var(--shadow) !important;
    }

#nav .nav-dropdown a:hover {
      color: var(--night) !important;
    }

p {
      line-height: 1.72;
    }

.eyebrow {
      font-size: 0.8rem !important;
    }

.intro-label,
    .section-sub-label,
    .practice-sub-label {
      font-size: 0.8rem !important;
    }

.intro-body,
    .body-lg {
      font-size: var(--t-lg) !important;
      line-height: 1.72;
    }

.practice-heading {
      font-size: clamp(2.4rem, 4vw, 4rem) !important;
    }

.practice-row p {
      font-size: 1.1rem !important;
      line-height: 1.72;
    }

.section-heading {
      font-size: var(--t-3xl) !important;
    }

.hero-bg {
      z-index: 0 !important;
    }

.hero-overlay,
    .hero-overlay-bottom {
      z-index: 1 !important;
    }

.hero-inner {
      z-index: 2 !important;
    }

.article-hero { margin-top: var(--nav-h); position: relative; height: 52vh; min-height: 380px; overflow: hidden; }

.article-hero img { width: 100%; height: 100%; object-fit: cover; }

.article-hero-overlay { position: absolute; inset: 0; background: linear-gradient(to top, rgba(43,34,27,.78), rgba(43,34,27,.25)); }

.article-hero-inner { position: absolute; left: 0; right: 0; bottom: 0; padding: 0 clamp(1.5rem,4vw,3.5rem) clamp(2rem,4vw,3rem); max-width: 900px; margin: 0 auto; }

.article-kicker { display: flex; gap: 1rem; align-items: baseline; font-size: .78rem; letter-spacing: .16em; text-transform: uppercase; color: rgba(255,255,255,.85); margin-bottom: .9rem; }

.article-hero h1 { font-family: var(--font-display); font-weight: 300; font-size: clamp(1.9rem, 4vw, 3.1rem); line-height: 1.12; color: #fff; text-wrap: balance; }

.article-body { max-width: 760px; margin: 0 auto; padding: clamp(2.5rem,6vw,4.5rem) clamp(1.5rem,4vw,3.5rem) 2rem; }

.article-body p { font-size: 1.09rem; line-height: 1.75; color: var(--night); margin: 0 0 1.35rem; }

.article-body h2 { font-family: var(--font-display); font-weight: 400; font-size: clamp(1.45rem,2.4vw,1.9rem); line-height: 1.25; color: var(--night); margin: 2.6rem 0 1.1rem; text-wrap: balance; }

.article-faq { margin-top: .6rem; }

.faq-item { border-bottom: 1px solid var(--stone); }

.faq-item summary {
      list-style: none; cursor: pointer; display: flex; align-items: baseline;
      justify-content: space-between; gap: 1rem;
      font-weight: 600; color: var(--night); font-size: 1.02rem;
      padding: 1.05rem 0; transition: color .25s;
    }

.faq-item summary::-webkit-details-marker { display: none; }

.faq-item summary:hover { color: var(--gold, #A0462A); }

.faq-item summary:focus-visible { outline: 2px solid var(--stone); outline-offset: 3px; }

.faq-cue { flex-shrink: 0; transition: transform .3s; opacity: .5; align-self: center; }

.faq-item[open] .faq-cue { transform: rotate(180deg); }

.faq-answer { padding: 0 0 1.15rem; }

.faq-answer p { margin-bottom: 0; }

.article-cta { text-align: center; padding: 1rem 0 0; }

.article-note { max-width: 760px; margin: 0 auto; padding: 0 clamp(1.5rem,4vw,3.5rem) clamp(3rem,6vw,4.5rem); }

.article-note p { font-size: .82rem; line-height: 1.65; color: rgba(58,48,40,.62); border-top: 1px solid var(--stone); padding-top: 1.4rem; margin: 0; }