/* Pisica component. Load after partner styles. All rules are scoped to the component. */
#pisica-project {
    --pisica-ink: #222f2a;
    --pisica-muted: #626a63;
    --pisica-paper: #faf9f4;
    --pisica-green: #174c3d;
    --pisica-lime: #ddecab;
    --pisica-line: #dadfd3;
    background: var(--pisica-paper);
    color: var(--pisica-ink);
    font-family: "Avenir Next", Avenir, "Segoe UI", sans-serif;
    font-size: 16px;
    line-height: 1.65;
    overflow: hidden;
    isolation: isolate;
}
#pisica-project *, #pisica-project *::before, #pisica-project *::after { box-sizing: border-box; }
#pisica-project h1, #pisica-project h2, #pisica-project h3, #pisica-project p, #pisica-project figure { margin: 0; padding: 0; color: inherit; }
#pisica-project h1, #pisica-project h2, #pisica-project h3 { font-family: inherit; text-transform: none; }
#pisica-project h1 { font-size: clamp(44px, 5.3vw, 76px); font-weight: 550; line-height: 1.04; letter-spacing: -.055em; }
#pisica-project h2 { font-size: clamp(35px, 3.9vw, 54px); font-weight: 500; line-height: 1.12; letter-spacing: -.045em; }
#pisica-project h3 { font-size: 26px; font-weight: 550; line-height: 1.2; letter-spacing: -.035em; }
#pisica-project em { font-family: Georgia, "Times New Roman", serif; font-weight: 400; letter-spacing: -.045em; }
#pisica-project p { font-size: inherit; line-height: 1.7; }
#pisica-project a { color: inherit; text-decoration: none; }
#pisica-project button { font: inherit; }
#pisica-project img { display: block; max-width: 100%; height: auto; }
#pisica-project a:focus-visible, #pisica-project button:focus-visible { outline: 3px solid #b65327; outline-offset: 6px; }
#pisica-project [id] { scroll-margin-top: 24px; }
#pisica-project .pisica-wrap { width: min(1180px, calc(100% - 96px)); margin-inline: auto; }
#pisica-project .pisica-masthead { display: flex; align-items: center; justify-content: space-between; padding-block: 28px; border-bottom: 1px solid var(--pisica-line); }
#pisica-project .pisica-brand { display: flex; align-items: center; gap: 10px; font-size: 29px; letter-spacing: -.06em; font-weight: 750; }
#pisica-project .pisica-mark { display: inline-flex; align-items: center; justify-content: center; width: 34px; height: 38px; border-radius: 12px 12px 12px 3px; background: var(--pisica-green); color: var(--pisica-lime); font-family: Georgia, serif; font-style: italic; font-size: 32px; position: relative; }
#pisica-project .pisica-brand-note { margin-left: 20px; padding-left: 24px; border-left: 1px solid var(--pisica-line); letter-spacing: .12em; font-size: 14px; font-weight: 650; }
#pisica-project .pisica-status { display: flex; align-items: center; gap: 10px; font-size: 16px; font-weight: 600; }
#pisica-project .pisica-status > span:first-child, #pisica-project .pisica-dot { display: inline-block; width: 7px; height: 7px; border-radius: 50%; background: #6d8746; }
#pisica-project .pisica-hero { display: grid; grid-template-columns: 1.12fr 1fr; gap: 50px; padding-block: 64px 76px; align-items: center; }
#pisica-project .pisica-eyebrow { font-size: 14px; letter-spacing: .09em; font-weight: 700; line-height: 1.6; margin-bottom: 24px; }
#pisica-project .pisica-hero h1 em { color: var(--pisica-green); }
#pisica-project .pisica-intro { color: var(--pisica-muted); max-width: 420px; margin-top: 28px; font-size: 17px; }
#pisica-project .pisica-actions { display: flex; gap: 25px; align-items: center; flex-wrap: wrap; margin-top: 30px; }
#pisica-project .pisica-button { display: inline-flex; align-items: center; gap: 36px; background: var(--pisica-green); color: #fff; padding: 15px 22px; border-radius: 6px; font-size: 14px; font-weight: 600; transition: background .2s, transform .2s; }
#pisica-project .pisica-button:hover { background: #28664e; transform: translateY(-2px); }
#pisica-project .pisica-text-link { font-size: 14px; padding-block: 8px; border-bottom: 1px solid #a6ada0; }
#pisica-project .pisica-text-link span { margin-left: 12px; }
#pisica-project .pisica-hero-foot { display: flex; gap: 13px; align-items: center; margin-top: 42px; }
#pisica-project .pisica-hero-foot p { color: var(--pisica-muted); font-size: 14px; line-height: 1.65; }
#pisica-project .pisica-hero-foot strong { font-weight: 500; color: var(--pisica-ink); }
#pisica-project .pisica-mini-orbit { font-size: 36px; color: #83935d; }
#pisica-project .pisica-hero-art { position: relative; min-height: 554px; padding: 30px 0 24px; border-radius: 160px 160px 16px 16px; background: #e6eadc; display: grid; grid-template-columns: minmax(0, 1fr); row-gap: 28px; align-content: center; justify-items: center; }
#pisica-project .pisica-hero-art::before { content: ""; position: absolute; width: 320px; height: 320px; border-radius: 50%; background: #cbd7b4; }
#pisica-project .pisica-orbit { position: absolute; border: 1px solid #b4c19e; border-radius: 50%; width: 420px; height: 420px; transform: rotate(-25deg) scaleX(.78); }
#pisica-project .pisica-orbit-two { transform: rotate(35deg) scaleX(.78); }
#pisica-project .pisica-art-label, #pisica-project .pisica-art-caption { position: absolute; font-size: 14px; font-weight: 650; letter-spacing: .09em; top: 30px; left: 0; width: 100%; padding-inline: 18px; line-height: 1.4; text-align: center; }
#pisica-project .pisica-hero-art > .pisica-art-label, #pisica-project .pisica-hero-art > .pisica-art-caption { position: relative; inset: auto; z-index: 1; }
#pisica-project .pisica-hero-art::before, #pisica-project .pisica-hero-art > .pisica-orbit { top: 50%; left: 50%; margin-top: -210px; margin-left: -210px; }
#pisica-project .pisica-hero-art::before { margin-top: -160px; margin-left: -160px; }
#pisica-project .pisica-portrait { width: 234px; height: 375px; overflow: hidden; border-radius: 26px; transform: rotate(5deg); box-shadow: 12px 24px 35px #283c362d; z-index: 1; }
#pisica-project .pisica-portrait img { width: 100%; max-width: none; }
#pisica-project .pisica-float { position: absolute; z-index: 2; display: flex; align-items: center; gap: 12px; background: #fff; border: 1px solid #edf0e7; border-radius: 10px; box-shadow: 0 12px 35px #26392b0d; }
#pisica-project .pisica-float-question { left: -32px; top: 290px; padding: 16px 20px; font-size: 14px; transform: rotate(-5deg); line-height: 1.5; }
#pisica-project .pisica-bubble-icon { display: grid; place-items: center; font-size: 24px; width: 35px; height: 35px; border-radius: 50%; background: var(--pisica-lime); font-family: Georgia, serif; }
#pisica-project .pisica-float-voice { right: -16px; bottom: 80px; padding: 16px 23px; font-size: 14px; transform: rotate(3deg); }
#pisica-project .pisica-wave { display: flex; align-items: center; gap: 3px; height: 30px; }
#pisica-project .pisica-wave i { display: block; width: 3px; height: 10px; background: var(--pisica-green); border-radius: 5px; }
#pisica-project .pisica-wave i:nth-child(2n) { height: 20px; }
#pisica-project .pisica-wave i:nth-child(3n) { height: 30px; }
#pisica-project .pisica-principles { border-block: 1px solid var(--pisica-line); }
#pisica-project .pisica-principles-inner { display: flex; justify-content: space-between; align-items: center; gap: 20px; padding-block: 24px; }
#pisica-project .pisica-principles p { font-size: 14px; color: var(--pisica-muted); }
#pisica-project .pisica-principles strong { color: var(--pisica-ink); font-weight: 650; }
#pisica-project .pisica-principles-inner > span { font-size: 22px; color: #87976a; }
#pisica-project .pisica-section { padding-block: 100px; }
#pisica-project .pisica-section-heading { display: flex; justify-content: space-between; align-items: end; gap: 60px; margin-bottom: 45px; }
#pisica-project .pisica-section-heading > p { max-width: 295px; font-size: 16px; color: var(--pisica-muted); }
#pisica-project .pisica-feature-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
#pisica-project .pisica-feature { position: relative; display: flex; flex-direction: column; border: 1px solid var(--pisica-line); border-radius: 10px; padding: 25px 22px; background: #f4f4ec; transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease; }
#pisica-project .pisica-feature:focus-within { z-index: 2; transform: scale(1.05); border-color: #a6b596; box-shadow: 0 16px 32px #26392b18; }
@media (hover: hover) and (pointer: fine) {
    #pisica-project .pisica-feature:hover { z-index: 2; transform: scale(1.05); border-color: #a6b596; box-shadow: 0 16px 32px #26392b18; }
}
#pisica-project .pisica-feature:nth-child(2) { background: #eeeee4; }
#pisica-project .pisica-feature:nth-child(3) { background: #e8eddf; }
#pisica-project .pisica-feature:nth-child(4) { background: #f1eade; }
#pisica-project .pisica-feature-top { display: flex; justify-content: space-between; align-items: center; margin-bottom: 35px; font-size: 14px; color: var(--pisica-muted); }
#pisica-project .pisica-feature-symbol { display: grid; place-items: center; border: 0; border-radius: 50%; width: 42px; height: 42px; background: var(--pisica-green); color: #fff; }
#pisica-project .pisica-feature .pisica-eyebrow { font-size: 14px; margin-bottom: 12px; }
#pisica-project .pisica-feature h3 { font-size: 25px; margin-bottom: 18px; }
#pisica-project .pisica-feature > p:not(.pisica-eyebrow) { font-size: 16px; color: var(--pisica-muted); margin-bottom: 27px; }
#pisica-project .pisica-feature-tags, #pisica-project .pisica-feature-link { border-top: 1px solid #d1d6c8; padding-top: 15px; margin-top: auto; font-size: 14px; font-weight: 600; }
#pisica-project .pisica-feature-tags span { color: #87947d; margin-inline: 3px; }
#pisica-project .pisica-feature-link { display: flex; justify-content: space-between; gap: 8px; }
#pisica-project .pisica-feature-link:hover, #pisica-project .pisica-text-link:hover { text-decoration: underline; text-underline-offset: 5px; }
#pisica-project .pisica-quiz { background: var(--pisica-green); color: #f8f8ed; padding-block: 84px; }
#pisica-project .pisica-split { display: grid; grid-template-columns: 1fr 1fr; gap: 100px; align-items: center; }
#pisica-project .pisica-detail-copy > p:not(.pisica-eyebrow) { font-size: 15px; margin-top: 22px; color: var(--pisica-muted); max-width: 450px; }
#pisica-project .pisica-quiz .pisica-detail-copy > p:not(.pisica-eyebrow) { color: #d0dfd5; }
#pisica-project .pisica-quiz .pisica-eyebrow, #pisica-project .pisica-quiz h2 em { color: var(--pisica-lime); }
#pisica-project .pisica-quiz-art { position: relative; display: grid; place-items: center; min-height: 550px; border: 1px solid #497364; border-radius: 180px 180px 12px 12px; background: #225745; padding: 55px 20px 25px; }
#pisica-project .pisica-art-overline { position: absolute; top: 24px; left: 20px; right: 20px; text-align: center; line-height: 1.4; font-size: 14px; letter-spacing: .09em; }
#pisica-project .pisica-quiz-art figure { position: relative; width: 195px; transform: rotate(-7deg); }
#pisica-project .pisica-quiz-art img { filter: drop-shadow(10px 20px 15px #102d2755); }
#pisica-project figcaption { font-size: 14px; text-align: center; margin-top: 16px; }
#pisica-project .pisica-big-star { position: absolute; color: #d1e3a3; font-size: 265px; left: 10px; top: 65px; line-height: 1; }
#pisica-project .pisica-art-sticker { position: absolute; right: -20px; bottom: 85px; padding: 24px; background: var(--pisica-lime); color: var(--pisica-green); font-size: 25px; font-family: Georgia, serif; font-style: italic; line-height: 1.1; transform: rotate(8deg); border-radius: 3px; }
#pisica-project .pisica-tutor-note { display: flex; gap: 20px; border-top: 1px solid #517b68; margin-top: 30px; padding-top: 25px; }
#pisica-project .pisica-tutor-note > span { font-size: 27px; color: var(--pisica-lime); }
#pisica-project .pisica-tutor-note h3 { font-size: 17px; letter-spacing: -.01em; margin-bottom: 10px; }
#pisica-project .pisica-tutor-note p { font-size: 16px; color: #d0dfd5; }
#pisica-project .pisica-library-art { position: relative; min-height: 530px; display: grid; place-items: center; padding: 70px 30px 35px; border-radius: 12px; background: #ece5d8; overflow: hidden; }
#pisica-project .pisica-library-art figure { position: relative; width: 230px; transform: rotate(7deg); z-index: 1; }
#pisica-project .pisica-library-art img { border-radius: 18px; box-shadow: 10px 20px 25px #5a4a3626; }
#pisica-project .pisica-book-spine { position: absolute; writing-mode: vertical-rl; transform: rotate(-14deg); height: 345px; width: 75px; display: flex; justify-content: center; align-items: center; font-size: 14px; letter-spacing: .2em; border-radius: 5px; }
#pisica-project .pisica-book-one { left: 25px; bottom: 35px; background: #bac5a2; }
#pisica-project .pisica-book-two { right: 12px; top: 40px; background: #e1b997; }
#pisica-project .pisica-library-bottom { display: flex; gap: 18px; align-items: center; margin-top: 34px; padding-top: 23px; border-top: 1px solid var(--pisica-line); }
#pisica-project .pisica-library-bottom > span { font-size: 40px; color: #8b9a6c; }
#pisica-project .pisica-library-bottom p { font-size: 14px; }
#pisica-project .pisica-library-bottom strong { font-weight: 600; }
#pisica-project .pisica-universities { background: #f0f1e9; padding-block: 85px; border-block: 1px solid var(--pisica-line); }
#pisica-project .pisica-benefits { display: grid; grid-template-columns: repeat(3, 1fr); gap: 35px; }
#pisica-project .pisica-benefits article { border-top: 1px solid #b9c3ad; padding-top: 22px; }
#pisica-project .pisica-benefits article > span { font-size: 14px; letter-spacing: .12em; color: #59674f; }
#pisica-project .pisica-benefits h3 { font-size: 22px; margin-block: 20px 14px; }
#pisica-project .pisica-benefits p { font-size: 16px; color: var(--pisica-muted); }
#pisica-project .pisica-download { padding-top: 75px; }
#pisica-project .pisica-download-panel { background: var(--pisica-lime); border-radius: 12px; padding: 55px 60px; display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: 70px; align-items: center; }
#pisica-project .pisica-download-panel h2 { font-size: clamp(36px, 4vw, 55px); }
#pisica-project .pisica-download-panel > div > p:not(.pisica-eyebrow) { max-width: 360px; font-size: 16px; margin-top: 22px; }
#pisica-project .pisica-dot { margin-right: 7px; background: var(--pisica-green); }
#pisica-project .pisica-download-panel > div { min-width: 0; }
#pisica-project .pisica-store { display: grid; grid-template-columns: minmax(105px, 1fr) minmax(0, 160px); width: 100%; max-width: 100%; min-width: 0; align-items: center; gap: 12px; text-align: left; padding: 12px; border: 1px solid #84976a; border-radius: 7px; background: transparent; color: var(--pisica-green); margin-bottom: 12px; transition: background .2s, border-color .2s; }
#pisica-project .pisica-store-copy { display: flex; flex-direction: column; gap: 3px; }
#pisica-project .pisica-store-copy small { font-size: 14px; letter-spacing: .13em; line-height: 1.4; }
#pisica-project .pisica-store-copy strong { font-size: 20px; font-weight: 550; line-height: 1.4; }
/* Crop the white margins of the existing badges without modifying image files. */
#pisica-project .pisica-store-badge { position: relative; display: block; width: 100%; aspect-ratio: 2.65; overflow: hidden; border-radius: 10px; }
#pisica-project .pisica-store-badge img { position: absolute; top: 50%; left: 50%; display: block; width: 112%; max-width: none; height: auto; transform: translate(-50%, -50%); }
#pisica-project .pisica-store:hover, #pisica-project .pisica-store:focus-visible { background: #ffffff40; border-color: var(--pisica-green); }
#pisica-project .pisica-download-options > p { font-size: 14px; color: #4e6144; margin-top: 18px; }
#pisica-project .pisica-endnote { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 25px; padding-block: 30px; color: var(--pisica-muted); }
#pisica-project .pisica-endnote > span { font-size: 14px; letter-spacing: .14em; white-space: nowrap; }
#pisica-project .pisica-endnote p { font-size: 14px; }
#pisica-project .pisica-endnote a { font-size: 14px; white-space: nowrap; }
/* Navigation and interaction feedback; no script or page-wide scroll overrides. */
#pisica-project .pisica-section-nav { display: block; padding-top: 36px; }
#pisica-project .pisica-section-nav > span { display: block; margin-bottom: 18px; font-size: 14px; font-weight: 650; letter-spacing: .12em; color: var(--pisica-green); }
#pisica-project .pisica-section-nav > div { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
#pisica-project .pisica-section-nav a { display: flex; flex-direction: column; align-items: stretch; gap: 8px; min-width: 0; padding: 20px; border: 1px solid #c2cdb6; border-radius: 12px; background: #e8eedc; color: var(--pisica-green); box-shadow: 0 3px 0 #c2cdb6; transition: background .2s, border-color .2s, color .2s, transform .2s, box-shadow .2s; }
#pisica-project .pisica-nav-top { display: flex; align-items: center; justify-content: space-between; margin-bottom: 12px; font-size: 14px; font-weight: 600; }
#pisica-project .pisica-nav-arrow { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; background: var(--pisica-green); color: #fff; font-size: 22px; transition: transform .2s, background .2s, color .2s; }
#pisica-project .pisica-nav-arrow, #pisica-project .pisica-feature-symbol { padding: 0; flex-shrink: 0; line-height: 0; }
#pisica-project .pisica-nav-arrow svg, #pisica-project .pisica-feature-symbol svg { display: block; width: 22px; height: 22px; margin: 0; padding: 0; overflow: visible; }
#pisica-project .pisica-section-nav strong { font-size: 21px; font-weight: 650; line-height: 1.25; letter-spacing: -.025em; }
#pisica-project .pisica-nav-description { font-size: 14px; line-height: 1.5; }
#pisica-project .pisica-section-nav a:focus-visible { background: var(--pisica-green); color: #fff; border-color: var(--pisica-green); }
#pisica-project .pisica-section-nav a:focus-visible .pisica-nav-arrow { background: var(--pisica-lime); color: var(--pisica-green); }
@media (hover: hover) and (pointer: fine) {
    #pisica-project .pisica-section-nav a:hover { background: var(--pisica-green); color: #fff; border-color: var(--pisica-green); transform: translateY(-4px); box-shadow: 0 8px 18px #174c3d22; }
    #pisica-project .pisica-section-nav a:hover .pisica-nav-arrow { background: var(--pisica-lime); color: var(--pisica-green); transform: rotate(45deg); }
}
#pisica-project .pisica-section-nav a:active { transform: translateY(1px); box-shadow: none; }
@media (max-width: 1050px) {
    #pisica-project .pisica-section-nav > div { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 380px) {
    #pisica-project .pisica-section-nav > div { grid-template-columns: minmax(0, 1fr); }
}
#pisica-project .pisica-status, #pisica-project .pisica-text-link, #pisica-project .pisica-endnote a { min-height: 44px; display: inline-flex; align-items: center; }
#pisica-project .pisica-status:hover, #pisica-project .pisica-status:focus-visible, #pisica-project .pisica-endnote a:hover, #pisica-project .pisica-endnote a:focus-visible { color: var(--pisica-green); text-decoration: underline; text-underline-offset: 5px; }
#pisica-project .pisica-button:focus-visible { background: #28664e; }
#pisica-project .pisica-button:active { transform: translateY(1px); }
#pisica-project .pisica-button > span, #pisica-project .pisica-text-link > span, #pisica-project .pisica-feature-link > span { display: inline-block; transition: transform .2s ease; }
#pisica-project .pisica-feature-link::after { content: ""; position: absolute; inset: 0; border-radius: 10px; }
#pisica-project .pisica-feature-link:focus-visible::after { outline: 2px solid var(--pisica-green); outline-offset: 4px; }
#pisica-project .pisica-feature:focus-within .pisica-feature-link > span { transform: translate(3px, -3px); }
#pisica-project .pisica-feature:focus-within .pisica-feature-link { text-decoration: underline; text-underline-offset: 5px; }
@media (hover: hover) and (pointer: fine) {
    #pisica-project .pisica-button:hover > span, #pisica-project .pisica-text-link:hover > span, #pisica-project .pisica-feature:hover .pisica-feature-link > span { transform: translate(3px, -3px); }
    #pisica-project .pisica-feature:hover .pisica-feature-link { text-decoration: underline; text-underline-offset: 5px; }
}
@media (max-width: 760px) {
    #pisica-project .pisica-section-nav { padding-top: 28px; }
    #pisica-project .pisica-section-nav a { padding-inline: 13px; }
}
@media (max-width: 1050px) {
    #pisica-project .pisica-wrap { width: calc(100% - 64px); }
    #pisica-project .pisica-hero { gap: 35px; }
    #pisica-project .pisica-hero-art { min-height: 500px; }
    #pisica-project .pisica-feature-grid { grid-template-columns: repeat(2, 1fr); }
    #pisica-project .pisica-feature { padding: 28px; }
    #pisica-project .pisica-split { gap: 50px; }
    #pisica-project .pisica-download-panel { gap: 40px; padding: 40px; }
    #pisica-project .pisica-principles p { font-size: 14px; }
}
@media (max-width: 760px) {
    #pisica-project .pisica-wrap { width: calc(100% - 40px); }
    #pisica-project .pisica-brand-note { display: none; }
    #pisica-project .pisica-masthead { padding-block: 20px; }
    #pisica-project .pisica-hero { grid-template-columns: 1fr; padding-block: 44px; gap: 38px; }
    #pisica-project h1 { font-size: clamp(48px, 9.5vw, 70px); }
    #pisica-project .pisica-hero-foot { margin-top: 25px; }
    #pisica-project .pisica-hero-art { width: min(440px, calc(100% - 16px)); margin: auto; min-height: 490px; }
    #pisica-project .pisica-float-question { left: -9px; top: 290px; }
    #pisica-project .pisica-float-voice { right: -8px; }
    #pisica-project .pisica-principles-inner { gap: 12px; }
    #pisica-project .pisica-principles p { flex: 1; min-width: 0; overflow-wrap: anywhere; font-size: 14px; }
    #pisica-project .pisica-principles strong { display: block; }
    #pisica-project .pisica-principles-inner > span { font-size: 14px; }
    #pisica-project .pisica-section { padding-block: 60px; }
    #pisica-project .pisica-section-heading { display: block; margin-bottom: 30px; }
    #pisica-project .pisica-section-heading > p { margin-top: 20px; max-width: 420px; }
    #pisica-project .pisica-feature { padding: 22px; }
    #pisica-project .pisica-feature h3 { font-size: 23px; }
    #pisica-project .pisica-split { grid-template-columns: 1fr; gap: 38px; }
    #pisica-project .pisica-quiz { padding-block: 55px; }
    #pisica-project .pisica-detail-copy { grid-row: 1; }
    #pisica-project .pisica-quiz-art { width: min(440px, calc(100% - 16px)); margin: auto; }
    #pisica-project .pisica-art-sticker { right: -8px; }
    #pisica-project .pisica-library-art { min-height: 485px; }
    #pisica-project .pisica-universities { padding-block: 55px; }
    #pisica-project .pisica-benefits { grid-template-columns: 1fr; gap: 28px; }
    #pisica-project .pisica-benefits h3 { margin-top: 10px; }
    #pisica-project .pisica-download { padding-top: 45px; }
    #pisica-project .pisica-download-panel { grid-template-columns: 1fr; padding: 32px 25px; gap: 28px; }
    #pisica-project .pisica-endnote { flex-wrap: wrap; gap: 14px; }
    #pisica-project .pisica-endnote p { order: 3; width: 100%; }
}
@media (max-width: 430px) {
    #pisica-project .pisica-feature-grid { grid-template-columns: 1fr; }
    #pisica-project .pisica-feature-top { margin-bottom: 22px; }
    #pisica-project .pisica-feature h3 br { display: none; }
    #pisica-project .pisica-hero-art { min-height: 465px; }
    #pisica-project .pisica-float-question { top: 265px; padding: 12px; }
    #pisica-project .pisica-float-voice { bottom: 80px; padding: 12px 16px; }
    #pisica-project .pisica-portrait { width: 210px; height: 337px; }
    #pisica-project .pisica-actions { gap: 20px; }
    #pisica-project .pisica-eyebrow { font-size: 14px; }
}
@media (prefers-reduced-motion: reduce) {
    #pisica-project *, #pisica-project *::before, #pisica-project *::after { transition: none !important; }
    #pisica-project .pisica-feature:hover, #pisica-project .pisica-feature:focus-within,
    #pisica-project .pisica-button:hover, #pisica-project .pisica-button:active,
    #pisica-project .pisica-button > span, #pisica-project .pisica-text-link > span,
    #pisica-project .pisica-feature-link > span,
    #pisica-project .pisica-section-nav a, #pisica-project .pisica-nav-arrow { transform: none !important; }
}

