/* ==========================================================================
   NEXT RANK CAREERS  |  site stylesheet
   Brand pink #DA1884 (Pantone 219 C), approved Sept 22, 2026.
   Retired values, never use: #E0218A, #E3186E, #FF2D82, #FF1F7A, #A0175A.
   Hero light effects use the brand pink too (Sept 24, 2026): rgba(218,24,132)
   plus lighter tints of the same hue. Dimmed pink for shadows: #99115D.
   ========================================================================== */

:root{
  --black:#000;
  --panel:#0e0e0e;
  --line:#262626;
  --ink:#f4f1ea;          /* bone white, body text on dark */
  --bright:#ffffff;
  --dim:#a1a1aa;
  --faint:#71717a;
  --pink:#da1884;         /* brand. Pantone 219 C */
  --pink-tint:#da1884;    /* all pink text uses the brand pink, per Lindsay Sept 24 */
  --pink-deep:#b3146c;    /* button hover */
  --serif:Didot,"Didot LT STD","Bodoni 72","Bodoni MT",Georgia,serif;
  --sans:"Helvetica Neue",Helvetica,Arial,sans-serif;
  --wrap:1180px;
  --hero-max:1600px;      /* never raise: the art is only sharp up to 1600px at 2x */
}

*{box-sizing:border-box;margin:0;padding:0}
html{background:#000;color-scheme:dark;scroll-behavior:smooth}
body{
  background:#000;color:var(--ink);font-family:var(--sans);
  font-size:1.0625rem;line-height:1.65;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden;
}
img{max-width:100%;display:block}
a{color:var(--pink-tint)}
a:hover{color:var(--bright)}
:focus-visible{outline:2px solid var(--pink);outline-offset:3px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-999px;top:0;background:var(--pink);color:#fff;padding:.6rem 1rem;z-index:50}
.skip:focus{left:1rem;top:1rem}
.wrap{width:100%;max-width:var(--wrap);margin-inline:auto;padding-inline:clamp(1rem,4vw,2.5rem)}

/* --- header -------------------------------------------------------------- */
.site-head{
  position:sticky;top:env(safe-area-inset-top,0px);z-index:40;background:rgba(0,0,0,.88);
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  border-bottom:1px solid #151515;
}
.site-head .wrap{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:68px}
.brand{text-decoration:none;color:var(--bright);line-height:1;display:grid;gap:.2rem}
.brand b{font-family:var(--serif);font-weight:500;font-size:1.3rem;letter-spacing:.2em}
.brand span{font-size:.62rem;letter-spacing:.42em;text-transform:uppercase;color:var(--pink-tint)}
.nav{display:flex;align-items:center;gap:clamp(.9rem,2vw,1.8rem)}
.nav a{color:var(--ink);text-decoration:none;font-size:.82rem;letter-spacing:.14em;text-transform:uppercase;padding:.3rem 0;border-bottom:1px solid transparent}
.nav a:hover,.nav a[aria-current="page"]{color:var(--bright);border-color:var(--pink)}
.nav a.btn{border:0;padding:.62rem 1.05rem}
.menu-btn{display:none;background:none;border:1px solid var(--line);color:var(--ink);
  font:inherit;font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;padding:.5rem .8rem;cursor:pointer}
@media (max-width:1000px){
  .menu-btn{display:block}
  .nav{display:none;position:absolute;left:0;right:0;top:100%;flex-direction:column;align-items:stretch;
       gap:0;background:#000;border-bottom:1px solid var(--line);padding:.5rem clamp(1rem,4vw,2.5rem) 1rem}
  .nav.open{display:flex}
  .nav a{padding:.85rem 0;border-bottom:1px solid #151515;font-size:.9rem}
  .nav a.btn{margin-top:.8rem;text-align:center;padding:.85rem 1rem}
}

/* --- buttons ------------------------------------------------------------- */
.btn{
  display:inline-block;background:var(--pink);color:#fff !important;text-decoration:none;
  font-size:.85rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;
  padding:.95rem 1.5rem;border:1px solid var(--pink);transition:background .2s ease,border-color .2s ease;
  cursor:pointer;font-family:var(--sans);
}
.btn:hover{background:var(--pink-deep);border-color:var(--pink-deep)}
.btn.ghost{background:transparent;color:var(--ink) !important;border-color:#3f3f46}
.btn.ghost:hover{border-color:var(--pink);color:#fff !important;background:transparent}
.btn-row{display:flex;flex-wrap:wrap;gap:.8rem;justify-content:center}

/* --- type ---------------------------------------------------------------- */
.eyebrow{font-size:.72rem;letter-spacing:.34em;text-transform:uppercase;color:var(--pink-tint);margin-bottom:.9rem;display:block}
h1,h2,h3{font-family:var(--serif);font-weight:500;color:var(--bright);line-height:1.12}
h1{font-size:clamp(2.2rem,5.6vw,3.9rem)}
h2{font-size:clamp(1.8rem,4vw,2.8rem)}
h3{font-size:clamp(1.25rem,2.2vw,1.5rem)}
h1 em,h2 em{font-style:italic;color:var(--pink-tint)}
.lede{font-size:clamp(1.05rem,1.8vw,1.22rem);color:var(--ink);max-width:44rem}
.muted{color:var(--dim)}
.center{text-align:center}
.center .lede{margin-inline:auto}

/* --- sections ------------------------------------------------------------ */
section{padding:clamp(3.5rem,8vw,6.5rem) 0}
section + section{border-top:1px solid #141414}
.head{max-width:48rem;margin-bottom:clamp(2rem,4vw,3rem)}
.head.center{margin-inline:auto}
.head p{margin-top:1rem}
.page-hero{padding:clamp(3.5rem,9vw,7rem) 0 clamp(2.5rem,6vw,4.5rem);text-align:center;
  background:radial-gradient(ellipse 60% 80% at 50% 0%,rgba(218,24,132,.16),transparent 70%)}
.page-hero .lede{margin:1.2rem auto 0}

/* --- cards and grids ----------------------------------------------------- */
.grid{display:grid;gap:clamp(1rem,2vw,1.4rem)}
.g2{grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr))}
.g3{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr))}
.g4{grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr))}
.card{background:var(--panel);border:1px solid var(--line);padding:clamp(1.3rem,2.6vw,1.9rem);
  transition:border-color .2s ease}
.card:hover{border-color:#3f3f46}
.card h3{margin-bottom:.6rem}
.card p + p{margin-top:.7rem}
.num{font-family:var(--serif);font-size:1.9rem;color:var(--pink);line-height:1;display:block;margin-bottom:.8rem}
.tag{display:inline-block;font-size:.68rem;letter-spacing:.22em;text-transform:uppercase;color:var(--pink-tint);margin-bottom:.7rem}
.tag.solid{background:var(--pink);color:#fff;padding:.28rem .6rem;letter-spacing:.18em}

/* --- packages ------------------------------------------------------------ */
.pkgs{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr))}
@media (min-width:1100px){.pkgs{grid-template-columns:repeat(5,1fr)}}
.pkg{background:var(--panel);border:1px solid var(--line);padding:1.5rem 1.3rem;display:flex;flex-direction:column;position:relative}
.pkg.feature{border-color:var(--pink);box-shadow:0 0 0 1px var(--pink) inset,0 0 38px rgba(218,24,132,.16)}
.pkg h3{font-size:1.35rem}
.pkg .tag.solid{position:absolute;top:-.75rem;left:1.3rem;margin:0}
.pkg .for{font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--dim);margin:.2rem 0 .9rem}
.pkg p{font-size:.97rem}
.price{margin-top:auto;padding-top:1.1rem;border-top:1px solid var(--line)}
.price strong{font-family:var(--serif);font-weight:500;font-size:2.1rem;color:var(--bright);display:block;line-height:1.1}
.price small{display:block;font-size:.82rem;color:var(--pink-tint);margin-top:.3rem}
.pkg ul{list-style:none;margin:.9rem 0 1.1rem;display:grid;gap:.45rem}
.pkg li{font-size:.93rem;padding-left:1.1rem;position:relative}
.pkg li::before{content:"";position:absolute;left:0;top:.62em;width:.45rem;height:1px;background:var(--pink)}
.note{margin-top:1.4rem;color:var(--dim);font-size:.95rem}

