﻿@font-face { font-family: ASVOpenDyslexic; src: url('../assets/fonts/opendyslexic/OpenDyslexic-Regular.woff2') format('woff2'); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: ASVOpenDyslexic; src: url('../assets/fonts/opendyslexic/OpenDyslexic-Bold.woff2') format('woff2'); font-weight: 700; font-style: normal; font-display: swap; }
@font-face { font-family: ASVOpenDyslexic; src: url('../assets/fonts/opendyslexic/OpenDyslexic-Italic.woff2') format('woff2'); font-weight: 400; font-style: italic; font-display: swap; }
@font-face { font-family: ASVOpenDyslexic; src: url('../assets/fonts/opendyslexic/OpenDyslexic-Bold-Italic.woff2') format('woff2'); font-weight: 700; font-style: italic; font-display: swap; }
/* Scoped names avoid changing existing brand or layout defaults. */
#asv-launcher, #asv-panel, #asv-reading-guide { box-sizing: border-box; }
#asv-launcher { position: fixed; right: max(18px, env(safe-area-inset-right)); bottom: max(18px, env(safe-area-inset-bottom)); z-index: 2147483000; display: grid; place-items: center; width: 48px; height: 48px; min-width: 48px; padding: 10px; border: 1px solid #a6aca1; border-radius: 50%; background: #f7f5ef; color: #344238; box-shadow: 0 3px 13px #34423826; cursor: pointer; }
#asv-launcher:hover { background: #f0e4e6; }
#asv-launcher svg { display: block; width: 27px; height: 27px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
#asv-panel { position: fixed; inset: auto max(16px, env(safe-area-inset-right)) max(16px, env(safe-area-inset-bottom)) auto; margin: 0; padding: 0; width: min(410px, calc(100% - 32px)); max-width: none; max-height: min(760px, calc(100dvh - 32px)); overflow: auto; overscroll-behavior: contain; border: 1px solid #a6aca1; border-radius: 18px; box-shadow: 0 12px 60px #27332930; background: #f7f5ef; color: #344238; font: 16px/1.5 system-ui, sans-serif; text-align: left; z-index: 2147483001; color-scheme: light; }
#asv-panel::backdrop { background: #27332938; }
#asv-panel [hidden], #asv-reading-guide[hidden] { display: none !important; }
#asv-panel *, #asv-panel *::before, #asv-panel *::after { box-sizing: border-box; }
#asv-panel .asv-header { position: sticky; top: 0; z-index: 2; display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; padding: 24px 24px 18px; background: #f7f5ef; border-bottom: 1px solid #d6d9cf; }
#asv-panel h2 { margin: 0 0 6px; font: 400 25px/1.2 Georgia, serif; letter-spacing: -.02em; color: #344238; }
#asv-panel p { margin: 0; color: #505d50; font: inherit; }
#asv-panel .asv-body { padding: 0 24px 24px; }
#asv-panel .asv-setting { margin: 0; padding: 20px 0; border: 0; border-bottom: 1px solid #d6d9cf; min-width: 0; }
#asv-panel .asv-label, #asv-panel legend { display: block; float: none; width: 100%; margin: 0 0 10px; padding: 0; font: 600 15px/1.4 system-ui, sans-serif; color: #344238; }
#asv-panel .asv-help { margin-top: 8px; font: 13px/1.5 system-ui, sans-serif; }
#asv-panel button, #asv-panel select { min-height: 44px; border: 1px solid #a6aca1; border-radius: 8px; padding: 9px 13px; background: #fffdf8; color: #344238; font: 500 15px/1.4 system-ui, sans-serif; cursor: pointer; box-shadow: none; white-space: normal; }
#asv-panel button:hover { background: #f0e4e6; }
#asv-panel button:disabled { opacity: .55; cursor: default; }
#asv-panel select { display: block; width: 100%; max-width: 100%; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
#asv-panel .asv-close { flex: 0 0 44px; width: 44px; padding: 8px; font-size: 24px; line-height: 1; background: transparent; }
#asv-panel .asv-size, #asv-panel .asv-speech { display: flex; flex-wrap: wrap; align-items: center; gap: 9px; }
#asv-panel .asv-voice-label, #asv-panel .asv-speech { margin-top: 12px; }
#asv-panel .asv-size button { width: 64px; font-size: 19px; }
#asv-panel output { flex: 1; text-align: center; font-variant-numeric: tabular-nums; }
#asv-panel .asv-toggle { display: flex; gap: 16px; align-items: center; justify-content: space-between; min-height: 44px; cursor: pointer; font: 500 15px/1.4 system-ui,sans-serif; }
#asv-panel input[type=checkbox] { appearance: auto; flex: 0 0 23px; width: 23px; height: 23px; margin: 0 2px; accent-color: #45543b; cursor: pointer; }
#asv-panel .asv-reset { width: 100%; margin-top: 20px; background: #f0e4e6; }
#asv-panel .asv-status { min-height: 1.5em; margin-top: 12px; font-size: 13px; }
#asv-panel a { color: #344238; text-decoration: underline; }
#asv-launcher:focus-visible, #asv-panel :focus-visible { outline: 3px solid #744652 !important; outline-offset: 3px !important; }
#asv-reading-guide { position: fixed; left: 0; right: 0; top: var(--asv-guide-y, 50vh); height: 36px; transform: translateY(-50%); pointer-events: none; z-index: 2147482999; background: #ad777d18; border-top: 1px solid #ad777d88; border-bottom: 1px solid #ad777d88; }
/* Text sizes are measured from the original responsive styles, including px-based text. */
html[data-asv-size]:not([data-asv-size="100"]) [data-asv-text] { font-size: calc(var(--asv-text-size) * var(--asv-scale)) !important; }
html[data-asv-font="verdana"] body :is(h1,h2,h3,h4,h5,h6,p,a,li,label,input,button,select,textarea,td,th,span,blockquote,figcaption,summary,small,legend) { font-family: Verdana, sans-serif !important; }
html[data-asv-font="opendyslexic"] body :is(h1,h2,h3,h4,h5,h6,p,a,li,label,input,button,select,textarea,td,th,span,blockquote,figcaption,summary,small,legend) { font-family: ASVOpenDyslexic, Verdana, sans-serif !important; }
html[data-asv-spacing="true"] main :is(p,li,blockquote,figcaption) { line-height: 1.9 !important; letter-spacing: .04em !important; word-spacing: .1em !important; }
html[data-asv-spacing="true"] main p { margin-block: 1.3em !important; }
html[data-asv-simple="true"] main :is(section,article,div,header,figure) { box-shadow: none !important; background-image: none !important; }
html[data-asv-simple="true"] main :is(section,article,div,header,figure)::before, html[data-asv-simple="true"] main :is(section,article,div,header,figure)::after { background-image: none !important; box-shadow: none !important; }
html[data-asv-simple="true"] .blog-article { max-width: 70ch !important; margin-inline: auto; }
html[data-asv-simple="true"] main :is(.portrait-stationery,.story-album-banner)::before { display: none; }
html[data-asv-images="true"] [data-asv-decorative] { display: none !important; }
html[data-asv-contrast="true"] { --paper: #fff; --ink: #111; --olive: #111; --muted: #222; --rose: #6b3244; --line: #444; }
html[data-asv-contrast="true"] body, html[data-asv-contrast="true"] body :is(header,main,footer,section,article,aside,nav,div,dialog,details,figure) { background-color: #fff !important; color: #111 !important; }
html[data-asv-contrast="true"] body :is(h1,h2,h3,h4,h5,h6,p,span,small,label,legend,li,td,th,blockquote,figcaption,summary,output,time) { color: #111 !important; }
html[data-asv-contrast="true"] body a { color: #003b70 !important; text-decoration: underline !important; }
html[data-asv-contrast="true"] body :is(button,input,select,textarea,.button) { color: #111 !important; background: #fff !important; border: 2px solid #333 !important; }
html[data-asv-contrast="true"] body :focus-visible { outline: 3px solid #004c99 !important; outline-offset: 3px !important; }
html[data-asv-colour="grayscale"] body > :not(#asv-launcher,#asv-panel,#asv-reading-guide,script,style,link) { filter: grayscale(1); }
html[data-asv-colour="warm"] body > :not(#asv-launcher,#asv-panel,#asv-reading-guide,script,style,link) { filter: sepia(.23) saturate(.85); }
html[data-asv-colour="cool"] body > :not(#asv-launcher,#asv-panel,#asv-reading-guide,script,style,link) { filter: sepia(.12) hue-rotate(155deg) saturate(.8); }
html[data-asv-motion="true"] *, html[data-asv-motion="true"] *::before, html[data-asv-motion="true"] *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
@media (prefers-reduced-motion: reduce) { html *, html *::before, html *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; } }
html[data-asv-size]:not([data-asv-size="100"]) main :is(.blog-columns,.resources-card-grid,.collection-cards,.resource-grid,.pathways,.feature,.column-hero) { grid-template-columns: minmax(0,1fr) !important; }
html[data-asv-size]:not([data-asv-size="100"]) main :is(h1,h2,h3,p,a,label,button) { overflow-wrap: anywhere; }
html[data-asv-size]:not([data-asv-size="100"]) .nav { flex-wrap: wrap; }
@media (pointer: fine) { html[data-asv-cursor="true"] body { cursor: url('../assets/accessibility-cursor.svg') 4 3, auto; } html[data-asv-cursor="true"] :is(a,button,select,summary,input[type=checkbox]) { cursor: url('../assets/accessibility-pointer.svg') 12 3, pointer; } }
@media (max-width: 480px) { #asv-panel .asv-header { padding: 20px 18px 16px; } #asv-panel .asv-body { padding-inline: 18px; } #asv-panel h2 { font-size: 23px; } }
@media print { #asv-launcher,#asv-panel,#asv-reading-guide { display: none !important; } }
html[data-asv-size]:not([data-asv-size="100"]) .footer-explore-links { grid-template-columns: minmax(0, 1fr) !important; }
html[data-asv-size]:not([data-asv-size="100"]) :is(.site-footer,.site-header) :is(a,p,span,small,button) { overflow-wrap: anywhere; min-width: 0; }
html[data-asv-size]:not([data-asv-size="100"]) .editorial-article-card { grid-template-columns: minmax(0,1fr) !important; }
html[data-asv-cursor="true"] :is(textarea,input:not([type=checkbox]):not([type=radio]):not([type=button]):not([type=submit])) { cursor: text; }

/* Reserve a small clear corner when reaching the page footer. */
body { padding-bottom: max(80px, env(safe-area-inset-bottom)); }
body :focus-visible { outline: 3px solid #744652; outline-offset: 3px; }
html[data-asv-size]:not([data-asv-size="100"]) .notes-sort { flex-wrap: wrap; min-width: 0; }
html[data-asv-size]:not([data-asv-size="100"]) .notes-sort select { max-width: 100%; min-width: 0; }
html[data-asv-size]:not([data-asv-size="100"]) #top { flex-wrap: wrap; }
html[data-asv-size]:not([data-asv-size="100"]) #top > * { min-width: 0; max-width: 100%; overflow-wrap: anywhere; }
html[data-asv-size]:not([data-asv-size="100"]) #top .editorial-site-nav { flex-wrap: wrap; }
html[data-asv-size]:not([data-asv-size="100"]) #top .editorial-site-nav a { white-space: normal; }
/* Small existing labels need the darker brand rose for readable contrast. */
.feature .eyebrow, .thoughtful-gifts-card small, .unnecessary-feature-copy .eyebrow { color: #87545f; }
/* Preserve small visual dots while making their targets easier to reach. */
.calm-gallery-dots button { display: grid; place-items: center; width: 32px; height: 32px; padding: 0; background: transparent; }
.calm-gallery-dots button::before { content: ''; width: 7px; height: 7px; border-radius: 50%; background: #a6aca1; }
.calm-gallery-dots button[aria-pressed='true'] { background: transparent; }
.calm-gallery-dots button[aria-pressed='true']::before { background: #87545f; }
body.unnecessary-page .unnecessary-feature-copy .eyebrow { color: #87545f; }
