/* Each person's page keeps its own light palette. */
body[data-person-theme="doo"]{--paper:#eaf0f8;--ink:#293f65;--orange:#496a9b;--muted:#60738e;--person-card:#dce6f4;--person-hover:#cbdaf0;--person-line:#aabbd3;--person-soft:#f3f6fc;--person-inactive:#71819b}
body[data-person-theme="sophie"]{--paper:#fff9df;--ink:#61502b;--orange:#916b13;--muted:#7d6e45;--person-card:#f8ecae;--person-hover:#f5e193;--person-line:#dbca88;--person-soft:#fffcef;--person-inactive:#938669}
body.person-page{background:var(--paper);color:var(--ink);transition:background-color .28s ease,color .28s ease}
body.person-page>header{background:var(--paper);border-color:var(--person-line);transition:background-color .28s ease}
body.person-page .people-switch a{color:var(--person-inactive)}
body.person-page .people-switch a[aria-current="page"],body.person-page .people-switch a:hover,body.person-page .people-switch a:focus-visible{color:var(--ink)}
body.person-page .companion-door{background:var(--person-card);border-color:var(--person-line);color:var(--ink);transition:background-color .2s ease}
body.person-page .companion-door:hover{background:var(--person-hover)}
body.person-page .companion-door p,body.person-page .sophie-layout p,body.person-page .interlude p,body.person-page .playcard p{color:var(--muted)}
body.person-page .social-actions a,body.person-page footer{border-color:var(--person-line)}
body.person-page .site-account{color:var(--ink)}
body.person-page .site-account-toggle,body.person-page .site-account-panel{background:var(--person-soft);color:var(--ink);border-color:var(--person-line)}
body.person-page .site-account-panel a:hover,body.person-page .site-account-panel button:hover{background:var(--person-card)}
body.person-page .account-state{color:var(--muted)}
body.person-page .is-signed-in .site-account-toggle{border-color:#389261}
body.person-page .route-thread-link{background:var(--person-soft);color:var(--ink);border-color:var(--person-line)}
body[data-person-theme="sophie"] .sophie-cover{background:repeating-linear-gradient(0deg,transparent,transparent 31px,#ac8d3425 32px),#f7e9a5;color:var(--ink)}
body[data-person-theme="sophie"] .little-star{color:#b28a24}
body[data-person-theme="sophie"] .interlude{background:#f6edbc}
body[data-person-theme="sophie"] .playcard{background:var(--person-soft);border-color:var(--person-line)}
body[data-person-theme="sophie"] .playcard:hover{background:#fffef7}
@media(prefers-reduced-motion:reduce){body.person-page,body.person-page>header,body.person-page .companion-door{transition:none}}

body[data-person-theme="about"] #about.channel-hub{display:block;padding:58px 0 65px;min-height:0}
.hub-intro{max-width:640px;margin-bottom:36px}.hub-intro h1{font-size:clamp(34px,4.5vw,56px);font-weight:400;line-height:1.35;margin:18px 0}.hub-intro p{line-height:1.9;color:#64775f;font-size:14px}
.hub-people{display:grid;grid-template-columns:1fr 1fr;gap:24px}.channel-hub .hub-person{display:block;padding:40px 32px;border:1px solid;min-height:275px;transition:transform .2s,box-shadow .2s;text-decoration:none}
.hub-person.hub-doo{background:#dce6f4;border-color:#aabbd3;color:#293f65}.hub-person.hub-sophie{background:#f8ecae;border-color:#dbca88;color:#61502b}
.hub-person>span{font-size:11px;letter-spacing:3px}.channel-hub .hub-person h2{font-size:38px;margin:20px 0 10px;color:inherit}.channel-hub .hub-person p{font-size:13px;color:inherit;opacity:.85}.hub-person strong{display:flex;justify-content:space-between;font-size:13px;font-weight:500;margin-top:38px}.hub-person:hover{transform:translateY(-3px);box-shadow:0 8px 22px #354c4110}
.hub-community{margin-top:40px;display:grid;gap:16px}.hub-community>details{border:1px solid #bcccb8;background:#f7faef;scroll-margin-top:100px}.hub-community summary{display:flex;align-items:center;gap:20px;padding:25px 28px;cursor:pointer;list-style:none}.hub-community summary::-webkit-details-marker{display:none}.hub-community summary>span:first-child{font-size:20px}.hub-community summary small{font-size:12px;color:#64775f}.hub-community summary>span:last-child{margin-left:auto}.hub-community details[open]>summary{border-bottom:1px solid #bcccb8}.hub-community .thread-feed{margin:0;padding:24px 28px;max-width:none}.hub-community #thread-admin:empty{display:none}.channel-hub .thread-feed a{font-size:inherit;margin:0;padding:0;border:0}.hub-community .thread-feed h2{font-size:24px;margin-top:0}.hub-person:focus-visible,.hub-community summary:focus-visible{outline:2px solid #53784c;outline-offset:4px}
@media(max-width:600px){.hub-people{gap:14px}.channel-hub .hub-person{padding:26px 20px;min-height:240px}.channel-hub .hub-person h2{font-size:28px}.hub-person strong{font-size:11px;gap:10px}.hub-community summary{padding:22px 20px;gap:10px;flex-wrap:wrap}.hub-community summary small{font-size:11px}.hub-community .thread-feed{padding:20px}}
@media(max-width:370px){.hub-people{grid-template-columns:1fr}.channel-hub .hub-person{min-height:210px}}
@media(prefers-reduced-motion:reduce){.channel-hub .hub-person{transition:none}}

body[data-person-theme="about"] .global-site-header .people-switch{display:none}
body[data-person-theme="about"] #about.channel-hub{padding-top:35px}
.hub-venn{display:block;position:relative;aspect-ratio:1000/620;max-width:1000px;margin:0 auto}
.hub-venn>svg{display:block;width:100%;height:100%}
.channel-hub .hub-venn .hub-person{position:absolute;top:20%;bottom:20%;width:32%;min-height:0;padding:0;display:flex;flex-direction:column;justify-content:center;align-items:center;background:transparent;border:0;text-align:center;box-shadow:none;border-radius:50%;transition:transform .25s}
.hub-venn .hub-doo{left:6%}.hub-venn .hub-sophie{right:6%}
.channel-hub .hub-venn .hub-person h2{font-size:clamp(24px,4vw,46px);margin:15px 0}
.hub-venn .hub-person strong{margin-top:12px;gap:12px;font-size:12px}
.hub-venn .hub-person:hover{transform:translateY(-4px)}
.hub-intersection{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:clamp(10px,1.5vw,16px);color:#536d50;pointer-events:none}
body[data-person-theme] .tool,body[data-person-theme] .gear,body[data-person-theme] .collab-card,body[data-person-theme] .animal-card{background:var(--person-card);border-color:var(--person-line);color:var(--ink)}
body[data-person-theme] .collab-card h4,body[data-person-theme] .animal-card h3{color:var(--ink)}
body[data-person-theme] .collab-intro,body[data-person-theme] .collab-total,body[data-person-theme] .encounter-intro p,body[data-person-theme] .animal-card p,body[data-person-theme] .book-copy p{color:var(--muted)}
body[data-person-theme] .collab-group-heading,body[data-person-theme] .tool-section,body[data-person-theme] .animal-group{border-color:var(--person-line)}
@media(max-width:600px){.hub-venn .hub-person>span{font-size:9px;letter-spacing:2px}.hub-venn .hub-person strong{font-size:10px;gap:5px}.channel-hub .hub-venn .hub-person h2{margin:10px 0}.hub-community{margin-top:24px}}
@media(max-width:370px){.hub-venn{display:block}.channel-hub .hub-venn .hub-person{min-height:0}}

/* So Just Doo: fixed word order, distinct spaces. */
body:not(.person-page):not(.landing){--paper:#fff;--ink:#171717;--orange:#333;--muted:#777;background:#fff;color:#171717}
body.has-global-header>.global-site-header{background:#fff;color:#111;border-color:#e8e8e8}
body.has-global-header .global-site-header .people-switch{display:flex!important;gap:12px}
body.has-global-header .global-site-header .people-switch a{font:400 24px/1.2 Arial,sans-serif;letter-spacing:-.7px;color:#111}
body.has-global-header .global-site-header .people-switch a[data-person="sophie"]{color:#8c6500}
body.has-global-header .global-site-header .people-switch a[data-person="doo"]{color:#203759}
body.has-global-header .global-site-header .people-switch a[aria-current="page"]{font-weight:800}
body.has-global-header .site-account-toggle,body.has-global-header .site-account-panel{background:#fff;color:#111;border-color:#d4d4d4}
body.has-global-header .site-account-panel a:hover,body.has-global-header .site-account-panel button:hover{background:#f1f1f1}
body.landing.has-global-header>.global-site-header{display:none!important;background:transparent;border:0}
body.landing.has-global-header .site-account-toggle{background:transparent;border:0;box-shadow:none;color:#111;filter:drop-shadow(0 1px 2px #fff9)}
body[data-person-theme="about"] .hub-community{margin-top:0;max-width:820px;margin-inline:auto}
body[data-person-theme="about"] .hub-community>details{background:#fff;border-color:#ddd}
body[data-person-theme="about"] .hub-community summary small{color:#777}
body[data-person-theme="about"] .hub-community input,body[data-person-theme="about"] .hub-community textarea{background:#fff}
@media(max-width:600px){body.has-global-header .global-site-header .people-switch a{font-size:22px}}

body[data-person-theme="about"] footer,body[data-person-theme="about"] .route-thread-link{display:none!important}

/* Centered wordmark with a quiet page caption. */
body.has-global-header>.global-site-header{justify-content:center;padding:0 76px!important}
body.has-global-header .global-site-header .people-brand{flex-direction:column;justify-content:center;gap:5px;text-align:center}
body.has-global-header .global-site-header .people-switch{font:200 24px/1.15 "Helvetica Neue",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;gap:.25em;padding:0!important}
body.has-global-header .global-site-header .people-switch a{font:inherit;font-weight:200;letter-spacing:-.65px}
body.has-global-header .global-site-header .people-switch a[aria-current="page"]{font-weight:900}
body.has-global-header .global-site-header .brand-caption{margin:0;font:400 11px/1.4 "Helvetica Neue",-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo",sans-serif;letter-spacing:.1px;color:#777;white-space:nowrap}
@media(max-width:600px){body.has-global-header .global-site-header .people-switch{font-size:22px}}

/* Three stable positions mirror the horizontal page order. */
body.has-global-header .global-site-header .people-brand{width:min(420px,100%)}
body.has-global-header .global-site-header .people-switch{display:grid!important;grid-template-columns:1fr 1fr 1fr;width:100%;gap:0}
body.has-global-header .global-site-header .people-switch a:first-child{text-align:left}
body.has-global-header .global-site-header .people-switch a:nth-child(2){text-align:center}
body.has-global-header .global-site-header .people-switch a:last-child{text-align:right}
body:has(.space-departure){overflow-x:clip}
body[data-person-theme] {overflow-x:clip}
.space-departure{position:fixed;inset:84px 0 0;overflow:hidden;pointer-events:none;z-index:80}

/* Compact centered wordmark; page sliding remains independent. */
body.has-global-header .global-site-header .people-brand{width:auto}
body.has-global-header .global-site-header .people-switch{display:flex!important;width:auto;gap:.25em}
body.has-global-header .global-site-header .people-switch a{text-align:center!important}

/* Unframed navigation and a notebook trigger above the place box. */
body.has-global-header .site-account-toggle{border:0!important;border-radius:0;background:transparent!important;box-shadow:none!important;filter:none;color:#111}
.site-entrance{position:fixed;left:max(16px,env(safe-area-inset-left));top:max(14px,env(safe-area-inset-top));width:48px;height:48px;display:grid;place-items:center;z-index:100;color:#111;text-decoration:none;background:transparent;border:0}
.site-entrance svg{width:25px;height:25px}.site-entrance:focus-visible{outline:2px solid currentColor;outline-offset:2px}
body.landing .site-entrance{display:none}.timeline-caption[role=button]{cursor:pointer}
.entrance-photo-layer,.entrance-page-layer{position:fixed;inset:0;overflow:hidden;pointer-events:none;z-index:91;background:#fff}
.entrance-page-layer{z-index:90}.entrance-photo-layer img{position:absolute;max-width:none!important;max-height:none!important}
@media(pointer:coarse){
 body.landing.mobile-notebook-ready{height:100svh!important;min-height:100svh!important;overflow:hidden!important}
 body.landing .people-hero{touch-action:none}
 body.landing .mobile-sheet-hint:not([hidden]){position:absolute;left:50%;bottom:calc(100% + 20px);transform:translateX(-50%);margin:0;min-height:40px;padding:10px 18px;white-space:nowrap;animation:none;border:0}
 body.landing.mobile-notebook-ready .mobile-notebook{display:none}
 body.landing.mobile-wall-open .mobile-notebook{display:block;position:fixed;top:auto;bottom:0;height:55svh;max-height:calc(100svh - 120px);overflow:auto;overscroll-behavior:contain;animation:open-photo-notebook .3s ease both}
 body.landing.mobile-wall-open .timeline-ui{top:calc(45svh - 78px)!important;transition:top .3s ease}
 body.landing.mobile-wall-open #time-slider,body.landing.mobile-wall-open .timeline-ends{visibility:hidden}
}
@keyframes open-photo-notebook{from{transform:translateY(100%)}to{transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){body.landing.mobile-wall-open .mobile-notebook{animation:none}body.landing.mobile-wall-open .timeline-ui{transition:none}}

/* The entrance remains available on the photo; only the header pulls it closed. */
body.landing .site-entrance{display:grid}
@media(pointer:coarse){body:not(.landing) .global-site-header{touch-action:none;user-select:none;-webkit-user-select:none}}

/* Consistent Doo image tiles; dimensions match collaboration marks. */
body[data-person-theme="doo"] .product-image,body[data-person-theme="doo"] .tool-image,body[data-person-theme="doo"] .hardware-tool .tool-image{background:var(--person-card,#dce6f4);aspect-ratio:auto;height:102px;padding:16px;box-sizing:border-box;display:flex;justify-content:center;align-items:center;filter:none;opacity:1}
body[data-person-theme="doo"] .product-image img,body[data-person-theme="doo"] .tool-image img,body[data-person-theme="doo"] .hardware-tool .tool-image img{width:150px;height:70px;max-width:100%;max-height:70px;object-fit:contain;border-radius:0;mix-blend-mode:multiply}
body[data-person-theme="doo"] .gear-inactive .product-image img{filter:grayscale(1);opacity:.62}
.entrance-photo-layer{background:#213344;will-change:transform}.entrance-photo-layer>img{position:absolute;object-fit:cover;max-width:none!important;max-height:none!important}

/* Shared bilingual list headings and contextual navigation. */
body[data-person-theme="doo"] .list-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--person-line);padding:0 0 14px;margin:0 0 22px;grid-column:1/-1}
body[data-person-theme="doo"] .list-heading>.eyebrow{margin:0;font:11px/1.5 Arial,sans-serif;letter-spacing:2px;color:var(--muted)}
body[data-person-theme="doo"] .list-heading>h1,body[data-person-theme="doo"] .list-heading>h2,body[data-person-theme="doo"] .list-heading>h3{margin:0;font-size:23px;font-weight:400;line-height:1.4;text-align:right}
body[data-person-theme="doo"] .category-heading.list-heading>span:last-child:not(.eyebrow){display:none}
.site-breadcrumb{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:22px 0 10px;font-size:12px;line-height:1.7;color:var(--muted)}
.site-breadcrumb a{text-decoration:none;color:inherit}.site-breadcrumb a:hover{text-decoration:underline}.site-breadcrumb [aria-current]{color:var(--ink)}.site-breadcrumb .crumb-separator{opacity:.5}
body.landing .site-breadcrumb{display:none}
@media(max-width:600px){body[data-person-theme="doo"] .list-heading{gap:14px}body[data-person-theme="doo"] .list-heading>.eyebrow{font-size:9px;letter-spacing:1px;max-width:48%}body[data-person-theme="doo"] .list-heading>h1,body[data-person-theme="doo"] .list-heading>h2,body[data-person-theme="doo"] .list-heading>h3{font-size:19px}.site-breadcrumb{font-size:11px;gap:6px}}

body[data-person-theme="doo"] .section-head>.list-heading,body[data-person-theme="doo"] .section-head>div:has(>.list-heading){width:100%}