/* --- discount band ------------------------------------------------------- */
.band{border:1px solid var(--pink);background:linear-gradient(90deg,rgba(218,24,132,.14),rgba(218,24,132,.04));
  padding:1.3rem 1.5rem;display:flex;flex-wrap:wrap;gap:.6rem 1.4rem;align-items:center;justify-content:space-between}
.band strong{font-family:var(--serif);font-weight:500;font-size:1.5rem;color:#fff}
.band p{max-width:44rem}

/* --- tables -------------------------------------------------------------- */
.table-wrap{overflow-x:auto;border:1px solid var(--line)}
table{width:100%;border-collapse:collapse;font-size:.97rem;min-width:520px}
th,td{text-align:left;padding:.9rem 1.1rem;border-bottom:1px solid var(--line);vertical-align:top}
th{font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--pink-tint);font-weight:600;background:#0a0a0a}
tr:last-child td{border-bottom:0}
td:not(:first-child){white-space:nowrap}

/* --- split (story) ------------------------------------------------------- */
.split{display:grid;grid-template-columns:1.25fr .9fr;gap:clamp(1.5rem,4vw,3.5rem);align-items:start}
@media (max-width:860px){.split{grid-template-columns:1fr}}
.prose p + p{margin-top:1rem}
.founder{background:var(--panel);border:1px solid var(--line);border-top:2px solid var(--pink);padding:1.6rem}
.founder .role{font-size:.72rem;letter-spacing:.26em;text-transform:uppercase;color:var(--pink-tint)}
.founder h3{margin:.4rem 0 .7rem;font-size:1.7rem}
.quote{font-family:var(--serif);font-style:italic;font-size:1.25rem;color:#fff;margin-top:1rem}

/* --- steps --------------------------------------------------------------- */
.steps{counter-reset:s;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr))}
.step{border-top:1px solid var(--pink);padding-top:1.1rem}
.step h3{font-size:1.2rem;margin-bottom:.4rem}
.step h3::before{counter-increment:s;content:"0" counter(s);display:block;font-size:.8rem;
  letter-spacing:.3em;color:var(--pink-tint);font-family:var(--sans);margin-bottom:.5rem}

/* --- faq ----------------------------------------------------------------- */
details{border-bottom:1px solid var(--line);padding:1.1rem 0}
details:first-of-type{border-top:1px solid var(--line)}
summary{cursor:pointer;font-family:var(--serif);font-size:1.2rem;color:#fff;list-style:none;display:flex;justify-content:space-between;gap:1rem}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";color:var(--pink);font-family:var(--sans)}
details[open] summary::after{content:"\2212"}
details p{margin-top:.7rem;color:var(--ink);max-width:48rem}

/* --- cta ----------------------------------------------------------------- */
.cta{text-align:center;background:radial-gradient(ellipse 55% 90% at 50% 100%,rgba(218,24,132,.2),transparent 72%)}
.cta .lede{margin:1.1rem auto 2rem}

/* --- forms --------------------------------------------------------------- */
form{display:grid;gap:1.1rem}
.row2{display:grid;gap:1.1rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr))}
label{display:grid;gap:.4rem;font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;color:var(--dim)}
input,select,textarea{
  font:inherit;font-size:1rem;letter-spacing:0;text-transform:none;color:var(--bright);background:#0a0a0a;
  border:1px solid #333;padding:.8rem .9rem;border-radius:0;width:100%;
}
textarea{min-height:140px;resize:vertical}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--pink);box-shadow:0 0 0 1px var(--pink)}
.check{display:flex;gap:.7rem;align-items:flex-start;text-transform:none;letter-spacing:0;font-size:.95rem;color:var(--ink)}
.check input{width:auto;margin-top:.3rem;accent-color:var(--pink)}
.form-note{font-size:.9rem;color:var(--dim)}
.sent{display:none;border:1px solid var(--pink);padding:1.4rem;background:rgba(218,24,132,.08)}
.sent.show{display:block}
.req{color:var(--pink-tint)}

