/* Unified orbit geometry: 600 x 600, four nodes at 90-degree intervals. */
.study-cycle{--cycle-gold:#a77b32;--cycle-ink:#092c40;display:grid;grid-template-columns:50% 50%;gap:0;width:min(1440px,calc(100vw - 96px));margin-left:calc((100% - min(1440px,calc(100vw - 96px))) / 2);padding-top:60px;align-items:start}
.cycle-heading{grid-column:1;grid-row:1;padding-right:30px}
.cycle-heading h3{font:400 clamp(48px,3.8vw,62px)/1.05 'Instrument Serif',serif;letter-spacing:-.035em;margin:20px 0}
.cycle-heading h3 em{font-weight:400;color:#a77b32}
.cycle-heading>p:last-child{font:15px/1.6 Inter,sans-serif;color:#5e7186;max-width:390px}
.cycle-visual{grid-column:1;grid-row:2;position:relative;aspect-ratio:1;margin:42px 44px 65px 0}
.cycle-orbit{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.cycle-orbit-track path{stroke:#d5c3a3;stroke-width:1.1;stroke-linecap:round;transition:stroke 500ms}
.cycle-orbit-track path.is-active{stroke:#9d722b;stroke-width:1.8;stroke-dasharray:320;animation:cycle-draw 700ms cubic-bezier(.22,1,.36,1) both}
@keyframes cycle-draw{from{stroke-dashoffset:320}to{stroke-dashoffset:0}}
.cycle-arrow-tip{stroke:#a77b32;stroke-width:1.2;stroke-linecap:round;stroke-linejoin:round}
.cycle-halo{position:absolute;inset:18% 22%;border-radius:50%;background:radial-gradient(ellipse,#e9dfca60,transparent 72%);pointer-events:none}
.cycle-character{position:absolute;inset:22% 25% 23%;z-index:1}
.cycle-character img{position:absolute;width:100%;height:100%;object-fit:contain;object-position:center bottom;opacity:0}
.cycle-character img.is-active{opacity:1}
.cycle-nodes{position:absolute;inset:0;z-index:2}
.cycle-node{position:absolute;width:13.333%;height:13.333%;border:0;padding:0;border-radius:50%;background:transparent;color:#a77b32;cursor:pointer;overflow:visible}
.cycle-node-icon{position:absolute;inset:0;display:grid;place-items:center;border:1px solid #bd9657;border-radius:50%;background:#fcfaf5;transition:background 220ms,box-shadow 220ms,transform 220ms}
.cycle-node-icon svg{width:44%;height:44%}
.cycle-node:hover .cycle-node-icon{transform:translateY(-2px);box-shadow:0 7px 20px -12px #8c662c}
.cycle-node[aria-pressed=true] .cycle-node-icon{background:#f5ead4;border-color:#986c26;box-shadow:0 0 0 5px #d8bf8433,inset 0 1px 0 #fff}
.cycle-node-label{position:absolute;display:block;width:130px;pointer-events:none;text-align:left}
.cycle-node-number{font:11px/1.4 'IBM Plex Mono',monospace;color:#8d632b}
.cycle-node-label b{display:block;font:400 25px/1.1 'Instrument Serif',serif;color:#092c40;margin:4px 0}
.cycle-node-label small{display:block;font:12px/1.5 Inter,sans-serif;color:#64758b}
.cycle-node--0{left:43.333%;top:6.667%}.cycle-node--1{left:80%;top:43.333%}.cycle-node--2{left:43.333%;top:80%}.cycle-node--3{left:6.667%;top:43.333%}
.cycle-node--0 .cycle-node-label{left:calc(100% + 15px);top:-54px}
.cycle-node--1 .cycle-node-label{left:calc(100% + 10px);top:0;width:100px;text-align:left}
.cycle-node--2 .cycle-node-label{left:calc(100% + 14px);top:24px}
.cycle-node--3 .cycle-node-label{right:8px;top:calc(100% + 12px);width:100px;text-align:center}
.cycle-handnote{position:absolute;font:400 20px/1.1 'Dossier Hand',cursive;pointer-events:none;z-index:2}
.cycle-handnote--next{right:-3%;top:19%;color:#29465d;transform:rotate(-8deg)}
.cycle-handnote--next svg{width:64px;height:54px;display:block;margin:4px 0 0 33px}
.cycle-handnote--motto{left:0;bottom:-8%;color:#986e2d;transform:rotate(-8deg);margin:0}
.cycle-handnote--motto svg{display:block;width:160px;height:28px;margin-left:15px}
.cycle-return{position:absolute;bottom:-50px;right:0;font:17px/1.3 'Dossier Hand',cursive;color:#8b641f}
.study-cycle .journey-flow{grid-column:2;grid-row:1 / span 2;display:block;min-height:800px;margin:0 0 0 40px}
.journey-step{border:0;border-top:1px solid #d9c8a8;background:transparent;padding:0;box-shadow:none}
.journey-step summary{display:grid;grid-template-columns:32px 1fr 22px;align-items:center;gap:14px;padding:25px 0;list-style:none;cursor:pointer}
.journey-step summary::-webkit-details-marker{display:none}
.journey-number{font:11px/1.4 'IBM Plex Mono',monospace;color:#8d632b}
.journey-step summary [data-stage-name]{font:400 32px/1.1 'Instrument Serif',serif;color:var(--cycle-ink)}
.journey-step summary small{display:block;font:14px/1.5 Inter,sans-serif;color:#5e7186;margin-top:5px}
.journey-step summary b{font:24px/1 Inter,sans-serif;color:#a77b32}
.journey-step[open] summary b{font-size:0}.journey-step[open] summary b:after{content:'−';font-size:24px}
.journey-content{padding:0 0 26px 46px;font:14px/1.65 Inter,sans-serif;color:#5e7186}
.journey-content dl{display:grid;gap:20px;margin:24px 0}
.journey-content dt{font-weight:600;color:#092c40;margin-bottom:5px}.journey-content dd{margin:0;font-size:14px;line-height:1.6}
.journey-content>a{display:inline-flex;align-items:center;gap:18px;color:#092c40;text-underline-offset:5px;margin-top:15px}
.journey-missions{display:flex;list-style:none;gap:12px;padding:0;margin:20px 0;color:#916b2a;font:10px/1.4 'IBM Plex Mono',monospace}
.journey-missions li+li:before{content:'→';margin-right:12px}
.cycle-editorial-label,.cycle-editorial-footer{font:9px/1.5 'IBM Plex Mono',monospace;letter-spacing:.14em;color:#718098;text-align:right;margin:0 0 26px}
.cycle-editorial-footer{margin:19px 0 0}
.cycle-caption,.cycle-mobile-steps,.cycle-navigation{display:none}
.study-cycle :is(button,summary,a):focus-visible{outline:3px solid #a77b32;outline-offset:5px}
.study-cycle:not(.is-enhanced) .cycle-nodes{display:none}
.cycle-download{grid-column:1/-1;display:flex;align-items:center;gap:18px;margin-top:16px;padding:32px 0;border-top:1px solid #dccbad;width:100%}
.cycle-download>div{margin-right:auto}.cycle-download .kicker{font-size:9px;color:#8d632b}.cycle-download p:last-child{font:400 30px/1.2 'Instrument Serif',serif;color:#092c40;margin:9px 0 0}
.cycle-download>a{display:inline-flex;border-radius:7px;transition:transform 200ms}.cycle-download>a:hover{transform:translateY(-2px)}.cycle-download img{width:auto;height:44px;display:block}
@media(max-width:1199px){
 .study-cycle{display:flex;flex-direction:column;gap:0;padding-top:36px;max-width:680px;width:100%;margin-inline:auto}
 .cycle-heading{padding:0;width:100%;margin-bottom:22px}.cycle-heading h3{font-size:clamp(35px,6vw,48px)}.cycle-heading>p:last-child{max-width:100%}
 .study-cycle.is-enhanced .cycle-caption{display:block;text-align:center;width:100%;min-height:162px;padding-top:18px;border-top:1px solid #d9c8a8}
 .cycle-caption>span{font:12px/1.4 Inter,sans-serif;letter-spacing:.08em;color:#8b641f}.cycle-caption h4{font:400 42px/1.1 'Instrument Serif',serif;margin:9px 0;color:#092c40}.cycle-caption p{font:15px/1.5 Inter,sans-serif;margin:0 auto;max-width:260px;color:#5e7186}
 .cycle-visual{height:305px;aspect-ratio:auto;width:100%;margin:15px 0 0;overflow:hidden}
 .cycle-character{inset:0 0 auto;height:510px;max-width:340px;margin:auto;mask-image:linear-gradient(#000 52%,transparent 62%)}.cycle-character img{object-position:center top}
 .cycle-orbit,.cycle-nodes,.cycle-return,.cycle-handnote,.cycle-editorial-label,.cycle-editorial-footer{display:none}
 .cycle-halo{inset:0 12%;height:305px}
 .study-cycle.is-enhanced .cycle-mobile-steps{display:flex;width:100%;justify-content:space-between;position:relative;margin:0 0 24px}
 .cycle-mobile-steps:before{content:'';position:absolute;top:23px;left:24px;right:24px;height:1px;background:#c6a060}
 .cycle-mobile-steps button{z-index:1;border:1px solid #c6a060;border-radius:50%;width:48px;height:48px;background:#fcfaf5;color:#77551e;cursor:pointer}
 .cycle-mobile-steps button[aria-pressed=true]{background:#092c40;color:#f4d590;border-color:#092c40}
 .study-cycle .journey-flow{width:100%;margin:0;min-height:390px}
 .study-cycle.is-enhanced .journey-step:not(.is-active){display:none}
 .study-cycle.is-enhanced .journey-step summary{display:none}
 .journey-content{padding:0 0 15px;font-size:15px}.study-cycle.is-enhanced .journey-content>p:first-child{display:none}
 .journey-content dl{gap:0;margin:0}.journey-content dl>div{padding:19px 0;border-bottom:1px solid #ded0b8}
 .journey-content dt{font:400 27px/1.15 'Instrument Serif',serif;margin-bottom:8px}.journey-content dd{font-size:15px}
 .journey-missions{gap:8px;flex-wrap:wrap}.journey-missions li+li:before{margin-right:8px}
 .journey-step{border:0}
 .study-cycle.is-enhanced .cycle-navigation{display:flex;gap:12px;width:100%;margin-top:15px}
 .cycle-navigation button{flex:1;padding:14px 10px;border:1px solid #98702b;border-radius:30px;color:#092c40;background:transparent;font:500 14px Inter,sans-serif;cursor:pointer}
 .cycle-navigation button:last-child{background:#092c40;color:white;border-color:#092c40}.cycle-navigation button:disabled{opacity:.4;cursor:default}
 .cycle-loop-copy{color:#8b641f;background:#eee4d3;border-radius:12px;padding:14px}
 .cycle-download{flex-wrap:wrap;margin-top:35px;gap:15px}.cycle-download>div{width:100%;margin-bottom:10px}.cycle-download img{height:40px}
}
@media(prefers-reduced-motion:reduce){.study-cycle *{animation:none!important;transition:none!important}}
