/* National Lumber page motion base (company, framing-takeoff, contact), driven by pages-core.js.
   Same drawing-set language as motion.css: plotter strokes, dimension strings, crop marks, title blocks, stamps.
   Hidden states require html.mo-live plus [data-pg] set by pages-core.js; everything else is the final state. */
:root{--pg-ink:#102441;--pg-gold:#BA8B37;--pg-gold-dark:#94702e;--pg-paper:#F6F4EE;--pg-stone:#E9E2D4;--pg-line:rgba(16,36,65,.16);
 --pg-mono:'IBM Plex Mono',ui-monospace,'SF Mono',Menlo,monospace;--pg-cond:'Barlow Condensed','Barlow',system-ui,sans-serif;
 --pg-ease:cubic-bezier(.2,.7,.1,1);--pg-stamp:cubic-bezier(.3,1.4,.5,1)}

/* Reveal kinds. Stagger with --pg-i (0..16). */
.mo-live [data-pg]:not(.pg-in){opacity:0}
.mo-live [data-pg=rise].pg-in{animation:pg-rise .55s var(--pg-ease) calc(var(--pg-i,0)*60ms) backwards}
.mo-live [data-pg=fade].pg-in{animation:pg-fade .6s ease calc(var(--pg-i,0)*60ms) backwards}
.mo-live [data-pg=wipe]:not(.pg-in){opacity:1;clip-path:inset(0 100% 0 0)}
.mo-live [data-pg=wipe].pg-in{animation:pg-wipe .8s var(--pg-ease) calc(var(--pg-i,0)*70ms) backwards}
.mo-live [data-pg=stamp].pg-in{animation:pg-stamp .5s var(--pg-stamp) calc(var(--pg-i,0)*80ms) backwards}
/* draw: SVG strokes with pathLength="1" and class pg-s inside the marked element. */
.pg-s{stroke-dasharray:1 1;stroke-dashoffset:0}
.mo-live [data-pg=draw]:not(.pg-in){opacity:1}
.mo-live [data-pg=draw]:not(.pg-in) .pg-s{stroke-dashoffset:1}
.mo-live [data-pg=draw].pg-in .pg-s{animation:pg-draw var(--t,700ms) var(--pg-ease) calc(var(--d,0)*1ms) backwards}
.mo-live [data-pg=draw]:not(.pg-in) .pg-f{opacity:0}
.mo-live [data-pg=draw].pg-in .pg-f{animation:pg-fade .5s ease calc(var(--d,0)*1ms) backwards}
@keyframes pg-rise{from{opacity:0;transform:translateY(14px)}}
@keyframes pg-fade{from{opacity:0}}
@keyframes pg-wipe{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0)}}
@keyframes pg-stamp{0%{opacity:0;transform:scale(1.45) rotate(-8deg)}60%{opacity:1;transform:scale(.96) rotate(-2deg)}100%{transform:none}}
@keyframes pg-draw{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}

/* Shared drawing-set pieces. */
.pg-mono{font-family:var(--pg-mono);font-variant-numeric:tabular-nums;letter-spacing:.08em}
.pg-crop{position:relative}
.pg-crop::after{content:"";position:absolute;inset:-9px;pointer-events:none;
 --c:linear-gradient(var(--pg-gold),var(--pg-gold));background:var(--c) 0 0/14px 1px,var(--c) 0 0/1px 14px,var(--c) 100% 0/14px 1px,var(--c) 100% 0/1px 14px,var(--c) 0 100%/14px 1px,var(--c) 0 100%/1px 14px,var(--c) 100% 100%/14px 1px,var(--c) 100% 100%/1px 14px;background-repeat:no-repeat}
.mo-live .pg-crop[data-pg]:not(.pg-in)::after{opacity:0;transform:scale(1.04)}
.mo-live .pg-crop[data-pg].pg-in::after{transition:opacity .3s ease .35s,transform .45s var(--pg-ease) .35s}

@media(prefers-reduced-motion:reduce){.mo-live [data-pg]{animation:none!important;opacity:1!important;clip-path:none!important}.mo-live [data-pg] .pg-s{stroke-dashoffset:0!important;animation:none!important}}
@media print{[data-pg]{opacity:1!important;clip-path:none!important;animation:none!important}[data-pg] .pg-s{stroke-dashoffset:0!important}}
