/* A quieter frame, readable type, and a small signature drawn from care and play. */
:root { --personal-coral:#b34e38; --personal-blue:#2758b7; --personal-green:#3b6045; }
.pointer-settings { position:relative; flex:none; }
.pointer-toggle { display:flex; align-items:center; gap:8px; min-height:44px; background:none; border:1px solid currentColor; border-radius:30px; padding:9px 14px; font-size:14px; line-height:1; }
.pointer-toggle svg { width:22px; height:22px; color:var(--personal-coral); transition:transform 700ms cubic-bezier(.76,0,.24,1); }
.pointer-toggle:hover svg { transform:rotate(80deg); }
.pointer-toggle[aria-expanded=true] { background:var(--hero-ink,var(--ink)); color:var(--hero-paper,var(--paper)); }
.pointer-panel { position:absolute; top:calc(100% + 14px); right:0; width:390px; padding:24px; background:#faf9f4; color:#25271f; border:1px solid #cbcbbd; box-shadow:0 16px 45px #1f2a2112; border-radius:4px; text-align:left; z-index:100; }
.pointer-panel[hidden] { display:none; }
.pointer-panel-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.pointer-panel h2 { font:500 22px/1.2 'Helvetica Neue',Arial,sans-serif; letter-spacing:-.6px; margin:0; }
.pointer-panel p { font:15px/1.6 'Helvetica Neue',Arial,sans-serif; margin:12px 0 20px; }
.pointer-close { width:36px; height:36px; border:0; background:none; color:inherit; font-size:26px; }
.pointer-options { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; }
.pointer-options button { display:flex; flex-direction:column; align-items:center; gap:8px; border:1px solid #d2d2c6; padding:16px 4px; color:#25271f; background:transparent; border-radius:3px; }
.pointer-options button[aria-pressed=true] { border:1px solid #3b6045; background:#e9eddf; box-shadow:inset 0 -2px #3b6045; }
.pointer-options svg { width:32px; height:32px; color:var(--personal-coral); }
.pointer-options [data-pointer-choice=signal] svg { color:var(--personal-blue); }
.pointer-options [data-pointer-choice=system] svg { color:#34392c; }
.pointer-options span { font-size:15px; }
.pointer-options small { font-size:11px; line-height:1.5; }
.pointer-panel .pointer-preview-note { font-size:13px; margin:18px 0 0; min-height:40px; color:#53584a; }
.project-pointer { position:fixed; left:0; top:0; z-index:2147483646; pointer-events:none; display:flex; align-items:center; gap:9px; padding:9px 14px 9px 10px; max-width:280px; border:1px solid #7e886a; border-radius:28px; background:#f7f6ed; color:#263424; font:500 14px/1.3 'Helvetica Neue',Arial,sans-serif; opacity:0; visibility:hidden; transition:opacity 180ms ease,visibility 180ms; box-shadow:0 3px 12px #14231b12; will-change:transform; }
.project-pointer.is-visible { opacity:1; visibility:visible; }
.pointer-mark { display:block; width:22px; height:22px; flex:none; color:var(--personal-coral); transition:transform 650ms cubic-bezier(.76,0,.24,1); }
.pointer-mark svg { display:block; width:100%; height:100%; }
.project-pointer.is-down .pointer-mark { transform:rotate(85deg) scale(.8); }
.project-pointer[data-tone=care] { background:#e8eff9; border-color:#5271a0; color:#183d78; }
.project-pointer[data-tone=space] { background:#e7eddf; border-color:#60805a; color:#365136; }
.project-pointer[data-tone=play] { background:#f8e8db; border-color:#b57b57; color:#713d27; }
.project-pointer[data-tone=journey] { background:#e5e9ef; border-color:#61748d; color:#263e5d; }
html[data-pointer=signal] .pointer-mark { color:var(--personal-blue); }
@media (hover:hover) and (pointer:fine) {
 html[data-pointer=petal] { --pointer-rest:url('assets/cursors/petal.svg') 5 4, auto; --pointer-link:url('assets/cursors/petal-open.svg') 5 4, pointer; }
 html[data-pointer=signal] { --pointer-rest:url('assets/cursors/signal.svg') 5 4, auto; --pointer-link:url('assets/cursors/signal-open.svg') 5 4, pointer; }
 html[data-pointer=petal] body,html[data-pointer=signal] body { cursor:var(--pointer-rest); }
 html[data-pointer=petal] :is(a,button):not(:disabled),html[data-pointer=signal] :is(a,button):not(:disabled) { cursor:var(--pointer-link); }
 html[data-pointer] :is(p,dd,figcaption,.story-prose) { cursor:text; }
 html[data-pointer] :is(input[type=range],.studio-range) { cursor:ew-resize; }
 html[data-pointer] button:disabled { cursor:not-allowed; }
 html[data-pointer=petal] #studio-canvas canvas[style*="pointer"],html[data-pointer=signal] #studio-canvas canvas[style*="pointer"] { cursor:var(--pointer-link)!important; }
}
/* Shared reading sizes; the source images retain their original bounds. */
.site-nav nav,.masthead nav { font-size:16px; gap:24px; }
.masthead { gap:36px; }
.masthead-note { font-size:11px; line-height:1.6; }
.site-nav { gap:30px; }
.site-nav .identity span { font-size:11px; }
.eyebrow { font-size:12px; letter-spacing:.07em; }
.work-intro>.eyebrow { font-size:12px; }
.work-intro>p { font-size:17px; line-height:1.65; }
.project-meta .eyebrow { font-size:12px; }
.project-meta h3 { font-size:34px; }
.project-meta>.project-date { font-size:14px; }
.project-copy>.eyebrow { font-size:12px; line-height:1.6; }
.project-copy>p { font-size:18px; line-height:1.7; max-width:41ch; }
.project-copy .finding { font-size:15px!important; line-height:1.7; }
.project-link { font-size:16px; min-height:44px; }
.project-evidence { font-size:14px; line-height:1.65; gap:24px; }
.proof-note p { font-size:12px; }
.material-copy>p { font-size:18px; }
.material-copy .project-link { font-size:16px; max-width:360px; }
.material-footnote,.material-diptych figcaption { font-size:12px; line-height:1.6; }
.about p { font-size:19px; line-height:1.75; max-width:62ch; }
.footer-top { font-size:15px; }
.footer-top .eyebrow,.footer-bottom { font-size:12px; }
.case-deck>p { font-size:19px; line-height:1.75; }
.project-facts dt { font-size:12px; }
.project-facts dd { font-size:16px; line-height:1.7; }
.status-line { font-size:15px; line-height:1.7; }
.status-line strong { font-size:12px; }
.back,.chapter-nav nav a { font-size:15px; }
.chapter-nav nav a span { font-size:12px; }
.chapter-nav .source-link { font-size:13px; }
.story-prose { max-width:66ch; }
.story-prose p { font-size:19px; line-height:1.75; }
.decision-row p { font-size:17px; line-height:1.7; }
.decision-table-head { font-size:12px; }
figcaption,.source-figure figcaption { font-size:14px; line-height:1.7; }
.source-figure .source-page { font-size:12px; }
.next-project p,.lightbox>p { font-size:15px; }
.exploration-intro p { font-size:18px; line-height:1.75; }
.music-study>small { font-size:13px; }
.music-head button,.music-tail button,.music-tail { font-size:15px; }
@media(min-width:761px) {
 :root { --studio-height:max(960px,100svh); }
 .studio-heading { top:177px; }
 .studio-heading>.eyebrow { font-size:12px; opacity:.85; }
 .studio-heading h1 { font-size:clamp(56px,5.5vw,88px); }
 .studio-intro { top:183px; width:310px; max-width:310px; font-size:16px; line-height:1.65; }
 .studio-intro>span { font-size:14px; line-height:1.6; opacity:.8; margin-top:14px; }
 .studio-tools { top:337px; font-size:14px; }
 .studio-tools button { font-size:14px; padding:10px 0; }
 .studio-stages { gap:30px; }
 .studio-stages button { font-size:15px; opacity:.68; padding-bottom:10px; }
 .studio-canvas { top:355px; bottom:186px; }
 .studio-guide { top:355px; width:220px; padding:18px; box-shadow:none; border-left:2px solid #b34e38; }
 .studio-guide .eyebrow { font-size:11px; opacity:.8; }
 .studio-guide h2 { font-size:18px; }
 .studio-guide p,.studio-guide>button { font-size:14px; line-height:1.6; }
 .studio-guide-top>button { min-width:32px; min-height:32px; }
 .studio-inspector { width:260px; bottom:218px; }
 .studio-inspector>.eyebrow { font-size:12px; opacity:.8; }
 .studio-inspector>h2 { font-size:34px; }
 .studio-inspector>p { font-size:16px; line-height:1.6; }
 .studio-inspector-actions>button,.studio-inspector-actions>a { font-size:14px; min-height:40px; }
 .studio-object-tag { font-size:14px; padding:6px 10px; }
 .studio-index .eyebrow,.studio-index>button .eyebrow { font-size:12px; }
 .studio-index>button>span:last-child { font-size:25px; }
 .studio-index>button { opacity:.68; }
 .studio-index>button[aria-pressed=true] { opacity:1; }
 .studio-hint { font-size:12px; bottom:121px; opacity:.85; }
 .studio-hint a { font-size:13px; }
 .studio-index { bottom:20px; }
 .studio-orbit { bottom:149px; }
 .studio-orbit>label { font-size:12px; }
 .studio-orbit label>span { font-size:10px; opacity:.8; }
 .studio-orbit>button { width:40px; height:40px; }
 .studio-inner[data-mode=focus] .studio-experiment { top:370px; bottom:225px; width:290px; padding:18px 0 0 18px; }
 .studio-experiment>.eyebrow { font-size:12px; opacity:.8; }
 .studio-inner[data-mode=focus] .studio-experiment>p,.studio-experiment>p { font-size:14px; line-height:1.65; }
 .studio-demo small { font-size:12px; opacity:.85; }
 .music-instruments>button,.music-actions>button,.studio-stones>button,.flora-actions,.flora-actions button,.studio-journey-stages>button,.studio-range-label,.studio-range-label button { font-size:13px; }
 #demo-plateau-ark h4 { font-size:17px; }
 #demo-plateau-ark p { font-size:14px; }
 .studio-viewer { bottom:166px; }
 .studio-view-controls button,.studio-viewer .studio-enlarge { font-size:13px; }
 .studio-inner[data-mode=focus] .studio-inspector { width:225px; bottom:235px; }
 .studio-evidence { top:368px; bottom:200px; }
 .studio-evidence>.eyebrow { font-size:12px; opacity:.8; }
 .studio-evidence-content { min-height:150px; }
 .studio-evidence-content h3 { font-size:21px; }
 .studio-evidence-content p { font-size:16px; line-height:1.65; }
 .studio-evidence-tabs>button,.studio-evidence>a { font-size:14px; }
 .studio-evidence-image>span { font-size:13px; }
}
@media(min-width:761px) and (max-width:1200px) {
 .masthead-note { display:none; }
 .masthead,.site-nav { gap:24px; }
 .masthead nav,.site-nav nav { gap:19px; font-size:15px; }
 .studio-heading h1 { font-size:56px; }
 .studio-intro { width:280px; max-width:280px; }
 .studio-guide { width:200px; }
 .studio-inspector { width:220px; }
 .studio-inner[data-mode=focus] .studio-experiment { width:260px; }
 .studio-hint>span { max-width:48%; }
 .project-body { gap:4vw; }
 .project-meta { gap:20px; }
}
@media(max-width:760px) {
 .pointer-settings,.project-pointer { display:none; }
 .masthead nav,.site-nav nav { font-size:13px; gap:14px; }
 .project-copy>p { font-size:17px; }
 .project-copy>.eyebrow,.project-meta .eyebrow { font-size:11px!important; }
 .project-meta h3 { font-size:30px; }
 .project-evidence { font-size:12px; flex-wrap:wrap; }
 .project-copy .finding { font-size:14px!important; }
 .work-intro>p { font-size:16px; }
 .about p,.story-prose p,.case-deck>p { font-size:17px; }
 .status-line { font-size:14px; }
 .project-facts dd,.decision-row p { font-size:15px; }
 .chapter-nav nav a { font-size:14px; padding:14px 0; }
 .source-figure figcaption { font-size:13px; }
 .source-figure .source-page { font-size:12px; }
 .footer-bottom,.footer-top .eyebrow { font-size:10px; }
 .material-copy>p,.exploration-intro p { font-size:17px; }
}
@media(hover:none),(pointer:coarse),(forced-colors:active) {
 .pointer-settings,.project-pointer { display:none!important; }
 html[data-pointer=petal] body,html[data-pointer=signal] body { cursor:auto; }
 html[data-pointer] :is(a,button):not(:disabled) { cursor:pointer!important; }
}
@media(prefers-reduced-motion:reduce) {
 .project-pointer,.pointer-mark,.pointer-toggle svg { transition:none; }
 .pointer-toggle:hover svg,.project-pointer.is-down .pointer-mark { transform:none; }
}

.identity-dot { width:19px; height:19px; border-radius:0; background:var(--personal-coral); -webkit-mask:url('assets/mark-petal.svg') center/contain no-repeat; mask:url('assets/mark-petal.svg') center/contain no-repeat; transform:rotate(-18deg); transition:transform 800ms cubic-bezier(.76,0,.24,1); }
.identity:hover .identity-dot { transform:rotate(72deg); }
body[data-feature=care] .identity-dot { background:#ebcbb1; }
@media(prefers-reduced-motion:reduce) { .identity-dot { transition:none; }.identity:hover .identity-dot { transform:rotate(-18deg); } }

/* A common paper and ink across the project chapters and the question cabinet. */
:root { --paper:#f6f3e9; --ink:#27382e; }
.case-header h1 { font-size:clamp(64px,9vw,138px); }
/* A precise flower at the actual click point, plus a quiet ring over interactive work. */
.pointer-aura {position:fixed;left:0;top:0;width:0;height:0;z-index:2147483645;pointer-events:none;opacity:0;visibility:hidden;transition:opacity 180ms;}
.pointer-aura:before {content:"";position:absolute;width:44px;height:44px;left:-22px;top:-22px;border:1px solid #8772be66;border-radius:50%;box-shadow:0 0 20px #b49ee617;transition:width 400ms,height 400ms,left 400ms,top 400ms,border-color 350ms,transform 550ms cubic-bezier(.22,.8,.3,1);}
.pointer-aura.is-visible {opacity:1;visibility:visible;}
.pointer-aura.is-down:before {width:62px;height:42px;left:-31px;top:-21px;border-color:#7d61c9;transform:rotate(-12deg);}
.project-pointer {font-size:12px;padding:7px 11px 7px 8px;gap:7px;background:#fbf9ff;border-color:#b4a7ca;color:#51416b;box-shadow:0 3px 13px #26163b10;}
.pointer-mark {color:#7860c4;width:20px;height:20px;}
.project-pointer.is-down .pointer-mark {transform:rotate(165deg) scale(.78);}
.playground-home .project-pointer[data-tone] {background:#fbf9ff;color:#51416b;border-color:#b4a7ca;}
.playground-home[data-gallery-light=night] .project-pointer[data-tone] {background:#223047;color:#e4efdd;border-color:#8b9c89;}
[data-gallery-light=night] .pointer-mark,[data-gallery-light=night] .pointer-toggle svg {color:#c9e9a6!important;}
[data-gallery-light=night] .pointer-aura:before {border-color:#d1edb077;box-shadow:0 0 20px #cceca41a;}
.pointer-panel {border-radius:16px;background:#f8f5fc;border-color:#c0b4d0;box-shadow:0 18px 55px #32224c20;}
.pointer-options button {border-radius:10px;transition:background 250ms,border-color 250ms;}
.pointer-options button[aria-pressed=true] {border-color:#8a73bc;background:#e8e0f5;box-shadow:inset 0 -2px #8269b6;}
.pointer-options svg {color:#7a61c7;}
@media(hover:hover) and (pointer:fine){
 html[data-pointer=petal] {--pointer-rest:url('assets/cursors/petal-v2-day-rest.svg') 17 17,auto;--pointer-link:url('assets/cursors/petal-v2-day-open.svg') 17 17,pointer;--pointer-turn:url('assets/cursors/petal-v2-day-turn.svg') 24 17,ew-resize;}
 html[data-pointer=petal] body[data-gallery-light=night] {--pointer-rest:url('assets/cursors/petal-v2-night-rest.svg') 17 17,auto;--pointer-link:url('assets/cursors/petal-v2-night-open.svg') 17 17,pointer;--pointer-turn:url('assets/cursors/petal-v2-night-turn.svg') 24 17,ew-resize;}
 html[data-pointer=petal] :is(.orbit-stage,.orbit-item,#studio-canvas canvas) {cursor:var(--pointer-rest)!important;}
 html[data-pointer=petal][data-pointer-action=drag] :is(.orbit-stage,.orbit-item,#studio-canvas canvas) {cursor:var(--pointer-turn)!important;}
}
@media(max-width:760px),(hover:none),(pointer:coarse),(forced-colors:active){.pointer-aura{display:none!important;}}
@media(prefers-reduced-motion:reduce){.pointer-aura,.pointer-aura:before,.pointer-panel,.pointer-options button{transition:none;}.project-pointer.is-down .pointer-mark{transform:none;}}
