/* Editorial typography and image layout, shared by the journal and its articles. */
.blog-page{max-width:1200px;padding-bottom:90px}.blog-page a{color:inherit}.blog-page .crumb{padding-top:24px;font-size:12px;line-height:1.8;color:#a9b3a0}.blog-page .crumb a{color:#c8ff1f}.blog-page :focus-visible{outline:2px solid #c8ff1f;outline-offset:5px}.journal-kicker{display:block;color:#c8ff1f;text-transform:uppercase;letter-spacing:.16em;font-size:11px;font-weight:600}.journal-header{padding:70px 0 38px;border:0}.journal-header h1{font-size:clamp(43px,6.4vw,82px);line-height:1.06;letter-spacing:-.055em;margin:20px 0 24px;max-width:900px;font-weight:700}.journal-header h1 em{font-style:normal;color:#c8ff1f}.blog-page .lead{font-size:clamp(17px,2vw,21px);line-height:1.75;font-weight:400;color:#bfc8b8;max-width:780px;margin:0}.journal-count{font-size:12px;color:#91a184;margin-top:26px}.journal-nav{display:flex;gap:9px;flex-wrap:wrap;padding:0 0 28px;border-bottom:1px solid #29351d;scroll-margin-top:30px}.journal-nav a{display:inline-flex;align-items:center;gap:10px;padding:9px 15px;border:1px solid #29351d;border-radius:99px;text-decoration:none;font-size:12px;background:#0c100a}.journal-nav a:hover{border-color:#c8ff1f;color:#c8ff1f}.journal-nav span{font-size:10px;color:#91a184}.journal-sector{padding-top:55px;scroll-margin-top:20px}.journal-sector-heading{display:flex;align-items:baseline;gap:22px;margin-bottom:22px}.journal-sector-heading>span{color:#819176;font-size:10px;letter-spacing:.15em}.journal-sector-heading h2{font-size:clamp(25px,4vw,36px);line-height:1.2;color:#fff;letter-spacing:-.035em;margin:0}.journal-sector-heading>a{margin-left:auto;font-size:11px;color:#9aa98e;text-decoration:none}.journal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.journal-entry{border:1px solid #26321e;border-radius:22px;overflow:hidden;background:#0b1008;display:flex;flex-direction:column;min-width:0;transition:border-color .2s,transform .2s}.journal-entry:hover{border-color:#6b883b;transform:translateY(-4px)}.journal-image{display:block;overflow:hidden;aspect-ratio:3/2}.journal-image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .45s}.journal-entry:hover .journal-image img{transform:scale(1.035)}.journal-entry-copy{padding:23px;display:flex;flex-direction:column;flex:1}.journal-tag{font-size:10px;text-transform:uppercase;letter-spacing:.09em;color:#b9da8d}.journal-entry h3{font-size:20px;line-height:1.4;letter-spacing:-.025em;margin:12px 0;color:#f2f5ec}.journal-entry h3 a{text-decoration:none}.journal-entry p{font-size:13px;line-height:1.85;color:#a9b3a0;margin:0 0 20px}.journal-read{margin-top:auto;padding-top:16px;border-top:1px solid #26321e;display:flex;justify-content:space-between;font-size:12px;font-weight:600;text-decoration:none}.journal-read span{color:#c8ff1f}.journal-back{display:inline-block;margin-top:45px;font-size:13px;color:#c8ff1f!important;text-decoration:none}.article-header{padding:55px 0 30px;max-width:960px;border:0}.article-header h1{font-size:clamp(32px,4.9vw,60px);line-height:1.14;letter-spacing:-.045em;font-weight:700;margin:20px 0 25px;text-wrap:balance;overflow-wrap:anywhere}.article-meta{display:flex;align-items:center;gap:12px;margin-top:28px;font-size:11px;line-height:1.9;color:#91a184}.article-meta a{color:#e8eee1;text-decoration:none}.article-author{display:grid;place-items:center;width:42px;height:42px;flex-shrink:0;border:1px solid #4a5e2c;border-radius:50%;background:#141f0b;color:#c8ff1f;font-size:12px;font-weight:700}.article-hero{margin:0 0 48px}.article-hero img{display:block;width:100%;height:auto;aspect-ratio:2/1;object-fit:cover;border-radius:24px;background:#11180d}.article-hero figcaption{margin:10px 0 0;font-size:10px;text-align:right;color:#819176}.article-hero figcaption a{text-decoration:underline;text-underline-offset:3px}.article-layout{display:grid;grid-template-columns:210px minmax(0,740px);justify-content:space-between;gap:48px}.article-toc nav{position:sticky;top:28px;border-top:1px solid #3a4b28;padding-top:18px;display:flex;flex-direction:column;gap:16px}.article-toc nav>span{font-size:10px;text-transform:uppercase;letter-spacing:.14em;color:#c8ff1f;margin-bottom:5px}.article-toc a{display:flex;gap:10px;color:#a9b3a0;font-size:11px;line-height:1.7;text-decoration:none}.article-toc a:hover{color:#c8ff1f}.article-toc a span{font-size:10px;color:#647b51}.article-prose{min-width:0}.article-prose>section{margin:0 0 42px;scroll-margin-top:28px}.article-section-num{color:#7d965d;font-size:11px;letter-spacing:.12em}.article-prose h2{color:#f2f5ec;font-size:clamp(24px,3vw,32px);font-weight:600;line-height:1.3;letter-spacing:-.03em;margin:10px 0 20px}.article-prose p{font-size:17px;line-height:1.95;color:#c0c9b9;letter-spacing:.005em;margin:0;max-width:68ch;overflow-wrap:break-word}.article-prose p+p{margin-top:20px}.article-prose .article-actions{border:1px solid #354d20;border-radius:20px;padding:28px;background:#111b0b}.article-actions ul{list-style:none;padding:0;margin:20px 0 0}.article-actions li{position:relative;padding-left:26px;margin:13px 0;font-size:15px;line-height:1.8;color:#d5dfca}.article-actions li:before{content:'↗';position:absolute;left:0;color:#c8ff1f}.article-prose .article-cta{padding:32px;border-radius:22px;border:1px solid #526b2b;background:linear-gradient(135deg,#19270e,#0b1107)}.article-cta p{font-size:15px;line-height:1.9}.article-cta .btn{font-size:13px;white-space:normal;border-radius:12px;padding:15px 20px;line-height:1.6;margin:22px 0 10px}.article-contact{display:block;font-size:12px;color:#c8ff1f!important}.article-prose .article-signature{border-top:1px solid #29351d;padding-top:22px;font-size:12px;line-height:1.85;color:#819176}.journal-related{padding-top:65px;margin-top:65px;border-top:1px solid #29351d}.journal-related>h2{font-size:32px;color:#f2f5ec;letter-spacing:-.035em;margin:12px 0 26px}.static-page header .w{max-width:1200px}
@media(min-width:1400px){.article-prose p{font-size:18px}}
@media(max-width:900px){.journal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.article-layout{grid-template-columns:170px minmax(0,1fr);gap:28px}.article-prose p{font-size:16px}.article-toc a{font-size:10px}}
@media(max-width:640px){.journal-header{padding:42px 0 28px}.journal-header h1{font-size:44px}.journal-grid{grid-template-columns:1fr}.journal-sector-heading{gap:12px;flex-wrap:wrap}.journal-sector-heading>a{font-size:10px}.journal-nav{gap:7px}.journal-nav a{font-size:11px;padding:8px 12px}.article-header{padding-top:35px}.article-header h1{font-size:34px;line-height:1.18}.article-layout{display:block}.article-toc{margin-bottom:35px}.article-toc nav{position:static;gap:12px;padding-bottom:20px;border-bottom:1px solid #29351d}.article-toc a{font-size:12px}.article-prose p{font-size:16px;line-height:1.9}.article-hero{margin-bottom:30px}.article-hero img{aspect-ratio:3/2;border-radius:16px}.article-prose .article-actions,.article-prose .article-cta{padding:23px}.journal-related{margin-top:40px;padding-top:40px}}
@media(prefers-reduced-motion:reduce){.journal-entry,.journal-image img{transition:none}.journal-entry:hover{transform:none}}

/* G/M editorial upgrade — photographic layers and actual CSS 3D geometry. */
.blog-page{--editorial-cream:#eeeadd;--editorial-line:#c8ff1f25;background:radial-gradient(ellipse at 95% 2%,#26380d24,transparent 36%)}
.has-editorial-scene{position:relative;isolation:isolate;max-width:none;min-height:430px;display:flex;align-items:center;overflow:hidden}
.journal-header-copy,.article-header-copy{position:relative;z-index:2;width:73%;padding-right:20px}
.has-editorial-scene h1{font-weight:600;letter-spacing:-.065em;line-height:1.08}
.article-header.has-editorial-scene{min-height:390px;padding:48px 0 35px}
.article-header-copy{width:77%}.article-header h1{font-size:clamp(34px,4.4vw,57px)}
.journal-header h1{font-size:clamp(48px,6.5vw,84px)}
.editorial-scene{position:absolute;right:-45px;top:50%;width:390px;height:390px;transform:translateY(-50%);perspective:950px;pointer-events:none;--scene-accent:#c8ff1f;z-index:0;contain:layout style}
.editorial-scene:before{content:'';position:absolute;inset:2%;background:radial-gradient(ellipse,color-mix(in srgb,var(--scene-accent) 15%,transparent),transparent 67%);filter:blur(12px)}
.scene-grid{position:absolute;inset:40px 0 -60px;background-image:linear-gradient(#c8ff1f11 1px,transparent 1px),linear-gradient(90deg,#c8ff1f11 1px,transparent 1px);background-size:34px 34px;transform:rotateX(65deg) rotateZ(-25deg);mask-image:radial-gradient(ellipse,#000,transparent 68%)}
.scene-sphere{position:absolute;width:100px;height:100px;top:66px;left:226px;border-radius:50%;background:radial-gradient(circle at 27% 22%,#f0ffcf,var(--scene-accent) 25%,#466814 55%,#080e05 78%);box-shadow:inset -10px -8px 20px #0008,0 25px 40px #0008;animation:sphere-drift 9s ease-in-out infinite;animation-play-state:paused}
.scene-orbit{position:absolute;width:300px;height:300px;top:37px;left:45px;border:1px solid color-mix(in srgb,var(--scene-accent) 60%,transparent);border-radius:50%;transform:rotateX(63deg) rotateY(-24deg) rotateZ(-18deg);box-shadow:0 0 24px color-mix(in srgb,var(--scene-accent) 7%,transparent)}
.orbit-two{width:270px;height:270px;top:52px;left:60px;transform:rotateX(28deg) rotateY(65deg) rotateZ(30deg);opacity:.45}
.scene-cube{position:absolute;left:118px;top:155px;width:108px;height:108px;transform-style:preserve-3d;transform:rotateX(-20deg) rotateY(-34deg) rotateZ(-9deg);animation:cube-drift 13s ease-in-out infinite;animation-play-state:paused}
.scene-cube i{position:absolute;width:108px;height:108px;border:1px solid color-mix(in srgb,var(--scene-accent) 55%,#334127);background:linear-gradient(145deg,#2d4120,#10190d 75%);backface-visibility:hidden;display:grid;place-items:center;font-style:normal;font-size:65px;font-weight:700;color:var(--scene-accent)}
.scene-cube .cube-front{transform:translateZ(54px);background:linear-gradient(145deg,#2a3b1b,#0c1408)}.cube-back{transform:rotateY(180deg) translateZ(54px)}.cube-left{transform:rotateY(-90deg) translateZ(54px)}.cube-right{transform:rotateY(90deg) translateZ(54px)}.scene-cube .cube-top{transform:rotateX(90deg) translateZ(54px);background:linear-gradient(145deg,var(--scene-accent),#5d852b)}.cube-bottom{transform:rotateX(-90deg) translateZ(54px)}
.scene-token{position:absolute;padding:12px 17px;font-size:10px;font-weight:600;letter-spacing:.17em;border:1px solid color-mix(in srgb,var(--scene-accent) 30%,transparent);border-radius:11px;background:linear-gradient(135deg,#26331bc9,#11190dd9);color:var(--scene-accent);box-shadow:0 15px 25px #0005;backdrop-filter:blur(8px)}
.token-one{left:40px;top:92px;transform:rotate(-13deg);animation:token-drift 10s ease-in-out infinite;animation-play-state:paused}.token-two{right:30px;bottom:74px;transform:rotate(9deg)}.scene-coordinate{position:absolute;bottom:30px;left:95px;font-size:8px;letter-spacing:.18em;color:#8d9e76}
.editorial-scene.is-visible .scene-cube,.editorial-scene.is-visible .scene-sphere,.editorial-scene.is-visible .token-one{animation-play-state:running}
@keyframes cube-drift{0%,100%{transform:translateY(0) rotateX(-20deg) rotateY(-34deg) rotateZ(-9deg)}50%{transform:translateY(-17px) rotateX(-12deg) rotateY(-16deg) rotateZ(-4deg)}}
@keyframes sphere-drift{0%,100%{transform:translate3d(0,0,0)}50%{transform:translate3d(-15px,14px,35px)}}
@keyframes token-drift{0%,100%{transform:translateY(0) rotate(-13deg)}50%{transform:translateY(-8px) rotate(-6deg)}}
.journal-grid{gap:26px;perspective:1800px}.journal-entry{position:relative;isolation:isolate;border-radius:7px 7px 24px 7px;background:linear-gradient(160deg,#172011,#0b1008 60%);border-color:#c0db951e;box-shadow:0 14px 35px #0004;transform:perspective(1000px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease;transform-style:preserve-3d}
.journal-entry:after{content:'';position:absolute;inset:0;pointer-events:none;z-index:3;background:radial-gradient(circle at var(--glow-x,50%) var(--glow-y,50%),#e5ffb408,transparent 45%);border-radius:inherit}
.journal-entry:hover{transform:perspective(1000px) translateY(-5px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));border-color:color-mix(in srgb,var(--entry-accent,#c8ff1f) 60%,transparent);box-shadow:0 28px 48px #0008}
.journal-image{position:relative;aspect-ratio:1.48;isolation:isolate}.journal-image:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#0004,transparent 45%,#0007)}.journal-image img{filter:saturate(.78);transition:transform .65s,filter .65s}.journal-entry:hover img{filter:saturate(1.05);transform:scale(1.045)}
.journal-image-number{position:absolute;left:17px;top:14px;color:#fff;z-index:1;font-size:11px;letter-spacing:.14em;line-height:1;text-shadow:0 1px 6px #000}.journal-image-arrow{position:absolute;right:17px;bottom:17px;display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#eeeddf;color:#11170c;z-index:1;font-size:21px;box-shadow:0 5px 15px #0004}
.journal-entry-copy{padding:25px}.journal-entry h3{font-size:22px;line-height:1.35;font-weight:600;letter-spacing:-.035em}.journal-entry p{font-size:13px;line-height:1.85}.journal-tag{color:var(--entry-accent,#c8ff1f);font-size:9px;letter-spacing:.1em}.journal-read{font-size:11px;text-transform:uppercase;letter-spacing:.07em}.journal-read span{color:var(--entry-accent,#c8ff1f)}
.journal-sector-heading{padding-bottom:17px;border-bottom:1px solid #c8ff1f20}.journal-sector-heading h2{font-weight:500;font-size:33px}.journal-nav a{border-radius:7px;background:#10160c}.journal-nav{margin-top:15px}
.article-hero{position:relative;transform:perspective(1400px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));transition:transform .35s}.article-photo-frame{position:relative;isolation:isolate;border:1px solid #c8ff1f26;padding:9px;background:linear-gradient(135deg,#24331b,#0c1208);border-radius:8px 8px 30px 8px;box-shadow:0 30px 55px #0007}.article-photo-frame img{border-radius:3px 3px 22px 3px;aspect-ratio:2.15;filter:saturate(.85)}.article-photo-index{position:absolute;bottom:30px;left:30px;display:flex;align-items:center;gap:14px;padding:11px 17px;border:1px solid #fff4;border-radius:9px;background:#0c1309b3;backdrop-filter:blur(14px);color:#f6f5e9;font-size:9px;letter-spacing:.13em;box-shadow:0 10px 20px #0005}.article-photo-index b{font-size:26px;font-weight:500;color:var(--entry-accent,#c8ff1f)}.article-hero figcaption{padding-right:5px;margin-top:15px}
.article-prose>section:not(.article-cta):not(.article-actions){position:relative;padding-bottom:28px;border-bottom:1px solid #c8ff1f12}.article-prose h2{font-size:clamp(25px,3vw,35px);font-weight:500;letter-spacing:-.035em}.article-section-num{display:inline-grid;place-items:center;width:34px;height:34px;border:1px solid #c8ff1f35;border-radius:7px;transform:rotate(-7deg);background:linear-gradient(135deg,#24351a,#0d1409);color:#c8ff1f;margin-bottom:8px;box-shadow:3px 4px 0 #121e0b}.article-prose p{color:#c4cbbd;line-height:1.95}.article-actions{box-shadow:7px 8px 0 #070b04}.article-prose .article-cta{position:relative;isolation:isolate;overflow:hidden}.article-cta:after{content:'↗';position:absolute;right:-7px;top:-55px;font-size:230px;line-height:1;color:#c8ff1f0a;z-index:-1;transform:rotate(-12deg)}
@media(max-width:1000px){.editorial-scene{right:-75px;transform:translateY(-50%) scale(.82)}.article-header-copy{width:80%}.journal-header-copy{width:77%}}
@media(max-width:640px){.has-editorial-scene{display:block;min-height:0;padding-top:36px;overflow:visible}.journal-header-copy,.article-header-copy{width:100%;padding:0}.editorial-scene{position:relative;top:auto;right:auto;width:320px;height:240px;transform:scale(.7);transform-origin:top center;margin:10px auto -63px;order:2}.has-editorial-scene{display:flex;flex-direction:column;align-items:stretch}.journal-header-copy,.article-header-copy{order:1}.article-header.has-editorial-scene{padding-top:35px;min-height:0}.article-header h1{font-size:34px}.journal-header h1{font-size:47px}.scene-coordinate{bottom:-25px}.journal-grid{gap:25px}.journal-entry h3{font-size:23px}.journal-image{aspect-ratio:1.5}.journal-sector-heading h2{font-size:28px}.article-photo-frame{padding:5px}.article-photo-frame img{aspect-ratio:1.35}.article-photo-index{bottom:18px;left:18px;padding:8px 12px;gap:9px}.article-photo-index b{font-size:21px}.article-prose h2{font-size:27px}}
@media(prefers-reduced-motion:reduce){.editorial-scene *{animation:none!important}.journal-entry,.article-hero,.journal-entry:hover{transform:none!important;transition:none}.journal-image img{transition:none}}

/* Smooth, single-pass writing and scroll entrances; no text is removed from HTML. */
.blog-page{scroll-behavior:smooth}.writer-word{display:inline-block;white-space:nowrap}.writer-char{display:inline-block;animation:write-character .24s cubic-bezier(.2,.7,.25,1) both;animation-delay:var(--write-delay,0ms)}
@keyframes write-character{from{opacity:0;transform:translateY(.16em);filter:blur(2px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}
.motion-ready{opacity:0;translate:0 22px;transition:opacity .7s cubic-bezier(.2,.65,.3,1),translate .7s cubic-bezier(.2,.65,.3,1),transform .25s ease,border-color .25s ease,box-shadow .25s ease;transition-delay:var(--enter-delay,0ms)}
.motion-ready.motion-entered{opacity:1;translate:0 0}
.blog-page a,.blog-page button{-webkit-tap-highlight-color:transparent}
.article-toc a{transition:color .2s ease,translate .2s ease}.article-toc a:hover{translate:3px 0}
@media(prefers-reduced-motion:reduce){html,.blog-page{scroll-behavior:auto}.writer-char{animation:none!important;opacity:1;transform:none;filter:none}.motion-ready{opacity:1;translate:none;transition:none}.article-toc a:hover{translate:none}}
