/* CV Builder teaser on the front page. Uses the palette and fonts set in styles.css. */
.cv-promo{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:clamp(30px,5vw,80px);align-items:center;padding:clamp(90px,10vw,140px) var(--pad);background:radial-gradient(circle at 72% 55%,rgba(255,132,52,.10) 0,transparent 42%),linear-gradient(180deg,#0b0d0d 0,#080909 100%);border-top:1px solid var(--line);overflow:hidden}
.cv-promo .eyebrow{display:flex;align-items:center;gap:15px;margin:0 0 34px}
.cv-promo h2{font-size:clamp(46px,5.6vw,88px);letter-spacing:-.065em;line-height:.94;margin:0;font-weight:400}
.cv-promo h2 em{display:block;font-family:Georgia,serif;font-weight:400;letter-spacing:-.04em;white-space:nowrap;color:var(--orange)}
.cv-promo-line{max-width:440px;color:#b7bbb6;font-size:17px;line-height:1.65;margin:30px 0 0}
.cv-promo-price{display:flex;align-items:flex-end;gap:22px;margin:38px 0 0}
.cv-promo-price b{font-family:Georgia,serif;font-weight:400;font-size:clamp(100px,11vw,176px);line-height:.78;letter-spacing:-.04em;color:var(--orange)}
.cv-promo-price span{display:flex;flex-direction:column;gap:7px;padding-bottom:5px;font-size:16px;white-space:nowrap;color:var(--orange)}
.cv-promo-price strong{font-size:20px;font-weight:700;color:var(--white)}
.cv-promo-cta{display:inline-flex;align-items:center;gap:34px;margin-top:34px;min-height:52px;background:var(--orange);color:#080909;padding:0 22px;font:500 12px/1 'DM Mono',monospace;text-transform:uppercase;letter-spacing:.12em;transition:background .3s}
.cv-promo-cta span{font-size:15px}
.cv-promo-cta:hover{background:var(--white)}
.cv-promo-cta:focus-visible{outline:2px solid var(--white);outline-offset:4px}
.cv-fan{--far:50%;--near:26%;position:relative;margin:0;height:clamp(420px,44vw,600px)}
.cv-fan img{position:absolute;left:50%;bottom:16%;width:clamp(180px,19vw,290px);height:auto;border-radius:2px;background:#fff;box-shadow:0 34px 70px rgba(0,0,0,.6),0 0 0 1px rgba(255,255,255,.07);transform-origin:50% 115%;animation:cv-fan 17.5s cubic-bezier(.65,0,.35,1) infinite}
.cv-fan img:nth-child(2){animation-delay:-3.5s}
.cv-fan img:nth-child(3){animation-delay:-7s}
.cv-fan img:nth-child(4){animation-delay:-10.5s}
.cv-fan img:nth-child(5){animation-delay:-14s}
.cv-fan:hover img{animation-play-state:paused}
.cv-fan figcaption{position:absolute;left:0;right:0;bottom:0;text-align:center;font:500 10px/1.4 'DM Mono',monospace;text-transform:uppercase;letter-spacing:.16em;color:#7d827e}
@keyframes cv-fan{
0%,15%{transform:translateX(-50%) translate(var(--far),4%) rotate(16deg) scale(.88);z-index:1}
20%,35%{transform:translateX(-50%) translate(var(--near),1%) rotate(8deg) scale(.94);z-index:3}
40%,55%{transform:translateX(-50%) translate(0,-3%) rotate(0deg) scale(1.02);z-index:5}
60%,75%{transform:translateX(-50%) translate(calc(var(--near) * -1),1%) rotate(-8deg) scale(.94);z-index:3}
80%,95%{transform:translateX(-50%) translate(calc(var(--far) * -1),4%) rotate(-16deg) scale(.88);z-index:1}
100%{transform:translateX(-50%) translate(var(--far),4%) rotate(16deg) scale(.88);z-index:0}}
@media (prefers-reduced-motion:reduce){
.cv-fan img{animation:none}
.cv-fan img:nth-child(1){transform:translateX(-50%) translate(0,-3%) rotate(0deg) scale(1.02);z-index:5}
.cv-fan img:nth-child(2){transform:translateX(-50%) translate(calc(var(--near) * -1),1%) rotate(-8deg) scale(.94);z-index:3}
.cv-fan img:nth-child(3){transform:translateX(-50%) translate(var(--near),1%) rotate(8deg) scale(.94);z-index:3}
.cv-fan img:nth-child(4){transform:translateX(-50%) translate(calc(var(--far) * -1),4%) rotate(-16deg) scale(.88);z-index:1}
.cv-fan img:nth-child(5){transform:translateX(-50%) translate(var(--far),4%) rotate(16deg) scale(.88);z-index:1}}
@media (max-width:820px){
.cv-promo{grid-template-columns:1fr;gap:10px;padding-top:80px;padding-bottom:70px}
.cv-promo-line{font-size:16px}
.cv-promo-price{gap:16px}
.cv-promo-price b{font-size:96px}
.cv-fan{--far:40%;--near:21%;height:330px;margin-top:20px}
.cv-fan img{width:140px;bottom:13%}}
