/* DRAFT v16: Organization uses precise editorial objects, Community uses miniatures.
   Animation traces the action pictured; text carries the complete explanation. */
.organization-object {
  --object-ink:var(--org-ink,#ededeb); --object-accent:var(--org-accent,#ededeb);
  --object-paper:var(--org-surface,#161616); --object-soft:var(--org-soft,#303030);
  display:block; width:156px; height:117px; overflow:visible;
  fill:none; stroke:var(--object-ink); stroke-width:2.4; stroke-linecap:round; stroke-linejoin:round;
}
.organization-object .object-paper {fill:var(--object-paper);stroke:var(--object-ink)}
.organization-object .object-line {fill:none;stroke:var(--object-ink)}
.organization-object .object-accent {fill:none;stroke:var(--object-accent);stroke-width:4}
.organization-object .object-soft {fill:var(--object-soft);stroke:var(--object-accent)}
.organization-object .object-solid,.organization-object .object-switch {fill:var(--object-accent);stroke:none}
.organization-object .object-draw {stroke-dasharray:400;stroke-dashoffset:0;animation:object-ink 6s ease-in-out infinite}
.organization-object .object-slide {animation:object-settle 6s ease-in-out infinite;transform-origin:center}
.organization-object .object-hand {stroke:var(--object-accent);stroke-width:4;transform-origin:98px 89px;animation:object-time 6s ease-in-out infinite}
.organization-object .object-switch {animation:object-choice 7s ease-in-out infinite}
@keyframes object-ink {0%,8%{stroke-dashoffset:400;opacity:.1}30%,90%,100%{stroke-dashoffset:0;opacity:1}}
@keyframes object-settle {0%,8%{transform:translateY(-7px);opacity:.2}30%,90%,100%{transform:translateY(0);opacity:1}}
@keyframes object-time {0%,10%{transform:rotate(-30deg)}40%,100%{transform:rotate(0)}}
@keyframes object-choice {0%,15%{transform:translateX(-23px)}35%,100%{transform:translateX(0)}}
.offer-story .organization-object.offer-illustration {width:clamp(80px,8vw,128px);height:auto;min-height:64px;max-height:100px;stroke-width:3}
.offer-story:not(.is-spotlight) .organization-object * {animation-play-state:paused}
.agreement-story .organization-object {width:140px;height:92px;margin-top:10px;stroke-width:3}
.agreement-story:not(.is-spotlight) .organization-object * {animation-play-state:paused}
.org-reading-lead .organization-object.org-reading-art {float:right;width:150px;height:115px;margin:0 0 10px 26px;filter:none}
html[data-organization-theme="light"] .object-time {--object-accent:#b53850}
html[data-organization-theme="light"] .object-method {--object-accent:#2458b8}
html[data-organization-theme="light"] .object-perspective {--object-accent:#197645}
html[data-organization-theme="light"] .object-agreement {--object-accent:#7160a8}
.org-only-art {display:none}
html[data-mode="community"] .org-only-art {display:none!important}
html[data-mode="organization"] .community-only-art {display:none!important}
html[data-mode="organization"] .org-only-art {display:block}
html[data-mode="organization"] .organization-object {filter:none!important;object-fit:contain;transform:none}
html[data-mode="organization"] .organization-object.reading-art {width:145px;max-width:100%;height:110px;margin:0}
html[data-mode="organization"] .contact-reading-element,
html[data-mode="organization"] .privacy-reading-element,
html[data-mode="organization"] .about-reading-spot {min-width:135px}
html[data-mode="organization"] .organization-encounter {align-self:center;padding:26px 22px;min-height:350px;position:relative}
.object-location {display:flex;justify-content:space-between;align-items:baseline;gap:14px;border-bottom:1px solid var(--org-line,#505050);padding-bottom:14px;font-size:18px;font-weight:600;letter-spacing:.05em}
.object-location b {font-size:14px;font-weight:400;letter-spacing:0;color:var(--org-muted,#aaa)}
.encounter-org-option {display:none;align-items:center;gap:16px;min-height:255px}
.encounter-org-option .organization-object {width:53%;height:auto;flex-shrink:0}
.encounter-org-option>span {font-size:clamp(19px,2vw,25px);line-height:1.5}
[data-encounter-state="cafe"] .encounter-org-cafe,[data-encounter-state="walk"] .encounter-org-walk,[data-encounter-state="making"] .encounter-org-making {display:flex}
.oslo-organization-object {padding:25px 28px;border:1px solid var(--org-line);background:var(--org-soft);align-self:center;max-width:580px;width:100%;color:var(--org-ink)}
.oslo-organization-object .organization-object {width:40%;height:auto;float:right}
.oslo-organization-object>p {font-size:clamp(21px,2.4vw,31px);line-height:1.3;padding-block:38px 16px;margin:0;letter-spacing:-.025em}
.object-operating-line {display:flex;align-items:center;gap:12px;margin-top:26px;font-size:14px;color:var(--org-muted)}
.object-operating-line span {flex:1;white-space:nowrap}
.object-operating-line b {display:block;font-size:17px;color:var(--org-ink);font-weight:500;margin-top:9px}
.object-operating-line i {flex:.4;height:1px;background:var(--org-line);position:relative}
.object-operating-line i::after {content:"";position:absolute;width:5px;height:5px;border-top:1px solid var(--org-accent);border-right:1px solid var(--org-accent);right:0;top:-2px;transform:rotate(45deg);animation:object-route 5s ease-in-out infinite}
@keyframes object-route {0%,10%{right:100%;opacity:0}25%{opacity:1}70%,100%{right:0}}
html[data-organization-theme] .oslo-context>figure {margin:0}
html.motion-paused .organization-object *,html.motion-paused .object-operating-line i::after,
html.static-mode .organization-object *,html.is-static .organization-object *,
body.static-mode .organization-object *,body.is-static .organization-object * {animation:none!important;opacity:1;stroke-dashoffset:0}
@media(prefers-reduced-motion:reduce){.organization-object *,.object-operating-line i::after {animation:none!important;opacity:1;stroke-dashoffset:0}}
@media(max-width:700px){
 .org-reading-lead .organization-object.org-reading-art {width:108px;height:82px;margin-left:16px}
 .oslo-organization-object {padding:18px}
 .object-operating-line {gap:7px}
 .object-operating-line b {font-size:15px}
 .offer-story .organization-object.offer-illustration {width:68px;min-height:50px}
 .agreement-story .organization-object {width:95px;height:68px}
 html[data-mode="organization"] .organization-encounter {min-height:280px;padding:22px 12px}
 .encounter-org-option {min-height:210px}
}
.organization-object:not(.object-visible) *, .oslo-organization-object:not(.object-visible) i::after,
html.illustrations-paused .organization-object *,html.illustrations-paused .object-operating-line i::after,
html.illustrations-hidden .organization-object *,html.illustrations-hidden .object-operating-line i::after,
[data-motion-state="paused"] .organization-object * {animation-play-state:paused!important}
.illustration-motion {font:inherit;font-size:16px;min-height:44px;border:0;border-bottom:1px solid currentColor;padding:8px 0;background:none;color:inherit;cursor:pointer}
