/* ApexForm Life — shared styles for content sub-pages
   (founder, glossary, comparisons, coaching). House style matches index/paradigm/blog. */
:root{
  --black:#06070B; --navy:#0B1020; --violet-deep:#121126; --violet:#8A7CFF;
  --cyan:#4FE3FF; --gold:#F4B544; --green:#47D18C;
  --white:#F3F7FF; --slate:#A9B4CC; --slate-dim:#7A869E;
  --surface:#0F1320; --glass:rgba(255,255,255,.05);
  --border-soft:rgba(255,255,255,.10); --border-strong:rgba(255,255,255,.20);
  --bg:var(--black); --text:var(--white); --text-muted:var(--slate); --text-faint:var(--slate-dim);
  --primary:var(--cyan); --accent:var(--gold);
  --text-xs:.8125rem;--text-sm:.9375rem;--text-base:1.0625rem;--text-lg:1.375rem;
  --text-xl:clamp(1.5rem,1.2rem + 1.2vw,2rem);--text-2xl:clamp(2rem,1.4rem + 2.4vw,3rem);
  --text-3xl:clamp(2.4rem,1.5rem + 3.6vw,3.75rem);
  --space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;
  --radius-sm:.5rem;--radius-md:.75rem;--radius-lg:1rem;--radius-xl:1.5rem;--radius-full:9999px;
  --transition:240ms cubic-bezier(.16,1,.3,1);
  --content:1180px; --narrow:760px;
  --font-display:'Clash Display','Arial',sans-serif;
  --font-body:'Satoshi','Helvetica Neue',sans-serif;
  --font-serif:'Zodiak','Georgia',serif;
  --font-mono:'JetBrains Mono',ui-monospace,monospace;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;scroll-behavior:smooth;scroll-padding-top:5rem}
body{min-height:100dvh;line-height:1.7;font-family:var(--font-body);font-size:var(--text-base);color:var(--text);background-color:var(--black);background-image:linear-gradient(180deg,var(--black),var(--navy) 70%,var(--black))}
/* ambient glow: fixed layer hardened against iOS Safari grey-paint (stable GPU layer) */
body::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;transform:translateZ(0);backface-visibility:hidden;background:radial-gradient(1000px 600px at 80% -5%,rgba(79,227,255,.07),transparent 60%),radial-gradient(800px 500px at 5% 10%,rgba(138,124,255,.08),transparent 60%)}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
button{cursor:pointer;background:none;border:none;color:inherit;font:inherit}
h1,h2,h3,h4{font-family:var(--font-display);font-weight:600;line-height:1.12;letter-spacing:-.02em;text-wrap:balance}
p{text-wrap:pretty}
::selection{background:rgba(79,227,255,.25)}
:focus-visible{outline:2px solid var(--primary);outline-offset:3px;border-radius:var(--radius-sm)}
a,button{transition:color var(--transition),background var(--transition),border-color var(--transition),transform var(--transition),opacity var(--transition)}
@media (prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

/* skip link + a11y utilities */
.skip-link{position:absolute;left:1rem;top:-3rem;z-index:200;background:var(--cyan);color:#04121a;font-family:var(--font-body);font-weight:600;font-size:var(--text-sm);padding:.65rem 1.1rem;border-radius:var(--radius-full);transition:top var(--transition)}
.skip-link:focus{top:1rem}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media (forced-colors:active){.btn{border:1px solid ButtonText}:focus-visible{outline:2px solid Highlight}.skip-link{background:ButtonFace;color:ButtonText;border:1px solid ButtonText}}

.wrap{max-width:var(--content);margin-inline:auto;padding-inline:var(--space-6)}
.prose{max-width:68ch;margin-inline:auto}
.narrow{max-width:var(--narrow);margin-inline:auto}

/* header */
.header{position:sticky;top:0;z-index:60;background:rgba(6,7,11,.7);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--border-soft);transform:translateZ(0);will-change:transform;isolation:isolate}
.header.scrolled{background:rgba(6,7,11,.97);box-shadow:0 12px 32px -20px rgba(0,0,0,.65)}
/* Without backdrop blur, any translucency lets essay headings ghost through
   the sticky header while scrolling — go opaque instead. */
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.header,.header.scrolled{background:rgb(6,7,11)}}
.nav{display:flex;align-items:center;justify-content:space-between;height:4.75rem}
.brand{display:flex;align-items:center;gap:var(--space-3);font-family:var(--font-display);font-weight:600;font-size:1.0625rem}
.brand .mark{display:inline-flex;filter:drop-shadow(0 0 8px rgba(79,227,255,.5))}
.brand .sub{color:var(--violet);font-weight:500}
.back{font-size:var(--text-sm);color:var(--text-muted);display:inline-flex;align-items:center;gap:.4em}
.back:hover{color:var(--primary)}

