/* ServiceProof consumer site — Listrak LIGHT look (white body + dark navy rhythm bands).
   Newsreader (display) + Manrope (body) + DM Mono (labels/code).
   Scheme: light tokens at :root; the dark navy zones (nav, #hero, .cred, .blk.cta,
   .blk.vprop, footer, .phone, .codebox) locally REMAP the same tokens, so every
   var() reference — rules here AND inline styles emitted by the page classes —
   resolves correctly in both zones. */
:root{
  --ink:#ffffff; --ink2:#eef2f7; --surface:#f7f9fc; --card:#ffffff; --card2:#f4f7fb;
  --line:#e3e8f0; --btn-line:#c9d2de; --muted:#9aa3b2; --soft:#6b7280; --body:#3b4252;
  --head:#111827; --white:#111827; /* --white = strongest text (was "brightest on dark") */
  --gold:#c08a17; --gold2:#b7791f; --teal:#2f8f8a; --teal2:#177d78; --blue:#2a8cff;
  --green:#1eea8f; --olive:#5f7434; --rust:#b0492f; --purple:#6d4fc1;
  --code-bg:#0b111d;
  --r:12px; --r2:20px; --tr:cubic-bezier(.25,.8,.25,1);
}
/* DARK NAVY ZONES — the Listrak light/dark page rhythm. Same tokens, remapped
   locally, so inline var() styles inside these zones render on navy correctly. */
nav,#hero,.cred,.blk.cta,.blk.vprop,footer,.phone,.codebox{
  --ink:#0e1523; --ink2:#111827; --surface:#16202f; --card:#1b2537; --card2:#202c42;
  --line:#2c3340; --btn-line:#2c3340; --muted:#5a6275; --soft:#8a92a6; --body:#c4cad8;
  --head:#f5f7ff; --white:#f5f7ff;
  --gold:#d9a62e; --gold2:#f7ac0b; --teal:#3eada8; --teal2:#52cdc8;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;font-size:16px;overflow-x:hidden;}
body{background:var(--ink);color:var(--body);font-family:'Manrope',sans-serif;font-weight:400;line-height:1.7;overflow-x:hidden;}
h1,h2,h3,h4{font-family:'Newsreader',Georgia,serif;font-weight:600;color:var(--head);line-height:1.14;}
.mono{font-family:'DM Mono',monospace;}
a{color:inherit;text-decoration:none;}
.wrap{max-width:1180px;margin:0 auto;padding:0 2rem;}
.accent{color:var(--teal2);}
.gold{color:var(--gold2);}

/* NAV — stays dark navy over the light body (Listrak-style) */
nav{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;
  padding:1.1rem 2.2rem;background:rgba(14,21,35,.88);backdrop-filter:blur(18px);border-bottom:1px solid var(--line);}
.nav-logo{font-family:'Newsreader',serif;font-size:1.25rem;font-weight:600;letter-spacing:.06em;color:var(--white);}
.nav-logo b{color:var(--teal2);font-weight:600;}
.nav-logo span{color:var(--soft);font-weight:300;font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;margin-left:.5rem;}
.nav-links{display:flex;gap:1.6rem;align-items:center;}
.nav-links>a:not(.btn){font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;color:var(--soft);transition:color .25s var(--tr);}
.nav-links>a:not(.btn):hover{color:var(--gold2);}
.nav-user{font-family:'DM Mono',monospace;font-size:.7rem;letter-spacing:.08em;color:var(--teal2);}
.btn{display:inline-block;font-family:'DM Mono',monospace;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;
  padding:.6rem 1.15rem;border-radius:999px;border:1px solid var(--btn-line);color:var(--body);background:none;transition:all .25s var(--tr);cursor:pointer;}
