/* Specialist schemes: clear routes, generous reading space and familiar puppets. */
html:root body.specialist-schemes main {color:var(--clarity-ink);}
html:root body.specialist-schemes main .scheme-section {padding-block:clamp(38px,5vw,70px);}
html:root body.specialist-schemes .scheme-hero {position:relative;isolation:isolate;padding-block:clamp(28px,4vw,54px);overflow:hidden;background:var(--clarity-wash);}
html:root body.specialist-schemes .scheme-hero::before {content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 90% 15%,rgba(var(--clarity-rgb),.11),transparent 55%),linear-gradient(135deg,transparent 60%,rgba(var(--clarity-rgb),.035) 60.2%,transparent 82%);pointer-events:none;}
html:root body.specialist-schemes .scheme-hero-grid {display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:clamp(28px,5vw,66px);align-items:center;margin-top:20px;}
html:root body.specialist-schemes .scheme-hero h1 {font-size:clamp(2.2rem,4.5vw,4.25rem);line-height:1.1;letter-spacing:-.045em;max-width:18ch;margin:14px 0 22px;text-wrap:balance;}
html:root body.specialist-schemes .scheme-hero .lede {font-size:clamp(1.05rem,1.5vw,1.16rem);line-height:1.75;max-width:53ch;color:var(--clarity-muted);}
html:root body.specialist-schemes .scheme-status {display:inline-flex;align-items:center;max-width:100%;gap:8px;border:1px solid var(--clarity-line);background:var(--clarity-paper);border-radius:8px;padding:7px 10px;font-size:.79rem;line-height:1.5;font-weight:700;color:var(--clarity-ink);}
html:root body.specialist-schemes .scheme-status::before {content:"";width:7px;height:7px;flex:0 0 7px;border-radius:50%;background:var(--clarity-accent);}
html:root body.specialist-schemes .scheme-pending {margin:18px 0;padding:16px 18px;border:1px solid rgba(var(--clarity-rgb),.3);border-left:4px solid var(--clarity-accent);border-radius:8px;background:var(--clarity-paper);color:var(--clarity-ink);line-height:1.7;max-width:57ch;}
html:root body.specialist-schemes .scheme-picture {position:relative;margin:0;padding:10px;border:1px solid rgba(var(--clarity-rgb),.3);border-radius:26px;background:var(--clarity-paper);box-shadow:0 18px 45px var(--clarity-shadow);transform:rotate(1deg);}
html:root body.specialist-schemes .scheme-picture img {display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:17px;}
html:root body.specialist-schemes .scheme-picture figcaption {font-size:.86rem;line-height:1.65;padding:15px 12px 6px;color:var(--clarity-muted);}
html:root body.specialist-schemes .scheme-hero .promotion-notice {font-size:.79rem;margin-top:23px;padding:14px 16px;border-radius:10px;background:var(--clarity-paper);border:1px solid var(--clarity-line);}
html:root body.specialist-schemes .scheme-hero .promotion-notice p {font-size:inherit;line-height:1.65;margin:0 0 6px;}
html:root body.specialist-schemes .scheme-date {font-size:.8rem;line-height:1.6;color:var(--clarity-muted);margin-top:20px;}
html:root body.specialist-schemes .scheme-summary {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:0;padding:0;list-style:none;}
html:root body.specialist-schemes .scheme-summary li {padding:23px;border:1px solid var(--clarity-line);border-radius:15px;background:var(--clarity-paper);box-shadow:0 6px 22px var(--clarity-shadow);min-width:0;}
html:root body.specialist-schemes .scheme-summary > li,
html:root body.specialist-schemes .scheme-index li {margin:0;}
html:root body.specialist-schemes .scheme-summary strong {display:block;color:var(--clarity-link);font-size:.92rem;margin-bottom:9px;}
html:root body.specialist-schemes .scheme-summary p {font-size:.95rem;line-height:1.7;margin:0;color:var(--clarity-muted);}
html:root body.specialist-schemes .scheme-reading {max-width:940px;margin-inline:auto;}
html:root body.specialist-schemes .scheme-index {padding:22px 25px;border:1px solid var(--clarity-line);border-radius:16px;background:var(--clarity-paper);margin-bottom:34px;}
html:root body.specialist-schemes .scheme-index ul {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 24px;list-style:none;padding:0;margin:12px 0 0;}
html:root body.specialist-schemes .scheme-index a {display:flex;align-items:center;min-height:44px;line-height:1.5;padding:9px 0;text-underline-offset:4px;}
html:root body.specialist-schemes .scheme-copy {padding:32px 0;border-bottom:1px solid var(--clarity-line);}
html:root body.specialist-schemes .scheme-copy h2 {font-size:clamp(1.45rem,2.1vw,2rem);line-height:1.3;letter-spacing:-.02em;margin:0 0 20px;max-width:34ch;text-wrap:balance;}
html:root body.specialist-schemes .scheme-copy p {max-width:72ch;line-height:1.8;margin:0 0 17px;color:var(--clarity-muted);}
html:root body.specialist-schemes .scheme-copy ul {max-width:72ch;line-height:1.8;padding-left:1.25em;margin:16px 0 0;color:var(--clarity-muted);}
html:root body.specialist-schemes .scheme-copy li + li {margin-top:9px;}
html:root body.specialist-schemes .scheme-copy a {color:var(--clarity-link);text-underline-offset:4px;}
html:root body.specialist-schemes .scheme-copy :last-child {margin-bottom:0;}
html:root body.specialist-schemes .scheme-steps {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;padding:0;margin:20px 0 0;list-style:none;counter-reset:scheme-step;}
html:root body.specialist-schemes .scheme-steps li {margin:0;counter-increment:scheme-step;min-width:0;}
html:root body.specialist-schemes .scheme-steps li::before {content:"0" counter(scheme-step);display:flex;align-items:center;justify-content:center;width:38px;height:38px;font-size:.85rem;font-weight:750;color:var(--clarity-link);border:1px solid rgba(var(--clarity-rgb),.3);border-radius:50%;margin-bottom:15px;background:var(--clarity-paper);}
html:root body.specialist-schemes .scheme-steps h3 {font-size:1.05rem;line-height:1.5;margin:0 0 10px;}
html:root body.specialist-schemes .scheme-steps p {font-size:.95rem;line-height:1.75;}
html:root body.specialist-schemes .scheme-checklist {list-style:none;padding:0!important;margin:18px 0 0;}
html:root body.specialist-schemes .scheme-checklist label {display:flex;align-items:flex-start;gap:14px;padding:14px 16px;min-height:52px;background:var(--clarity-paper);border:1px solid var(--clarity-line);border-radius:10px;cursor:pointer;line-height:1.7;}
html:root body.specialist-schemes .scheme-checklist input {width:20px;height:20px;flex:0 0 20px;margin-top:4px;accent-color:var(--clarity-accent);}
html:root body.specialist-schemes .scheme-checklist label:has(input:checked) {border-color:var(--clarity-link);background:var(--clarity-wash);}
html:root body.specialist-schemes .scheme-checklist-progress {font-size:.85rem;font-weight:700;color:var(--clarity-link);margin-top:16px;}
html:root body.specialist-schemes .scheme-faqs details {background:var(--clarity-paper);border:1px solid var(--clarity-line);border-radius:12px;margin:12px 0;padding:0 20px;}
html:root body.specialist-schemes .scheme-faqs summary {font-size:1rem;font-weight:700;line-height:1.6;min-height:56px;padding:17px 0;cursor:pointer;}
html:root body.specialist-schemes .scheme-faqs details p {padding:0 0 18px;line-height:1.8;}
html:root body.specialist-schemes .scheme-faqs summary:focus-visible {outline-offset:-2px;}
html:root body.specialist-schemes .scheme-source-list {font-size:.88rem;line-height:1.7;}
html:root body.specialist-schemes .scheme-source-list li {margin-top:8px;}
html:root body.specialist-schemes .scheme-anchor {display:block;scroll-margin-top:calc(var(--header-height,90px) + 30px);}
html:root body.specialist-schemes .scheme-comparison-heading {max-width:58ch;margin-bottom:28px;}
html:root body.specialist-schemes .scheme-comparison-heading h2 {font-size:clamp(1.7rem,2.7vw,2.6rem);line-height:1.2;text-wrap:balance;}
html:root body.specialist-schemes .scheme-comparison-heading p {line-height:1.8;color:var(--clarity-muted);}
html:root body.specialist-schemes .scheme-filter-controls {margin:0 0 24px;padding:0;border:0;}
html:root body.specialist-schemes .scheme-filter-controls legend {font-size:.86rem;font-weight:700;margin-bottom:12px;}
html:root body.specialist-schemes .scheme-filter-buttons {display:flex;gap:9px;flex-wrap:wrap;}
html:root body.specialist-schemes .scheme-filter-buttons button {border:1px solid var(--clarity-line);border-radius:9px;background:var(--clarity-paper);color:var(--clarity-ink);font:inherit;font-size:.87rem;min-height:44px;padding:10px 14px;cursor:pointer;line-height:1.5;}
html:root body.specialist-schemes .scheme-filter-buttons button[aria-pressed="true"] {background:var(--clarity-accent);color:#fff;border-color:var(--clarity-accent);}
html:root[data-theme="dark"] body.specialist-schemes .scheme-filter-buttons button[aria-pressed="true"] {color:#101b2e;}
html:root body.specialist-schemes .scheme-filter-status {margin:14px 0 0;color:var(--clarity-muted);font-size:.85rem;}
html:root body.specialist-schemes .scheme-card-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;}
html:root body.specialist-schemes .scheme-card {display:flex;flex-direction:column;position:relative;min-width:0;border:1px solid var(--clarity-line);border-radius:18px;overflow:hidden;background:var(--clarity-paper);color:var(--clarity-ink);text-decoration:none;box-shadow:0 6px 22px var(--clarity-shadow);transition:transform .18s ease,border-color .18s ease;}
html:root body.specialist-schemes .scheme-card:hover {transform:translateY(-3px);border-color:var(--clarity-accent);}
html:root body.specialist-schemes .scheme-card img {display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;}
html:root body.specialist-schemes .scheme-card-body {display:flex;flex:1;flex-direction:column;align-items:flex-start;padding:23px;}
html:root body.specialist-schemes .scheme-card h3 {font-size:1.25rem;line-height:1.4;margin:15px 0 10px;}
html:root body.specialist-schemes .scheme-card p {font-size:.94rem;line-height:1.7;color:var(--clarity-muted);margin:0 0 20px;}
html:root body.specialist-schemes .scheme-card .scheme-status {font-size:.72rem;}
html:root body.specialist-schemes .scheme-card-link {margin-top:auto;color:var(--clarity-link);font-size:.87rem;font-weight:750;line-height:1.5;}
html:root body.specialist-schemes .scheme-related {background:var(--clarity-wash);}
html:root body.specialist-schemes .scheme-related .scheme-card-grid {grid-template-columns:repeat(3,minmax(0,1fr));}
html:root body.specialist-schemes .scheme-related h2 {margin-top:0;}
html:root body.specialist-schemes .scheme-next {display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:30px;padding:clamp(25px,4vw,44px);border:1px solid rgba(var(--clarity-rgb),.3);border-radius:20px;background:linear-gradient(120deg,rgba(var(--clarity-rgb),.06),transparent),var(--clarity-paper);}
html:root body.specialist-schemes .scheme-next h2 {font-size:clamp(1.6rem,2.5vw,2.4rem);line-height:1.25;max-width:24ch;margin:10px 0 14px;}
html:root body.specialist-schemes .scheme-next p {max-width:60ch;line-height:1.8;margin:0;color:var(--clarity-muted);}
html:root body.specialist-schemes .scheme-next .actions {margin:0;}
html:root body.specialist-schemes .scheme-legacy {border:1px solid var(--clarity-line);border-radius:14px;padding:20px 24px;background:var(--clarity-paper);margin-top:24px;}
html:root body.specialist-schemes .scheme-legacy > summary {font-size:1rem;line-height:1.6;min-height:44px;cursor:pointer;font-weight:700;}
html:root body.specialist-schemes .scheme-legacy .grid {margin-top:24px;}
html:root body.specialist-schemes .scheme-legacy .card {min-height:0;}
@media(max-width:1000px) {
 html:root body.specialist-schemes .scheme-card-grid {grid-template-columns:repeat(2,minmax(0,1fr));}
 html:root body.specialist-schemes .scheme-picture {transform:none;}
 html:root body.specialist-schemes .scheme-hero-grid {gap:28px;}
}
@media(max-width:760px) {
 html:root body.specialist-schemes .scheme-hero-grid {grid-template-columns:minmax(0,1fr);}
 html:root body.specialist-schemes .scheme-hero h1 {font-size:clamp(2rem,8vw,3rem);max-width:20ch;}
 html:root body.specialist-schemes .scheme-picture {max-width:600px;}
 html:root body.specialist-schemes .scheme-summary {grid-template-columns:minmax(0,1fr);gap:12px;}
 html:root body.specialist-schemes .scheme-summary li {padding:18px 20px;}
 html:root body.specialist-schemes .scheme-summary strong {margin-bottom:5px;}
 html:root body.specialist-schemes .scheme-steps {grid-template-columns:minmax(0,1fr);gap:24px;}
 html:root body.specialist-schemes .scheme-steps li {padding-left:54px;position:relative;}
 html:root body.specialist-schemes .scheme-steps li::before {position:absolute;left:0;top:0;}
 html:root body.specialist-schemes .scheme-index {padding:20px;}
 html:root body.specialist-schemes .scheme-index ul {grid-template-columns:minmax(0,1fr);}
 html:root body.specialist-schemes .scheme-next {grid-template-columns:minmax(0,1fr);gap:24px;}
 html:root body.specialist-schemes .scheme-related .scheme-card-grid {grid-template-columns:minmax(0,1fr);}
 html:root body.specialist-schemes .scheme-related .scheme-card img {display:none;}
 html:root body.specialist-schemes .scheme-date {font-size:.76rem;}
}
@media(max-width:540px) {
 html:root body.specialist-schemes .scheme-card-grid {grid-template-columns:minmax(0,1fr);}
 html:root body.specialist-schemes .scheme-card-body {padding:20px;}
 html:root body.specialist-schemes .scheme-hero .actions {display:grid;grid-template-columns:minmax(0,1fr);}
 html:root body.specialist-schemes .scheme-filter-buttons {gap:8px;}
 html:root body.specialist-schemes .scheme-filter-buttons button {font-size:.82rem;padding:10px 11px;}
 html:root body.specialist-schemes .scheme-legacy {padding:18px;}
}
@media(prefers-reduced-motion:reduce) {
 html:root body.specialist-schemes .scheme-card {transition:none;}
 html:root body.specialist-schemes .scheme-card:hover {transform:none;}
}
@media print {
 html:root body.specialist-schemes .scheme-picture,
 html:root body.specialist-schemes .scheme-filter-controls,
 html:root body.specialist-schemes .scheme-next .actions {display:none!important;}
 html:root body.specialist-schemes .scheme-card[hidden] {display:flex!important;}
 html:root body.specialist-schemes .scheme-hero-grid,
 html:root body.specialist-schemes .scheme-next {display:block;}
 html:root body.specialist-schemes .scheme-section,
 html:root body.specialist-schemes .scheme-hero {padding-block:20px;}
 html:root body.specialist-schemes .scheme-copy {break-inside:avoid;}
}