/* --- contact tiles ------------------------------------------------------- */
.tile{background:var(--panel);border:1px solid var(--line);padding:1.3rem}
.tile .tag{margin-bottom:.4rem}
.tile a{color:#fff;text-decoration:none;word-break:break-word}
.tile a:hover{color:var(--pink-tint)}

/* --- legal --------------------------------------------------------------- */
.legal{max-width:52rem}
.legal h2{font-size:1.5rem;margin:2.4rem 0 .8rem}
.legal h3{font-size:1.15rem;margin:1.4rem 0 .5rem}
.legal p + p{margin-top:.9rem}
.legal ul{margin:.8rem 0 .8rem 1.2rem;display:grid;gap:.45rem}
.legal .summary{border-left:2px solid var(--pink);padding:1rem 1.3rem;background:var(--panel)}
.updated{color:var(--dim);font-size:.95rem;margin-top:1rem}

/* --- footer -------------------------------------------------------------- */
.site-foot{border-top:1px solid #1a1a1a;padding:3rem 0 2rem;font-size:.93rem}
.foot-grid{display:grid;gap:2rem;grid-template-columns:1.4fr 1fr 1fr}
@media (max-width:760px){.foot-grid{grid-template-columns:1fr}}
.site-foot h4{font-size:.72rem;letter-spacing:.26em;text-transform:uppercase;color:var(--pink-tint);margin-bottom:.8rem;font-weight:600}
.site-foot ul{list-style:none;display:grid;gap:.45rem}
.site-foot a{color:var(--ink);text-decoration:none}
.site-foot a:hover{color:#fff}
.foot-base{margin-top:2.4rem;padding-top:1.4rem;border-top:1px solid #151515;display:flex;flex-wrap:wrap;
  justify-content:space-between;gap:.8rem;color:var(--faint);font-size:.82rem}
.values-line{letter-spacing:.2em;text-transform:uppercase;font-size:.72rem}
.values-line b{color:var(--pink-tint);font-weight:600}

/* ==========================================================================
   HOME HERO. Carried over from the live coming-soon page (v5), rules intact:
   pure black behind the art, never upscale, small type is live text on
   phones, no visible image edge, glows placed on measured coordinates.
   ========================================================================== */
.hero{overflow-x:clip;padding:clamp(.8rem,2.4vh,2rem) clamp(1rem,4vw,3rem) clamp(2.5rem,6vh,4rem);border:0}
.hero-copy{text-align:center;position:relative;z-index:4;margin-top:clamp(.4rem,1.5vh,1rem)}
.hero-copy h1{font-size:clamp(1.9rem,4.4vw,3.2rem)}
.hero-copy .lede{margin:1rem auto 1.8rem;max-width:40rem}

/* --- Sept 24 additions: tracks, job cards, memberships, report form ----- */
.pkgs.three{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr))}
@media (min-width:1100px){.pkgs.three{grid-template-columns:repeat(3,1fr)}}
.tracks{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr))}
.track{display:block;text-decoration:none;color:var(--ink);background:var(--panel);border:1px solid var(--line);padding:1.6rem;transition:border-color .2s ease}
.track:hover{border-color:var(--pink);color:var(--ink)}
.track h3{margin:.2rem 0 .6rem}
.track .go{display:inline-block;margin-top:1rem;font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;color:var(--pink-tint)}
.band.deploy{border-color:#3f3f46;background:var(--panel)}
.band b{color:#fff;font-weight:600}
.creds{list-style:none;display:grid;gap:.45rem;margin-top:1rem}
.creds li{padding-left:1.1rem;position:relative;font-size:.95rem}
.creds li::before{content:"";position:absolute;left:0;top:.7em;width:.45rem;height:1px;background:var(--pink)}
.creds.big li{font-size:1rem}
fieldset{border:1px solid var(--line);padding:1.3rem;display:grid;gap:1.1rem;margin:0}
legend{font-family:var(--serif);font-size:1.2rem;color:#fff;padding:0 .5rem}
.stars{color:var(--pink);letter-spacing:.15em}
.who{color:var(--dim);font-size:.9rem;margin-top:.8rem}

/* home hero intro: serif to match the headline, one thought per line */
.hero-lede{font-family:var(--serif);font-size:clamp(1.15rem,2.1vw,1.5rem);line-height:1.5;color:var(--ink);
  max-width:52rem;margin:1.1rem auto 1.9rem;text-wrap:balance}
.hero-lede span,.hero-lede em{display:block}
.hero-lede .gap{margin-top:.7rem}
.hero-lede em{color:var(--pink-tint)}

/* line breaking: no lone last word, balanced headings */
p,li,summary,td,label,small,.lede{text-wrap:pretty}
h1,h2,h3,legend,.eyebrow,.hero-lede span,.hero-lede em{text-wrap:balance}

/* service members and first responders: the reason this started */
.serve{background:radial-gradient(ellipse 70% 90% at 15% 0%,rgba(218,24,132,.22),transparent 70%),#050505;
  border-top:1px solid var(--pink)!important;border-bottom:1px solid var(--pink)}
.serve-head{font-size:clamp(2rem,5vw,3.6rem);line-height:1.08;margin-top:.2rem}
.serve-head em{color:var(--pink);font-style:italic}
.serve-sub{font-size:clamp(1.05rem,1.8vw,1.25rem);max-width:44rem;margin-top:1rem;color:var(--bright)}
.serve-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:1rem;margin-top:2.2rem;max-width:44rem}
.serve-grid div{border:1px solid var(--line);background:var(--panel);padding:1.1rem 1.3rem;display:grid;gap:.2rem}
.serve-grid strong{font-family:var(--serif);font-weight:500;font-size:2.2rem;color:#fff;line-height:1}
.serve-grid span{font-size:.78rem;letter-spacing:.2em;text-transform:uppercase;color:var(--pink-tint)}
.serve-who{margin-top:1.4rem;max-width:52rem}
.serve-who b{color:#fff}
.serve-why{margin-top:1.2rem;max-width:52rem;font-family:var(--serif);font-style:italic;font-size:1.15rem;color:var(--ink)}

/* ---- Sept 29, 2026 rebuild: one track, four levels, new pages ---- */
.hero-promise{font-family:var(--serif);font-size:clamp(1.25rem,2.4vw,1.7rem);line-height:1.4;color:var(--bright);margin-top:1rem;text-wrap:balance}
.hero-sub{color:var(--dim);margin-top:.5rem;font-size:clamp(1rem,1.6vw,1.15rem);text-wrap:balance}
.hero-card .btn-row{margin-top:1.6rem}
.launch{padding-block:1.3rem;border-top:1px solid var(--pink);border-bottom:1px solid var(--pink);background:linear-gradient(90deg,rgba(218,24,132,.14),rgba(218,24,132,.04))}
.launch p{text-align:center;max-width:52rem;margin-inline:auto}
.launch b{color:#fff}
.tracks.four{grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr))}
@media (min-width:1100px){.pkgs{grid-template-columns:repeat(4,1fr)}}
.lvl-prices{list-style:none;margin:auto 0 0 !important;padding-top:1rem;border-top:1px solid var(--line);display:grid;gap:.35rem !important}
.lvl-prices li{display:flex;justify-content:space-between;align-items:baseline;padding-left:0 !important;font-size:.95rem}
.lvl-prices li::before{display:none}
.lvl-prices b{font-family:var(--serif);font-weight:500;font-size:1.35rem;color:var(--bright)}
.levels{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));margin-bottom:1.2rem}
.level{background:var(--panel);border:1px solid var(--line);border-top:2px solid var(--pink);padding:1.2rem}
.level strong{font-family:var(--serif);font-weight:500;font-size:1.4rem;color:#fff;display:block;margin-bottom:.3rem}
.level p{font-size:.95rem}
table.addons td:not(:first-child),table.addons th:not(:first-child){white-space:nowrap;text-align:center}
table.addons td[colspan]{white-space:normal}
.photo{width:100%;height:auto;aspect-ratio:2/3;object-fit:cover;margin-bottom:1.2rem;border:1px solid var(--line)}
.founder .photo{max-width:320px}
.band{display:grid;gap:.6rem;justify-items:start;margin-top:2rem}
.calc{background:var(--panel);border:1px solid var(--line);border-top:2px solid var(--pink);padding:clamp(1rem,3vw,1.6rem);display:grid;gap:1.2rem;grid-template-columns:minmax(0,1fr)}
@media (min-width:900px){.calc{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)}.calc-note{grid-column:1/-1}}
.calc fieldset{border:0;padding:0;margin:0;min-width:0}
.calc>*{min-width:0}
.calc-out{align-self:start;display:grid;gap:.8rem;grid-template-columns:minmax(0,1fr)}
.calc-print b{color:#fff;font-size:1.2rem}
.calc-table{width:100%;border-collapse:collapse;min-width:0}
.calc-table th,.calc-table td{padding:.5rem .4rem;border-bottom:1px solid var(--line);text-align:left;font-size:.95rem}
.calc-table td:not(:first-child),.calc-table th:not(:first-child){text-align:right}
.calc-flag{border:1px solid var(--pink);padding:.8rem 1rem;background:rgba(218,24,132,.08)}
.calc-note{font-size:.85rem;color:var(--dim)}
.nav a{white-space:nowrap}
@media (max-width:640px){
  .table-wrap table{min-width:0}
  .table-wrap thead{display:none}
  .table-wrap tr{display:block;border-bottom:1px solid var(--line);padding:.9rem 1rem}
  .table-wrap tr:last-child{border-bottom:0}
  .table-wrap td{display:inline-block;border:0;padding:.25rem 1.1rem .1rem 0;white-space:normal !important;text-align:left !important}
  .table-wrap td:first-child{display:block;padding-bottom:.35rem}
  .table-wrap td[data-label]::before{content:attr(data-label) " ";color:var(--dim);font-size:.8rem;margin-right:.25rem}
  .table-wrap td:not(:first-child){color:var(--bright);font-weight:600}
}

/* --- Sept 30, 2026 (Lindsay): services refinements ----------------------------------------- */
/* intro and supporting lines in the elegant serif everywhere (the plain sans read as boring) */
.lede,.hero-sub{font-family:var(--serif);font-size:clamp(1.12rem,1.9vw,1.32rem);line-height:1.5;letter-spacing:.005em}
.hero-sub{color:#cfcfcf}
/* page jump buttons: thin pink line, all the same size */
.jumps{display:grid;grid-template-columns:repeat(3,minmax(0,11.5rem));justify-content:center;gap:.9rem;margin-top:1.9rem}
.jumps a{display:flex;align-items:center;justify-content:center;text-align:center;min-height:4.1rem;padding:.6rem 1rem;
  border:1px solid var(--pink);color:#fff;text-decoration:none;font-size:.8rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;line-height:1.45;
  background:linear-gradient(180deg,rgba(218,24,132,.1),rgba(218,24,132,0));transition:background .5s cubic-bezier(.22,1,.36,1),box-shadow .5s cubic-bezier(.22,1,.36,1)}
.jumps a:hover{background:var(--pink);box-shadow:0 10px 30px -12px var(--pink)}
@media (max-width:560px){.jumps{grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem}.jumps a{font-size:.66rem;letter-spacing:.12em;padding:.5rem .4rem;min-height:3.8rem}}
/* levels: clickable, highlight that level's prices in every package */
a.level{display:flex;flex-direction:column;text-decoration:none;color:var(--ink);cursor:pointer;
  transition:border-color .5s cubic-bezier(.22,1,.36,1),background .5s cubic-bezier(.22,1,.36,1),transform .5s cubic-bezier(.22,1,.36,1)}
a.level p{font-family:var(--serif);font-size:1.06rem;line-height:1.5;color:#e8e8e8;margin-bottom:.8rem}
a.level small{display:block;color:var(--dim);font-size:.82rem;margin:auto 0 .9rem}
a.level .see{font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--pink)}
a.level .see::after{content:" \203A"}
a.level:hover,a.level.on{border-color:var(--pink);background:linear-gradient(180deg,rgba(218,24,132,.12),rgba(218,24,132,0) 70%),var(--panel);transform:translateY(-3px)}
#packages.lvl-pick .lvl-prices li{opacity:.4;transition:opacity .5s ease}
#packages.lvl-pick .lvl-prices li.on{opacity:1;color:var(--pink)}
#packages.lvl-pick .lvl-prices li.on b{color:var(--pink)}
/* extra-job fees: question in pink, answer in white */
details.jobfee summary{color:var(--pink)}
details.jobfee p,details.jobfee li{color:#fff}

/* --- Header A (Lindsay, Oct 2, 2026): chevron mark, pink divider, ombre name, hairlines between links, metallic button --- */
.hbrand{display:flex;align-items:center;gap:.8rem}
.hmark{width:32px;height:auto;flex:none}
.hdiv{width:1px;height:34px;flex:none;background:linear-gradient(rgba(218,24,132,0),#da1884,rgba(218,24,132,0))}
.hname{display:grid;gap:.34rem;line-height:1;white-space:nowrap}
.hname b{font-family:"Cinzel",var(--serif);font-weight:600;font-size:1.18rem;letter-spacing:.14em;
  background:linear-gradient(180deg,#da1884 0%,#b3146c 45%,#6a0b3e 100%);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
.hname span{font-family:"Cinzel",var(--serif);font-weight:600;font-size:.6rem;letter-spacing:.66em;text-transform:uppercase;color:#bdbdbd}
.site-head .nav a{position:relative}
.hcta{position:relative;overflow:hidden;display:inline-flex !important;align-items:center;gap:.6rem;
  background:linear-gradient(180deg,#da1884,#b3146c 55%,#7e0e4a) !important;border:0 !important;box-shadow:0 8px 24px -10px #da1884}
.hcta svg{width:9px;height:7px;transition:transform .6s cubic-bezier(.22,1,.36,1)}
.hcta:hover svg{transform:translateY(-3px)}
.hcta::before{content:"";position:absolute;top:0;bottom:0;width:40%;left:-60%;background:linear-gradient(105deg,transparent,rgba(255,255,255,.5),transparent);transform:skewX(-20deg);animation:hctash 6s cubic-bezier(.65,0,.35,1) 1.5s infinite}
@keyframes hctash{0%{left:-60%}22%,100%{left:130%}}
@media (min-width:1181px){
  .site-head .nav{gap:0}
  .site-head .nav a:not(.btn){padding:.45rem 0;border-bottom:0}
  .site-head .nav a:not(.btn)::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--pink);transform:scaleX(0);transition:transform .6s cubic-bezier(.22,1,.36,1)}
  .site-head .nav a:not(.btn):hover::after,.site-head .nav a[aria-current="page"]::after{transform:scaleX(1)}
  .site-head .nav a:not(.btn)+a:not(.btn){margin-left:1.9rem}
  .site-head .nav a:not(.btn)+a:not(.btn)::before{content:"";position:absolute;left:-.95rem;top:50%;width:1px;height:14px;margin-top:-7px;background:var(--pink);opacity:.7}
  .site-head .nav a.btn{margin-left:1.4rem}
}
@media (max-width:1180px){
  .site-head .menu-btn{display:block}
  .site-head .nav{display:none;position:absolute;left:0;right:0;top:100%;flex-direction:column;align-items:stretch;gap:0;background:#000;border-bottom:1px solid var(--line);padding:.5rem clamp(1rem,4vw,2.5rem) 1rem}
  .site-head .nav.open{display:flex}
  .site-head .nav a{padding:.85rem 0;border-bottom:1px solid #151515;font-size:.9rem}
  .site-head .nav a.btn{margin-top:.8rem;justify-content:center;padding:.85rem 1rem}
}
@media (max-width:420px){.hmark{width:26px}.hname b{font-size:1.02rem}.hdiv{height:28px}}
@media (prefers-reduced-motion:reduce){.hcta::before{animation:none;display:none}}

/* Reach tiles: email, call, text with copy buttons (Oct 2, 2026) */
.reach .tile{display:flex;flex-direction:column;align-items:flex-start;gap:.55rem}
.reach .tile p{margin:0;font-size:1.05rem}
.reach .reach-links a{color:var(--pink);font-weight:600}
.copybtn{margin-top:auto;font:inherit;font-size:.8rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#fff;background:transparent;border:1px solid var(--pink);padding:.5rem .9rem;cursor:pointer;transition:background .2s,color .2s}
.copybtn:hover,.copybtn:focus-visible{background:var(--pink);color:#fff}
.copybtn.done{background:#99115d;border-color:#99115d}

/* Submit forms (Oct 3, 2026) */
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
input[type=file]{padding:.7rem;cursor:pointer;text-transform:none;letter-spacing:0}
input[type=file]::file-selector-button{font:inherit;font-size:.78rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#fff;background:transparent;border:1px solid var(--pink);padding:.45rem .8rem;margin-right:.9rem;cursor:pointer}
input[type=file]::file-selector-button:hover{background:var(--pink)}
.formerr{display:none;border:1px solid #b3146c;padding:1.4rem;background:rgba(153,17,93,.14)}
.formerr.show{display:block}
form.busy button[type=submit]{opacity:.6;cursor:progress}
form.done > :not(.sent){display:none}

/* ==========================================================================
   HOME HERO, card-match version (approved by Lindsay Sept 27, 2026)
   Matches the final business card: charcoal field, gray glass chevrons in two
   corners, pink chevron stack, NEXT RANK / CAREERS metallic wordmark, pink rule.
   Replaces the neon hero art and its light show (hero_mid.css + anim.css are
   retired, kept in the build folder for reference only).
   Color exception (Sept 27, 2026): the wordmark and top chevron may use the
   metallic gradient #B3146C > #DA1884 > #E54CA2. All other pink stays flat.
   ========================================================================== */

@font-face{
  font-family:"Cinzel";font-style:normal;font-weight:600;font-display:swap;
  src:url(../fonts/cinzel-600.woff2) format("woff2");
}

.hero.hero-card{
  position:relative;isolation:isolate;overflow:hidden;
  padding:clamp(2.6rem,8vh,5.5rem) clamp(1rem,4vw,3rem) clamp(3rem,8vh,5rem);
  background:#000; /* flat matte black (Lindsay, Oct 3, 2026); was a charcoal radial */
}
/* ease the charcoal into the black page below */
.hero.hero-card::after{
  content:"";position:absolute;left:0;right:0;bottom:0;height:22%;z-index:-1;pointer-events:none;
  background:linear-gradient(to bottom,rgba(0,0,0,0),#000);
}

/* gray glass chevrons, cropped by the section edges like the card */
.corner{position:absolute;z-index:-1;pointer-events:none;width:clamp(170px,26vw,420px);height:auto}
/* the stage runs full bleed so the corners can sit on the section edges */
.hero-card .stage{
  display:grid;place-items:center;gap:clamp(1.2rem,3vh,2rem);position:relative;
  margin-inline:calc(-1 * clamp(1rem,4vw,3rem));padding-inline:clamp(1rem,4vw,3rem);
}
.corner-tr{top:calc(-1 * clamp(2.6rem,8vh,5.5rem) - clamp(40px,6vw,110px));right:clamp(-110px,-6vw,-30px)}
.corner-bl{top:52%;left:clamp(-130px,-7vw,-40px)}
.hero-card .hero-copy{margin-top:clamp(2rem,5vh,3.4rem)}
/* Hero line (Lindsay, Sept 27, 2026): "Translation," upright; "Not Exaggeration." bold pink, upright (slant removed Sept 27),
   capital N and E, kept together (breaks after the comma on phones). Same serif, same size. */
.hero-card .hero-copy h2 em{font-weight:700;font-style:normal;white-space:nowrap}

.lockup{display:grid;justify-items:center;text-align:center;position:relative}
.rankmark{width:clamp(96px,13vw,170px);height:auto;overflow:visible;margin-bottom:clamp(1.4rem,3.2vw,2.6rem)}

.wordmark{
  font-family:"Cinzel",Didot,"Bodoni 72",Georgia,serif;font-weight:600;line-height:1;
  text-transform:uppercase;display:grid;justify-items:center;gap:clamp(.9rem,2.2vw,1.6rem);
  margin:0;
}
.wordmark span{
  display:block;
  background-image:
    linear-gradient(105deg,rgba(255,255,255,0) 38%,rgba(255,255,255,.55) 45%,#ffffff 50%,rgba(255,255,255,.55) 55%,rgba(255,255,255,0) 62%),
    linear-gradient(180deg,#e54ca2 0%,#da1884 22%,#b3146c 46%,#99115d 50%,#da1884 54%,#e54ca2 78%,#b3146c 100%);
  background-size:300% 100%,100% 100%;
  background-position:120% 0,0 0;background-repeat:no-repeat;
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:transparent;
}
.wm-top{font-size:clamp(2.3rem,8.2vw,6.4rem);letter-spacing:.09em;padding-left:.09em}
.wm-sub{font-size:clamp(1.15rem,4vw,3.1rem);letter-spacing:.62em;padding-left:.62em}

.wm-rule{
  display:block;width:min(78%,40rem);height:2px;margin-top:clamp(1.6rem,3.4vw,2.8rem);
  background:linear-gradient(90deg,rgba(218,24,132,0),#da1884 30%,#e54ca2 50%,#da1884 70%,rgba(218,24,132,0));
}

/* values line under the lockup, all sizes */
.values{
  display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:.42em .9em;
  font-size:clamp(.66rem,1.3vw,.9rem);font-weight:500;letter-spacing:.18em;
  text-transform:uppercase;text-align:center;line-height:1.3;color:var(--ink);margin:0;
}
.values b{color:var(--pink);font-weight:500}
.values>b{font-weight:700}
.values s{width:1px;height:.95em;background:var(--pink);text-decoration:none;display:inline-block;flex:none;opacity:.85}

/* --- motion: LUXE version (Lindsay, Sept 30, 2026) ---------------------------------------------
   Replaces the Sept 27 dramatic version (neon buzz, rocket, blast, sparks, shockwaves).
   Lindsay: "extremely elite, extremely expensive." Picks: option 2 (quiet fade) as the base, with
   option 3's catch-light, bottom up; pink chevron is the grand finale; a show-stopping glare on
   the letters; more light on chrome; something keeps moving after the intro; starts right away.
   Intro (about 2 s):
     0.05 s  the whole mark comes into focus, chevrons dim
     0.45 s  light catches each gray chevron, bottom to top
     1.25 s  pink chevron ignites: lifts, flares white, pink bloom, lit edge, chrome sweep, star
     1.90 s  NEXT RANK / CAREERS: wide white-hot glare with star glints
   Then a 6 s loop, so something moves every 1.5 to 3 s: pink chrome sweep and star, letter
   glare and glints, a soft bottom-up light cascade on the gray chevrons, the corner glass wave,
   and a slow breathing glow behind the pink chevron. */
.lockup{opacity:0;animation:lxin 1.4s cubic-bezier(.22,1,.36,1) .05s forwards}
@keyframes lxin{0%{opacity:0;transform:scale(1.035);filter:blur(9px)}100%{opacity:1;transform:none;filter:blur(0)}}

/* gray chevrons: start dim, catch the light bottom up */
.rankmark .sh{opacity:.66}
.rankmark .li{opacity:0}
.rankmark .nt{opacity:0;stroke-width:1.6}
.rankmark .sh1{animation:lxunshade .6s ease .45s forwards}
.rankmark .sh2{animation:lxunshade .6s ease .7s forwards}
.rankmark .sh3{animation:lxunshade .6s ease .95s forwards}
@keyframes lxunshade{to{opacity:0}}
.rankmark .li1,.rankmark .nt1{animation:lxcatch 1.1s ease .45s both, lxcascade 6s ease 4.4s infinite}
.rankmark .li2,.rankmark .nt2{animation:lxcatch 1.1s ease .7s both, lxcascade 6s ease 4.65s infinite}
.rankmark .li3,.rankmark .nt3{animation:lxcatch 1.1s ease .95s both, lxcascade 6s ease 4.9s infinite}
.rankmark .li{--peak:.42}
.rankmark .nt{--peak:.95}
@keyframes lxcatch{0%{opacity:0}30%{opacity:var(--peak)}100%{opacity:0}}
@keyframes lxcascade{0%{opacity:0}7%{opacity:calc(var(--peak) * .7)}20%,100%{opacity:0}}

/* pink chevron: the grand finale */
.rank-pin{transform-box:fill-box;transform-origin:50% 60%;animation:lxpop 1.1s cubic-bezier(.22,1,.36,1) 1.25s both}
@keyframes lxpop{0%{transform:none}38%{transform:translateY(-6px) scale(1.09)}100%{transform:none}}
.rank-shade{opacity:.72;animation:lxunshade .35s ease 1.25s forwards}
.rank-lite{opacity:0;animation:lxflare 1.3s ease 1.25s forwards}
@keyframes lxflare{0%{opacity:0}14%{opacity:.85}100%{opacity:0}}
.rank-glow{opacity:0;animation:lxbloom 1.4s ease-out 1.25s forwards, lxbreathe 3s ease-in-out 2.65s infinite}
@keyframes lxbloom{0%{opacity:0}25%{opacity:1}100%{opacity:.55}}
@keyframes lxbreathe{0%,100%{opacity:.55}50%{opacity:.95}}
.pinedge{opacity:0;animation:lxedge 1s ease 1.35s forwards, lxedgepulse 6s ease 7.25s infinite}
@keyframes lxedge{0%{opacity:0}30%{opacity:1}100%{opacity:.75}}
@keyframes lxedgepulse{0%,100%{opacity:.75}6%{opacity:1}14%{opacity:.75}}
.pinsheen rect{transform:translateX(0);animation:lxpsheen 6s cubic-bezier(.45,.05,.55,.95) 1.25s infinite}
@keyframes lxpsheen{0%{transform:translateX(0)}14%,100%{transform:translateX(520px)}}
/* BIG STAR on the pink chevron peak (Lindsay, Oct 2, 2026: "the eye catcher, the biggest thing, powerful").
   Ignites with the chevron at 1.25 s, then stays lit and breathing; every 6 s it flares to full size in step with the chevron. */
.bigstar{transform-box:fill-box;transform-origin:50% 50%;mix-blend-mode:screen;opacity:0;
  animation:bsignite 1.3s cubic-bezier(.2,1.2,.3,1) 1.25s forwards, bsflare 6s ease-out 7.25s infinite}
@keyframes bsignite{0%{opacity:0;transform:scale(.1)}35%{opacity:1;transform:scale(1.25)}100%{opacity:1;transform:scale(.72)}}
@keyframes bsflare{0%,100%{transform:scale(.72)}7%{transform:scale(1.2)}26%{transform:scale(.72)}}
.bs-rays{transform-box:fill-box;transform-origin:50% 50%;animation:bsspin 40s linear infinite}
@keyframes bsspin{to{transform:rotate(360deg)}}
.bs-haze{animation:bsbreathe 3s ease-in-out 2.6s infinite}
@keyframes bsbreathe{0%,100%{opacity:.75}50%{opacity:1}}
.rank-top{animation:lxchevlit 6s ease-out 7.25s infinite}
/* Sept 30 (Lindsay): one shared 6 s clock for the pink chevron. The chevron brightens, its sheen crosses,
   its edge pulses, and the star on its peak flares, all together (first at 1.25 s, then every 6 s). */
@keyframes lxchevlit{0%,100%{filter:brightness(1)}6%{filter:brightness(1.35)}16%{filter:brightness(1)}}

/* NEXT RANK / CAREERS: show-stopping glare */
.wordmark{position:relative}
.wordmark span{
  background-image:
    linear-gradient(105deg,rgba(255,255,255,0) 30%,rgba(255,255,255,.35) 40%,rgba(255,255,255,.9) 46%,#fff 50%,rgba(255,255,255,.9) 54%,rgba(255,255,255,.35) 60%,rgba(255,255,255,0) 70%),
    linear-gradient(180deg,#e54ca2 0%,#da1884 22%,#b3146c 46%,#99115d 50%,#da1884 54%,#e54ca2 78%,#b3146c 100%);
  background-size:260% 100%,100% 100%;
  animation:lxglare 6s cubic-bezier(.45,.05,.35,1) 1.9s infinite, lxwmglow 6s ease-out 1.9s infinite}
.wm-sub{animation-delay:2.05s,2.05s}
@keyframes lxglare{0%{background-position:125% 0,0 0}18%{background-position:-25% 0,0 0}18.1%,100%{background-position:125% 0,0 0}}
@keyframes lxwmglow{
  0%{filter:brightness(1) drop-shadow(0 0 4px rgba(218,24,132,.25))}
  8%{filter:brightness(1.75) drop-shadow(0 0 2px rgba(255,255,255,.95)) drop-shadow(0 0 22px rgba(229,76,162,.95))}
  20%{filter:brightness(1.1) drop-shadow(0 0 10px rgba(218,24,132,.5))}
  34%,100%{filter:brightness(1) drop-shadow(0 0 4px rgba(218,24,132,.25))}}
.glint{position:absolute;width:clamp(60px,9vw,140px);aspect-ratio:1;translate:-50% -50%;pointer-events:none;opacity:0;
  background:
    radial-gradient(circle,#fff 0,#fff 3%,rgba(255,255,255,.6) 7%,rgba(255,255,255,0) 14%),
    radial-gradient(circle,#da1884 0,rgba(218,24,132,.85) 18%,rgba(218,24,132,.35) 38%,rgba(218,24,132,0) 62%),
    linear-gradient(90deg,transparent 0,rgba(255,255,255,.95) 50%,transparent 100%) center/100% 2px no-repeat,
    linear-gradient(0deg,transparent 0,rgba(255,255,255,.95) 50%,transparent 100%) center/2px 70% no-repeat;
  mix-blend-mode:screen;animation:lxglint 6s ease-out infinite}
.g1{left:3%;top:6%;animation-delay:2.05s}
.g2{left:36%;top:4%;animation-delay:2.3s}
.g3{left:97%;top:22%;animation-delay:2.55s}
.g4{left:62%;top:88%;animation-delay:2.75s}
@keyframes lxglint{0%{opacity:0;transform:scale(.2) rotate(0)}3%{opacity:1;transform:scale(1.25) rotate(25deg)}9%{opacity:0;transform:scale(.4) rotate(55deg)}100%{opacity:0}}
.wm-rule{transform:scaleX(0);transform-origin:50% 50%;animation:lxrule 1.1s cubic-bezier(.22,1,.36,1) 1.6s forwards}
@keyframes lxrule{to{transform:scaleX(1)}}

.values{opacity:0;animation:fade .9s ease 1.9s forwards}
.fade{opacity:0;animation:fade .9s ease 2.2s forwards}
@keyframes fade{to{opacity:1}}

/* gray glass corners: soft mirror wave, bottom-left then top-right, every 6 s */
.cwave{opacity:0;animation:cwave-bl 6s cubic-bezier(.45,.05,.55,.95) 3.4s infinite}
.corner-tr .cwave{animation-name:cwave-tr}
@keyframes cwave-bl{0%{opacity:0;transform:translateX(0)}1%{opacity:1}20%{opacity:1;transform:translateX(760px)}21%,100%{opacity:0;transform:translateX(760px)}}
@keyframes cwave-tr{0%,16%{opacity:0;transform:translateX(0)}17%{opacity:1}37%{opacity:1;transform:translateX(760px)}38%,100%{opacity:0;transform:translateX(760px)}}

@media (max-width:760px){
  .hero.hero-card{padding-top:clamp(2.2rem,7vh,3.5rem)}
  .hero-card .stage{margin-inline:calc(-1 * clamp(1rem,4vw,3rem))}
  .corner{width:40vw}
  .hero-card .hero-copy{margin-top:1.4rem}
  .corner-tr{top:calc(-1 * clamp(2.2rem,7vh,3.5rem) - 12vw);right:-16vw}
  .corner-bl{top:50%;left:-19vw}
  .values{font-size:.62rem;letter-spacing:.13em;gap:.4em .7em}
  .wm-sub{letter-spacing:.5em;padding-left:.5em}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .lockup,.fade,.values,.wm-rule,.rank-pin{animation:none;opacity:1;transform:none;filter:none}
  .rankmark .sh,.rank-shade,.rankmark .li,.rankmark .nt,.rank-lite,.glint,.cwave{animation:none;opacity:0}
  .bigstar{animation:none;opacity:1;transform:scale(.72)}
  .bs-rays,.bs-haze{animation:none}
  .pinsheen rect{animation:none}
  .rank-glow{animation:none;opacity:.55}
  .pinedge{animation:none;opacity:.75}
  .wordmark span{animation:none;filter:drop-shadow(0 0 4px rgba(218,24,132,.25))}
}

/* Sept 30 later: hard white reflection line through the letters removed (Lindsay: looked like a flaw); soft top-lit depth instead */
/* --- CHROME finish (Lindsay, Sept 30, 2026: "the shine/chrome, smooth edge ... jumps out at you") ---
   Wordmark becomes polished pink chrome: bright top, dark horizon line, white reflection just below
   it, a crisp thin rim on every letter, and a soft pink halo. Gray chevrons become brushed silver
   with a lit edge; the pink chevron gets the same chrome banding. */
.wordmark span{
  background-image:
    linear-gradient(105deg,rgba(255,255,255,0) 30%,rgba(255,255,255,.35) 40%,rgba(255,255,255,.9) 46%,#fff 50%,rgba(255,255,255,.9) 54%,rgba(255,255,255,.35) 60%,rgba(255,255,255,0) 70%),
    linear-gradient(180deg,#da1884 0%,#d01780 10%,#b3146c 26%,#8e0f53 42%,#6a0b3e 58%,#4a072b 74%,#2e041a 90%,#22030f 100%);
}
@keyframes lxwmglow{
  0%{filter:brightness(1) drop-shadow(0 -1px 0 rgba(255,255,255,.45)) drop-shadow(0 1px 0 rgba(153,17,93,.9)) drop-shadow(0 0 12px rgba(218,24,132,.4))}
  8%{filter:brightness(1.7) drop-shadow(0 -1px 0 rgba(255,255,255,.9)) drop-shadow(0 0 3px rgba(255,255,255,.95)) drop-shadow(0 0 26px rgba(229,76,162,.95))}
  20%{filter:brightness(1.1) drop-shadow(0 -1px 0 rgba(255,255,255,.5)) drop-shadow(0 1px 0 rgba(153,17,93,.9)) drop-shadow(0 0 16px rgba(218,24,132,.55))}
  34%,100%{filter:brightness(1) drop-shadow(0 -1px 0 rgba(255,255,255,.45)) drop-shadow(0 1px 0 rgba(153,17,93,.9)) drop-shadow(0 0 12px rgba(218,24,132,.4))}}
@media (prefers-reduced-motion:reduce){
  .wordmark span{filter:drop-shadow(0 1px 0 rgba(255,255,255,.35)) drop-shadow(0 0 14px rgba(218,24,132,.45))}
}

/* --- "Not Exaggeration." key-phrase animation (Lindsay, Sept 30, 2026: "more drastic, it's a key phrase") ---
   2.5 s  "Not" slams in from large and blurred, with a pink flash
   2.9 s  "Exaggeration." is revealed left to right behind a bright pink light edge
   3.6 s  a glowing pink underline draws beneath the phrase
   then every 6 s: a white-hot shine sweeps across the words and the glow swells, in step with the chevron clock */
.hero-card .hero-copy h2 em{position:relative;display:inline-block;padding-bottom:.12em}
.ne1,.ne2{display:inline-block;color:transparent;-webkit-text-fill-color:transparent;
  background:linear-gradient(105deg,#da1884 0%,#da1884 42%,#ffd1e8 48%,#ffffff 50%,#ffd1e8 52%,#da1884 58%,#da1884 100%);
  background-size:300% 100%;background-position:100% 0;-webkit-background-clip:text;background-clip:text}
.ne1{opacity:0;animation:neslam .7s cubic-bezier(.2,1.4,.4,1) 2.5s forwards, neshine 6s cubic-bezier(.45,.05,.55,.95) 7.25s infinite, neglow 6s ease-out 7.25s infinite}
.ne2{clip-path:inset(-60% 100% -60% -20%);animation:nereveal .9s cubic-bezier(.65,0,.35,1) 2.9s forwards, neshine 6s cubic-bezier(.45,.05,.55,.95) 7.4s infinite, neglow 6s ease-out 7.4s infinite}
.ne2::after{content:"";position:absolute;top:-10%;bottom:-10%;right:0;width:3px;background:#fff;box-shadow:0 0 12px 4px #da1884,0 0 30px 8px rgba(218,24,132,.6);opacity:0;animation:needge .9s cubic-bezier(.65,0,.35,1) 2.9s forwards}
.ne2{position:relative}
.hero-card .hero-copy h2 em::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;border-radius:2px;
  background:linear-gradient(90deg,rgba(218,24,132,0),#da1884 12%,#ff7ac0 50%,#da1884 88%,rgba(218,24,132,0));
  box-shadow:0 0 14px rgba(218,24,132,.8);transform:scaleX(0);transform-origin:0 50%;animation:neline .8s cubic-bezier(.22,1,.36,1) 3.6s forwards}
@keyframes neslam{0%{opacity:0;transform:scale(2.2);filter:blur(10px) drop-shadow(0 0 0 rgba(218,24,132,0))}
  60%{opacity:1;transform:scale(.94);filter:blur(0) drop-shadow(0 0 22px rgba(218,24,132,1))}
  100%{opacity:1;transform:none;filter:drop-shadow(0 0 6px rgba(218,24,132,.45))}}
@keyframes nereveal{to{clip-path:inset(-60% -30% -60% -20%)}}
@keyframes needge{0%{opacity:1;right:100%}90%{opacity:1;right:0}100%{opacity:0;right:0}}
@keyframes neline{to{transform:scaleX(1)}}
@keyframes neshine{0%{background-position:100% 0}16%,100%{background-position:0 0}}
@keyframes neglow{0%,100%{filter:drop-shadow(0 0 6px rgba(218,24,132,.45))}8%{filter:drop-shadow(0 0 20px rgba(218,24,132,1)) drop-shadow(0 0 3px rgba(255,255,255,.7))}22%{filter:drop-shadow(0 0 6px rgba(218,24,132,.45))}}
@media (prefers-reduced-motion:reduce){
  .ne1,.ne2{animation:none;opacity:1;clip-path:none;transform:none;background-position:0 0}
  .ne2::after{display:none}
  .hero-card .hero-copy h2 em::after{animation:none;transform:none}
}