.btn:hover{border-color:var(--teal);color:var(--teal2);}
.btn-gold{background:#17d47f;color:#111827;border-color:transparent;font-weight:600;}
.btn-gold:hover{background:var(--green);color:#111827;}
.btn-teal{background:transparent;color:var(--head);border-color:var(--head);font-weight:500;}
.btn-teal:hover{background:var(--head);color:var(--ink);border-color:var(--head);}
.nav-burger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:.5rem;margin-left:auto;}
.nav-burger span{display:block;width:24px;height:2px;background:var(--body);border-radius:2px;transition:transform .25s var(--tr),opacity .25s var(--tr);}
nav.open .nav-burger span:nth-child(1){transform:translateY(7px) rotate(45deg);}
nav.open .nav-burger span:nth-child(2){opacity:0;}
nav.open .nav-burger span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
@media(max-width:900px){
  .nav-burger{display:flex;}
  .nav-links{
    position:absolute;top:100%;left:0;right:0;
    flex-direction:column;align-items:stretch;gap:0;
    background:rgba(14,21,35,.98);backdrop-filter:blur(18px);
    border-bottom:1px solid var(--line);
    padding:0 1.6rem;
    max-height:0;overflow:hidden;visibility:hidden;
    transition:max-height .32s var(--tr),padding .32s var(--tr),visibility 0s .32s;
  }
  nav.open .nav-links{max-height:85vh;overflow-y:auto;padding:.4rem 1.6rem 1.3rem;visibility:visible;transition:max-height .32s var(--tr),padding .32s var(--tr);}
  .nav-links>a:not(.btn){display:block;padding:.85rem 0;border-bottom:1px solid var(--line);font-size:.82rem;}
  .nav-user{display:block;padding:.85rem 0;}
  .nav-links .btn{margin-top:.9rem;text-align:center;justify-content:center;}
  .nav-links form{display:block;margin-top:.5rem;}
  .nav-links form .btn{width:100%;}
}

/* HERO — dark navy band over the white body */
#hero{min-height:100vh;display:grid;place-items:center;position:relative;overflow:hidden;padding:9rem 2rem 5rem;
  background:linear-gradient(180deg,#0e1523 0%,#111827 100%);}
#hero::before{content:'';position:absolute;width:720px;height:720px;top:-160px;right:-220px;border-radius:50%;
  background:radial-gradient(circle,rgba(62,173,168,.20) 0%,transparent 70%);animation:drift 15s ease-in-out infinite alternate;}
#hero::after{content:'';position:absolute;width:520px;height:520px;bottom:-80px;left:-120px;border-radius:50%;
  background:radial-gradient(circle,rgba(30,234,143,.10) 0%,transparent 70%);animation:drift 19s ease-in-out infinite alternate-reverse;}
@keyframes drift{from{transform:translate(0,0) scale(1);}to{transform:translate(40px,60px) scale(1.1);}}
.hero-inner{position:relative;z-index:2;max-width:940px;text-align:center;}
.eyebrow{display:inline-block;font-family:'DM Mono',monospace;font-size:.7rem;letter-spacing:.25em;text-transform:uppercase;
  color:var(--teal2);border:1px solid rgba(62,173,168,.35);padding:.4rem 1.1rem;border-radius:999px;margin-bottom:2rem;}
.hero-title{font-size:clamp(3rem,7.5vw,6rem);font-weight:300;letter-spacing:-.01em;color:var(--white);margin-bottom:1.4rem;}
.hero-title b{font-weight:600;}
.hero-sub{font-family:'Newsreader',serif;font-size:clamp(1.2rem,2.4vw,1.7rem);font-style:italic;color:var(--soft);max-width:760px;margin:0 auto 1.1rem;}
.hero-tag{font-family:'DM Mono',monospace;font-size:.8rem;color:var(--gold2);letter-spacing:.14em;text-transform:uppercase;margin-bottom:2.5rem;}
.hero-ctas{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;}
.hero-ctas .btn{font-size:.78rem;padding:.8rem 1.5rem;}

/* THESIS FLOW STRIP — light tint band */
.flow{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--ink2);}
.flow-inner{display:flex;align-items:center;justify-content:center;gap:1.2rem;flex-wrap:wrap;padding:2.2rem 2rem;}
.flow-node{display:flex;flex-direction:column;align-items:center;gap:.3rem;min-width:180px;}
.flow-node .k{font-family:'Newsreader',serif;font-size:1.35rem;color:var(--head);}
.flow-node .d{font-family:'DM Mono',monospace;font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;color:var(--soft);}
.flow-arrow{color:var(--gold);font-size:1.4rem;}
.flow-node.n1 .k{color:var(--white);} .flow-node.n2 .k{color:var(--teal2);} .flow-node.n3 .k{color:var(--gold2);}

