:root {
    --psai-article-width: 1100px;
    --psai-wide-width: 1200px;
    --psai-text: #262626;
    --psai-muted: #6b6b6b;
    --psai-border: #dedede;
    --psai-surface: #f6f6f4;
    --psai-gold-metal: linear-gradient(45deg, rgba(155,111,43,1) 0%, rgba(242,236,184,1) 16.6%, rgba(242,236,184,1) 31%, rgba(155,111,43,1) 48.1%, rgba(155,111,43,1) 61.5%, rgba(218,178,92,1) 67%, rgba(165,99,42,1) 68.1%, rgba(165,99,42,1) 70.1%, rgba(250,248,198,1) 77%, rgba(250,248,198,1) 79%, rgba(218,178,92,1) 85%, rgba(182,144,70,1) 88%, rgba(122,74,30,1) 100%);
    --psai-gold-divider: linear-gradient(90deg, rgba(242,236,184,.95) 0%, rgba(218,178,92,.82) 28%, rgba(155,111,43,.58) 62%, rgba(155,111,43,.12) 100%);
    --psai-hero-bg: linear-gradient(180deg, #000000 0%, #021833 100%);
    --psai-hero-text: #ffffff;
    --psai-accent: #D0C09F;
    --psai-accent-hover: rgba(208,192,159,.7);
    --psai-gold-on-light: #9E6300;
    --psai-gold-on-dark: #F0AE1F;
    --psai-section-gap: clamp(3.5rem, 5vw, 6rem);
    --psai-radius: 0px;
    --psai-transition-fast: .2s ease;
}

.psai-page { color: var(--psai-text); background:#fff; }
.psai-page *, .psai-page *::before, .psai-page *::after { box-sizing:border-box; }
.psai-page img { max-width:100%; height:auto; }
.psai-page a { text-underline-offset:.14em; }
.psai-page :focus-visible { outline:3px solid currentColor; outline-offset:3px; }

.psai-hero { background:var(--psai-hero-bg); color:var(--psai-hero-text); padding:60px 24px 90px; position: relative; font-family: sans-serif; }
.psai-hero__inner { width:min(100%, var(--psai-wide-width)); margin:0 auto; }
.psai-hero__title { color: transparent; max-width:1200px; margin:0; font-size: clamp(30px, 2.5vw, 60px); font-weight: 300; line-height:1; letter-spacing:-.035em; background: rgb(155,111,43); background: var(--psai-gold-metal); -webkit-background-clip:text; background-clip:text; text-wrap: balance; }
.psai-hero__title-divider { width:100%; height:1px; margin-top:1.1rem; background:var(--psai-gold-divider); }
.psai-hero__deck { max-width:1200px; margin:1.15rem 0 0; font-size:clamp(1.05rem,2vw,1.35rem); line-height:1.2; color:rgba(255,255,255,.82); text-wrap: balance; }
.psai-hero__meta { display:flex; flex-wrap:wrap; gap:.4rem .9rem; margin-top:1rem; font-size:clamp(16px, 1.2vw, 20px); line-height:1.4; text-transform:uppercase; color:var(--psai-accent); opacity: .9; }
.psai-hero__meta span + span::before { content:"|"; margin-right:.9rem; }
.psai-hero__meta a { color:inherit; text-decoration:none; opacity: .9; transition:color var(--psai-transition-fast), opacity var(--psai-transition-fast);}
.psai-hero__meta a:hover, .psai-hero__meta a:focus-visible { color:var(--psai-accent); opacity:1; text-decoration:underline; text-decoration-thickness:.5px; text-underline-offset: 4px;}
.psai-hero__feature { display: grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(1.5rem,4vw,3.5rem); align-items:stretch; margin-top:30px; }

.psai-hero__feature--single { grid-template-columns:minmax(0,1fr); max-width:760px; }
.psai-hero__figure { display: grid; grid-template-rows: minmax(0, 1fr) auto; height: 100%; margin: 0; min-width: 0; }
.psai-page .psai-hero__image { display: block; width: 100%; height: 100%; min-height: 0; object-fit: cover; border-radius: 3px; }

.psai-hero__figure figcaption { margin-top: .65rem; color: rgba(255,255,255,.68); font-size: .86rem; line-height: 1.45; }
.psai-hero__intro { border:1px solid var(--psai-accent); padding:15px; font-size: 18px; line-height:1.72; border-radius: 3px; }
.psai-hero__intro > :first-child { margin-top:0; }
.psai-hero__intro > :last-child { margin-bottom:0; }
.psai-hero__intro-lead { margin:0 0 .75rem; color:var(--psai-accent); font-size:clamp(22px,1.8vw,30px); font-weight:500; line-height:1.15; letter-spacing:-.02em; text-wrap:balance; }
.psai-hero__intro-lead + * { margin-top:0; }
.psai-hero__divider { position: absolute; left: 50%; bottom: 0px; transform: translateX(-50%); width: 72px; height: 36px; color: #fff; z-index: 2; line-height: 0; }

.psai-hero__divider svg { display: block; width: 100%; height: 100%; }
.psai-layout { position:relative; width:clamp(760px,60vw,var(--psai-article-width)); margin:0 auto; padding:clamp(3rem,7vw,6rem) 0; }
.psai-article { width:100%; font-size: 18px; font-family: sans-serif; }
.psai-article__body > :first-child { margin-top:0; }
.psai-module, .psai-system { margin-block:var(--psai-section-gap); }
.psai-module__heading, .psai-system > h2 { margin:0 0 1rem; line-height:1.12; letter-spacing:-.02em; }
.psai-module h2, .psai-system > h2 { font-size:clamp(24px,1.7vw,34px); }
.psai-module h3 { font-size:clamp(1.35rem,3vw,1.8rem); margin-bottom: 0; }
.psai-module h4 { font-size:1.22rem; }
.psai-module h5 { font-size:1.08rem; }
.psai-module h6 { font-size:1rem; letter-spacing:.02em; }
.psai-module p, .psai-system p, .psai-system li { line-height:1.4; margin-top: 0; margin-bottom: 16px; }
.psai-module li { line-height:1.4; margin-top: 0; }
.psai-module__content > :first-child, .psai-module__intro > :first-child { margin-top:0; }
.psai-module__content > :last-child, .psai-module__intro > :last-child { margin-bottom:0; }
/* psai-module psai-module--text-section psai-module--text-section-standard psai-text-presentation--standard */
.psai-text-presentation--narrow { width:min(100%, 65rem); margin-inline:auto; }
.psai-text-presentation--accent { background:var(--psai-surface); border-top:3px solid var(--psai-accent); padding:clamp(1.35rem,3vw,2rem); }

.psai-editorial-pair {
    align-items:center;
    display:grid;
    gap:clamp(1.5rem,4vw,3rem);
    grid-template-columns:minmax(0,1.05fr) minmax(240px,.95fr);
    margin-block:var(--psai-section-gap);
    width:100%;
}
.psai-editorial-pair > .psai-module { margin-block:0; min-width:0; }
.psai-editorial-pair--image-left { grid-template-columns:minmax(240px,.95fr) minmax(0,1.05fr); }
.psai-editorial-pair .psai-text-presentation--narrow { width:100%; }
.psai-editorial-pair .psai-module--image-gallery { align-self:stretch; overflow:hidden; }
.psai-editorial-pair .psai-gallery__image { height:auto; object-fit:contain; }

.psai-toc { position:absolute; width:clamp(220px,13vw,250px); right:calc(100% + 62px); top:0; height:100%; font-family: sans-serif; padding-top: 20px; }
.psai-toc__inner { position:sticky; top:10rem; border-left:2px solid var(--psai-border); padding-left:1rem; max-height:calc(100vh - 4rem); overflow:auto; }
.psai-toc__title { margin:0; font-size:18px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.psai-toc__reading-time { margin:.3rem 0 1rem; color:var(--psai-muted); font-size:.84rem; }
.psai-toc__list { list-style:none; margin:0; padding:0; }
.psai-toc__item { margin:1rem 0; font-size:.87rem; line-height:1.2; }
.psai-toc__item--h3 { padding-left:.8rem; font-size:.82rem; }
.psai-toc__item a { color:inherit; text-decoration:none; transition:text-decoration var(--psai-transition-fast)}
.psai-toc__item a:hover, .psai-toc__item a:focus-visible { text-decoration:underline; }

.psai-takeaways { padding:0; margin:0; list-style:none; display:grid; gap:.75rem; }
.psai-takeaways__item { position:relative; padding:1rem 1rem 1rem 2.4rem; background:var(--psai-surface); }
.psai-takeaways__item::before { content:""; position:absolute; left:1rem; top:1.45rem; width:.55rem; height:.55rem; border-radius:50%; background:var(--psai-accent); }
.psai-takeaways__takeaway { font-weight:700; }
.psai-takeaways__takeaway p { margin:0; }
.psai-takeaways__explanation p { margin:.35rem 0 0; }

.psai-module--callout { padding:1.4rem 1.5rem; border-left:4px solid var(--psai-accent); background:var(--psai-surface); }
.psai-callout__label { margin:0 0 .5rem; font-size:.78rem; text-transform:uppercase; letter-spacing:.09em; font-weight:800; }
.psai-callout__content > :first-child { margin-top:0; }
.psai-callout__content > :last-child { margin-bottom:0; }

.psai-steps { margin:1.25rem 0 0; padding:0; list-style:none; counter-reset:psai-step; display:grid; gap:1.15rem; }
.psai-module--steps-numbered .psai-steps__item { counter-increment:psai-step; }
.psai-steps__item { position:relative; padding:1.15rem 1.15rem 1.15rem 3.4rem; border:1px solid var(--psai-border); }
.psai-module--steps-numbered .psai-steps__item::before { content:counter(psai-step); position:absolute; left:1rem; top:1rem; display:grid; place-items:center; width:1.65rem; height:1.65rem; border-radius:50%; background:var(--psai-accent); color:#fff; font-size:.8rem; font-weight:700; }
.psai-module--steps-checklist .psai-steps__item::before { content:"✓"; position:absolute; left:1.05rem; top:1.05rem; font-weight:800; color: var(--psai-accent); }
.psai-steps__action { font-weight:700; }
.psai-steps__action p { margin:0; }
.psai-steps__explanation p { margin:.4rem 0 0; }

.psai-chart { margin:1.5rem 0 0; }
.psai-chart__bars { list-style:none; margin:0; padding:0; display:grid; gap:1.05rem; }
.psai-chart__bar-row { display:grid; grid-template-columns:minmax(130px,1.15fr) minmax(220px,3.6fr) minmax(72px,auto); gap:1rem; align-items:center; }
.psai-chart__label { font-size:.94rem; font-weight:600; line-height:1.25; }
.psai-chart__bar-track { height:1.5rem; background:#eeece7; border:1px solid rgba(0,0,0,.05); overflow:hidden; }
.psai-chart__bar-fill { display:block; height:100%; width:var(--psai-bar-pct); min-width:2px; background:var(--psai-gold-on-light); }
.psai-chart__value { font-variant-numeric:tabular-nums; font-weight:700; text-align:right; white-space:nowrap; }
.psai-chart figcaption, .psai-chart__source { margin-top:.8rem; color:var(--psai-muted); font-size:.86rem; line-height:1.5; }
.psai-chart__source a { color:inherit; text-decoration:none; transition:color var(--psai-transition-fast), text-decoration var(--psai-transition-fast); }
.psai-chart__source a:hover, .psai-chart__source a:focus-visible { color:#0063CC; text-decoration:underline; text-decoration-thickness:.5px; text-underline-offset:4px; }
.psai-chart__data { margin-top:.9rem; }
.psai-chart__data summary { cursor:pointer; font-weight:700; }
.psai-chart__data table { width:100%; margin-top:.75rem; border-collapse:collapse; }
.psai-chart__data th, .psai-chart__data td { padding:.6rem; border-bottom:1px solid var(--psai-border); text-align:left; }
.psai-chart__takeaway { margin-top:1rem; }

.psai-comparison-table table { width:100%; border-collapse:collapse; table-layout:fixed; }
.psai-comparison-table th, .psai-comparison-table td { padding:.9rem; vertical-align:top; text-align:left; border:1px solid var(--psai-border); }
.psai-comparison-table thead th { background:var(--psai-hero-bg); color:#fff; }
.psai-comparison-table tbody th { background:var(--psai-surface); }
.psai-comparison-table p { margin:.2rem 0; font-size: 16px;}
.psai-comparison-table__note { margin-top:.9rem; }

.psai-gallery { display:grid; gap:1rem; grid-template-columns:repeat(var(--psai-gallery-cols,1),minmax(0,1fr)); }
.psai-gallery--2 { --psai-gallery-cols:2; }
.psai-gallery--3 { --psai-gallery-cols:3; }
.psai-gallery--4 { --psai-gallery-cols:2; }
.psai-gallery--5, .psai-gallery--6, .psai-gallery--7, .psai-gallery--8, .psai-gallery--9, .psai-gallery--10 { --psai-gallery-cols:3; }
.psai-gallery__item { margin:0; min-width:0; }
.psai-gallery__link { display:block; overflow:hidden; }
.psai-gallery__image { display:block; width:100%; height:auto; object-fit:contain; transition:transform var(--psai-transition-fast); }
.psai-gallery__link:hover .psai-gallery__image, .psai-gallery__link:focus-visible .psai-gallery__image { transform:scale(1.05); }

.psai-gallery figcaption { margin-top:.55rem; color:var(--psai-muted); font-size:.86rem; line-height:1.45; }

.psai-module--subject-cta, .psai-fallback-cta {
	padding:clamp(1.5rem,4vw,2.5rem);
	background:#fff;
	color:#555;
	overflow:hidden;
	border-radius: 6px;
	border: solid 1px #555;
}
.psai-module--subject-cta .psai-module__heading, .psai-fallback-cta h2 { color:#333; }
.psai-button { display:inline-flex; align-items:center; justify-content:center; min-height:46px; padding:.75rem 1.15rem; background:var(--psai-accent); color:#171717 !important; font-weight:800; text-decoration:none; }

/* Article CTA + Fluent Forms prototype */
.psai-cta__form .frm-fluent-form { padding-top:20px; }
.psai-cta__form .fluentform .ff-el-input--label { margin-bottom:20px; }
.psai-cta__intro { margin-bottom:clamp(1.35rem,3vw,2rem); }
.psai-cta__intro > :last-child { margin-bottom:0; }
.psai-cta__layout {
    display:grid;
    grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);
    gap:0;
    align-items:stretch;
    border-radius:6px;
    box-shadow:0 0 15px #aaa;
    transition:grid-template-columns .28s ease;
}
.psai-cta__phone, .psai-cta__form { min-width:0; }
.psai-cta__phone {
    display:flex;
    flex-direction:column;
    justify-content:center;
    padding:clamp(1.2rem,2.8vw,2rem);
    overflow:hidden;
    container-type: inline-size;
    border:2px solid #000;
    border-right-width:0;
    border-radius:6px 0 0 6px;
    background:#000;
    transition:opacity .2s ease, padding .28s ease, border-color .2s ease;
}
.psai-cta__eyebrow {
    margin:16px 0 0 !important;
    padding: 0 13px;
    color:#444;
    font-size:16px;
    font-weight:800;
}
.psai-cta__phone .psai-cta__eyebrow {
    margin:0 0 1.75rem !important;
    padding:0 0 .25rem;
    border-bottom:2px solid rgba(229, 224, 213, .7);
    color: var(--psai-accent);
    font-size: 7cqw;
}
.psai-cta--form-engaged .psai-cta__form .psai-cta__eyebrow {
	display: none;
}
.psai-cta__phone-label {
    margin:0 0 .35rem !important;
    color:#e5e0d5;
    font-size:clamp(24px,13cqw,46px);
    font-weight:700;
    line-height:1.2 !important;
}
.psai-cta__phone-number {
    display:inline-block;
    width:max-content;
    max-width:100%;
    color:#fff !important;
    font-size:clamp(28px,15cqw,56px);
    font-weight:700;
    line-height:1.08;
    letter-spacing:-.025em;
    text-decoration:none;
    white-space:nowrap;
    transition:color var(--psai-transition-fast);
}
.psai-cta__phone-number:hover, .psai-cta__phone-number:focus-visible {
    color:var(--psai-accent) !important;
}
.psai-cta__form {
    position:relative;
    padding:clamp(1rem,2.4vw,1.7rem);
    border:2px solid #666;
    border-left-width:0;
    border-radius:0 6px 6px 0;
    background:#f7f3eb;
}
.psai-cta--no-phone .psai-cta__layout { grid-template-columns:1fr; }
.psai-cta--no-phone .psai-cta__form { border-left-width:2px; border-radius:6px; }
.psai-cta:not(.psai-cta--has-form) .psai-cta__layout { grid-template-columns:1fr auto; }
.psai-cta:not(.psai-cta--has-form) .psai-cta__phone { border-right-width:2px; border-radius:6px; }
.psai-cta--form-engaged .psai-cta__layout { grid-template-columns:minmax(0,0fr) minmax(0,1fr); }
.psai-cta--form-engaged .psai-cta__phone { visibility:hidden; padding-inline:0; border-color:transparent; opacity:0; }
.psai-cta--form-engaged .psai-cta__form { border-left-width:2px; border-radius:6px; }
.psai-cta__form .fluentform { color:#fff; }
.psai-cta__form .ff-el-group { margin-bottom:1rem; }
.psai-cta__form .ff-el-input--label > label,
.psai-cta__form .ff-name-address-wrapper > .ff-el-input--label > label {
    color:#666;
    font-size:clamp(17px,1.35vw,21px);
    font-weight:600;
    line-height:1.3;
}

/* Radio and checkbox groups stay native inputs; only their labels are presented as buttons. */
.psai-cta__form .psai-choice-buttons .ff-el-input--content,
.psai-cta__form .ff-el-input--content:has(> .ff-el-form-check) {
    display:flex;
    width:100%;
    gap:.75rem;
    align-items:stretch;
}
.psai-cta__form .ff-el-form-check {
    display:flex;
    flex:1 1 auto;
    min-width:0;
    margin:0;
}
.psai-cta__form .ff-el-form-check-label {
    display:flex;
    width:100%;
    height:100%;
    margin:0;
    cursor:pointer;
    border-radius:6px;
}
.psai-cta__form .ff-el-form-check-input[type="radio"],
.psai-cta__form .ff-el-form-check-input[type="checkbox"] {
    position:absolute !important;
    width:1px !important;
    height:1px !important;
    margin:-1px !important;
    padding:0 !important;
    overflow:hidden !important;
    clip:rect(0 0 0 0) !important;
    clip-path:inset(50%) !important;
    white-space:nowrap !important;
    border:0 !important;
}
.psai-cta__form .ff-el-form-check-input[type="radio"] + span,
.psai-cta__form .ff-el-form-check-input[type="checkbox"] + span {
    display:flex;
    align-items:center;
    justify-content:center;
    width:100%;
    min-height:48px;
    padding:.75rem 1rem;
    border:1px solid rgba(255,255,255,.38);
    border-radius:6px;
    background:#000;
    color:#fff;
    font-weight:650;
    line-height:1.15;
    text-align:center;
    transition:background var(--psai-transition-fast), border-color var(--psai-transition-fast), color var(--psai-transition-fast);
}
.psai-cta__form .ff-el-form-check-label:hover .ff-el-form-check-input + span {
    border-color:var(--psai-accent);
    background:var(--psai-accent);
    color:#111;
}
.psai-cta__form .ff-el-form-check-input:checked + span {
    border-color:var(--psai-accent);
    background:var(--psai-accent);
    color:#111;
}
.psai-cta__form .ff-el-form-check-input:focus-visible + span {
    outline:3px solid #fff;
    outline-offset:3px;
}
.psai-cta__form .ff-el-form-control {
    width:100%;
    min-height:46px;
    border:1px solid rgba(255,255,255,.35);
    border-radius:0;
    background:#fff;
    color:#171717;
    box-shadow:none;
}
.psai-cta__form textarea.ff-el-form-control { min-height:110px; }
.psai-cta__form .ff-btn, .psai-cta__form .ff-btn-submit {
    min-height:44px !important;
    padding:.7rem 1.15rem !important;
    border:2px solid #000 !important;
    border-radius:6px !important;
    background:transparent !important;
    color:#666 !important;
    font-size:18px !important;
    font-weight:700 !important;
    line-height:1 !important;
    cursor:pointer !important;
    transition:background var(--psai-transition-fast), border-color var(--psai-transition-fast), color var(--psai-transition-fast);
}
.psai-cta__form .ff-btn:hover, .psai-cta__form .ff-btn:focus-visible, .psai-cta__form .ff-btn-submit:hover, .psai-cta__form .ff-btn-submit:focus-visible {
    background:var(--psai-accent) !important;
    color:#000 !important;
}
.psai-cta__form .ff-button-hide [data-action="next"] {
	display: none;
}

.psai-cta__form .ff_submit_btn_wrapper { margin-top:20px; }
.psai-cta__form .ff_submit_btn_wrapper .ff-btn-submit:not(.ff_btn_no_style) { min-height:44px !important; }
.psai-cta__form .step-nav { padding-top:20px; }
.psai-cta__form .step-nav::after { content:""; display:table; clear:both; }
.psai-cta__legacy-action { display:flex; align-items:center; }

.psai-faq { border-top:1px solid var(--psai-border); }
.psai-faq__item { border-bottom:1px solid var(--psai-border); }
.psai-faq__item summary { cursor:pointer; padding:1rem 2rem 1rem 0; font-weight:750; line-height:1.4; }
.psai-faq__answer { padding:0 0 1rem; }
.psai-faq__answer > :first-child { margin-top:0; }
.psai-faq__answer > :last-child { margin-bottom:0; }

.psai-video { margin:0; }
.psai-video__media { display:block; width:100%; height:auto; aspect-ratio:1/1; background:#000; }

.psai-sources { padding-top:1.5rem; border-top:1px solid var(--psai-border); }
.psai-sources__list { padding-left:1.25rem; }
.psai-sources__list li { margin:.55rem 0; font-size:.9rem; }
.psai-sources__more summary { cursor:pointer; font-weight:700; }
.psai-sources__summary-expanded { display:none; }
.psai-sources__more[open] .psai-sources__summary-collapsed { display:none; }
.psai-sources__more[open] .psai-sources__summary-expanded { display:inline; }
.psai-sources__list a { color:var(--psai-muted); text-decoration:none; transition:color var(--psai-transition-fast), text-decoration var(--psai-transition-fast); }
.psai-sources__list a:hover, .psai-sources__list a:focus-visible { color: #0063CC; text-decoration:underline; text-decoration-thickness:.5px; text-underline-offset: 4px; }

.psai-author-profile { display:grid; grid-template-columns:auto 1fr; gap:1.5rem; align-items:end; padding:1.4rem 1.4rem 0; background:#ffffff; border:1px solid var(--psai-border); border-radius: 6px; }
.psai-author-profile__photo { margin:0; width:170px; }
.psai-author-profile__photo img { display:block; width:100%; height:auto; }
.psai-author-profile__content h2 { margin-top:0; margin-bottom:0; }
.psai-author-profile__content h2 a { font-size: 20px; font-weight: 400; text-decoration: none; color: var(--psai-text); }
.psai-author-profile__content p { font-size: 16px; margin-bottom: 0; margin-top: 8px; }
.psai-author-profile__content p:last-child { padding-bottom: 1rem;}
.psai-author-profile__content .psai-author-profile__title { color:var(--psai-muted); font-size: 14px; margin-top:0; object-fit: contain; }

.psai-related-services__grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); gap:1.2rem; }
.psai-related-service, .psai-related-article { min-width:0; border-radius: 6px; }
.psai-related-service { overflow:hidden; background:#fff; border:1px solid #ccc; transition:background var(--psai-transition-fast); }
.psai-related-service:hover, .psai-related-service:focus-within { background:var(--psai-accent); }
.psai-related-service__link { display:flex; align-items:flex-start; gap:0; min-height:100%; padding:1.1rem; color:#000; text-decoration:none; }
.psai-related-service__icon-wrap { display:grid; place-items:start; flex:0 0 2.25rem; width:26px; height:26px; color:var(--psai-gold-on-light); }
.psai-related-service__icon-wrap .psl-icon { display:block; width:26px; height:26px; fill:currentColor; }
.psai-related-service__copy { display:block; min-width:0; }
.psai-related-service h3 { margin:0 0 .35rem; color:#000; font-size:clamp(14px,.9vw,16px); font-weight:600; line-height:1.2; }
.psai-related-service__description { display:block; color:#000; font-size:clamp(12px,.9vw,14px); line-height:1.4; }
.psai-related-service__link svg { transition:fill var(--psai-transition-fast); }
.psai-related-service__link:hover svg, .psai-related-service__link:focus-visible svg { fill:#000; }

.psai-related-articles__grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:2rem; }
.psai-related-article { min-width:0; overflow:hidden; background:#021833; border:2px solid #000; border-radius:6px; }
.psai-related-article__link { display:block; min-height:100%; color:#fff; text-decoration:none; }
.psai-related-article__image { display:block; overflow:hidden; }
.psai-related-article__image img { display:block; width:100%; aspect-ratio:16/10; object-fit:cover; object-position:center; border-radius:4px 4px 0 0; transform:scale(1); transition:transform var(--psai-transition-fast); }
.psai-related-article:hover img, .psai-related-article__link:focus-visible img { transform:scale(1.05); }
.psai-related-article__content { display:block; padding:1rem; background:var(--psai-hero-bg); border-radius:0 0 6px 6px; }
.psai-related-article__date { display:block; margin:0 0 .2rem; color:var(--psai-accent); font-size:14px; }
.psai-related-article__title { display:block; margin:.2rem 0 .6rem; font-size:16px; line-height:1.3; font-weight:400; opacity:.8; transition:opacity var(--psai-transition-fast); }
.psai-related-article:hover .psai-related-article__title, .psai-related-article__link:focus-visible .psai-related-article__title { opacity:1; }

.psai-lightbox { width:min(94vw,1100px); max-height:94vh; border:0; padding:0; background:transparent; }
.psai-lightbox::backdrop { background:rgba(0,0,0,.84); }
.psai-lightbox__frame { position:relative; display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:.75rem; }
.psai-lightbox__image { max-width:100%; max-height:88vh; margin:auto; display:block; }
.psai-lightbox__close, .psai-lightbox__prev, .psai-lightbox__next { display:grid; place-items:center; width:36px; height:36px; min-width:36px; min-height:36px; padding:4px; border:0; border-radius:0; appearance:none; background:transparent; box-shadow:none; color:rgba(255,255,255,.7); cursor:pointer; line-height:1; transition:color var(--psai-transition-fast); }
.psai-lightbox__close:hover, .psai-lightbox__prev:hover, .psai-lightbox__next:hover, .psai-lightbox__close:focus-visible, .psai-lightbox__prev:focus-visible, .psai-lightbox__next:focus-visible { background:transparent; color:#fff; outline:0; box-shadow:none; }
.psai-lightbox__close:focus-visible .psai-lightbox__icon, .psai-lightbox__prev:focus-visible .psai-lightbox__icon, .psai-lightbox__next:focus-visible .psai-lightbox__icon { filter:drop-shadow(0 0 2px currentColor); }
.psai-lightbox__icon { display:block; width:28px; height:28px; color:inherit; pointer-events:none; }
.psai-lightbox__prev[hidden], .psai-lightbox__next[hidden] { display:none; }
.psai-lightbox__close { position:absolute; z-index:2; right:.5rem; top:.5rem; }

@media (prefers-reduced-motion: reduce) {
    .psai-page *, .psai-page *::before, .psai-page *::after {
        scroll-behavior:auto !important;
        transition:none !important;
        animation:none !important;
    }
}
@media (max-width: 1400px) {
	.psai-layout { width: calc(100% - 2.5rem); }
}
@media (max-width: 1240px) {
    .psai-toc { display:none; }
}

@media (max-width: 760px) {
    .psai-hero { padding-inline:1rem; }
    .psai-cta__layout, .psai-cta--form-engaged .psai-cta__layout { grid-template-columns:1fr; gap:1rem; }
    .psai-cta__phone, .psai-cta__form, .psai-cta--form-engaged .psai-cta__form {
        border-width:2px;
        border-radius:6px;
    }
    .psai-cta--form-engaged .psai-cta__phone {
        visibility:visible;
        padding:clamp(1.2rem,2.8vw,2rem);
        border-color:var(--psai-gold-on-light);
        opacity:1;
    }
    .psai-cta__phone-number { white-space:normal; }
    .psai-cta__form .psai-choice-buttons .ff-el-input--content,
    .psai-cta__form .ff-el-input--content:has(> .ff-el-form-check) { flex-direction:column; }
    .psai-cta__form .ff-el-form-check,
    .psai-cta__form .ff-el-form-check-label,
    .psai-cta__form .ff-el-form-check-input + span { width:100%; }
    .psai-hero__feature {
        grid-template-columns: 1fr;
        align-items: start;
    }
    .psai-hero__figure {
        display: block;
        height: auto;
    }
    .psai-page .psai-hero__image {
        height: auto;
        aspect-ratio: auto;
        object-fit: initial;
    }
    .psai-hero__meta { display:grid; gap:.25rem; }
    .psai-hero__meta span + span::before { content:none; }
    .psai-layout { width:min(calc(100% - 2rem), var(--psai-article-width)); }
    .psai-editorial-pair, .psai-editorial-pair--image-left { grid-template-columns:1fr; width:100%; }
    .psai-editorial-pair--image-left .psai-module--image-gallery { order:2; }
    .psai-editorial-pair--image-left .psai-module--text-section { order:1; }
    .psai-editorial-pair .psai-gallery__image { min-height:0; height:auto; }
    .psai-gallery { grid-template-columns:1fr; }
    .psai-related-services__grid, .psai-related-articles__grid { grid-template-columns:1fr; }
    .psai-author-profile { grid-template-columns:80px 1fr; }
    .psai-author-profile__photo { width:80px; }
    .psai-chart__bar-row { grid-template-columns:1fr auto; gap:.4rem .75rem; }
    .psai-chart__bar-track { grid-column:1/-1; grid-row:2; height:.68rem; }

    .psai-comparison-table table, .psai-comparison-table tbody, .psai-comparison-table tr, .psai-comparison-table th, .psai-comparison-table td { display:block; width:100%; }
    .psai-comparison-table thead { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
    .psai-comparison-table tr { border:1px solid var(--psai-border); margin-bottom:1rem; }
    .psai-comparison-table th, .psai-comparison-table td { border:0; border-bottom:1px solid var(--psai-border); padding:.75rem 1rem; }
    .psai-comparison-table tr > :last-child { border-bottom:0; }
    .psai-comparison-table th::before, .psai-comparison-table td::before { content:attr(data-label); display:block; margin-bottom:.2rem; color:var(--psai-muted); font-size:.72rem; font-weight:800; text-transform:uppercase; letter-spacing:.06em; }
}