/* eyebrow */
.eyebrow{display:inline-flex;align-items:center;gap:.6em;font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.2em;text-transform:uppercase;color:var(--primary);font-weight:500}
.eyebrow.gold{color:var(--accent)}

/* page hero */
.page-hero{padding-block:var(--space-20) var(--space-12);text-align:center}
.page-hero h1{font-size:var(--text-3xl);max-width:22ch;margin:var(--space-6) auto 0}
.page-hero .sub{color:var(--text-muted);font-size:var(--text-lg);max-width:60ch;margin:var(--space-6) auto 0;line-height:1.55}
.page-meta{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-faint);letter-spacing:.06em;margin-top:var(--space-8);display:flex;gap:var(--space-4);justify-content:center;flex-wrap:wrap}

/* generic section */
section{padding-block:clamp(var(--space-16),7vw,var(--space-24));position:relative}
.section-head{max-width:60ch}
.section-head h2{font-size:var(--text-2xl);margin-top:var(--space-3)}
.section-head p{color:var(--text-muted);font-size:var(--text-lg);margin-top:var(--space-4);line-height:1.55}

/* prose */
.prose p{color:var(--text-muted);margin-top:var(--space-6);line-height:1.75}
.prose p.lead{font-size:var(--text-lg);color:var(--text);line-height:1.6}
.prose h2{font-size:var(--text-xl);color:var(--text);margin-top:var(--space-16);scroll-margin-top:5rem}
.prose h2 .num{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--violet);font-weight:500;display:block;margin-bottom:var(--space-2);letter-spacing:.08em}
.prose h3{font-size:var(--text-lg);color:var(--text);margin-top:var(--space-10)}
.prose strong{color:var(--text);font-weight:600}
.prose ul{margin-top:var(--space-5);padding-left:1.2em;color:var(--text-muted)}
.prose li{margin-top:var(--space-2)}
.pull{font-family:var(--font-serif);font-style:italic;font-size:clamp(1.4rem,1rem + 1.6vw,2rem);line-height:1.35;color:var(--text);margin:var(--space-12) 0;padding-left:var(--space-6);border-left:2px solid var(--accent)}
.pull .grad{font-style:normal;font-family:var(--font-display);background:linear-gradient(120deg,var(--cyan),var(--gold));-webkit-background-clip:text;background-clip:text;color:transparent}

/* stage timeline (founder) */
.stage{display:grid;grid-template-columns:auto 1fr;gap:var(--space-6);padding:var(--space-6);border:1px solid var(--border-soft);border-radius:var(--radius-lg);background:var(--glass);margin-top:var(--space-5)}
.stage .n{font-family:var(--font-mono);font-size:var(--text-lg);font-weight:500;color:var(--violet);line-height:1}
.stage h3{font-size:var(--text-lg);font-weight:600;font-family:var(--font-body);margin-top:0}
.stage p{font-size:var(--text-sm);color:var(--text-muted);margin-top:var(--space-2)}
@media (max-width:560px){.stage{grid-template-columns:1fr;gap:var(--space-2)}}

/* glossary terms */
.term{padding:var(--space-6) 0;border-top:1px solid var(--border-soft);scroll-margin-top:6rem}
.term:first-of-type{border-top:0}
.term h2{font-size:var(--text-xl);color:var(--text);margin:0}
.term .pron{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-faint);letter-spacing:.08em;margin-top:var(--space-2)}
.term p{color:var(--text-muted);margin-top:var(--space-4);line-height:1.7}
.term .also{font-size:var(--text-sm);color:var(--text-faint);margin-top:var(--space-3)}
.term .also a{color:var(--primary)}