/* SECTIONS */
section.blk{padding:6rem 0;position:relative;}
.section-label{font-family:'DM Mono',monospace;font-size:.66rem;letter-spacing:.26em;text-transform:uppercase;color:var(--teal2);margin-bottom:1rem;}
.section-title{font-size:clamp(2rem,4vw,2.9rem);font-weight:300;color:var(--head);margin-bottom:1.2rem;max-width:820px;}
.section-title b{font-weight:600;}
.section-body{font-size:1.06rem;color:var(--body);max-width:720px;}
.alt{background:var(--ink2);}
.two{display:grid;grid-template-columns:1fr 1fr;gap:3.5rem;align-items:center;}
@media(max-width:900px){.two{grid-template-columns:1fr;gap:2.5rem;}}

/* phone / chat mock — stays a dark artifact on any section */
.phone{justify-self:center;width:320px;max-width:100%;background:var(--card);border:1px solid var(--line);border-radius:34px;padding:1.1rem 1rem 1.4rem;box-shadow:0 24px 60px rgba(17,24,39,.28);}
.phone-top{display:flex;align-items:center;gap:.6rem;padding:.3rem .4rem 1rem;border-bottom:1px solid var(--line);margin-bottom:1rem;}
.phone-av{width:34px;height:34px;border-radius:50%;background:linear-gradient(135deg,var(--teal),var(--blue));}
.phone-name{font-family:'Manrope';font-weight:500;color:var(--head);font-size:.9rem;}
.phone-name small{display:block;color:var(--green);font-size:.62rem;font-family:'DM Mono';letter-spacing:.1em;}
.bub{max-width:82%;padding:.6rem .85rem;border-radius:16px;font-size:.82rem;line-height:1.45;margin-bottom:.55rem;}
.bub.in{background:var(--surface);color:var(--body);border-bottom-left-radius:5px;}
.bub.out{background:#204a45;color:var(--white);margin-left:auto;border-bottom-right-radius:5px;}
.bub .q{color:var(--teal2);font-family:'DM Mono';font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;display:block;margin-bottom:.2rem;}
.chips{display:flex;gap:.4rem;flex-wrap:wrap;margin:.1rem 0 .7rem;}
.chip{font-size:.68rem;font-family:'DM Mono';padding:.35rem .6rem;border:1px solid var(--teal);border-radius:999px;color:var(--teal2);}
.photo-card{background:var(--surface);border-radius:12px;overflow:hidden;margin-bottom:.55rem;max-width:82%;}
.photo-card .img{height:74px;background:linear-gradient(135deg,#2a3550,#1a2130);display:grid;place-items:center;color:var(--muted);font-size:.6rem;font-family:'DM Mono';letter-spacing:.1em;}
.photo-card .cap{padding:.4rem .6rem;font-size:.66rem;color:var(--soft);}

/* build + audience cards — white cards, soft shadow, colored top accents */
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem;}
@media(max-width:900px){.grid3{grid-template-columns:1fr;}}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:1.8rem 1.6rem;box-shadow:0 8px 24px rgba(17,24,39,.06);transition:transform .3s var(--tr),border-color .3s var(--tr);position:relative;overflow:hidden;}
.card:hover{transform:translateY(-4px);border-color:var(--teal);}
.card .tag{font-family:'DM Mono';font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold2);margin-bottom:.7rem;}
.card h3{font-size:1.45rem;margin-bottom:.6rem;}
.card p{font-size:.92rem;color:var(--body);}
.card .top{position:absolute;top:0;left:0;right:0;height:3px;background:var(--accent,var(--teal));}
.codebox{background:var(--code-bg);border:1px solid var(--line);border-radius:10px;padding:1rem 1.1rem;font-family:'DM Mono';font-size:.74rem;color:var(--body);line-height:1.7;overflow-x:auto;margin-top:1.4rem;}
.codebox .c{color:var(--muted);} .codebox .g{color:var(--teal2);} .codebox .y{color:var(--gold2);}
.aud{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem;}
@media(max-width:900px){.aud{grid-template-columns:1fr;}}
.aud .card h3{font-size:1.35rem;color:var(--white);}
.aud .who{font-family:'DM Mono';font-size:.64rem;color:var(--soft);letter-spacing:.1em;margin-bottom:1rem;text-transform:uppercase;}
.aud ul{list-style:none;margin-top:.9rem;}
.aud li{font-size:.86rem;padding:.32rem 0 .32rem 1.1rem;position:relative;color:var(--body);}
.aud li::before{content:'>';position:absolute;left:0;color:var(--teal);font-family:'DM Mono';}