/* Review theme controls: native buttons support mouse, touch and keyboard. */
#pisica-project .pisica-masthead-actions { display: flex; align-items: center; gap: 16px; }
#pisica-project .pisica-theme-switch { display: flex; align-items: center; gap: 2px; }
#pisica-project .pisica-theme-switch[hidden] { display: none; }
#pisica-project .pisica-theme-swatch { position: relative; display: grid; place-items: center; width: 44px; height: 44px; padding: 0; border: 0; border-radius: 8px; background: transparent; cursor: pointer; }
#pisica-project .pisica-theme-swatch::before { content: ""; width: 26px; height: 26px; border-radius: 5px; background: #215ca0; }
#pisica-project .pisica-theme-swatch[data-pisica-theme="green"]::before { background: #174c3d; }
#pisica-project .pisica-theme-swatch[aria-pressed="true"]::before { outline: 2px solid var(--pisica-ink); outline-offset: 3px; }
#pisica-project .pisica-theme-swatch[aria-pressed="true"]::after { content: "✓"; position: absolute; color: white; font-size: 17px; line-height: 1; }
#pisica-project .pisica-theme-swatch:hover { background: var(--pisica-line); }
@media (max-width: 1050px) {
    #pisica-project .pisica-brand-note { display: none; }
}
@media (max-width: 430px) {
    #pisica-project .pisica-masthead { flex-wrap: wrap; gap: 8px 16px; }
    #pisica-project .pisica-masthead-actions { gap: 8px; margin-left: auto; }
}