/* comparison table */
.cmp-table{width:100%;border-collapse:collapse;margin-top:var(--space-8);font-size:var(--text-sm)}
.cmp-table caption{text-align:left;color:var(--text-faint);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.06em;margin-bottom:var(--space-3)}
.cmp-table th,.cmp-table td{text-align:left;padding:var(--space-4);border-bottom:1px solid var(--border-soft);vertical-align:top}
.cmp-table thead th{color:var(--text);font-family:var(--font-display);font-weight:600;border-bottom:1px solid var(--border-strong)}
.cmp-table tbody th{color:var(--text-muted);font-family:var(--font-body);font-weight:500}
.cmp-table td{color:var(--text-muted)}
.cmp-table .yes{color:var(--green)}
.cmp-table td:first-of-type{color:var(--text)}
.cmp-wrap{overflow-x:auto}

/* faq */
.faq{margin-top:var(--space-10)}
.faq details{border:1px solid var(--border-soft);border-radius:var(--radius-md);background:var(--glass);padding:var(--space-5) var(--space-6);margin-top:var(--space-3)}
.faq summary{font-family:var(--font-display);font-weight:600;font-size:var(--text-base);cursor:pointer;list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";float:right;color:var(--primary);font-family:var(--font-mono)}
.faq details[open] summary::after{content:"–"}
.faq p{color:var(--text-muted);margin-top:var(--space-3);font-size:var(--text-sm);line-height:1.7}

/* offer ladder (coaching) */
.ladder{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-4);margin-top:var(--space-12)}
@media (max-width:900px){.ladder{grid-template-columns:repeat(2,1fr)}}
@media (max-width:520px){.ladder{grid-template-columns:1fr}}
.tier{display:flex;flex-direction:column;padding:var(--space-6);border:1px solid var(--border-soft);border-radius:var(--radius-lg);background:var(--glass)}
.tier.feature{border-color:rgba(138,124,255,.5);background:radial-gradient(400px 200px at 50% 0%,rgba(138,124,255,.12),transparent 70%),var(--glass)}
.tier .step{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.08em;color:var(--primary);text-transform:uppercase}
.tier h3{font-size:var(--text-lg);font-family:var(--font-body);font-weight:600;margin-top:var(--space-3)}
.tier .desc{font-size:var(--text-sm);color:var(--text-muted);margin-top:var(--space-2);flex:1}
.tier .price{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--accent);margin-top:var(--space-4);letter-spacing:.04em}
.tier .tier-cta{margin-top:var(--space-4);width:100%;justify-content:center;padding:.7rem 1rem;font-size:var(--text-sm)}
.tier.feature .tier-cta{background:linear-gradient(180deg,#6cebff,var(--cyan));color:#04121a;border-color:transparent}
.tier.feature .tier-cta:hover{transform:translateY(-2px)}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:var(--space-2);font-weight:500;font-size:var(--text-sm);padding:.85rem 1.5rem;border-radius:var(--radius-full);border:1px solid transparent}
.btn-primary{background:linear-gradient(180deg,#6cebff,var(--cyan));color:#04121a}
.btn-primary:hover{transform:translateY(-2px)}
.btn-ghost{border-color:var(--border-strong);color:var(--text)}
.btn-ghost:hover{border-color:var(--primary);color:var(--primary)}
.btn svg{transition:transform var(--transition)}
.btn:hover svg{transform:translateX(3px)}
.btn:active{transform:translateY(0) scale(.98)}

/* end cta */
.end{margin-top:var(--space-20);padding:var(--space-12);border:1px solid var(--border-soft);border-radius:var(--radius-xl);background:radial-gradient(600px 300px at 50% 0%,rgba(79,227,255,.1),transparent 70%),var(--glass);text-align:center}
.end h2,.end h3{font-size:var(--text-xl)}
.end p{color:var(--text-muted);margin-top:var(--space-3);max-width:50ch;margin-inline:auto}
.end .btn{margin-top:var(--space-6)}

/* footer */
.footer{border-top:1px solid var(--border-soft);padding-block:var(--space-10);margin-top:var(--space-12)}
.footer .wrap{display:flex;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap;font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-faint)}
.footer a{color:var(--text-muted)}.footer a:hover{color:var(--primary)}
.foot-nav{display:flex;gap:var(--space-5);flex-wrap:wrap}

/* ===== clean 3-zone nav (site-wide, consistent with index.html) ===== */
.nav{gap:var(--space-6)}
.brand{flex:0 0 auto}
.nav-links{display:flex;align-items:center;gap:var(--space-2);list-style:none;padding:.3rem;border:1px solid var(--border-soft);border-radius:var(--radius-full);background:var(--glass)}
.nav-links>li{position:relative}
.nav-links>li>a,.nav-links>li>button.nav-toggle{display:inline-flex;align-items:center;gap:.35rem;font-size:var(--text-sm);font-weight:500;color:var(--text-muted);white-space:nowrap;padding:.5rem .9rem;border-radius:var(--radius-full);line-height:1}
.nav-links>li>a:hover,.nav-links>li>button.nav-toggle:hover{color:var(--text);background:rgba(255,255,255,.06)}
.nav-links .nav-caret{width:.85rem;height:.85rem;transition:transform var(--transition);opacity:.7}
.nav-drop{position:absolute;top:calc(100% + .6rem);left:50%;transform:translateX(-50%) translateY(6px);min-width:13.5rem;padding:var(--space-2);background:rgba(11,16,32,.96);border:1px solid var(--border-soft);border-radius:var(--radius-lg);box-shadow:0 20px 50px -16px rgba(0,0,0,.7),0 0 0 1px rgba(79,227,255,.06);backdrop-filter:blur(18px);opacity:0;visibility:hidden;pointer-events:none;transition:opacity var(--transition),transform var(--transition),visibility var(--transition);z-index:70}
.nav-drop .dd-label{display:block;font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--text-faint);padding:.45rem .85rem .35rem}
.nav-drop a{display:flex;flex-direction:column;gap:.1rem;padding:.55rem .85rem;border-radius:var(--radius-md);color:var(--text)}
.nav-drop a span.dd-sub{font-size:var(--text-xs);color:var(--text-faint);font-weight:400}
.nav-drop a:hover{background:rgba(79,227,255,.10);color:var(--primary)}
.nav-links>li:focus-within .nav-drop,.nav-links>li.open .nav-drop{opacity:1;visibility:visible;pointer-events:auto;transform:translateX(-50%) translateY(0)}
.nav-links>li:focus-within .nav-caret,.nav-links>li.open .nav-caret{transform:rotate(180deg)}
.nav-right{display:flex;align-items:center;gap:var(--space-4);flex:0 0 auto}
.menu-btn{display:none}
@media (max-width:1024px){.nav-links{display:none}.nav-right .btn-primary{display:none}.menu-btn{display:grid;place-items:center;width:2.75rem;height:2.75rem;color:var(--text);border:1px solid var(--border-soft);border-radius:var(--radius-full)}}
.mobile-menu{position:fixed;inset:0;z-index:55;background:rgba(6,7,11,.97);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);flex-direction:column;align-items:center;justify-content:flex-start;gap:var(--space-5);padding:calc(4.75rem + var(--space-6)) var(--space-6) calc(var(--space-10) + env(safe-area-inset-bottom));overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;opacity:0;visibility:hidden;pointer-events:none;display:none;transition:opacity var(--transition),visibility var(--transition)}
.mobile-menu.open{opacity:1;visibility:visible;pointer-events:auto;display:flex}
.mobile-menu a{font-family:var(--font-display);font-size:var(--text-lg);color:var(--text)}
.mobile-menu a:hover{color:var(--primary)}
.mobile-menu .mm-label{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.16em;text-transform:uppercase;color:var(--text-faint);margin-top:var(--space-3)}