/* verticals */
.tier{margin-bottom:2.4rem;}
.tier-h{display:flex;align-items:baseline;gap:1rem;margin-bottom:1.1rem;border-bottom:1px solid var(--line);padding-bottom:.6rem;flex-wrap:wrap;}
.tier-h .t{font-family:'DM Mono';font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold2);}
.tier-h .s{font-size:.82rem;color:var(--soft);}
.vgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.9rem;}
.vcard{display:block;text-decoration:none;background:var(--card);border:1px solid var(--line);border-radius:10px;padding:1rem 1.1rem;box-shadow:0 6px 18px rgba(17,24,39,.05);transition:border-color .25s var(--tr),transform .25s var(--tr);}
.vcard:hover{border-color:var(--teal);transform:translateY(-2px);}
a.vcard:hover .n{color:var(--teal2);}
.vcard .n{font-family:'Newsreader',serif;font-size:1.15rem;color:var(--head);margin-bottom:.2rem;}
.vcard .e{font-size:.78rem;color:var(--soft);line-height:1.5;}

/* diff grid */
.dgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.1rem;}
@media(max-width:900px){.dgrid{grid-template-columns:1fr 1fr;}}
@media(max-width:560px){.dgrid{grid-template-columns:1fr;}}
.diff{background:var(--card);border:1px solid var(--line);border-left:3px solid var(--accent,var(--teal));border-radius:8px;padding:1.1rem 1.2rem;box-shadow:0 6px 18px rgba(17,24,39,.05);}
.diff h4{font-size:1.05rem;font-family:'Manrope';font-weight:600;color:var(--head);margin-bottom:.35rem;}
.diff p{font-size:.82rem;color:var(--soft);line-height:1.5;}

