/* Below the fold. Loaded without blocking first paint. */
.ph-section{position:relative;padding:clamp(3.5rem,9vw,7rem) var(--ph-gutter)}
.ph-wrap{max-width:var(--ph-max);margin:0 auto}
.ph-wrap-narrow{max-width:44rem}
.ph-eyebrow{display:flex;align-items:center;gap:.75rem;margin:0 0 1rem;font:500 .75rem var(--ph-font-mono);letter-spacing:var(--ph-tracking-ui);text-transform:uppercase;color:var(--ph-color-ink-2)}
.ph-eyebrow::before{content:"";width:2rem;height:2px;background:var(--ph-color-signal);box-shadow:0 0 8px #00E5FF8C}
.ph-section h2{font-size:clamp(1.75rem,5vw,3rem);letter-spacing:.02em}
body.ph-showcase .ph-pagehead h1{font-size:clamp(2.2rem,7vw,4rem)}
.ph-section h2 .sig{color:var(--ph-color-signal)}
.ph-section p{max-width:42rem}
.ph-lead{font-size:clamp(1.15rem,2.6vw,1.45rem);line-height:1.45;color:var(--ph-color-ink);font-weight:500}

/* Page heads (inner pages) */
.ph-pagehead{padding:clamp(3rem,8vw,6rem) var(--ph-gutter) clamp(2rem,5vw,3.5rem);border-bottom:1px solid var(--ph-color-line-weak);background:radial-gradient(50% 80% at 20% 0,#00E5FF14,transparent 70%)}
.ph-pagehead h1{font-size:clamp(2.2rem,7vw,4rem);margin:0 0 .4em;letter-spacing:.01em}
.ph-pagehead h1 .sig{color:var(--ph-color-signal);text-shadow:0 0 6px #00E5FF8C,0 0 14px #00E5FF2E}
.ph-pagehead :is(p,.ph-crumb){color:var(--ph-color-ink-2);font-size:1.15rem}

/* Cards with HUD corner ticks */
.ph-grid{display:grid;gap:1rem;grid-template-columns:1fr}
@media (min-width:640px){.ph-grid{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1000px){.ph-grid-3{grid-template-columns:repeat(3,1fr)}}
.ph-card{position:relative;padding:1.5rem;background:linear-gradient(180deg,#00E5FF0F,transparent 12%),repeating-linear-gradient(0deg,#ffffff03 0 1px,transparent 1px 3px),var(--ph-color-panel);border:1px solid var(--ph-color-line-medium);border-radius:var(--ph-radius-card);box-shadow:inset 0 1px 0 var(--ph-color-line-weak);transition:background var(--ph-motion-duration) var(--ph-motion-ease)}
.ph-card::before,.ph-card::after{content:"";position:absolute;width:10px;height:10px;border:1px solid var(--ph-color-signal);opacity:.55;pointer-events:none}
.ph-card::before{top:-1px;left:-1px;border-right:0;border-bottom:0}
.ph-card::after{right:-1px;bottom:-1px;border-left:0;border-top:0}
@media (hover:hover){.ph-card:hover{background-color:var(--ph-color-elevated)}}
.ph-card h3,.ph-card h4,.ph-card h5{margin:0 0 .5rem;font-size:1.15rem;letter-spacing:.04em}
.ph-card p{margin:0;color:var(--ph-color-ink-2)}
.ph-card ul{margin:.75rem 0 0;padding:0;list-style:none;color:var(--ph-color-ink-2)}
.ph-card li{padding:.3rem 0 .3rem 1.1rem;position:relative}
.ph-card li::before{content:">";position:absolute;left:0;color:var(--ph-color-signal);font-family:var(--ph-font-mono)}

/* Stage rail: scroll progress on every page, desktop only. A packet rides the fill tip. */
.ph-rail{display:none}
@media (prefers-reduced-motion:reduce){.ph-rail{display:none!important}}
@media (min-width:1100px){
 .ph-rail{display:block;position:fixed;left:1.25rem;top:50%;height:30vh;width:2px;transform:translateY(-50%);z-index:70;background:var(--ph-color-line-medium)}
 .ph-rail i{position:absolute;inset:0;background:var(--ph-color-signal);box-shadow:0 0 8px #00E5FF8C;transform-origin:top;transform:scaleY(0)}
 .ph-rail b{position:absolute;left:50%;top:0;width:6px;height:6px;margin:-3px 0 0 -3px;border-radius:50%;background:var(--ph-color-signal);box-shadow:0 0 8px #00E5FF;opacity:0}
 @media (prefers-reduced-motion:no-preference){@supports (animation-timeline:scroll()){
  .ph-rail i{animation:ph-rail linear both;animation-timeline:scroll(root)}@keyframes ph-rail{to{transform:scaleY(1)}}
  .ph-rail b{animation:ph-rail-dot linear both;animation-timeline:scroll(root)}@keyframes ph-rail-dot{from{opacity:1}to{opacity:1;transform:translateY(30vh)}}
 }}
}

/* CTA band, footer */
.ph-band{text-align:center;border-top:1px solid var(--ph-color-line-medium);background:radial-gradient(50% 120% at 50% 0,#00E5FF14,transparent 70%)}
.ph-band p{margin-inline:auto}
.ph-band :is(.wp-block-buttons,.ph-actions){justify-content:center}
/* Footer: GenerateBlocks elements (parts/footer.php) */
.ph-footer{padding:3rem var(--ph-gutter) 2rem;border-top:1px solid var(--ph-color-line-medium);background:var(--ph-color-surface);color:var(--ph-color-ink-2);font-size:.95rem}
.ph-footer-inner{display:grid;gap:2rem;max-width:var(--ph-max);margin:0 auto}
@media (min-width:760px){.ph-footer-inner{grid-template-columns:1.7fr 1fr 1fr 1fr}.ph-footer-bottom{grid-column:1/-1}}
.ph-footer-tag{max-width:28rem;margin:.9rem 0 0}
.ph-footer-h{margin:0 0 .5rem;font:500 .72rem var(--ph-font-mono);letter-spacing:var(--ph-tracking-ui);text-transform:uppercase;color:var(--ph-color-ink-muted)}
.ph-footer-col{display:flex;flex-direction:column}
.ph-footer-col a{display:flex;align-items:center;min-height:44px;color:var(--ph-color-ink);text-decoration:none;font:500 .8rem var(--ph-font-display);letter-spacing:var(--ph-tracking-ui);text-transform:uppercase}
.ph-footer-col a:hover{color:var(--ph-color-signal)}
.ph-footer-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem;padding-top:1.25rem;border-top:1px solid var(--ph-color-line-weak)}
.ph-footer-bottom p{margin:0}
.ph-footer-credit a{color:var(--ph-color-signal)}
.ph-footer-credit a:hover{color:var(--ph-color-ink)}

/* Pointer effects (assets/js/spot.js): spotlight and terminal-block cursor. Fine pointers only; the elements and the
   html.ph-has-caret class only exist once that script runs. Reduced-motion visitors never get either. */
.ph-spot{position:fixed;left:0;top:0;z-index:89;width:320px;height:320px;margin:-160px 0 0 -160px;border-radius:50%;pointer-events:none;opacity:0;transition:opacity .4s var(--ph-motion-ease);background:radial-gradient(circle,#00E5FF26 0%,#00E5FF0F 40%,transparent 68%);will-change:transform}
.ph-spot.on{opacity:1}
html.ph-has-caret,html.ph-has-caret *{cursor:none!important}
html.ph-has-caret input:not([type=checkbox]):not([type=radio]):not([type=submit]):not([type=button]),html.ph-has-caret textarea,html.ph-has-caret select{cursor:text!important}
.ph-caret{position:fixed;left:0;top:0;z-index:100;width:9px;height:17px;pointer-events:none;opacity:0;background:var(--ph-color-signal);box-shadow:0 0 6px #00E5FF8C,0 0 14px #00E5FF38;will-change:transform;transition:opacity .12s linear,width .12s var(--ph-motion-ease),height .12s var(--ph-motion-ease),margin .12s var(--ph-motion-ease),background .12s linear}
.ph-caret.on{opacity:.92}
.ph-caret.is-text{opacity:0}
.ph-caret.is-link{width:20px;height:20px;margin:-3px 0 0 -6px;background:transparent;border:2px solid var(--ph-color-signal)}
.ph-caret.blink{animation:ph-blink 1.06s steps(1) infinite}
@keyframes ph-blink{50%{opacity:0}}
@media (hover:hover){
 .ph-card:hover{background-image:radial-gradient(170px circle at var(--cx,50%) var(--cy,50%),#00E5FF26,transparent 70%),linear-gradient(180deg,#00E5FF0F,transparent 12%),repeating-linear-gradient(0deg,#ffffff03 0 1px,transparent 1px 3px)}
 .ph-slab:hover{background-image:radial-gradient(150px circle at var(--cx,50%) var(--cy,50%),#00E5FF22,transparent 70%)}
}

/* Quiet service and relationship sections between the hero and the stack. */
.ph-care-grid{display:grid;gap:1.75rem 3rem;margin:2.5rem 0 1.75rem}
.ph-care-item{padding-top:1.25rem;border-top:1px solid var(--ph-color-line-medium)}
.ph-care-item h3{font-size:1.3rem;margin:0 0 .65rem}
.ph-care-item p{margin:0;color:var(--ph-color-ink-2)}
.ph-plan-note{margin:1.5rem 0 .75rem;color:var(--ph-color-ink-2);font-size:.95rem}
.ph-editorial{display:grid;gap:1.5rem 4rem;align-items:start}
.ph-copy p{color:var(--ph-color-ink-2)}
.ph-copy h3{font-size:1.25rem;margin-top:1.75rem}
.ph-copy h3:first-child{margin-top:0}
.ph-agency{border-block:1px solid var(--ph-color-line-weak);background:var(--ph-color-surface)}
.ph-business-note{padding-top:1.25rem;border-top:1px solid var(--ph-color-line-medium);font-size:.95rem}
.ph-incident-result{padding:1.5rem 0 1.5rem 1.75rem;border-left:2px solid var(--ph-color-attention)}
.ph-result-number{display:block;font:600 clamp(3.5rem,8vw,6rem)/1 var(--ph-font-display);color:var(--ph-color-arcade-gold)}
.ph-incident-result p{max-width:18rem;margin:.75rem 0 0;color:var(--ph-color-ink-2)}
.ph-experience{margin-top:1.5rem;color:var(--ph-color-ink-2)}
.ph-check{padding-top:clamp(2rem,5vw,3.5rem)}
.ph-check .ph-scan{margin-top:1.75rem}
.ph-section .ph-copy>p:first-child:not(.ph-eyebrow){margin-top:0}
@media (min-width:760px){.ph-care-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ph-editorial{grid-template-columns:1fr 1fr}}
