/* Pentana Stanton / Article (single post) template Same system as the Meet the Team, Insights and practice pages: navy hero with the faint grid and gold glow, white and cream sections, Cormorant + Inter, square 2px buttons, gold hairlines. The dynamic parts are real Elementor widgets (post title, excerpt, date, featured image, author box, post content, Posts, the global enquiry form). These rules restyle their markup, so every selector is written .pspt.pspt (0,3,x) or deeper to outrank Elementor's widget CSS and the site kit. Article prose rules only touch DIRECT children of the post-content widget, so the embedded blocks (Key takeaways, Quick answer, CTA, FAQ) keep their structure and are restyled explicitly below. Scoped under .pspt. */.pspt { --navy: #0f2a44; --navy-deep: #0a1f33; --gold: #c9a961; --gold-soft: #d4b97a; --gold-accent: #a8864a; --gold-text: #86683a; --cream: #f8f5ef; --line: #e2daca; --ink: #2a2a2a; --grey: #5f5f5f; --studio: #ecebe8; --on-navy-2: rgba(255, 255, 255, 0.78); --on-navy-3: rgba(255, 255, 255, 0.55); --hair-navy: rgba(255, 255, 255, 0.14); --serif: 'Cormorant Garamond', 'Playfair Display', Georgia, 'Times New Roman', serif; --sans: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; --ease: cubic-bezier(0.2, 0.7, 0.1, 1); --ease-out: cubic-bezier(0.16, 1, 0.3, 1); --max: 1200px; --gutter: clamp(20px, 5vw, 48px); --inline: max(var(--gutter), calc((100% - var(--max)) / 2)); --stick: 32px; font-family: var(--sans); color: var(--ink); line-height: 1.6; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }/* ---------- Reset ---------- */ .pspt *, .pspt *::before, .pspt *::after { box-sizing: border-box; } .pspt :where(h1, h2, h3, h4, p, ul, ol, li, figure, nav, details, summary) { margin: 0; padding: 0; } .pspt :where(ul, ol) { list-style: none; } .pspt :where(a), .pspt :where(a):hover, .pspt :where(a):focus { text-decoration: none; color: inherit; } /* Site kit styles bare `button` at (0,1,1) and its states at up to (0,3,0). */ .pspt.pspt :is(button) { font: inherit; color: inherit; background: none; border: 0; padding: 0; margin: 0; border-radius: 0; text-transform: none; letter-spacing: inherit; line-height: inherit; text-shadow: none; box-shadow: none; min-height: 0; cursor: pointer; -webkit-appearance: none; appearance: none; } .pspt.pspt :is(button):is(:hover, :focus, :focus-visible, :active) { background-color: transparent; color: inherit; border-color: transparent; box-shadow: none; } .pspt :focus { outline: none; } .pspt :focus-visible { outline: 2px solid var(--gold); outline-offset: 4px; }/* Elementor containers: drop the kit's default padding and gaps; every layout below is explicit. */ .pspt.e-con, .pspt .e-con { --padding-top: 0px; --padding-bottom: 0px; --padding-left: 0px; --padding-right: 0px; --margin-top: 0px; --margin-bottom: 0px; --gap: 0px; --row-gap: 0px; --column-gap: 0px; --widgets-spacing: 0px; --widgets-spacing-row: 0px; --widgets-spacing-column: 0px; --content-width: 100%; --container-max-width: none; --width: 100%; --display: flex; --flex-direction: column; display: flex; flex-direction: column; padding: 0; gap: 0; min-height: 0; max-width: none; } .pspt.pspt-hero { display: block; } .pspt.pspt .elementor-widget, .pspt.pspt .elementor-widget:where(:not(:last-child)) { margin: 0; margin-block-end: 0; }/* ---------- Shared type ---------- */ .pspt-label { display: block; font: 500 12px/1.3 var(--sans); letter-spacing: 0.18em; text-transform: uppercase; color: var(--gold-text); } .pspt-rule { display: block; width: 28px; height: 1px; margin-bottom: 18px; background: var(--gold); } .pspt-head { margin-bottom: clamp(32px, 4.4vw, 52px); } .pspt-head__title { margin-top: 12px; max-width: 30ch; font: 400 clamp(28px, 3vw, 40px)/1.15 var(--serif); letter-spacing: -0.01em; color: var(--navy-deep); } .pspt-head__title em { font-style: italic; color: var(--gold-accent); }.pspt.pspt .pspt-btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; padding: 14px 24px; border: 1px solid transparent; border-radius: 2px; font: 500 13px/1 var(--sans); letter-spacing: 0.08em; text-transform: uppercase; transition: background-color 220ms ease, color 220ms ease, border-color 220ms ease; } .pspt.pspt .pspt-btn--gold { background-color: var(--gold); border-color: var(--gold); color: var(--navy-deep); } .pspt.pspt .pspt-btn--gold:is(:hover, :focus-visible) { background-color: transparent; border-color: var(--gold); color: var(--gold-soft); }/* Reading progress line (sits under the WordPress admin bar when logged in) */ .pspt-progress { position: fixed; top: 0; left: 0; right: 0; z-index: 9990; height: 3px; pointer-events: none; } .pspt-progress span { display: block; height: 100%; background: var(--gold); transform: scaleX(0); transform-origin: 0 50%; } body.admin-bar .pspt-progress { top: 32px; } @media (max-width: 782px) { body.admin-bar .pspt-progress { top: 46px; } }/* ---------- Hero ---------- */ .pspt.pspt-hero { position: relative; overflow: hidden; color: #fff; background: radial-gradient(120% 80% at 80% 20%, rgba(201, 169, 97, 0.08), transparent 60%), linear-gradient(180deg, var(--navy) 0%, var(--navy-deep) 100%); } .pspt.pspt-hero::before { content: ''; position: absolute; inset: 0; pointer-events: none; opacity: 0.6; mix-blend-mode: normal; background-image: linear-gradient(rgba(255, 255, 255, 0.025) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, 0.025) 1px, transparent 1px); background-size: 80px 80px; -webkit-mask-image: radial-gradient(ellipse at center, #000 30%, transparent 80%); mask-image: radial-gradient(ellipse at center, #000 30%, transparent 80%); } .pspt.pspt .pspt-hero__grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: clamp(40px, 6vw, 96px); align-items: center; padding: clamp(56px, 7vw, 96px) var(--inline) clamp(64px, 8vw, 104px); } .pspt.pspt .pspt-hero__text { display: flex; flex-direction: column; align-items: flex-start; min-width: 0; } .pspt.pspt .pspt-hero__text > .elementor-widget { width: 100%; } .pspt-crumbs { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-bottom: 26px; font: 500 11px/1.4 var(--sans); letter-spacing: 0.14em; text-transform: uppercase; color: var(--on-navy-3); } .pspt.pspt .pspt-crumbs a { color: var(--on-navy-3); transition: color 0.3s var(--ease); } .pspt.pspt .pspt-crumbs a:hover { color: #fff; } .pspt-crumbs__sep { opacity: 0.6; } .pspt-kicker { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px; min-height: 16px; font: 500 12px/1.3 var(--sans); letter-spacing: 0.18em; text-transform: uppercase; color: var(--on-navy-3); } .pspt-kicker__label { color: var(--gold-soft); } .pspt-kicker__label:not(:empty) + .pspt-kicker__time:not(:empty)::before { content: '\00B7'; margin-right: 12px; color: var(--gold); }.pspt.pspt .pspt-title { margin-top: 16px; } .pspt.pspt .pspt-title .elementor-heading-title { max-width: 22ch; margin: 0; padding: 0; font: 400 clamp(34px, 3.9vw, 54px)/1.1 var(--serif); letter-spacing: -0.02em; text-transform: none; color: #fff; text-wrap: balance; } .pspt.pspt .pspt-lede { margin-top: 22px; max-width: 58ch; font: 300 clamp(16px, 1.25vw, 18px)/1.7 var(--sans); color: var(--on-navy-2); } .pspt.pspt .pspt-lede p { margin: 0; font: inherit; color: inherit; }.pspt.pspt .pspt-byline { display: flex; flex-direction: row; flex-wrap: wrap; align-items: center; gap: 12px 22px; width: 100%; max-width: 58ch; margin-top: 32px; padding-top: 24px; border-top: 1px solid var(--hair-navy); } .pspt.pspt .pspt-byline > .elementor-widget { width: auto; } .pspt.pspt .pspt-byline .elementor-author-box { display: flex; align-items: center; gap: 14px; } .pspt.pspt .pspt-byline .elementor-author-box__avatar { flex: none; margin: 0; } .pspt.pspt .pspt-byline .elementor-author-box__avatar img { display: block; width: 44px; height: 44px; margin: 0; border-radius: 50%; object-fit: cover; box-shadow: 0 0 0 1px rgba(201, 169, 97, 0.55); } .pspt.pspt .pspt-byline .elementor-author-box__name { margin: 0; font: 500 15px/1.3 var(--sans); letter-spacing: 0.01em; text-transform: none; color: #fff; } .pspt.pspt .pspt-byline .elementor-author-box__bio, .pspt.pspt .pspt-byline .elementor-author-box__button { display: none; } .pspt.pspt .pspt-date { padding-left: 22px; border-left: 1px solid var(--hair-navy); } .pspt.pspt .pspt-date .elementor-heading-title { margin: 0; font: 400 14px/1.3 var(--sans); letter-spacing: 0.01em; text-transform: none; color: var(--on-navy-3); }.pspt.pspt .pspt-hero__media { position: relative; min-width: 0; } .pspt.pspt .pspt-hero__img { position: relative; } .pspt.pspt .pspt-hero__img::before { content: ''; position: absolute; inset: 16px -16px -16px 16px; border: 1px solid rgba(201, 169, 97, 0.5); pointer-events: none; } .pspt.pspt .pspt-hero__img img { position: relative; display: block; width: 100%; max-width: none; height: auto; aspect-ratio: 4 / 5; margin: 0; object-fit: cover; object-position: 50% 30%; border-radius: 2px; box-shadow: 0 40px 80px -40px rgba(0, 0, 0, 0.6); } .pspt.pspt-hero.pspt-hero--noimg .pspt-hero__grid { grid-template-columns: minmax(0, 1fr); } .pspt.pspt-hero.pspt-hero--noimg .pspt-hero__media { display: none; }.pspt-hero [data-rise] { animation: pspt-rise 0.9s var(--ease-out) both; animation-delay: calc(var(--i, 0) * 90ms + 60ms); } .pspt.pspt .pspt-byline { animation: pspt-rise 0.9s var(--ease-out) 0.3s both; } .pspt.pspt .pspt-hero__media { animation: pspt-fade 1.2s var(--ease-out) 0.1s both; }/* ---------- Body: article + sticky aside ---------- */ .pspt.pspt-body { display: grid; grid-template-columns: minmax(0, 740px) 300px; justify-content: space-between; align-items: start; column-gap: clamp(48px, 7vw, 112px); padding: clamp(56px, 7vw, 96px) var(--inline) clamp(72px, 9vw, 120px); background: #fff; } .pspt.pspt .pspt-main { display: flex; flex-direction: column; min-width: 0; } .pspt.pspt .pspt-aside { position: sticky; top: var(--stick); display: block; min-width: 0; } body.admin-bar .pspt.pspt .pspt-aside { top: calc(var(--stick) + 32px); }/* Article prose (direct children of the post content widget) */ .pspt.pspt .pspt-article { font: 400 17px/1.8 var(--sans); color: var(--ink); } .pspt.pspt .pspt-article > * { margin: 0; } .pspt.pspt .pspt-article > * + * { margin-top: 1.2em; } .pspt.pspt .pspt-article > p { font: 400 17px/1.8 var(--sans); color: var(--ink); } .pspt.pspt .pspt-article > :is(h2, h3) { margin-top: 2.3em; scroll-margin-top: calc(var(--stick) + 8px); font: 500 clamp(26px, 2.3vw, 32px)/1.2 var(--serif); letter-spacing: -0.01em; text-transform: none; color: var(--navy-deep); } .pspt.pspt .pspt-article > :is(h2, h3)::before { content: ''; display: block; width: 28px; height: 1px; margin-bottom: 18px; background: var(--gold); } .pspt.pspt .pspt-article > h4, .pspt.pspt .pspt-article.pspt-article--h2 > h3 { margin-top: 1.9em; scroll-margin-top: calc(var(--stick) + 8px); font: 600 17.5px/1.45 var(--sans); letter-spacing: 0; text-transform: none; color: var(--navy); } .pspt.pspt .pspt-article.pspt-article--h2 > h3::before { display: none; } .pspt.pspt .pspt-article > :is(h2, h3, h4) + * { margin-top: 0.7em; } .pspt.pspt .pspt-article > :is(p, ul, ol, h2, h3, h4, blockquote, figure, table, div:not([class])) a { color: var(--navy); text-decoration: underline; text-decoration-color: rgba(168, 134, 74, 0.6); text-decoration-thickness: 1px; text-underline-offset: 3px; transition: color 0.25s var(--ease), text-decoration-color 0.25s var(--ease); } .pspt.pspt .pspt-article > :is(p, ul, ol, h2, h3, h4, blockquote, figure, table, div:not([class])) a:hover { color: var(--gold-text); text-decoration-color: var(--gold); } .pspt.pspt .pspt-article > :is(p, ul, ol, blockquote, table, figure) :is(strong, b) { font-weight: 600; color: var(--navy-deep); } .pspt.pspt .pspt-article > :is(ul, ol) { padding: 0; list-style: none; } .pspt.pspt .pspt-article > :is(ul, ol) > li { position: relative; margin: 0; padding-left: 28px; font: inherit; color: var(--ink); } .pspt.pspt .pspt-article > :is(ul, ol) > li + li { margin-top: 0.55em; } .pspt.pspt .pspt-article > ul > li::before { content: ''; position: absolute; left: 2px; top: 0.9em; width: 12px; height: 1px; background: var(--gold-accent); } .pspt.pspt .pspt-article > ol { counter-reset: pspt-ol; } .pspt.pspt .pspt-article > ol > li { counter-increment: pspt-ol; } .pspt.pspt .pspt-article > ol > li::before { content: counter(pspt-ol) '.'; position: absolute; left: 0; top: 0; font: italic 500 19px/1.6 var(--serif); color: var(--gold-accent); } .pspt.pspt .pspt-article > figure { margin-top: 2em; } .pspt.pspt .pspt-article > figure + * { margin-top: 2em; } .pspt.pspt .pspt-article .wp-block-image img, .pspt.pspt .pspt-article > p > img { display: block; width: 100%; max-width: 100%; height: auto; margin: 0; border-radius: 2px; } .pspt.pspt .pspt-article > blockquote { padding: 4px 0 4px 24px; border-left: 2px solid var(--gold); font: italic 400 22px/1.5 var(--serif); color: var(--navy-deep); } .pspt.pspt .pspt-article > blockquote p { margin: 0; font: inherit; color: inherit; } .pspt.pspt .pspt-article > hr { height: 1px; margin-block: 2.4em; border: 0; background: var(--line); }/* Tables */ .pspt.pspt .pspt-article > :is(figure.wp-block-table, table) { overflow-x: auto; -webkit-overflow-scrolling: touch; } .pspt.pspt .pspt-article table { width: 100%; min-width: 480px; margin: 0; border-collapse: collapse; border: 0; font: 400 15px/1.55 var(--sans); color: var(--ink); } .pspt.pspt .pspt-article :is(th, td) { padding: 12px 14px; border: 0; border-bottom: 1px solid var(--line); background: none; text-align: left; vertical-align: top; } .pspt.pspt .pspt-article :is(thead th, thead td, tr:first-child th) { background: var(--cream); border-bottom: 1px solid var(--gold); font-weight: 600; color: var(--navy-deep); }/* Embedded block: Key takeaways (Summaraize plugin) */ .pspt.pspt .pspt-article > .summaraize-wrap { margin: 0 0 2.2em; } .pspt.pspt .pspt-article .summaraize { margin: 0; padding: 28px 32px 30px; background: var(--cream); border: 1px solid var(--line); border-top: 2px solid var(--gold); border-radius: 2px; color: var(--ink); } .pspt.pspt .pspt-article .summaraize .summaraize-title { margin: 0 0 16px; font: 500 12px/1.3 var(--sans); letter-spacing: 0.18em; text-transform: uppercase; color: var(--gold-text); } .pspt.pspt .pspt-article .summaraize :is(ul, ol) { margin: 0; padding: 0; list-style: none; } .pspt.pspt .pspt-article .summaraize li { position: relative; margin: 0; padding-left: 26px; font: 400 15.5px/1.65 var(--sans); color: var(--ink); } .pspt.pspt .pspt-article .summaraize li:hover { color: var(--ink); } .pspt.pspt .pspt-article .summaraize li + li { margin-top: 10px; } .pspt.pspt .pspt-article .summaraize li::before { content: ''; position: absolute; left: 0; top: 0.85em; width: 12px; height: 1px; background: var(--gold-accent); }/* Embedded block: Quick answer */ .pspt.pspt .pspt-article > .bb-aeo-block { margin-block: 2.4em; } .pspt.pspt .pspt-article .bb-aeo-block { border-radius: 2px; background: linear-gradient(180deg, var(--navy) 0%, var(--navy-deep) 100%); box-shadow: none; overflow: hidden; } .pspt.pspt .pspt-article .bb-aeo-inner { padding: clamp(28px, 4vw, 44px); color: #fff; } .pspt.pspt .pspt-article .bb-aeo-label { margin: 0 0 12px; font: 500 12px/1.3 var(--sans); letter-spacing: 0.18em; text-transform: uppercase; color: var(--gold-soft); } .pspt.pspt .pspt-article .bb-aeo-title { margin: 0 0 18px; font: 400 clamp(24px, 2.2vw, 30px)/1.2 var(--serif); letter-spacing: -0.01em; text-transform: none; color: #fff; } .pspt.pspt .pspt-article .bb-aeo-text { margin: 0 0 14px; font: 300 16px/1.75 var(--sans); color: var(--on-navy-2); } .pspt.pspt .pspt-article .bb-aeo-list { margin: 18px 0 0; padding-left: 20px; } .pspt.pspt .pspt-article .bb-aeo-list li { margin-bottom: 10px; font: 300 16px/1.65 var(--sans); color: var(--on-navy-2); } .pspt.pspt .pspt-article .bb-aeo-footnote { margin: 20px 0 0; padding-top: 16px; border-top: 1px solid var(--hair-navy); font: 400 14px/1.6 var(--sans); color: var(--on-navy-3); } .pspt.pspt .pspt-article .bb-aeo-block :is(strong, b) { font-weight: 500; color: #fff; } .pspt.pspt .pspt-article .bb-aeo-block a { color: var(--gold-soft); text-decoration: underline; text-underline-offset: 3px; }/* Embedded block: mid-article call to action */ .pspt.pspt .pspt-article > .bb-cta-block { margin-block: 2.8em; } .pspt.pspt .pspt-article .bb-cta-block { padding: clamp(32px, 5vw, 52px) clamp(24px, 4.4vw, 48px); border-radius: 2px; text-align: left; box-shadow: none; background: radial-gradient(120% 90% at 90% 0%, rgba(201, 169, 97, 0.14), transparent 60%), linear-gradient(180deg, var(--navy) 0%, var(--navy-deep) 100%); } .pspt.pspt .pspt-article .bb-cta-inner { max-width: 560px; margin: 0; color: #fff; } .pspt.pspt .pspt-article .bb-cta-title { margin: 0 0 14px; font: 400 clamp(26px, 2.4vw, 32px)/1.18 var(--serif); letter-spacing: -0.01em; text-transform: none; color: #fff; } .pspt.pspt .pspt-article .bb-cta-text { margin: 0 0 12px; font: 300 16px/1.75 var(--sans); color: var(--on-navy-2); } .pspt.pspt .pspt-article .bb-cta-button { display: inline-flex; align-items: center; margin-top: 18px; padding: 14px 24px; border: 1px solid var(--gold); border-radius: 2px; background: var(--gold); color: var(--navy-deep); font: 500 13px/1.35 var(--sans); letter-spacing: 0.08em; text-transform: uppercase; text-decoration: none; text-align: center; transition: background-color 220ms ease, color 220ms ease; } .pspt.pspt .pspt-article .bb-cta-button:is(:hover, :focus-visible) { background: transparent; color: var(--gold-soft); }/* Embedded block: Rank Math FAQ, as an accordion (post.js adds the toggles; without JS every answer shows). Markup: #rank-math-faq > .rank-math-list > .rank-math-list-item > h3.rank-math-question + .rank-math-answer. The site's Additional CSS styles the question with !important at (1,1,0), so the few overrides that must win carry !important at (1,4,0). */ .pspt.pspt .pspt-article #rank-math-faq.rank-math-block { max-width: none; margin: 1em 0 0; padding: 0; background: none; border: 0; border-top: 1px solid var(--navy-deep); border-radius: 0; box-shadow: none; font-family: var(--sans); } .pspt.pspt .pspt-article #rank-math-faq .rank-math-list { margin: 0; padding: 0; } .pspt.pspt .pspt-article #rank-math-faq .rank-math-list-item { margin: 0; padding: 0; border-bottom: 1px solid var(--line); } .pspt.pspt .pspt-article #rank-math-faq .rank-math-question { display: block; position: static; margin: 0 !important; padding: 22px 56px 22px 0; font: 600 17px/1.45 var(--sans) !important; letter-spacing: 0; text-transform: none; color: var(--navy-deep) !important; } .pspt.pspt .pspt-article #rank-math-faq .rank-math-question::before, .pspt.pspt .pspt-article #rank-math-faq .rank-math-question::after { content: none; display: none; } .pspt.pspt .pspt-article #rank-math-faq .rank-math-question strong { font-weight: inherit; color: inherit; } .pspt.pspt .pspt-article #rank-math-faq .rank-math-answer { margin: 0; padding: 0 56px 24px 0; font: 400 16px/1.75 var(--sans); color: var(--ink); } .pspt.pspt .pspt-article #rank-math-faq .rank-math-answer p { margin: 0; font: inherit; color: inherit; } .pspt.pspt .pspt-article #rank-math-faq .rank-math-answer p + p { margin-top: 0.8em; } .pspt.pspt .pspt-article #rank-math-faq .rank-math-answer a { color: var(--navy); text-decoration: underline; text-decoration-color: rgba(168, 134, 74, 0.6); text-underline-offset: 3px; }/* Accordion state (only once post.js has run) */ .pspt.pspt .pspt-article #rank-math-faq.pspt-faq .rank-math-question { padding: 0; } .pspt.pspt .pspt-article #rank-math-faq.pspt-faq .pspt-faq__toggle { position: relative; display: block; width: 100%; padding: 22px 56px 22px 0; text-align: left; font: inherit; color: inherit; white-space: normal; overflow-wrap: break-word; cursor: pointer; transition: color 0.25s var(--ease); } .pspt.pspt .pspt-article #rank-math-faq.pspt-faq .pspt-faq__toggle:hover { color: var(--gold-text); } .pspt.pspt .pspt-article #rank-math-faq.pspt-faq .pspt-faq__toggle:focus-visible { outline: 2px solid var(--gold); outline-offset: 2px; } .pspt-faq__icon { position: absolute; top: 50%; right: 4px; width: 30px; height: 30px; margin-top: -15px; border: 1px solid rgba(168, 134, 74, 0.55); border-radius: 50%; transition: background-color 0.3s var(--ease), border-color 0.3s var(--ease); } .pspt-faq__icon::before, .pspt-faq__icon::after { content: ''; position: absolute; top: 50%; left: 50%; width: 11px; height: 1px; margin: -0.5px 0 0 -5.5px; background: var(--gold-accent); transition: transform 0.35s var(--ease-out), background-color 0.3s var(--ease); } .pspt-faq__icon::after { transform: rotate(90deg); } .pspt-faq .is-open .pspt-faq__icon { background: var(--navy-deep); border-color: var(--navy-deep); } .pspt-faq .is-open .pspt-faq__icon::before, .pspt-faq .is-open .pspt-faq__icon::after { background: var(--gold-soft); } .pspt-faq .is-open .pspt-faq__icon::after { transform: rotate(0deg); } .pspt.pspt .pspt-article #rank-math-faq.pspt-faq .rank-math-answer { display: grid; grid-template-rows: 0fr; padding-bottom: 0; transition: grid-template-rows 0.4s var(--ease-out), padding-bottom 0.4s var(--ease-out); } .pspt.pspt .pspt-article #rank-math-faq.pspt-faq .is-open .rank-math-answer { grid-template-rows: 1fr; padding-bottom: 24px; } .pspt-faq__body { min-height: 0; overflow: hidden; }/* About the author (after the article) */ .pspt.pspt .pspt-authorbox { display: flex; flex-direction: column; margin-top: clamp(56px, 7vw, 80px); padding-top: 32px; border-top: 1px solid var(--line); } .pspt.pspt .pspt-authorbox .pspt-label { margin-bottom: 22px; } .pspt.pspt .pspt-author .elementor-author-box { display: flex; align-items: flex-start; gap: 24px; } .pspt.pspt .pspt-author .elementor-author-box__avatar { flex: none; align-self: flex-start; margin: 0; } .pspt.pspt .pspt-author .elementor-author-box__avatar img { display: block; width: 88px; height: 88px; margin: 0; border-radius: 50%; object-fit: cover; box-shadow: 0 0 0 1px var(--line); } .pspt.pspt .pspt-author .elementor-author-box__text { min-width: 0; } .pspt.pspt .pspt-author .elementor-author-box__name { margin: 4px 0 0; font: 500 26px/1.2 var(--serif); letter-spacing: -0.005em; text-transform: none; color: var(--navy-deep); } .pspt.pspt .pspt-author .elementor-author-box__bio { margin: 10px 0 0; font: 400 15px/1.7 var(--sans); color: var(--grey); } .pspt.pspt .pspt-author .elementor-author-box__bio p { margin: 0; } .pspt.pspt .pspt-author .elementor-author-box__button { display: none; } .pspt.pspt .pspt-author__link, .pspt.pspt .pspt-card__practice { display: inline-flex; align-items: center; gap: 12px; margin-top: 16px; font: 500 11.5px/1 var(--sans); letter-spacing: 0.16em; text-transform: uppercase; color: var(--navy); } .pspt.pspt .pspt-author__link::after, .pspt.pspt .pspt-card__practice::after { content: ''; display: block; width: 26px; height: 1px; background: var(--gold); transition: width 0.6s var(--ease-out); } .pspt.pspt .pspt-author__link:hover::after, .pspt.pspt .pspt-card__practice:hover::after { width: 52px; } .pspt.pspt .pspt-authorbox.pspt-authorbox--firm { display: none; }/* Aside: contents list */ .pspt.pspt .pspt-toc { display: block; } .pspt.pspt .pspt-toc.pspt-toc--empty { display: none; } .pspt.pspt .pspt-toc__head { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; list-style: none; cursor: default; } .pspt.pspt .pspt-toc__head::-webkit-details-marker { display: none; } .pspt.pspt .pspt-toc__head::marker { content: ''; } .pspt-toc__count { font: italic 400 15px/1 var(--serif); color: var(--grey); } .pspt-toc__chev { display: none; } .pspt.pspt .pspt-toc__list { position: relative; margin-top: 18px; border-left: 1px solid var(--line); max-height: max(180px, calc(100vh - 470px)); overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; scrollbar-color: var(--line) transparent; } .pspt.pspt .pspt-toc__list a { display: block; margin-left: -1px; padding: 7px 0 7px 18px; border-left: 2px solid transparent; font: 400 14px/1.45 var(--sans); color: var(--grey); transition: color 0.25s var(--ease), border-color 0.25s var(--ease); } .pspt.pspt .pspt-toc__list a:hover { color: var(--navy-deep); } .pspt.pspt .pspt-toc__list a[aria-current] { border-left-color: var(--gold); color: var(--navy-deep); font-weight: 500; }/* Aside: contact card */ .pspt.pspt .pspt-card { position: relative; margin-top: 40px; padding: 28px 26px 26px; overflow: hidden; border-radius: 2px; color: #fff; background: radial-gradient(120% 80% at 100% 0%, rgba(201, 169, 97, 0.12), transparent 60%), linear-gradient(180deg, var(--navy) 0%, var(--navy-deep) 100%); } .pspt.pspt .pspt-toc.pspt-toc--empty + .pspt-card { margin-top: 0; } .pspt.pspt .pspt-card .pspt-label { color: var(--gold-soft); } .pspt-card__title { margin-top: 12px; font: 400 25px/1.18 var(--serif); letter-spacing: -0.01em; color: #fff; } .pspt-card__title em { font-style: italic; color: var(--gold-soft); } .pspt-card__text { margin-top: 12px; font: 300 14.5px/1.65 var(--sans); color: var(--on-navy-2); } .pspt.pspt .pspt-card__phone { display: block; margin-top: 20px; padding-top: 18px; border-top: 1px solid var(--hair-navy); font: 500 24px/1 var(--serif); letter-spacing: 0.02em; color: #fff; transition: color 0.25s var(--ease); } .pspt.pspt .pspt-card__phone:hover { color: var(--gold-soft); } .pspt.pspt .pspt-card .pspt-btn { width: 100%; margin-top: 20px; } .pspt.pspt .pspt-card__practice { color: var(--on-navy-2); margin-top: 18px; } .pspt.pspt .pspt-card__practice:hover { color: #fff; } .pspt.pspt .pspt-card__practice[hidden] { display: none; }/* ---------- Sections below the article ---------- */ .pspt.pspt-sec { display: flex; flex-direction: column; padding: clamp(64px, 8vw, 104px) var(--inline); } .pspt.pspt-sec--cream { background: var(--cream); } .pspt.pspt-sec--white { background: #fff; } .pspt.pspt-sec--line { border-top: 1px solid var(--line); }/* Related articles (Elementor Posts widget, classic skin): same cards as the Insights page */ .pspt.pspt .elementor-posts-container { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(40px, 4.4vw, 56px) clamp(20px, 2.6vw, 36px); margin: 0; padding: 0; --grid-column-gap: 0; --grid-row-gap: 0; } .pspt.pspt .elementor-post { display: flex; flex-direction: column; margin: 0; padding: 0; background: none; border: 0; border-radius: 0; box-shadow: none; overflow: visible; } .pspt.pspt .elementor-post__thumbnail__link { position: relative; display: block; width: 100%; margin: 0 0 20px; } .pspt.pspt .elementor-post__thumbnail { position: relative; width: 100%; height: auto; padding-bottom: 0; aspect-ratio: 4 / 5; overflow: hidden; border-radius: 0; background: var(--studio); } .pspt.pspt .elementor-post__thumbnail img { position: absolute; inset: 0; top: 0; left: 0; width: 100%; height: 100%; max-width: none; object-fit: cover; object-position: 50% 28%; transform: none; filter: none; transition: transform 1.2s var(--ease-out); } .pspt.pspt .elementor-post:hover .elementor-post__thumbnail img { transform: scale(1.04); } .pspt.pspt .elementor-post__text { display: flex; flex-direction: column; flex: 1; margin: 0; padding: 0; } .pspt.pspt .elementor-post__title { order: 1; margin: 10px 0 0; font: 400 clamp(22px, 1.8vw, 26px)/1.22 var(--serif); letter-spacing: -0.005em; color: var(--navy-deep); display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; } .pspt.pspt .elementor-post__title a { color: inherit; font: inherit; transition: color 0.3s var(--ease); } .pspt.pspt .elementor-post:hover .elementor-post__title a, .pspt.pspt .elementor-post__title a:focus-visible { color: var(--gold-text); } .pspt.pspt .elementor-post__meta-data { display: none; } .pspt.pspt .elementor-post__excerpt { order: 2; margin: 12px 0 0; } .pspt.pspt .elementor-post__excerpt p { margin: 0; font: 400 14px/1.65 var(--sans); color: var(--grey); display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; } .pspt.pspt .elementor-post__read-more-wrapper { order: 3; margin-top: auto; padding-top: 16px; } .pspt.pspt .elementor-post__read-more { order: 3; align-self: flex-start; margin-top: auto; padding-top: 16px; display: inline-flex; align-items: center; gap: 12px; font: 500 11.5px/1 var(--sans); letter-spacing: 0.16em; text-transform: uppercase; color: var(--navy); } .pspt.pspt .elementor-post__read-more-wrapper .elementor-post__read-more { padding-top: 0; } .pspt.pspt .elementor-post__read-more::after { content: ''; display: block; width: 26px; height: 1px; background: var(--gold); transition: width 0.6s var(--ease-out); } .pspt.pspt .elementor-post:hover .elementor-post__read-more::after { width: 52px; } .pspt.pspt .elementor-post__badge, .pspt.pspt .elementor-post__avatar { display: none; } .pspt-cardkicker { order: 0; display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; font: 500 11px/1.4 var(--sans); letter-spacing: 0.16em; text-transform: uppercase; color: var(--grey); } .pspt-cardkicker__label { color: var(--gold-text); } .pspt-cardkicker__label + .pspt-cardkicker__date::before { content: '\00B7'; margin-right: 10px; color: var(--gold); }/* Reviews (Trustindex renders its own widget inside) */ .pspt.pspt .pspt-reviews { width: 100%; min-height: 40px; }/* ---------- Enquiry (the site's global "Free Case Assessment" form, restyled here only) ---------- */ .pspt.pspt-enquiry { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: clamp(40px, 6vw, 96px); align-items: start; } .pspt-enquiry__text { margin-top: -20px; max-width: 46ch; font: 400 16px/1.75 var(--sans); color: var(--grey); } .pspt-contact { margin-top: 32px; border-top: 1px solid var(--line); } .pspt-contact li { display: grid; grid-template-columns: 110px minmax(0, 1fr); gap: 16px; padding: 16px 0; border-bottom: 1px solid var(--line); font: 400 15px/1.55 var(--sans); color: var(--navy-deep); } .pspt-contact__k { padding-top: 3px; font: 500 11px/1.4 var(--sans); letter-spacing: 0.16em; text-transform: uppercase; color: var(--gold-text); } .pspt.pspt .pspt-contact a { color: var(--navy-deep); transition: color 0.25s var(--ease); } .pspt.pspt .pspt-contact a:hover { color: var(--gold-text); } .pspt.pspt .pspt-contact a[href^='tel:'] { font: 500 22px/1.1 var(--serif); letter-spacing: 0.02em; } .pspt.pspt .pspt-formcard { display: flex; flex-direction: column; padding: clamp(24px, 3.4vw, 40px); background: #fff; border: 1px solid var(--line); border-top: 2px solid var(--gold); border-radius: 2px; box-shadow: 0 30px 60px -44px rgba(10, 31, 51, 0.45); } .pspt.pspt .pspt-formcard .pspt-label { margin-bottom: 22px; } /* The form's own widget CSS sits at (0,4,0) to (0,6,0), so these rules are id-scoped. */ #pspt-enquiry .elementor-form-fields-wrapper { margin: 0 -8px -18px; } #pspt-enquiry .elementor-field-group { margin: 0 0 18px; padding: 0 8px; } #pspt-enquiry .elementor-field-group > label, #pspt-enquiry .elementor-field-label { margin: 0 0 8px; padding: 0; font: 500 11px/1.3 var(--sans); letter-spacing: 0.14em; text-transform: uppercase; color: var(--navy); } #pspt-enquiry .elementor-mark-required .elementor-field-label::after { color: var(--gold-accent); } #pspt-enquiry .elementor-field-group .elementor-field:not(.elementor-select-wrapper), #pspt-enquiry .elementor-select-wrapper select { width: 100%; height: 48px; min-height: 48px; margin: 0; padding: 0 14px; border: 1px solid #d9d2c3; border-radius: 2px; background-color: #fff; box-shadow: none; font: 400 15px/1.3 var(--sans); color: var(--navy-deep); transition: border-color 0.2s ease, box-shadow 0.2s ease; } #pspt-enquiry .elementor-select-wrapper select { padding-right: 40px; } #pspt-enquiry textarea.elementor-field { height: auto; min-height: 120px; padding: 12px 14px; } #pspt-enquiry .elementor-field::placeholder { color: #9a958c; opacity: 1; } #pspt-enquiry .elementor-field-group .elementor-field:focus, #pspt-enquiry .elementor-select-wrapper select:focus { border-color: var(--gold); outline: 0; box-shadow: 0 0 0 3px rgba(201, 169, 97, 0.22); } #pspt-enquiry .elementor-select-wrapper .select-caret-down-wrapper { right: 14px; color: var(--gold-accent); fill: var(--gold-accent); } #pspt-enquiry .elementor-field-type-submit { margin-top: 6px; } #pspt-enquiry .elementor-field-type-submit .elementor-button, #pspt-enquiry .elementor-field-type-submit .elementor-button:is(:hover, :focus, :focus-visible, :active) { width: 100%; height: 52px; min-height: 52px; padding: 0 24px; border: 1px solid var(--gold); border-radius: 2px; box-shadow: none; text-shadow: none; font: 500 13px/1 var(--sans); letter-spacing: 0.08em; text-transform: uppercase; transition: background-color 220ms ease, color 220ms ease, border-color 220ms ease; } #pspt-enquiry .elementor-field-type-submit .elementor-button { background-color: var(--gold); color: var(--navy-deep); } #pspt-enquiry .elementor-field-type-submit .elementor-button:is(:hover, :focus-visible) { background-color: var(--navy-deep); border-color: var(--navy-deep); color: var(--gold); } #pspt-enquiry .elementor-field-type-submit .elementor-button :is(span, .elementor-button-text) { color: inherit; font: inherit; } #pspt-enquiry .elementor-message { font: 400 14px/1.6 var(--sans); }/* Scroll reveal (only once JS is running) */ .pspt--js .pspt-reveal { opacity: 0; transform: translateY(22px); transition: opacity 0.9s var(--ease-out), transform 1.1s var(--ease-out); transition-delay: var(--d, 0ms); } .pspt--js .pspt-reveal.is-in { opacity: 1; transform: none; }@keyframes pspt-rise { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: none; } } @keyframes pspt-fade { from { opacity: 0; } to { opacity: 1; } }/* ---------- Responsive ---------- */ @media (max-width: 1100px) { .pspt.pspt-body { grid-template-columns: minmax(0, 1fr) 280px; column-gap: 48px; } } @media (max-width: 1024px) { .pspt.pspt .pspt-hero__grid { grid-template-columns: minmax(0, 1fr); gap: 44px; } .pspt.pspt .pspt-hero__media { max-width: 560px; } .pspt.pspt .pspt-hero__img img { aspect-ratio: 3 / 2; } .pspt.pspt .pspt-hero__img::before { inset: 12px -12px -12px 12px; }.pspt.pspt-body { grid-template-columns: minmax(0, 1fr); justify-content: stretch; row-gap: 40px; } .pspt.pspt .pspt-main { max-width: 740px; } .pspt.pspt .pspt-aside { position: static; order: -1; max-width: 740px; } .pspt.pspt .pspt-toc { border: 1px solid var(--line); background: var(--cream); border-radius: 2px; } .pspt.pspt .pspt-toc__head { align-items: center; padding: 16px 20px; cursor: pointer; } .pspt-toc__count { margin-left: auto; } .pspt-toc__chev { display: block; width: 9px; height: 9px; margin: -4px 2px 0 0; border-right: 1px solid var(--gold-accent); border-bottom: 1px solid var(--gold-accent); transform: rotate(45deg); transition: transform 0.3s var(--ease); } .pspt.pspt .pspt-toc__box[open] .pspt-toc__chev { margin-top: 4px; transform: rotate(-135deg); } .pspt.pspt .pspt-toc__list { max-height: none; margin: 0 20px 18px; } .pspt.pspt .pspt-card { display: none; }.pspt.pspt .elementor-posts-container { grid-template-columns: repeat(2, minmax(0, 1fr)); } .pspt.pspt .elementor-posts-container > .elementor-post:nth-child(3) { display: none; } .pspt.pspt-enquiry { grid-template-columns: minmax(0, 1fr); } } @media (max-width: 600px) { .pspt.pspt .pspt-article, .pspt.pspt .pspt-article > p { font-size: 16.5px; line-height: 1.75; } .pspt.pspt .pspt-article .summaraize { padding: 22px 20px 24px; } .pspt.pspt .pspt-article #rank-math-faq .rank-math-question { font-size: 16px !important; } .pspt.pspt .pspt-article #rank-math-faq .rank-math-answer { padding-right: 0; font-size: 15.5px; } .pspt.pspt .pspt-article #rank-math-faq.pspt-faq .pspt-faq__toggle { padding: 18px 48px 18px 0; } .pspt.pspt .pspt-date { padding-left: 0; border-left: 0; } .pspt.pspt .pspt-author .elementor-author-box { gap: 18px; } .pspt.pspt .pspt-author .elementor-author-box__avatar img { width: 64px; height: 64px; } .pspt.pspt .elementor-posts-container { grid-template-columns: 1fr; gap: 44px; } .pspt.pspt .elementor-posts-container > .elementor-post:nth-child(3) { display: flex; } .pspt.pspt .elementor-post__thumbnail { aspect-ratio: 4 / 3; } .pspt-contact li { grid-template-columns: 1fr; gap: 4px; } } @media (prefers-reduced-motion: reduce) { .pspt *, .pspt *::before, .pspt *::after { animation: none !important; transition: none !important; } .pspt--js .pspt-reveal { opacity: 1; transform: none; } }

在维多利亚州质疑遗嘱–家庭供养索赔

墨尔本商业律师

有争议的遗嘱是遗产规划和遗嘱检验法的一个重要方面,往往会导致复杂的法律纠纷。当家庭成员或受益人认为遗嘱没有准确反映死者的意愿时,通常会引发这些纠纷。下面我们将全面介绍有争议的遗嘱,包括其原因、法律程序以及避免争议的策略,并特别关注澳大利亚维多利亚州的法律。

了解有争议的遗嘱

定义和发生 有争议的遗嘱是对遗嘱有效性的质疑,通常提交给遗嘱检验法院。在涉及巨额财富、复杂的家庭动态或遗嘱条款出乎意料或似乎对某些当事人不公平的情况下,此类争议更常发生。

常见的竞赛理由

  1. 不当影响:关于死者迫于压力做出某些决定的指控。
  2. 缺乏能力:声称死者在订立遗嘱时缺乏理解遗嘱含义的精神能力。
  3. 欺诈或伪造:怀疑遗嘱被篡改或并非由死者所立的情况。
  4. 执行不当:基于遗嘱的法律手续未得到遵守而提出质疑。

在澳大利亚维多利亚州质疑遗嘱

立遗嘱人家庭赡养费索赔(TFM 索赔)在维多利亚州,如果某人认为自己从死者遗产中获得的赡养费不足,可以通过 TFM 索赔对遗嘱提出异议。这适用于死者于 2015 年 1 月 1 日或之后去世的遗产。

在维多利亚州质疑遗嘱的资格和理由

  • 申请人必须是合格的申请人。
  • 申请人必须认为他们没有得到足够的保障。
  • 有关遗嘱必须有效。

时限和符合条件的申请人必须在授予遗嘱认证后 6 个月内提出申请。符合条件的申请人包括配偶、同居伴侣、子女、继子女和其他界定的受抚养人。

法律程序

提出抗辩遗嘱抗辩始于向遗嘱检验法院提交申请。提出遗嘱异议的人通常要承担举证责任。

遗嘱认证法庭程序 法庭审查证据、听取证人证词并考虑双方的论点。这一过程可能漫长而昂贵,往往涉及详细的法医调查。

可能的结果法院可能会维持遗嘱、修改某些条款,或者在极少数情况下宣布整个文件无效。如果无效,遗产可根据之前的有效遗嘱进行分配,如果没有有效遗嘱,则根据州无遗嘱法进行分配。

避免遗嘱纠纷的策略

清晰的沟通与家庭成员公开讨论遗产计划可以减少误解和日后的纠纷。

定期更新定期更新遗嘱以反映当前的意愿和情况,可以最大限度地减少争议。

法律专业知识聘请声誉良好的律师起草遗嘱可确保正确履行所有法律手续。

禁止质疑条款包括一项对质疑遗嘱的人进行处罚的条款,可以阻止轻率的质疑。

调解和仲裁鼓励调解或仲裁作为法庭诉讼的替代方案,可以更友好、更经济高效地解决争议。

结论

有争议的遗嘱可能会造成情感和经济上的损失。尽量减少此类争议的关键在于清晰的沟通、定期更新以及确保在起草遗嘱时符合法律规定。虽然并非所有的争执都能避免,但了解争执的过程和潜在的挑战有助于更好地驾驭这些复杂的情况。

在澳大利亚维多利亚州,特定的规则和时限适用于对遗嘱提出异议,这反映了每个司法管辖区独特的法律环境。请记住,遗产规划不仅是为了分配资产,也是为了让亲人安心,减少亲人之间的潜在冲突。咨询法律专业人士并考虑家庭的情感动态是制定稳健遗产计划的关键步骤。

关于作者
Picture of Jesse LaGreca
Jesse LaGreca
Jesse LaGreca is a Partner and Principal Solicitor at Pentana Stanton Lawyers, admitted to practise before the Supreme Court of Victoria and the High Court of Australia. A graduate of Monash University (Law) and La Trobe University (Business), Jesse specialises in commercial law, family law, and professional negligence, with particular expertise in complex property disputes and advising entrepreneurs and growing businesses. His practical, results-driven approach — spanning advisory work through to court advocacy — ensures clients receive comprehensive representation at every stage of their matter.
{"slugs":{"case-summary":[0,"caseSummary"],"legal-explainer":[1,"explainer"],"legal-videos":[2,"video"],"commercial-lawyers":[3,"commercial"],"commercial":[3,"commercial"],"commercial-litigation":[3,"commercial"],"debt-recovery":[3,"commercial"],"business-lawyers":[3,"commercial"],"shareholder-disputes":[3,"commercial"],"shareholder-oppression":[3,"commercial"],"business-disputes":[3,"commercial"],"civil-litigation":[3,"commercial"],"litigation-lawyers":[3,"commercial"],"self-managed-superannuation-fund":[3,"commercial"],"defamation-law":[3,"commercial"],"insolvency-director-protection":[3,"commercial"],"insolvency-lawyers":[3,"commercial"],"insolvency-restructuring":[3,"commercial"],"professional-negligence-law":[3,"commercial"],"professional-negligence-law-2":[3,"commercial"],"professional-negligence-lawyers":[3,"commercial"],"duty-of-care-professional-liability-claims":[3,"commercial"],"buy-outs-and-exits":[3,"commercial"],"contracts-dispute-resolution":[3,"commercial"],"tax-disputes":[3,"commercial"],"tax-litigation":[3,"commercial"],"taxation-law":[3,"commercial"],"corporate-governance":[3,"commercial"],"corporate-lawyers":[3,"commercial"],"retail-commercial-leasing":[3,"commercial"],"family-laws":[4,"family"],"divorce-lawyers":[4,"family"],"family-lawyer":[4,"family"],"property-financial-agreements":[4,"family"],"property-settlement-lawyers":[4,"family"],"parenting-orders":[4,"family"],"wills-estates":[5,"estates"],"estate-litigation":[5,"estates"],"estate-administration":[5,"estates"],"contesting-a-will":[5,"estates"],"wills-estate-disputes":[5,"estates"],"executor-disputes":[5,"estates"],"power-of-attorney":[5,"estates"]},"groups":{"caseSummary":"Case summary","explainer":"Legal explainer","video":"Video","commercial":"Commercial law","family":"Family law","estates":"Wills & estates"},"practices":{"commercial":{"label":"commercial law","url":"/commercial-law/"},"family":{"label":"family law","url":"/family-law/"},"estates":{"label":"wills & estates","url":"/estate-planning/"}},"team":["penny-lagreca","jesse-lagreca","sarah-lagreca","david-sewell","michael-jacobs","peter-wood","violet-lazari","paul-roberts","adam-lopez","nick-lionakis","shan-lynette-stevens","ariane-ang","tianzhen-summer-xia","keerththana-mcvilly","sefika-gungordu","jack-hall","mrinal-kotnala","ruth-aaron","joanna-layton","rozeb-vohra","nida-azad","nick-tesch","shipra-malhotra","maysa-taouk","gelisha-gopaul","vivian-klestorny","cindy-ngo","lakshi-piyathilake","uththara-karunanayaka"],"teamUrl":"/meet-the-team/","firmName":"Pentana Stanton Lawyers","text":{"readTime":"{n} min read","tocCount":"{n} sections","profile":"View profile","practice":"Explore {label}"}}/* Pentana Stanton / Article (single post) behaviour. - Builds the "In this article" list from the post's own section headings (skipping the embedded Key takeaways, Quick answer, CTA and FAQ blocks), highlights the section being read, and draws the reading-progress line. - Adds the practice label and reading time to the hero, and the practice link to the side card (mapped from the post's category-* classes, so messy category names never show). - Links the author to their profile on the team page; an author who is not on the team (a system account) is shown as the firm instead. - Labels the related-article cards and reveals them on scroll. No dependencies; runs once per page. */ (function () { 'use strict';if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', init); } else { init(); }function init() { var cfgEl = document.querySelector('script[data-pspt-cfg]'); if (!cfgEl || document.documentElement.hasAttribute('data-pspt-init')) return; document.documentElement.setAttribute('data-pspt-init', '');var cfg = JSON.parse(cfgEl.textContent); var reduced = window.matchMedia('(prefers-reduced-motion: reduce)').matches; var article = document.querySelector('.pspt-article'); Array.prototype.forEach.call(document.querySelectorAll('.pspt'), function (el) { el.classList.add('pspt--js'); });var classes = postClasses(); setKicker(cfg, classes, article); setPracticeLink(cfg, classes); setAuthor(cfg); markMissingImage(); labelCards(cfg); if (article) { setupFaq(article); buildToc(cfg, article, reduced); } reveal(reduced); }// Theme Builder puts the post's classes (category-*, tag-*) on the single-post location wrapper. function postClasses() { var holder = document.querySelector('.elementor-location-single[class*="category-"]') || document.querySelector('article[class*="category-"]'); return holder ? Array.prototype.slice.call(holder.classList) : []; }function best(cfg, classes, onlyPractice) { var hit = null; classes.forEach(function (c) { if (c.indexOf('category-') !== 0) return; var m = cfg.slugs[c.slice(9)]; if (!m || (onlyPractice && !cfg.practices[m[1]])) return; if (!hit || m[0] = 2; })[0]; if (level === 'H2') article.classList.add('pspt-article--h2'); var items = level ? heads.filter(function (h) { return h.tagName === level; }) : []; var links = []; var mq = window.matchMedia('(max-width: 1024px)');if (toc && box && list && items.length) { var used = {}; items.forEach(function (h) { if (!h.id) { var base = 'pspt-' + (slugify(h.textContent).slice(0, 60) || 'section'); var id = base; var n = 2; while (used[id] || document.getElementById(id)) { id = base + '-' + n++; } h.id = id; } used[h.id] = true; var li = document.createElement('li'); var a = document.createElement('a'); a.href = '#' + h.id; a.textContent = h.textContent.trim(); a.addEventListener('click', function (e) { e.preventDefault(); if (mq.matches) box.open = false; h.scrollIntoView({ behavior: reduced ? 'auto' : 'smooth', block: 'start' }); if (history.replaceState) history.replaceState(null, '', '#' + h.id); }); li.appendChild(a); list.appendChild(li); links.push(a); }); var count = toc.querySelector('.pspt-toc__count'); if (count) count.textContent = cfg.text.tocCount.replace('{n}', items.length); // Open on desktop (and not collapsible there); collapsed on tablet and phone. box.open = !mq.matches; var summary = box.querySelector('summary'); if (summary) summary.addEventListener('click', function (e) { if (!mq.matches) e.preventDefault(); }); if (mq.addEventListener) mq.addEventListener('change', function () { box.open = !mq.matches; }); } else if (toc) { toc.classList.add('pspt-toc--empty'); }var active = -1; var ticking = false; function update() { ticking = false; var line = Math.min(160, window.innerHeight * 0.25); var current = -1; for (var i = 0; i < items.length; i++) { if (items[i].getBoundingClientRect().top - line list.clientHeight) { list.scrollTop = links[current].offsetTop - list.clientHeight / 2; } } active = current; } if (bar) { var r = article.getBoundingClientRect(); var total = r.height - window.innerHeight * 0.6; var p = total > 0 ? Math.min(1, Math.max(0, -r.top / total)) : 0; bar.style.transform = 'scaleX(' + p.toFixed(4) + ')'; } } function onScroll() { if (!ticking) { ticking = true; window.requestAnimationFrame(update); } } window.addEventListener('scroll', onScroll, { passive: true }); window.addEventListener('resize', onScroll, { passive: true }); update(); }// ---------- Related-article cards: practice label + date ---------- function labelCards(cfg) { Array.prototype.forEach.call(document.querySelectorAll('.pspt .elementor-post'), function (card) { var text = card.querySelector('.elementor-post__text'); if (!text || text.querySelector('.pspt-cardkicker')) return; var group = best(cfg, Array.prototype.slice.call(card.classList), false); var date = card.querySelector('.elementor-post-date'); var kicker = document.createElement('p'); kicker.className = 'pspt-cardkicker'; if (group) { var l = document.createElement('span'); l.className = 'pspt-cardkicker__label'; l.textContent = cfg.groups[group]; kicker.appendChild(l); } if (date) { var d = document.createElement('span'); d.className = 'pspt-cardkicker__date'; d.textContent = date.textContent.trim(); kicker.appendChild(d); } text.insertBefore(kicker, text.firstChild); }); var sizes = '(max-width: 600px) calc(100vw - 40px), (max-width: 1024px) calc(50vw - 40px), 380px'; Array.prototype.forEach.call(document.querySelectorAll('.pspt .elementor-post__thumbnail img'), function (img) { img.sizes = sizes; }); }function reveal(reduced) { var items = document.querySelectorAll('.pspt-sec .elementor-post, .pspt-sec .pspt-head'); Array.prototype.forEach.call(items, function (el) { el.classList.add('pspt-reveal'); }); if (!('IntersectionObserver' in window) || reduced) { Array.prototype.forEach.call(items, function (el) { el.classList.add('is-in'); }); return; } var io = new IntersectionObserver(function (entries) { var n = 0; entries.forEach(function (e) { if (!e.isIntersecting) return; e.target.style.setProperty('--d', Math.min(n++, 5) * 80 + 'ms'); e.target.classList.add('is-in'); io.unobserve(e.target); }); }, { rootMargin: '0px 0px -8% 0px', threshold: 0.1 }); Array.prototype.forEach.call(items, function (el) { io.observe(el); }); } })();
延伸阅读

相关见解

客户评价

客户评价

咨询

请与我们的团队商讨您的事宜

请简要介绍一下您的情况,我们将与您联系以安排咨询。您的咨询内容将严格保密。

  • 致电(03) 900 22 800
  • 电子邮件reception@pstanton.com.au
  • 墨尔本维多利亚州墨尔本隆斯代尔街552号3层和5层,邮编3000
  • 丹德农维多利亚州丹德农罗宾逊街50-54号1层9室,邮编3175
保密咨询