/* Pathion — public site. Ported 1:1 from locked design (Pathion Site.dc.html). */
html{scroll-behavior:smooth;}
body{margin:0;background:#101013;color:#EAE6E1;font-family:'Source Serif 4',Georgia,serif;}
a{color:#BD4F29;text-decoration:none;}
a:hover{color:#D96A3F;}
::selection{background:#BD4F29;color:#101013;}

@keyframes scanline{0%{top:0;}100%{top:100%;}}
@keyframes blink{0%,49%{opacity:1;}50%,100%{opacity:0;}}
@keyframes cyc{0%,30%{transform:translateY(0);}33%,63%{transform:translateY(-1.5em);}66%,96%{transform:translateY(-3em);}100%{transform:translateY(-4.5em);}}
@keyframes pulse{0%,100%{opacity:.35;}50%{opacity:1;}}
@keyframes pulseSlow{0%,100%{opacity:.3;}50%{opacity:.9;}}

[data-reveal]{opacity:0;transform:translateY(18px);transition:opacity .7s ease-out,transform .7s ease-out;}
[data-reveal].on{opacity:1;transform:none;}

.mono{font-family:'IBM Plex Mono',monospace;}

/* page chrome */
.pn-wrap{position:relative;min-height:100vh;overflow:hidden;}
.pn-grid-bg{position:fixed;inset:0;background-image:repeating-linear-gradient(to bottom, rgba(234,230,225,.04) 0, rgba(234,230,225,.04) 1px, transparent 1px, transparent 56px), repeating-linear-gradient(to right, rgba(234,230,225,.025) 0, rgba(234,230,225,.025) 1px, transparent 1px, transparent 56px);pointer-events:none;z-index:0;}
.pn-scanline{position:fixed;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,rgba(189,79,41,.7),transparent);animation:scanline 9s linear infinite;pointer-events:none;z-index:1;}

/* header */
.pn-header{position:sticky;top:0;display:flex;justify-content:space-between;align-items:center;padding:22px 7vw;border-bottom:1px solid rgba(234,230,225,.12);background:rgba(16,16,19,.88);backdrop-filter:blur(8px);z-index:5;}
.pn-header .pn-logo img{height:42px;display:block;}
.pn-nav{display:flex;gap:28px;font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.14em;}
.pn-nav a{color:#EAE6E1;border-bottom:2px solid transparent;padding-bottom:4px;}
.pn-nav a:hover{color:#BD4F29;}
.pn-nav a.active{color:#BD4F29;border-bottom-color:#BD4F29;}
.pn-burger{display:none;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;background:none;border:1px solid rgba(234,230,225,.25);border-radius:2px;cursor:pointer;padding:0;align-items:center;}
.pn-burger span{display:block;width:18px;height:2px;background:#EAE6E1;}
.pn-burger span:nth-child(2){background:#BD4F29;}
.pn-menu{display:none;position:fixed;top:89px;left:0;right:0;background:rgba(16,16,19,.97);backdrop-filter:blur(8px);border-bottom:1px solid rgba(234,230,225,.12);z-index:6;flex-direction:column;}
.pn-menu.open{display:flex;}
.pn-menu a{font-family:'IBM Plex Mono',monospace;font-size:13px;letter-spacing:.14em;color:#EAE6E1;padding:18px 7vw;border-bottom:1px solid rgba(234,230,225,.08);}
.pn-menu a:last-child{border-bottom:none;}

/* sections */
section{position:relative;z-index:2;}
.pn-section{border-top:1px solid rgba(234,230,225,.12);padding:11vh 7vw;}
.pn-kicker{font-family:'IBM Plex Mono',monospace;font-size:12px;letter-spacing:.2em;color:#BD4F29;}
.pn-cursor{display:inline-block;width:8px;height:14px;background:#BD4F29;margin-left:12px;vertical-align:-2px;animation:blink 1.1s step-end infinite;}

/* hero */
.pn-hero{padding:15vh 7vw 12vh;overflow:hidden;}
.pn-hero-mark{position:absolute;right:-16vw;top:50%;transform:translateY(-50%);width:min(46vw,680px);opacity:.05;pointer-events:none;user-select:none;}
.pn-hero .pn-kicker{margin-bottom:30px;}
.pn-hero h1{margin:0;font-size:clamp(40px,5.2vw,72px);line-height:1.12;font-weight:600;letter-spacing:-.01em;max-width:920px;}
.pn-hero h1 em{color:#BD4F29;}
.pn-cycle{margin-top:52px;font-family:'IBM Plex Mono',monospace;font-size:15px;color:#8B837A;height:1.5em;overflow:hidden;line-height:1.5;}
.pn-cycle-inner{animation:cyc 8s steps(1,end) infinite;}
.pn-cycle .hit{color:#BD4F29;}
.pn-cycle .kept{color:#EAE6E1;}

/* belief */
.pn-belief-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1px;background:rgba(234,230,225,.12);border:1px solid rgba(234,230,225,.12);}
.pn-belief-grid > div{background:#101013;padding:36px 32px 40px;}
.pn-belief-tag{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.16em;color:#4a463f;margin-bottom:18px;}
.pn-belief-title{font-size:24px;font-weight:700;margin-bottom:12px;}
.pn-belief-grid p{margin:0;color:#8B837A;font-size:16px;line-height:1.65;}
.pn-unwritten{display:flex;flex-direction:column;}
.pn-unwritten .pn-belief-title{color:#4a463f;}
.pn-unwritten p{color:#4a463f !important;font-style:italic;}
.pn-unwritten .pn-cursor{margin-left:10px;}

/* flipji */
.pn-flipji{display:grid;grid-template-columns:1.1fr .9fr;gap:64px;align-items:start;}
.pn-flipji-title-row{display:flex;align-items:center;gap:16px;margin-bottom:18px;}
.pn-flipji-name{font-size:52px;font-weight:700;letter-spacing:-.01em;}
.pn-live-pill{display:inline-flex;align-items:center;gap:8px;font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.16em;color:#4ADE80;border:1px solid rgba(74,222,128,.4);padding:6px 12px;border-radius:999px;}
.pn-live-dot{width:7px;height:7px;border-radius:50%;background:#4ADE80;box-shadow:0 0 8px rgba(74,222,128,.7);animation:pulse 1.8s ease-in-out infinite;}
.pn-flipji-tag{font-style:italic;font-size:20px;color:#8B837A;margin-bottom:26px;}
.pn-flipji-body{margin:0 0 22px;font-size:17px;line-height:1.7;color:#C9C4BD;max-width:560px;}
.pn-ledger-line{display:grid;grid-template-columns:110px 1fr;gap:20px;align-items:baseline;padding:12px 0;border-top:1px solid rgba(234,230,225,.08);border-bottom:1px solid rgba(234,230,225,.08);margin:0 0 26px;max-width:560px;}
.pn-ledger-line .d{font-family:'IBM Plex Mono',monospace;font-size:12px;color:#BD4F29;}
.pn-ledger-line .t{font-size:14.5px;color:#8B837A;}
.pn-cta{display:inline-block;font-family:'IBM Plex Mono',monospace;font-size:13px;letter-spacing:.08em;color:#101013;background:#BD4F29;padding:14px 24px;border-radius:2px;transition:background .2s;}
.pn-cta:hover{background:#EAE6E1;color:#101013;}
.pn-exhibit{border:1px solid rgba(234,230,225,.15);background:#0B0B0E;}
.pn-exhibit-head{display:flex;justify-content:space-between;align-items:center;padding:12px 18px;border-bottom:1px solid rgba(234,230,225,.12);}
.pn-exhibit-head .a{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.18em;color:#BD4F29;}
.pn-exhibit-head .b{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.14em;color:#4a463f;}
.pn-exhibit img{width:100%;display:block;}
.pn-pullquote{border-left:2px solid #BD4F29;padding:6px 0 6px 24px;margin-top:24px;}
.pn-pullquote p{margin:0;font-size:16px;line-height:1.7;color:#8B837A;font-style:italic;}

/* pipeline */
.pn-pipe-intro{margin:0 0 56px;font-size:18px;line-height:1.65;color:#8B837A;max-width:620px;}
.pn-wing-head{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.18em;color:#EAE6E1;margin-bottom:10px;}
.pn-wing-sub{margin:0 0 14px;font-size:15px;line-height:1.6;color:#8B837A;max-width:560px;font-style:italic;}
.pn-wing1{margin-bottom:48px;}
.pn-row{display:grid;grid-template-columns:110px 220px 1fr 120px;align-items:baseline;padding:15px 0;border-bottom:1px solid rgba(234,230,225,.08);font-size:15px;}
.pn-row .pn-idx{font-family:'IBM Plex Mono',monospace;font-size:12px;color:#4a463f;}
.pn-row .pn-name{font-family:'IBM Plex Mono',monospace;font-weight:600;letter-spacing:.06em;color:#EAE6E1;}
.pn-row .pn-one{color:#8B837A;text-align:right;font-style:italic;}
.pn-status{justify-self:end;display:inline-flex;align-items:center;gap:7px;font-family:'IBM Plex Mono',monospace;font-size:10.5px;letter-spacing:.14em;padding:5px 11px;border-radius:999px;white-space:nowrap;border:1px solid;}
.pn-status .dot{width:6px;height:6px;border-radius:50%;animation:pulseSlow 3s ease-in-out infinite;}
.pn-status.st-inbuild{color:#E8B33C;border-color:rgba(232,179,60,.35);}
.pn-status.st-inbuild .dot{background:#E8B33C;}
.pn-status.st-testing{color:#7DA7D9;border-color:rgba(125,167,217,.35);}
.pn-status.st-testing .dot{background:#7DA7D9;}
.pn-status.st-live{color:#4ADE80;border-color:rgba(74,222,128,.35);}
.pn-status.st-live .dot{background:#4ADE80;animation:pulse 1.8s ease-in-out infinite;}
.pn-status.st-concept{color:#8B837A;border-color:rgba(139,131,122,.35);}
.pn-status.st-concept .dot{background:#8B837A;}

/* builder */
.pn-builder{display:grid;grid-template-columns:.85fr 1fr;gap:72px;align-items:start;max-width:1180px;}
.pn-builder-quote{position:sticky;top:130px;}
.pn-builder-rule{width:44px;height:3px;background:#BD4F29;margin-bottom:28px;}
.pn-builder-quote p{margin:0;font-size:clamp(26px,2.4vw,36px);line-height:1.35;font-weight:600;font-style:italic;color:#EAE6E1;letter-spacing:-.005em;}
.pn-builder-copy p{margin:0 0 26px;font-size:17px;line-height:1.8;color:#C9C4BD;}
.pn-dropcap{float:left;font-size:64px;line-height:.82;font-weight:700;color:#BD4F29;padding:6px 14px 0 0;}
.pn-sig{margin-top:44px;padding-top:24px;border-top:1px solid rgba(234,230,225,.12);display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;}
.pn-sig-name{margin:0 0 4px;font-size:19px;font-weight:700;color:#EAE6E1;}
.pn-sig-role{margin:0;font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.16em;color:#8B837A;}
.pn-linkedin{font-family:'IBM Plex Mono',monospace;font-size:12px;letter-spacing:.08em;color:#8B837A;border:1px solid rgba(234,230,225,.2);padding:10px 16px;border-radius:2px;}
.pn-linkedin:hover{color:#EAE6E1;border-color:#EAE6E1;}

/* faq */
.pn-faq-list{max-width:820px;}
.pn-faq-item{border-bottom:1px solid rgba(234,230,225,.1);}
.pn-faq-q{display:flex;justify-content:space-between;align-items:baseline;gap:24px;width:100%;text-align:left;background:none;border:none;cursor:pointer;padding:22px 0;color:#EAE6E1;font-family:'Source Serif 4',Georgia,serif;}
.pn-faq-q .q{font-size:19px;font-weight:600;line-height:1.4;}
.pn-faq-q .m{font-family:'IBM Plex Mono',monospace;font-size:16px;color:#BD4F29;flex-shrink:0;}
.pn-faq-a{margin:0;padding:0 40px 26px 0;font-size:16px;line-height:1.7;color:#8B837A;display:none;}
.pn-faq-item.open .pn-faq-a{display:block;}

/* footer */
.pn-footer{position:relative;border-top:1px solid rgba(234,230,225,.12);padding:9vh 7vw 7vh;z-index:2;}
.pn-footer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:56px;align-items:start;}
.pn-footer-brand img{height:52px;display:block;margin-bottom:20px;}
.pn-footer-brand p{margin:0;font-size:15px;line-height:1.6;color:#8B837A;max-width:280px;font-style:italic;}
.pn-footer-head{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.18em;color:#4a463f;margin-bottom:18px;}
.pn-footer-links{display:flex;flex-direction:column;gap:12px;font-family:'IBM Plex Mono',monospace;font-size:13px;letter-spacing:.08em;}
.pn-footer-links a{color:#B9B5AF;}
.pn-footer-links a:hover{color:#EAE6E1;}
.pn-footer-contact{display:flex;flex-direction:column;gap:12px;font-size:15px;}
.pn-footer-contact .llc{color:#8B837A;font-size:14px;}
.pn-footer-contact a.sub{color:#B9B5AF;font-family:'IBM Plex Mono',monospace;font-size:13px;letter-spacing:.08em;}
.pn-footer-contact a.sub:hover{color:#EAE6E1;}
.pn-legal{display:flex;flex-direction:column;gap:14px;}
.pn-legal .pn-footer-head{margin-bottom:4px;}
.pn-legal details{border-top:1px solid rgba(234,230,225,.12);padding-top:12px;}
.pn-legal summary{cursor:pointer;font-family:'IBM Plex Mono',monospace;font-size:12px;letter-spacing:.14em;color:#B9B5AF;}
.pn-legal p{margin:12px 0 0;color:#8B837A;font-size:14px;line-height:1.6;}
.pn-footer-bottom{display:flex;flex-direction:column;align-items:center;gap:12px;margin-top:64px;padding-top:24px;border-top:1px solid rgba(234,230,225,.08);}
.pn-footer-bottom p{margin:0;font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.16em;color:#4a463f;}

/* mobile — from locked design */
@media (min-width:761px){.pn-menu{display:none !important;}}
@media (max-width:760px){
  .pn-nav{display:none !important;}
  .pn-burger{display:flex !important;}
  .pn-flipji{grid-template-columns:1fr !important;gap:36px !important;}
  .pn-row{grid-template-columns:56px 1fr auto !important;row-gap:6px;}
  .pn-builder{grid-template-columns:1fr !important;gap:44px !important;}
  .pn-builder-quote{position:static !important;}
  .pn-row .pn-one{grid-column:2/4;grid-row:2;text-align:left !important;font-size:13.5px;}
  .pn-row .pn-status{grid-row:1;grid-column:3;}
}

/* quality floor: honor reduced-motion without changing the default look */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  .pn-scanline{display:none;}
  .pn-cursor,.pn-cycle-inner,.pn-live-dot,.pn-status .dot{animation:none !important;}
  [data-reveal]{opacity:1;transform:none;transition:none;}
}