/* CTA band — dark navy rhythm block */
.cta{text-align:center;background:linear-gradient(145deg,#0e1523,#16213a);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.cta h2{font-size:clamp(2rem,4vw,3rem);font-weight:300;color:var(--white);margin-bottom:1rem;}
.cta h2 b{font-weight:600;color:var(--teal2);}
.cta .section-body{margin-left:auto;margin-right:auto;}

/* footer — dark navy block over the white body */
footer{padding:3rem 0 4rem;background:var(--ink2);color:var(--muted);font-size:.8rem;}
.foot-row{display:flex;justify-content:space-between;flex-wrap:wrap;gap:1rem;align-items:center;}
.foot-links{display:flex;gap:1.4rem;flex-wrap:wrap;}
.foot-links a{color:var(--soft);font-size:.76rem;letter-spacing:.08em;}
.foot-links a:hover{color:var(--teal2);}

/* credibility strip (Listrak authority) — dark navy band */
.cred{background:var(--ink2);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.cred-inner{display:flex;flex-wrap:wrap;gap:2.4rem;justify-content:center;align-items:flex-start;padding:2.4rem 2rem 1rem;}
.cred-stat{text-align:center;min-width:140px;}
.cred-stat .n{font-family:'Newsreader',serif;font-size:2.2rem;color:var(--gold2);line-height:1;}
.cred-stat .l{font-family:'DM Mono',monospace;font-size:.6rem;letter-spacing:.13em;text-transform:uppercase;color:var(--soft);margin-top:.45rem;line-height:1.5;}
.cred-line{text-align:center;color:var(--soft);font-family:'Newsreader',serif;font-style:italic;font-size:1.2rem;padding:.5rem 2rem 2.4rem;max-width:880px;margin:0 auto;}

/* the arc — the method, 4 steps */
.arc{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem;margin-top:2.5rem;}
@media(max-width:900px){.arc{grid-template-columns:1fr 1fr;}}
@media(max-width:560px){.arc{grid-template-columns:1fr;}}
.step{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:1.6rem 1.4rem;position:relative;box-shadow:0 8px 24px rgba(17,24,39,.06);}
.step-num{font-family:'DM Mono',monospace;font-size:.68rem;color:var(--teal2);letter-spacing:.15em;margin-bottom:.7rem;}
.step h3{font-size:1.35rem;margin-bottom:.5rem;}
.step p{font-size:.85rem;color:var(--body);line-height:1.6;}
.step .em{color:var(--teal2);font-style:normal;}
.step.payoff{border-color:var(--gold);background:linear-gradient(160deg,#fdf3dd,#ffffff);}
.step.payoff .step-num{color:var(--gold2);}
.step.payoff h3{color:var(--gold2);}
.step.payoff .em{color:var(--gold2);}

/* value-prop band (the money line) — dark navy rhythm block */
.vprop{text-align:center;background:linear-gradient(145deg,#0e1523,#16213a);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.vprop .section-label{color:var(--gold2);}
.vprop h2{font-size:clamp(2rem,4.4vw,3.2rem);font-weight:300;color:var(--white);max-width:940px;margin:0 auto 1.1rem;}
.vprop h2 b{font-weight:600;color:var(--gold2);}
.vprop p{font-size:1.08rem;color:var(--body);max-width:700px;margin:0 auto;}

/* channels */
.chan-chips{display:flex;gap:.8rem;flex-wrap:wrap;justify-content:center;margin-top:1.8rem;}
.chan-chips .cc{font-family:'DM Mono',monospace;font-size:.8rem;letter-spacing:.08em;padding:.7rem 1.3rem;border:1px solid var(--teal);border-radius:999px;color:var(--teal2);}
.ex-tag{display:inline-block;font-family:'DM Mono',monospace;font-size:.55rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold2);border:1px solid var(--line);border-radius:999px;padding:.12rem .5rem;margin-top:.5rem;}

/* 2-up card grid */
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem;margin-top:1.8rem;}
@media(max-width:760px){.grid2{grid-template-columns:1fr;}}

/* real product screenshots — dark app shots framed to sit on white */
.shot{display:block;max-width:min(820px,100%);height:auto;border:1px solid var(--line);border-radius:14px;margin:2rem auto 1rem;box-shadow:0 12px 36px rgba(17,24,39,.14);}
.shot-phone{max-width:400px;}

/* pricing plans */
.plans{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem;margin-top:2.2rem;align-items:stretch;}
@media(max-width:900px){.plans{grid-template-columns:1fr;}}
.plan{background:var(--card);border:1px solid var(--line);border-radius:var(--r2);padding:2rem 1.9rem;display:flex;flex-direction:column;box-shadow:0 8px 24px rgba(17,24,39,.06);}
.plan.feature{border-color:var(--gold);box-shadow:0 16px 44px rgba(183,121,31,.16);}
.plan .plan-for{font-family:'DM Mono',monospace;font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;color:var(--teal2);margin-bottom:.6rem;}
.plan.feature .plan-for{color:var(--gold2);}
.plan h3{font-size:1.7rem;color:var(--head);margin-bottom:.3rem;}
.plan .price{font-family:'Newsreader',serif;font-size:3rem;line-height:1;color:var(--head);margin:.5rem 0 .1rem;}
.plan .price small{font-family:'DM Mono',monospace;font-size:.68rem;letter-spacing:.08em;color:var(--soft);}
.plan .price-sub{font-size:.84rem;color:var(--soft);margin-bottom:1.2rem;line-height:1.5;}
.plan ul{list-style:none;margin:0 0 1.5rem;padding:0;}
.plan li{font-size:.86rem;color:var(--body);padding:.42rem 0 .42rem 1.4rem;position:relative;border-bottom:1px solid var(--line);line-height:1.5;}
.plan li::before{content:'\2713';position:absolute;left:0;color:var(--teal2);}
.plan.feature li::before{color:var(--gold2);}
.plan .plan-cta{margin-top:auto;}
.plan .plan-cta .btn{width:100%;text-align:center;justify-content:center;}

/* showcase — video players + image galleries + placeholders */
.vidgrid{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem;margin-top:1.8rem;}
@media(max-width:760px){.vidgrid{grid-template-columns:1fr;}}
.vidcard{background:var(--card);border:1px solid var(--line);border-radius:14px;overflow:hidden;box-shadow:0 10px 30px rgba(17,24,39,.10);}
.vidcard video{display:block;width:100%;background:#000;max-height:520px;}
.vidcard .vcap{padding:.8rem 1.1rem;}
.vidcard .vcap h4{font-size:1rem;font-family:'Manrope';font-weight:600;color:var(--head);}
.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:1rem;margin-top:1.8rem;}
.gallery a{display:block;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--card);box-shadow:0 4px 14px rgba(17,24,39,.05);transition:border-color .2s var(--tr),transform .2s var(--tr);}
.gallery a:hover{border-color:var(--teal);transform:translateY(-3px);}
.gallery img{display:block;width:100%;height:180px;object-fit:cover;object-position:top center;background:#0e1523;}
.gallery .cap{padding:.5rem .7rem;font-family:'DM Mono',monospace;font-size:.66rem;letter-spacing:.02em;color:var(--soft);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.phgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:1rem;margin-top:1.8rem;}
.ph{border:1px dashed var(--line);border-radius:12px;padding:2rem 1.2rem;text-align:center;min-height:180px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.45rem;background:rgba(17,24,39,.02);}
.ph .ph-ic{font-size:1.7rem;opacity:.45;color:var(--soft);}
.ph .ph-t{font-family:'Manrope';font-weight:600;color:var(--soft);font-size:.95rem;}
.ph .ph-s{font-family:'DM Mono',monospace;font-size:.58rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);}

/* interior page head */
.page-head{padding-top:8rem;text-align:center;}
.page-head .section-label{justify-content:center;}
.page-head .hero-sub{margin-left:auto;margin-right:auto;}

/* framed diagrams (reused DevPortal SVGs — authored on dark, keep the navy frame) */
.diagram{display:block;max-width:100%;width:100%;border:1px solid var(--line);border-radius:14px;background:#0e1523;padding:1.2rem;margin:2.4rem auto 1rem;box-shadow:0 12px 36px rgba(17,24,39,.12);}
.diagram-cap{text-align:center;font-family:'DM Mono',monospace;font-size:.64rem;letter-spacing:.12em;text-transform:uppercase;color:var(--soft);margin:0 auto 2rem;}

/* action-pack cards */
.packgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.1rem;margin-top:1.8rem;}
@media(max-width:900px){.packgrid{grid-template-columns:1fr 1fr;}}
@media(max-width:560px){.packgrid{grid-template-columns:1fr;}}
.pack{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:1.4rem 1.5rem;box-shadow:0 6px 18px rgba(17,24,39,.05);transition:border-color .25s,transform .25s;}
.pack:hover{border-color:var(--teal);transform:translateY(-3px);}
.pack.ai{border-color:rgba(183,121,31,.45);background:linear-gradient(160deg,#fdf6e6,#ffffff);}
.pack.ai:hover{border-color:var(--gold);}
.pack h4{font-size:1.12rem;font-family:'Manrope';font-weight:600;color:var(--head);margin-bottom:.45rem;display:flex;align-items:center;gap:.55rem;flex-wrap:wrap;}
.pack p{font-size:.85rem;color:var(--body);line-height:1.55;}
.pack .badge{font-family:'DM Mono',monospace;font-size:.52rem;letter-spacing:.1em;text-transform:uppercase;padding:.14rem .5rem;border-radius:999px;border:1px solid var(--teal);color:var(--teal2);}
.pack .badge.aib{border-color:var(--gold);color:var(--gold2);}

/* ── LOGIN (gated-content sign-in) ── */
.login-section{min-height:calc(100vh - 70px);display:grid;place-items:center;padding:6rem 1.5rem 4rem;position:relative;overflow:hidden;}
.login-section::before{content:'';position:absolute;width:600px;height:600px;top:-100px;right:-200px;border-radius:50%;background:radial-gradient(circle,rgba(47,143,138,.10) 0%,transparent 70%);animation:drift 14s ease-in-out infinite alternate;pointer-events:none;}
.login-section::after{content:'';position:absolute;width:400px;height:400px;bottom:-100px;left:-100px;border-radius:50%;background:radial-gradient(circle,rgba(192,138,23,.07) 0%,transparent 70%);animation:drift 18s ease-in-out infinite alternate-reverse;pointer-events:none;}
.login-card{position:relative;z-index:1;width:100%;max-width:440px;background:var(--card);border:1px solid var(--line);border-radius:var(--r2);padding:2.5rem 2.5rem 2rem;box-shadow:0 20px 60px rgba(17,24,39,.10);}
.login-emblem{display:flex;align-items:center;gap:.6rem;margin-bottom:1.5rem;}
.login-dot{display:inline-block;width:10px;height:10px;border-radius:50%;background:var(--gold);box-shadow:0 0 10px rgba(192,138,23,.5);}
.login-emblem-label{font-family:'DM Mono',monospace;font-size:.65rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold2);}
.login-card h1{font-family:'Newsreader',serif;font-weight:600;font-size:2rem;color:var(--head);line-height:1.15;margin-bottom:.75rem;}
.login-sub{color:var(--soft);font-size:.9rem;line-height:1.6;margin-bottom:1.75rem;}
.login-field{display:block;margin-bottom:1.1rem;}
.login-field span{display:block;font-family:'DM Mono',monospace;font-size:.65rem;letter-spacing:.18em;text-transform:uppercase;color:var(--soft);margin-bottom:.4rem;}
.login-field input{width:100%;padding:.7rem .9rem;background:var(--ink2);border:1px solid var(--line);border-radius:8px;color:var(--head);font-family:'DM Mono',monospace;font-size:.92rem;transition:border-color .2s var(--tr);}
.login-field input:focus{outline:none;border-color:var(--teal);box-shadow:0 0 0 3px rgba(47,143,138,.15);}
.login-btn{width:100%;margin-top:.5rem;padding:.9rem 1.4rem;justify-content:center;font-size:.82rem;text-align:center;}
.login-error{background:rgba(176,73,47,.08);color:var(--rust);border:1px solid rgba(176,73,47,.35);padding:.65rem .9rem;border-radius:8px;font-size:.85rem;margin-bottom:1rem;}
.login-hint{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--line);font-size:.75rem;color:var(--muted);line-height:1.6;}
.login-divider{display:flex;align-items:center;gap:.85rem;margin:1.75rem 0 1.1rem;font-family:'DM Mono',monospace;font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);}
.login-divider::before,.login-divider::after{content:'';flex:1;height:1px;background:var(--line);}
.login-request-cta{display:flex;flex-direction:column;align-items:center;gap:.15rem;padding:1rem 1.25rem;background:rgba(47,143,138,.05);border:1px solid rgba(47,143,138,.30);border-radius:12px;text-decoration:none;transition:all .25s var(--tr);}
.login-request-cta:hover{background:rgba(47,143,138,.10);border-color:var(--teal);transform:translateY(-1px);box-shadow:0 10px 24px rgba(47,143,138,.15);}
.login-request-cta svg{color:var(--teal2);margin-bottom:.25rem;}
.login-request-cta:hover svg{color:var(--gold2);}
.login-request-label{font-family:'Newsreader',serif;font-size:1.15rem;font-style:italic;color:var(--head);line-height:1;}
.login-request-sub{font-family:'DM Mono',monospace;font-size:.65rem;letter-spacing:.12em;color:var(--soft);margin-top:.15rem;}

/* ── Listrak footer legal bar ─────────────────────────────── */
.foot-legalbar{display:flex;justify-content:space-between;align-items:center;gap:1.5rem;flex-wrap:wrap;margin-top:1.8rem;padding-top:1.6rem;border-top:1px solid var(--line);}
.foot-brandline{display:flex;align-items:center;gap:1.4rem;}
.foot-lklogo{height:20px;width:auto;display:block;opacity:.92;}
.foot-socials{display:inline-flex;gap:1rem;align-items:center;}
.foot-socials a{color:var(--soft);display:inline-flex;}
.foot-socials a:hover{color:var(--head);}
.foot-socials svg{width:16px;height:16px;}
.foot-legal{display:flex;gap:1.4rem;flex-wrap:wrap;}
.foot-legal a{color:var(--soft);text-decoration:none;font-size:.78rem;}
.foot-legal a:hover{color:var(--head);}
@media (max-width:760px){.foot-legalbar{flex-direction:column;align-items:flex-start;}}

/* ── Mobile fit hardening (Kirk 07-28: pages ran wider than the phone) ── */
html,body{max-width:100%;overflow-x:hidden;}
.two>*,.grid2>*,.grid3>*,.aud>*,.dgrid>*,.vgrid>*,.plans>*,.arc>*{min-width:0;}
img,video{max-width:100%;height:auto;}
.hero-title,.section-title,h1,h2,h3{overflow-wrap:break-word;}
.codebox{max-width:100%;}

/* Mid-size nav: drop the "by Listrak" tag before the bar crowds (Kirk 07-28) */
@media(max-width:1180px){ .nav-logo span{display:none;} }

/* Active-page nav highlight (Kirk 07-28) */
.nav-links>a.nav-active:not(.btn){color:var(--gold2);}
