@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500&family=DM+Sans:wght@400;500;600;700&display=swap');
:root{--bg:#070b08;--paper:#0f1710;--paper-light:#152017;--green:#a7f558;--green-soft:#b7e48b;--gold:#c6ab77;--ink:#e6e8d5;--muted:#a4b39c;--stroke:rgba(183,231,134,.20);--max:1250px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:'DM Sans',system-ui,sans-serif;line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}a:focus-visible,button:focus-visible{outline:2px solid var(--green);outline-offset:5px}::selection{color:#081008;background:var(--green)}
body:before{content:"";position:fixed;pointer-events:none;z-index:20;inset:0;opacity:.075;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.55' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.35'/%3E%3C/svg%3E")}
body:after{content:"";position:fixed;z-index:-1;pointer-events:none;inset:0;background:radial-gradient(circle at 0% 45%,rgba(107,163,44,.065),transparent 30%),radial-gradient(circle at 99% 80%,rgba(68,102,42,.07),transparent 35%)}
.wrap{max-width:var(--max);margin:auto;padding:0 32px}.serif{font-family:'Cormorant Garamond',Georgia,serif}.micro{font-size:10px;font-weight:700;letter-spacing:.24em;text-transform:uppercase}.gold{color:var(--gold)}.green{color:var(--green)}.muted{color:var(--muted)}.hand{font-family:'Cormorant Garamond',Georgia,serif;font-style:italic;color:var(--green-soft)}
.skip-link{position:absolute;top:-100px;left:15px;background:var(--green);color:#111;padding:10px;z-index:150}.skip-link:focus{top:15px}
.header{position:sticky;top:0;z-index:30;height:78px;background:rgba(7,11,8,.91);backdrop-filter:blur(16px);border-bottom:1px solid var(--stroke)}.header-inner{height:100%;display:flex;align-items:center;gap:26px}.brand{display:flex;align-items:center;gap:10px;margin-right:auto}.brand svg{width:38px;height:38px;color:var(--green)}.brand-name{font-family:'Cormorant Garamond',Georgia,serif;font-weight:600;letter-spacing:.125em;font-size:23px;white-space:nowrap}.brand-sub{display:block;color:var(--gold);letter-spacing:.2em;font-size:9px;margin-top:-6px}.nav{display:flex;align-items:center;gap:25px}.nav a{font-size:12px;color:#cad4bc;transition:color .2s}.nav a:hover{color:var(--green)}.languages{display:flex;gap:4px;border-left:1px solid var(--stroke);padding-left:17px}.languages a{display:grid;place-items:center;width:34px;height:31px;font-size:10px;font-weight:700;letter-spacing:.05em;color:#a4b5a0}.languages a:hover,.languages a[aria-current=page]{color:#111c0e;background:var(--green);border-radius:2px}.menu{display:none;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid var(--stroke);background:#152118;color:var(--green);border-radius:2px}
.hero{padding:25px 0 0;overflow:hidden}.hero-top{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:17px;color:var(--gold)}.hero-top .right{color:#7b966d}.hero-art{margin:0;position:relative;border:1px solid rgba(171,242,72,.28);background:#081008;box-shadow:0 0 0 7px rgba(44,66,28,.13),0 25px 85px rgba(0,0,0,.55);overflow:hidden}.hero-art img{width:100%;height:auto;display:block}.hero-art:before{content:"";position:absolute;inset:0;border:20px solid transparent;border-image:linear-gradient(130deg,rgba(168,246,74,.09),transparent,rgba(167,246,74,.08)) 1;pointer-events:none}.hero-art figcaption{position:absolute;bottom:0;left:0;right:0;padding:14px 22px;background:linear-gradient(transparent,rgba(2,5,3,.93));color:#b9d5a6;font-size:10px;letter-spacing:.11em;text-transform:uppercase;text-align:right}.hero-band{display:grid;grid-template-columns:1.2fr .8fr;gap:40px;align-items:center;padding:48px 0 76px}.hero-band h1{margin:0;max-width:750px;font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(45px,5.4vw,85px);font-weight:500;line-height:.98;letter-spacing:-.022em}.hero-band h1 em{color:var(--green);font-weight:400}.hero-band-right{border-left:1px solid var(--stroke);padding-left:33px}.hero-band-right p{font-size:14px;color:var(--muted);max-width:410px;margin:12px 0 21px}.hero-band-right .latin{font-family:'Cormorant Garamond',serif;font-size:22px;font-style:italic;color:var(--gold)}.journal-link{font-size:11px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--green);border-bottom:1px solid rgba(167,245,88,.65);padding-bottom:7px}.journal-link:hover{color:#edffd6}
.ledger{position:relative;isolation:isolate}.ledger:before{content:"";position:absolute;left:max(20px,calc((100% - var(--max)) / 2 + 13px));top:0;bottom:0;border-left:1px dashed rgba(152,187,124,.15);pointer-events:none}.chapter{padding:97px 0;position:relative;border-top:1px solid var(--stroke)}.chapter-label{display:flex;align-items:center;gap:15px;color:var(--gold);margin-bottom:27px}.chapter-label:after{content:"";height:1px;width:65px;background:var(--gold);opacity:.5}.chapter h2{font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(42px,4.1vw,66px);font-weight:500;line-height:1.04;letter-spacing:-.02em;margin:0 0 18px}.chapter .lead{color:var(--muted);font-size:15px;max-width:650px;line-height:1.85}
.origin-layout{display:grid;grid-template-columns:1.85fr .65fr;gap:55px;align-items:start}.origin-paper{padding:42px 52px 48px;position:relative;background:radial-gradient(circle at 90% 3%,rgba(136,201,62,.11),transparent 45%),repeating-linear-gradient(to bottom,transparent 0,transparent 33px,rgba(161,218,130,.05) 34px,transparent 35px),#111a12;border:1px solid var(--stroke);box-shadow:20px 24px 0 rgba(34,49,27,.15),0 30px 55px rgba(0,0,0,.25)}.origin-paper:before{content:"";position:absolute;top:-11px;right:46px;width:82px;height:23px;background:#293722;opacity:.65;transform:rotate(8deg);border:1px solid rgba(202,228,148,.12)}.origin-paper p{font-size:15px;color:#c9d4c2;line-height:1.92;margin:0 0 21px}.origin-paper p:first-of-type:first-letter{font-family:'Cormorant Garamond',serif;float:left;font-size:74px;line-height:.8;color:var(--green);margin-right:9px;margin-top:8px}.origin-paper .pull-quote{font-family:'Cormorant Garamond',Georgia,serif;font-size:30px;font-style:italic;color:var(--green-soft);border-top:1px solid var(--stroke);padding-top:25px;margin:25px 0 0;line-height:1.15}.margin-note{position:sticky;top:120px;padding:23px 5px 0 25px;border-left:1px solid rgba(197,166,108,.6);transform:rotate(2deg)}.margin-note .hand{display:block;font-size:33px;line-height:1.1;margin:19px 0}.margin-note .note-star{font-size:35px;color:var(--green);opacity:.65}.margin-note .small{font-size:12px;line-height:1.8;color:#98ad91}
.decorated-head{display:flex;align-items:end;justify-content:space-between;gap:45px;margin-bottom:35px}.decorated-head .lead{margin:0}.mod-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:13px}.module{grid-column:span 2;position:relative;min-height:310px;padding:28px 28px 25px;background:linear-gradient(150deg,rgba(31,49,29,.9),rgba(10,15,10,.93) 65%);border:1px solid var(--stroke);transition:transform .25s,border-color .25s;overflow:hidden}.module:nth-last-child(-n+2){grid-column:span 3;min-height:270px}.module:hover{transform:translateY(-4px);border-color:rgba(167,245,88,.48)}.module:before{content:"";position:absolute;width:210px;height:210px;top:-110px;right:-110px;border:1px solid rgba(160,203,110,.13);border-radius:50%;box-shadow:0 0 0 24px rgba(120,177,79,.025),0 0 0 54px rgba(120,177,79,.014)}.module-top{display:flex;justify-content:space-between;align-items:center}.sigil-wrap{width:62px;height:62px;border:1px solid rgba(175,223,137,.26);display:grid;place-items:center;border-radius:50%;background:rgba(3,12,5,.48)}.sigil-wrap svg{width:42px;height:42px;color:var(--green);fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}.module-index{font:italic 23px 'Cormorant Garamond',serif;color:#859d7c}.module h3{font:500 32px 'Cormorant Garamond',serif;letter-spacing:.055em;margin:14px 0 0}.module .category{color:var(--gold);font-size:11px;text-transform:uppercase;letter-spacing:.15em;margin-top:1px}.module p{font-size:13px;color:var(--muted);line-height:1.7;max-width:280px;margin:17px 0 27px}.module .latin{border-top:1px solid var(--stroke);padding-top:16px;font:italic 23px 'Cormorant Garamond',serif;color:var(--green-soft)}.module .phase{font-size:10px;letter-spacing:.13em;color:#82987b;text-transform:uppercase;margin-top:5px}
.guardian{background:radial-gradient(circle at 80% 10%,rgba(111,178,63,.11),transparent 35%),#0a100b}.system-hero{display:grid;grid-template-columns:1fr .8fr;gap:60px;align-items:center;margin-bottom:48px}.eye-disc{width:150px;height:150px;margin-left:auto;color:var(--green);display:grid;place-items:center;position:relative}.eye-disc:before,.eye-disc:after{content:"";position:absolute;border:1px solid rgba(167,245,88,.26);border-radius:50%;inset:0}.eye-disc:after{inset:-14px;border-style:dashed}.eye-disc svg{height:85px;width:85px}.osline{font:italic 28px 'Cormorant Garamond',serif;color:var(--green-soft);margin:20px 0 0}
.system-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.system-card{padding:29px;position:relative;background:#111b12;border:1px solid var(--stroke);min-height:265px}.system-card svg{width:43px;height:43px;fill:none;stroke:var(--green);stroke-width:1.2}.system-card h3{font:500 31px 'Cormorant Garamond',serif;margin:15px 0 0}.system-card .role{font-size:10px;color:var(--gold);text-transform:uppercase;letter-spacing:.16em}.system-card p{font-size:13px;color:var(--muted);line-height:1.7;max-width:320px}.system-card .latin{margin-top:20px;color:var(--green-soft);font:italic 22px 'Cormorant Garamond',serif;border-top:1px solid var(--stroke);padding-top:13px}
.arcane-notes{padding:39px 41px;margin-top:24px;border:1px dashed rgba(187,201,137,.31);background:repeating-linear-gradient(0deg,transparent,transparent 27px,rgba(137,194,79,.045) 28px),rgba(11,18,11,.55);display:grid;grid-template-columns:1fr 2.3fr;gap:28px}.arcane-notes h3{font:italic 29px 'Cormorant Garamond',serif;color:var(--gold);margin:0}.note-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px 25px}.note-list div{border-bottom:1px solid var(--stroke);padding-bottom:13px}.note-list strong{font:500 19px 'Cormorant Garamond',serif;letter-spacing:.06em}.note-list em{display:block;font:italic 19px 'Cormorant Garamond',serif;color:var(--green-soft)}.note-list p{font-size:11px;color:var(--muted);margin:3px 0 0}
.roadmap{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin-top:39px}.step{padding:30px 29px;min-height:275px;background:linear-gradient(155deg,#18241a,#0e150f);border:1px solid var(--stroke)}.step:first-child{border-color:rgba(167,245,88,.55)}.step .number{font:400 73px 'Cormorant Garamond',serif;line-height:1;color:rgba(168,240,89,.35)}.step h3{font:500 31px 'Cormorant Garamond',serif;margin:12px 0 3px}.step .state{font-size:10px;color:var(--gold);letter-spacing:.14em}.step p{font-size:13px;color:var(--muted);line-height:1.8;margin-top:23px}
.endpaper{padding:103px 0 105px;text-align:center;background:radial-gradient(ellipse at 50% 40%,rgba(100,170,58,.10),transparent 55%);border-top:1px solid var(--stroke)}.endpaper .icon{width:68px;height:68px;color:var(--green)}.endpaper h2{font:500 clamp(48px,6vw,83px) 'Cormorant Garamond',serif;line-height:1;margin:17px 0}.endpaper .latin{font:italic 30px 'Cormorant Garamond',serif;color:var(--green-soft)}.endpaper .desc{max-width:580px;color:var(--muted);font-size:13px;margin:18px auto 30px;line-height:1.85}.footer{border-top:1px solid var(--stroke);padding:31px 0 41px}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:20px}.footer .name{font:600 21px 'Cormorant Garamond',serif;letter-spacing:.13em}.footer small{display:block;color:var(--muted);font-size:11px;margin-top:3px}.footer .stamp{color:var(--gold);font-size:10px;letter-spacing:.14em}
@media(max-width:1020px){.nav{gap:14px}.origin-layout{grid-template-columns:1fr .38fr;gap:32px}.origin-paper{padding:32px}.hero-band{grid-template-columns:1fr 1fr;gap:20px}.system-hero{gap:35px}}
@media(max-width:800px){.header{height:70px}.menu{display:flex}.nav{display:none;position:absolute;top:69px;left:0;right:0;padding:20px 32px;background:#0a110b;border-bottom:1px solid var(--stroke);flex-direction:column;align-items:stretch;gap:0}.nav.open{display:flex}.nav a{padding:11px 0;border-bottom:1px solid var(--stroke)}.languages{padding-left:12px}.hero{padding-top:14px}.hero-band{padding:37px 0 58px;grid-template-columns:1fr}.hero-band-right{padding-left:0;border-left:0;border-top:1px solid var(--stroke);padding-top:18px}.origin-layout{grid-template-columns:1fr}.margin-note{position:static;max-width:520px;transform:rotate(0)}.mod-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.module,.module:nth-last-child(-n+2){grid-column:span 1}.system-grid{grid-template-columns:repeat(2,1fr)}.system-card:last-child{grid-column:span 2}.roadmap{grid-template-columns:1fr 1fr}.decorated-head{display:block}.arcane-notes{grid-template-columns:1fr}}
@media(max-width:570px){.wrap{padding:0 19px}.header-inner{gap:9px}.brand svg{width:32px;height:32px}.brand-name{font-size:18px}.brand-sub{font-size:7px}.languages{gap:0;border:0;padding:0}.languages a{width:28px;height:28px;font-size:9px}.menu{width:32px;height:32px}.hero-top .right{display:none}.hero-art{margin:0 -6px}.hero-art figcaption{font-size:8px;letter-spacing:.04em}.hero-band h1{font-size:47px}.hero-band .latin{font-size:21px}.chapter{padding:71px 0}.chapter h2{font-size:43px}.origin-paper{padding:30px 22px}.origin-paper p{font-size:14px}.origin-paper .pull-quote{font-size:26px}.margin-note .hand{font-size:29px}.mod-grid{grid-template-columns:1fr}.module,.module:nth-last-child(-n+2){grid-column:span 1;min-height:auto;padding:26px}.module .latin{font-size:22px}.system-hero{display:block}.eye-disc{margin:27px auto 0;width:102px;height:102px}.eye-disc svg{height:60px;width:60px}.system-grid,.roadmap{grid-template-columns:1fr}.system-card:last-child{grid-column:span 1}.arcane-notes{padding:25px 20px}.note-list{grid-template-columns:1fr}.footer-inner{display:block}.footer .stamp{margin-top:15px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}


/* GRIMOIRE v5 — living ink. Only visual enhancements; no external animation libraries. */
html{scroll-padding-top:90px}
.nav a{position:relative}
.nav a:after{content:"";position:absolute;bottom:-7px;left:0;right:100%;height:1px;background:var(--green);opacity:.75;transition:right .4s ease}
.nav a:hover:after,.nav a[aria-current="location"]:after{right:0}
.hero-art{isolation:isolate;--shift-ink:0px}
.hero-art picture{display:block;transform:scale(1.018) translate3d(0,var(--shift-ink),0);will-change:transform;transition:transform .25s linear}
.ink-overlay{position:absolute;inset:0;z-index:1;overflow:hidden;pointer-events:none;mix-blend-mode:screen}
.ink-overlay:after{content:"";position:absolute;inset:-12%;background:radial-gradient(ellipse 31% 21% at 52% 55%,rgba(154,244,70,.10),transparent 74%),radial-gradient(ellipse 22% 25% at 15% 70%,rgba(141,228,49,.07),transparent 70%);opacity:.55;animation:aether-drift 18s ease-in-out infinite alternate}
.living-diagram{display:block;width:100%;height:100%;opacity:.38;filter:drop-shadow(0 0 9px rgba(159,249,74,.27))}
.arcana-rings{transform-origin:111px 620px;animation:arcana-breathe 13s ease-in-out infinite alternate}
.root-ink path{stroke-dasharray:460;stroke-dashoffset:460;animation:root-trace 17s ease-in-out infinite alternate}
.root-ink path:nth-child(2){animation-delay:-7s}
.ink-star{opacity:.35;animation:star-breathe 5.6s ease-in-out infinite alternate}
.ink-star.two{animation-delay:-1.8s}.ink-star.three{animation-delay:-3.1s}
.aether-fleck{position:absolute;z-index:2;width:3px;height:3px;border-radius:50%;background:#c7ff8a;box-shadow:0 0 9px 2px rgba(185,255,109,.42);opacity:0;animation:floating-spore 13s linear infinite}
.aether-fleck--one{left:16%;top:83%;animation-delay:-1s}
.aether-fleck--two{left:79%;top:77%;animation-delay:-5s}
.aether-fleck--three{left:50%;top:83%;animation-delay:-9s}
.hero-art figcaption{z-index:3}
.hero:before{content:"";position:absolute;z-index:0;top:220px;left:-90px;width:410px;height:410px;border:1px solid rgba(154,244,70,.08);border-radius:50%;box-shadow:0 0 0 35px rgba(154,244,70,.012),0 0 0 100px rgba(154,244,70,.01);pointer-events:none}
.hero{position:relative}.hero .wrap{position:relative;z-index:1}
.hero-band .latin{transition:color .5s ease,text-shadow .5s ease}.hero-band:hover .latin{color:#d9faaa;text-shadow:0 0 20px rgba(165,247,83,.16)}
.chapter{scroll-margin-top:80px}
.chapter-label:after{transform-origin:left center;animation:ink-rule 8s ease-in-out infinite alternate}
.module .sigil-wrap{transition:border-color .45s,box-shadow .6s,transform .6s}
.module:hover .sigil-wrap{box-shadow:0 0 28px rgba(135,230,70,.13),inset 0 0 15px rgba(159,246,74,.07);border-color:rgba(175,248,118,.58);transform:rotate(-5deg)}
.module .sigil-wrap svg,.system-card svg{filter:drop-shadow(0 0 7px rgba(160,247,66,.06));transition:filter .6s}
.module:hover .sigil-wrap svg,.system-card:hover svg{filter:drop-shadow(0 0 13px rgba(160,247,66,.28))}
.module:after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 18% 14%,rgba(155,242,61,.075),transparent 38%);opacity:0;transition:opacity .7s ease}
.module:hover:after{opacity:1}
.system-card{transition:border-color .35s,transform .4s}.system-card:hover{border-color:rgba(172,240,111,.34);transform:translateY(-2px)}
.eye-disc:before{animation:eye-orbit 24s linear infinite;border-style:dashed}.eye-disc:after{animation:eye-orbit 31s linear infinite reverse}
.eye-disc svg{animation:eye-glow 7s ease-in-out infinite alternate}
.roadmap{position:relative}.roadmap:before{content:"";height:1px;position:absolute;left:17px;right:17px;top:0;background:linear-gradient(90deg,transparent,rgba(177,253,112,.25),transparent)}
.step{position:relative;transition:border-color .3s,background .3s}.step:hover{border-color:rgba(167,245,88,.48);background:linear-gradient(155deg,#1b2a1c,#111913)}
.origin-paper{background-image:radial-gradient(circle at 90% 3%,rgba(136,201,62,.11),transparent 45%),repeating-linear-gradient(to bottom,transparent 0,transparent 33px,rgba(161,218,130,.05) 34px,transparent 35px);}
.origin-paper:after{content:"✧";position:absolute;bottom:21px;right:26px;font-family:Georgia,serif;font-size:21px;color:rgba(169,227,122,.34);animation:star-breathe 12s ease-in-out infinite alternate}
.endpaper .icon{animation:eye-glow 8s ease-in-out infinite alternate}
.endpaper .latin{background:linear-gradient(100deg,#b5e48a,#e7ffc7,#afd379);background-size:240% 100%;background-clip:text;-webkit-background-clip:text;color:transparent;animation:latin-shimmer 16s linear infinite}
.motion-control{display:flex;align-items:center;gap:12px}.motion-toggle{background:transparent;border:1px solid rgba(170,219,129,.28);border-radius:2px;color:var(--muted);padding:6px 12px;font-size:10px;letter-spacing:.06em}.motion-toggle:hover{color:var(--green);border-color:rgba(160,245,74,.58)}
.will-reveal{opacity:0;transform:translateY(15px);transition:opacity .85s cubic-bezier(.2,.7,.25,1),transform .95s cubic-bezier(.2,.7,.25,1)}
.will-reveal.is-revealed{opacity:1;transform:translateY(0)}
.module.will-reveal:nth-child(2),.system-card.will-reveal:nth-child(2),.step.will-reveal:nth-child(2){transition-delay:.10s}
.module.will-reveal:nth-child(3),.system-card.will-reveal:nth-child(3),.step.will-reveal:nth-child(3){transition-delay:.17s}
@keyframes root-trace{0%,13%{stroke-dashoffset:460;opacity:.15}45%,75%{stroke-dashoffset:0;opacity:.8}100%{stroke-dashoffset:-55;opacity:.17}}
@keyframes aether-drift{from{transform:translate(-2%,1%) scale(1)}to{transform:translate(3%,-3%) scale(1.16)}}
@keyframes arcana-breathe{from{opacity:.25;transform:scale(.985)}to{opacity:.65;transform:scale(1.02)}}
@keyframes star-breathe{0%,100%{opacity:.2}50%{opacity:.58}}
@keyframes floating-spore{0%{transform:translate3d(0,25px,0) scale(.7);opacity:0}18%{opacity:.7}72%{opacity:.5}100%{transform:translate3d(24px,-190px,0) scale(1.4);opacity:0}}
@keyframes ink-rule{from{transform:scaleX(.6);opacity:.35}to{transform:scaleX(1);opacity:.9}}
@keyframes eye-orbit{to{transform:rotate(360deg)}}
@keyframes eye-glow{from{filter:drop-shadow(0 0 1px rgba(172,242,89,.12))}to{filter:drop-shadow(0 0 14px rgba(172,242,89,.4))}}
@keyframes latin-shimmer{to{background-position:240% 0}}
@media(max-width:800px){.hero-art picture{transform:scale(1.022) translate3d(0,calc(var(--shift-ink) * .4),0)}.motion-control{margin-top:17px}.footer-inner{flex-wrap:wrap}}
@media(max-width:570px){.living-diagram{opacity:.24}.hero-art picture{transform:scale(1.005)}.footer-inner{display:flex;flex-direction:column;align-items:start}.motion-control{margin-top:0}.chapter-label:after{width:38px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.will-reveal{opacity:1!important;transform:none!important}.hero-art picture{transform:none!important}.ink-overlay{opacity:.32}}
html.motion-disabled *,html.motion-disabled *:before,html.motion-disabled *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
html.motion-disabled .will-reveal{opacity:1!important;transform:none!important}
html.motion-disabled .hero-art picture{transform:none!important}


/* GRIMOIRE v6: the botanical specimen is a REAL vector illustration with visible geometry.
   No hover is required. The motion is an enhancement, not the only way to see the drawings. */
.specimen-section{position:relative;overflow:hidden;border-top:1px solid rgba(162,224,115,.2);border-bottom:1px solid rgba(162,224,115,.22);padding:54px 0 68px;background:radial-gradient(ellipse 54% 71% at 23% 53%,rgba(68,117,39,.10),transparent 80%),repeating-linear-gradient(90deg,transparent 0 90px,rgba(174,241,121,.018) 91px,transparent 92px)}
.specimen-section:before,.specimen-section:after{position:absolute;pointer-events:none;color:rgba(158,229,107,.17);font-family:Georgia,serif;font-size:66px}
.specimen-section:before{content:'☿';left:1.4%;top:22%}.specimen-section:after{content:'☾';right:2.7%;bottom:15%}
.specimen-micro{color:var(--gold);margin-bottom:15px}
.specimen-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(270px,.72fr);gap:40px;align-items:center}
.specimen-visual{min-width:0}
.plate-frame{position:relative;isolation:isolate;background:radial-gradient(ellipse at 50% 50%,rgba(35,77,23,.16),transparent 68%),#060b06;overflow:hidden;border:1px solid rgba(157,242,98,.32);box-shadow:inset 0 0 28px rgba(129,235,45,.075),0 25px 60px rgba(0,0,0,.4)}
.plate-frame:after{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 28% 18% at 55% 35%,rgba(185,255,90,.07),transparent 100%);animation:plate-light 11s ease-in-out infinite alternate}
.specimen-engraving{display:block;width:100%;height:auto;overflow:visible;filter:drop-shadow(0 0 6px rgba(137,236,54,.14))}
.specimen-engraving .botanical-leaves{filter:drop-shadow(0 0 4px rgba(148,244,67,.21))}
.specimen-engraving .leaf-contour{stroke-width:2.4;fill:rgba(60,129,35,.12)}
.specimen-engraving .leaf-vein{stroke-width:1.4;opacity:.8}
.specimen-engraving .leaf-vein.small{stroke-width:1;opacity:.58}
.specimen-engraving .fenestration{stroke-width:2;opacity:.65}
.specimen-engraving .root-system{opacity:.9;filter:drop-shadow(0 0 3px rgba(152,245,70,.25))}
.specimen-engraving .root-line{stroke-dashoffset:0;opacity:.80}.specimen-engraving .root-main{animation:ink-reveal 6.7s ease-in-out infinite alternate;stroke-dasharray:150;stroke-dashoffset:0}
.specimen-engraving .root-main:nth-child(3n){animation-delay:-2.1s}
.specimen-engraving .root-main:nth-child(4n){animation-delay:-4.7s}
.specimen-engraving .engraving-geometry{transform-origin:502px 299px;animation:diagram-orbit 70s linear infinite}
.specimen-engraving .ink-flares{animation:plate-flare 4.8s ease-in-out infinite alternate}
.plate-corner{position:absolute;font:25px Georgia,serif;color:#afea6e;text-shadow:0 0 13px rgba(160,250,76,.45);pointer-events:none}.plate-corner-a{top:8px;left:14px}.plate-corner-b{bottom:8px;right:14px}
.plate-bar{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:13px 2px 0;color:#b5a67b}
.plate-bar .micro{font-size:9px;letter-spacing:.15em}
.illuminate-toggle{border:1px solid rgba(164,240,96,.6);color:#b5fb78;background:rgba(28,52,25,.35);padding:10px 13px;font-size:11px;letter-spacing:.06em;white-space:nowrap;transition:box-shadow .4s,border-color .4s,background .4s;min-height:40px}
.illuminate-toggle:hover{background:rgba(78,141,43,.22);box-shadow:0 0 20px rgba(165,250,70,.14)}
.plate-frame.illumination-max{box-shadow:inset 0 0 38px rgba(153,248,72,.22),0 0 38px rgba(144,250,54,.22),0 25px 60px rgba(0,0,0,.4)}
.plate-frame.illumination-max .specimen-engraving{filter:drop-shadow(0 0 12px rgba(154,255,69,.44))}
.plate-frame.illumination-max .root-main{animation-duration:2.6s}
.specimen-notes{padding:20px 0 30px;position:relative;border-top:1px solid rgba(184,163,103,.4);border-bottom:1px solid rgba(184,163,103,.24)}
.specimen-notes .tiny-seal{font:57px Georgia,serif;color:#aade65;opacity:.65;line-height:1}
.specimen-notes h2{font:500 clamp(39px,3.4vw,60px)/.96 'Cormorant Garamond',Georgia,serif;margin:9px 0 19px}
.specimen-notes p{color:#bbcdb2;font-size:14px;line-height:1.9;max-width:370px}
.specimen-latin{font:italic clamp(24px,2.4vw,31px) 'Cormorant Garamond',Georgia,serif;color:#b8f484;margin:33px 0 20px}
.specimen-notes .specimen-caption{font-size:12px;color:#81947d;line-height:1.8}
.specimen-aside{font:italic 19px 'Cormorant Garamond',Georgia,serif;color:#c4a97a;display:block;margin-top:20px}
/* The original module artwork remains unchanged. Extra page ornament is independent. */
.ledger:after{content:'';pointer-events:none;position:absolute;right:-55px;top:7%;width:330px;height:700px;opacity:.08;background:radial-gradient(circle at 50% 30%,rgba(143,244,81,.4),transparent 48%);border:1px solid rgba(167,239,106,.2);border-radius:50%}
@keyframes ink-reveal{0%{stroke-dashoffset:150;opacity:.23}35%,80%{stroke-dashoffset:0;opacity:.86}100%{stroke-dashoffset:-18;opacity:.68}}
@keyframes diagram-orbit{to{transform:rotate(360deg)}}
@keyframes plate-light{from{opacity:.24;transform:translateX(-4%)}to{opacity:.8;transform:translateX(5%)}}
@keyframes plate-flare{from{opacity:.22}to{opacity:1}}
@media(max-width:950px){.specimen-layout{grid-template-columns:minmax(0,1fr);gap:19px}.specimen-notes{padding:20px 8px;max-width:750px}.specimen-notes .tiny-seal{position:absolute;right:8px;top:16px;opacity:.27}.specimen-notes h2{max-width:660px}}
@media(max-width:570px){.specimen-section{padding:35px 0 51px}.specimen-layout{gap:14px}.plate-bar{gap:7px;flex-direction:column;align-items:stretch}.plate-bar .micro{font-size:9px}.illuminate-toggle{width:100%;text-align:center}.specimen-notes h2{font-size:45px}.specimen-engraving .root-system{filter:none}.plate-frame{margin-left:-5px;margin-right:-5px}}
@media(prefers-reduced-motion:reduce){.specimen-engraving .root-line{animation:none!important;stroke-dashoffset:0!important;opacity:.8!important}.specimen-engraving .engraving-geometry{animation:none!important}}
html.motion-disabled .specimen-engraving .root-line{stroke-dashoffset:0!important;opacity:.8!important}

/* Visible botanical field notes on more than just the hero picture */
.margin-fern{display:block;width:min(100%,260px);margin:10px auto 14px;opacity:.72;filter:drop-shadow(0 0 10px rgba(158,251,80,.12));animation:fern-aura 8s ease-in-out infinite alternate}
@keyframes fern-aura{from{opacity:.65;filter:drop-shadow(0 0 4px rgba(158,251,80,.06))}to{opacity:1;filter:drop-shadow(0 0 18px rgba(158,251,80,.20))}}
.plate-frame.illumination-max{background:radial-gradient(ellipse at 50% 45%,rgba(73,158,39,.28),rgba(15,39,13,.40) 61%,#061407)!important;border-color:#aeff69!important;box-shadow:inset 0 0 55px rgba(172,254,87,.33),0 0 52px rgba(123,241,38,.40),0 25px 60px rgba(0,0,0,.4)!important}
.plate-frame.illumination-max .specimen-engraving{filter:brightness(1.55) drop-shadow(0 0 18px rgba(173,255,77,.72))!important}
.plate-frame.illumination-max .root-system{filter:drop-shadow(0 0 8px rgba(150,255,81,.70))!important}
.plate-frame.illumination-max .halo{opacity:.95}
.illuminate-toggle[aria-pressed="true"]{background:#395e22;color:#eaffcd;border-color:#d4ffad;box-shadow:0 0 17px rgba(159,255,65,.23)}
@media(prefers-reduced-motion:reduce){.margin-fern{animation:none!important;opacity:.82}}
html.motion-disabled .margin-fern{animation:none!important;opacity:.82}
/* Keep ornamental overflow within the viewport on small screens. */
.ledger:after{right:0;max-width:28vw}