/* Keep the beta indicator centred with its label rather than on the text baseline. */
#pisica-project .pisica-download-panel .pisica-eyebrow { display: flex; align-items: center; gap: 10px; }
#pisica-project .pisica-download-panel .pisica-dot { flex: 0 0 7px; margin-right: 0; }

/* Compact artwork: captions and images occupy separate rows through 1100px. */
@media (max-width: 1100px) {
    #pisica-project .pisica-quiz-art,
    #pisica-project .pisica-library-art {
        grid-template-columns: minmax(0, 1fr);
        gap: 24px;
        min-height: 0;
        padding: 30px 20px;
        border-radius: 24px;
    }
    #pisica-project .pisica-quiz-art > .pisica-art-overline,
    #pisica-project .pisica-library-art > .pisica-art-label {
        position: static;
        grid-row: 1;
        width: 100%;
        padding: 0;
        overflow-wrap: anywhere;
    }
    #pisica-project .pisica-quiz-art figure,
    #pisica-project .pisica-library-art figure {
        grid-row: 2;
        width: 100%;
        max-width: 260px;
        min-width: 0;
        transform: none;
    }
    #pisica-project .pisica-quiz-art figure { max-width: 240px; }
    #pisica-project .pisica-quiz-art figure img,
    #pisica-project .pisica-library-art figure img { width: 100%; }
    #pisica-project .pisica-quiz-art figcaption,
    #pisica-project .pisica-library-art figcaption {
        margin-top: 20px;
        line-height: 1.6;
    }
    #pisica-project .pisica-quiz-art > .pisica-big-star { display: none; }
    #pisica-project .pisica-quiz-art > .pisica-art-sticker {
        position: static;
        grid-row: 3;
        transform: none;
        width: 100%;
        padding: 18px;
        border-radius: 10px;
        text-align: center;
        font-size: 24px;
        line-height: 1.3;
    }
    #pisica-project .pisica-library-art > .pisica-book-spine {
        position: static;
        writing-mode: horizontal-tb;
        transform: none;
        width: 100%;
        height: auto;
        padding: 10px 12px;
        text-align: center;
        font-size: 14px;
        line-height: 1.5;
        letter-spacing: .08em;
    }
    /* Keep the image tilted, with horizontal labels on separate rows.
       Flatten the figure's layout so its caption can follow the second ribbon. */
    #pisica-project .pisica-library-art { gap: 12px; padding-block: 22px; }
    #pisica-project .pisica-library-art figure { display: contents; }
    #pisica-project .pisica-library-art figure img {
        grid-row: 3;
        width: calc(100% - 40px);
        max-width: 230px;
        margin-block: 8px;
        transform: rotate(7deg);
    }
    #pisica-project .pisica-library-art > .pisica-book-spine {
        width: calc(100% - 32px);
        max-width: 260px;
        transform: none;
        margin-block: 0;
    }
    #pisica-project .pisica-library-art > .pisica-book-one { grid-row: 2; }
    #pisica-project .pisica-library-art > .pisica-book-two { grid-row: 4; }
    #pisica-project .pisica-library-art figcaption {
        grid-row: 5;
        width: calc(100% - 32px);
        max-width: 260px;
        margin-top: 0;
        margin-bottom: 0;
        transform: none;
    }
}
