/* PG Thesis — scoped to .pg-thesis. Ported from DRobb .thesis. Section uses
   .pg-reveal only for .pg-in; arcs draw + meridian/slash stage on .pg-in. */

.pg-thesis.pg-reveal{ opacity:1; transform:none; filter:none; transition:none; will-change:auto; }
.pg-thesis{ background:var(--pg-ink); color:var(--pg-bone); padding:240px 96px; text-align:center; position:relative; overflow:hidden; }
.pg-thesis::before{ content:''; position:absolute; inset:0; pointer-events:none; background:radial-gradient(ellipse at 30% 50%, rgba(200,146,61,.10) 0%, transparent 60%), radial-gradient(ellipse at 80% 50%, rgba(180,83,58,.10) 0%, transparent 55%); }
.pg-thesis .arc-bg{ position:absolute; inset:0; opacity:.32; pointer-events:none; }
.pg-thesis .arc-bg .arc{ fill:none; }
.pg-thesis.pg-in .arc-bg .arc{ stroke:var(--pg-ochre); stroke-dasharray:1500; stroke-dashoffset:1500; opacity:.5; stroke-width:.5; }
.pg-thesis.pg-in .arc-bg .arc.a1{ animation:pg-drawArc 3200ms var(--pg-ease-soft) 400ms forwards; }
.pg-thesis.pg-in .arc-bg .arc.a2{ animation:pg-drawArc 3400ms var(--pg-ease-soft) 700ms forwards; }
.pg-thesis.pg-in .arc-bg .arc.a3{ animation:pg-drawArc 3000ms var(--pg-ease-soft) 1000ms forwards; }
@keyframes pg-drawArc{ to{ stroke-dashoffset:0; } }
.pg-thesis .container{ position:relative; z-index:2; max-width:1080px; margin:0 auto; }
.pg-thesis .marker{ display:inline-flex; align-items:center; gap:14px; font-family:var(--pg-font-sans); font-size:10px; text-transform:uppercase; letter-spacing:.34em; color:rgba(244,239,230,.62); margin-bottom:64px; justify-content:center; }
.pg-thesis .marker .rule{ width:32px; height:1px; background:rgba(244,239,230,.36); }
.pg-thesis .marker em{ color:var(--pg-ochre); font-style:normal; }
.pg-thesis .meridian{ display:flex; align-items:center; justify-content:center; gap:32px; font-family:var(--pg-font-display); font-weight:300; font-variation-settings:"opsz" 144; font-size:clamp(48px,7vw,108px); line-height:.96; letter-spacing:-.022em; color:var(--pg-bone); text-transform:lowercase; }
.pg-thesis .meridian .m-left, .pg-thesis .meridian .m-right{ flex:0 1 auto; opacity:0; transition:opacity 2000ms var(--pg-ease) 600ms, transform 2000ms var(--pg-ease) 600ms; }
.pg-thesis .meridian .m-left{ transform:translateX(-30px); text-align:right; }
.pg-thesis .meridian .m-right{ transform:translateX(30px); text-align:left; }
.pg-thesis.pg-in .meridian .m-left, .pg-thesis.pg-in .meridian .m-right{ opacity:1; transform:translateX(0); }
.pg-thesis .meridian .m-right em{ font-style:italic; color:var(--pg-ochre); }
.pg-thesis .meridian .slash{ flex:0 0 2px; align-self:stretch; background:var(--pg-ochre); transform:scaleY(0); transform-origin:top; transition:transform 1400ms var(--pg-ease) 200ms; }
.pg-thesis.pg-in .meridian .slash{ transform:scaleY(1); }
.pg-thesis .signoff{ margin-top:72px; font-family:var(--pg-font-italic); font-style:italic; font-size:20px; color:rgba(244,239,230,.85); }
.pg-thesis .signoff .compass-mark{ color:var(--pg-ochre); display:inline-block; width:20px; height:20px; vertical-align:-4px; }
.pg-thesis .signoff .compass-mark svg{ width:100%; height:100%; }

@media (prefers-reduced-motion: reduce){
  .pg-thesis.pg-in .arc-bg .arc{ animation:none; stroke-dashoffset:0; }
  .pg-thesis .meridian .m-left, .pg-thesis .meridian .m-right{ opacity:1; transform:none; }
  .pg-thesis .meridian .slash{ transform:scaleY(1); }
}
@media (max-width:880px){
  .pg-thesis{ padding:120px 24px; }
  .pg-thesis .meridian{ flex-direction:column; gap:8px; align-items:center; }
  .pg-thesis .meridian .m-left, .pg-thesis .meridian .m-right{ text-align:center; }
  .pg-thesis .meridian .slash{ width:48px; height:2px; align-self:center; flex-basis:2px; }
}
