/* Velvet Influence · creator funnel: landing (/), thank-you (/thank-you/), privacy (/privacy/).
   v4 (23 Oct 2026): friendly and clean for the audience. Poppins everywhere (700 tight headlines, the key word
   upright in raspberry with an orange underline), a warm light base with soft blush bands and white cards,
   emoji as content (criteria, steps, thank-you), ONE familiar picture (the team's chat), Velvet's
   #F28C50 -> #A3164B gradient on the buttons, the 3px top stripe and the closing band.
   Earlier versions: v3 serif editorial _backup/2026-10-23-v3-editorial-serif/, v2 full gradient
   _backup/2026-10-23-v2-gradient-before-redesign/. */

@font-face{font-family:"Poppins";font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/poppins-400.woff2) format("woff2")}
@font-face{font-family:"Poppins";font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/poppins-500.woff2) format("woff2")}
@font-face{font-family:"Poppins";font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/poppins-600.woff2) format("woff2")}
@font-face{font-family:"Poppins";font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/poppins-700.woff2) format("woff2")}

:root{
  --paper:#FFF8F5;--blush:#FDEEE8;--blush-2:#FBE3DA;--white:#fff;
  --ink:#2A1520;--ink-2:#67535C;--ink-3:#9A8790;
  --line:#F1E3DD;--line-2:#E6D3CC;
  --rasp:#A3164B;--rasp-d:#8A1240;--orange:#F28C50;
  --grad:linear-gradient(100deg,#F28C50 0%,#D9524D 48%,#A3164B 100%);
  --sans:"Poppins",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";
  --display:var(--sans);
  --pill:9999px;--r:20px;--r-s:12px;
  --ease:cubic-bezier(.22,1,.36,1);
  --wrap:1160px;
  /* names the form engine (js/apply.js) reads */
  --soft:var(--ink-2);--muted:var(--ink-2);--dim:var(--ink-3);--end:var(--rasp);--start:var(--orange);--serif:var(--display);
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;overflow-x:clip;-webkit-text-size-adjust:100%;background:var(--paper)}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:1rem;line-height:1.65;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:clip;border-top:3px solid transparent;border-image:var(--grad) 1}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
::selection{background:var(--rasp);color:#fff}
.skip{position:absolute;top:-100px;left:1rem;z-index:999;padding:.75rem 1rem;background:var(--ink);color:#fff;font-weight:600;border-radius:var(--pill)}
.skip:focus{top:1rem}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 1.75rem}
.nw{white-space:nowrap}
.of{display:inline-block;width:.8em;height:.8em;vertical-align:-.06em;margin:0 .06em 0 .1em;fill:#00AFF0}
h1,h2,h3{font-family:var(--display);font-weight:700;color:var(--ink);margin:0;letter-spacing:-.03em;text-wrap:balance}
.hl{position:relative;display:inline-block;color:var(--rasp);text-decoration:none}
/* hand-drawn underline in the word's own colour (a stroke + a lighter return stroke, stretched to the word) */
.hl::after{content:"";position:absolute;left:-3%;right:-4%;bottom:-.2em;height:.36em;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 240 24' preserveAspectRatio='none'%3E%3Cpath d='M4 15.5C38 9 77 6.5 118 7.5c38 1 76 4.5 116 2.5' fill='none' stroke='%23A3164B' stroke-width='5' stroke-linecap='round'/%3E%3Cpath d='M22 19.5c44-5 102-6.5 150-4' fill='none' stroke='%23A3164B' stroke-width='3.2' stroke-linecap='round' opacity='.85'/%3E%3C/svg%3E") center/100% 100% no-repeat;pointer-events:none}

/* emoji: bare, no tile or box around them (boxed emoji read as template / AI) */
.em{flex:none;display:inline-block;width:1.6em;text-align:center;font-size:1.35rem;line-height:1}
.em.lg{width:auto;text-align:left;font-size:2.1rem}
/* the OnlyFans logo inside a headline */
.of-h{width:.78em;height:.78em;vertical-align:-.04em;margin:0 .14em 0 .02em}

/* buttons */
.btn{display:inline-block;padding:.85rem 1.6rem;font-family:var(--sans);font-size:1rem;font-weight:600;line-height:1.4;border-radius:var(--pill);border:0;cursor:pointer;text-align:center;white-space:nowrap;transition:transform .2s var(--ease),filter .2s var(--ease),background-color .2s var(--ease)}
.btn:hover{transform:translateY(-1px)}
.btn-grad{background:var(--grad);color:#fff;box-shadow:0 10px 24px -12px rgba(163,22,75,.55)}
.btn-grad:hover{filter:brightness(1.05)}
.btn-white{background:#fff;color:var(--rasp)}
.btn-white:hover{background:var(--blush)}
.btn:focus-visible,a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--rasp);outline-offset:3px}

/* header */
.top{border-bottom:1px solid var(--line);background:var(--paper)}
.top .wrap{display:flex;align-items:center;justify-content:space-between;gap:1rem;height:72px}
.mark{font-family:var(--display);font-size:1.02rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--ink);white-space:nowrap}
.top .btn{padding:.6rem 1.2rem;font-size:.92rem}

/* hero */
.hero{padding:clamp(2.5rem,6vw,5rem) 0 clamp(3.5rem,7vw,5.5rem)}
.hero .wrap{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,430px);grid-template-areas:"copy apply" "fit apply";grid-template-rows:auto 1fr;column-gap:clamp(2.5rem,5vw,4.5rem);align-items:start}
.hero-copy{grid-area:copy;padding-top:clamp(0rem,2vw,1.25rem)}
.hero .apply{grid-area:apply}
.hero .fit{grid-area:fit}
.hero h1{font-size:clamp(2.2rem,4vw,3.25rem);line-height:1.1;margin:0 0 1.25rem;max-width:none;text-wrap:wrap}
.lead{font-size:clamp(1.05rem,1.5vw,1.2rem);line-height:1.6;color:var(--ink-2);margin:0 0 2.25rem;max-width:36ch}

/* "This is for you if": four emoji rows */
.fit{max-width:480px}
.fit-t{margin:0 0 .85rem;font-size:.9rem;font-weight:600;color:var(--rasp)}
.facts{list-style:none;margin:0;padding:0;display:grid;gap:.6rem}
.facts li{display:flex;align-items:center;gap:.9rem;font-size:1rem;font-weight:500;color:var(--ink);line-height:1.4}

/* the application card */
.apply{background:var(--white);border:1px solid var(--line);border-radius:var(--r);padding:1.9rem 1.9rem 1.7rem;box-shadow:0 2px 4px rgba(42,21,32,.03),0 28px 56px -30px rgba(163,22,75,.28);scroll-margin-top:1.5rem}
.apply-t{font-size:1.45rem;line-height:1.2;margin:0 0 .25rem}
.apply-s{color:var(--ink-2);font-size:.92rem;line-height:1.5;margin:0 0 1.4rem}

/* sections */
.sec{padding:clamp(3.5rem,7vw,5.5rem) 0}
.sec.tint{background:var(--blush)}
.sec-t{font-size:clamp(1.9rem,3.6vw,2.7rem);line-height:1.12;margin:0 0 2.25rem;max-width:22ch}

/* how it works: three white cards */
.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem}
.step{background:var(--white);border-radius:var(--r);padding:1.75rem 1.6rem 1.6rem;box-shadow:0 1px 2px rgba(42,21,32,.04)}
.step .em{display:block;margin-bottom:.9rem}
.step .lb{display:block;font-size:.82rem;font-weight:600;color:var(--rasp);margin-bottom:.3rem}
.step h3{font-size:1.3rem;line-height:1.2;margin:0 0 .45rem;letter-spacing:-.02em}
.step p{margin:0;color:var(--ink-2);font-size:.97rem;line-height:1.6}

/* the familiar picture: the team's chat */
.say{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,420px);gap:clamp(2rem,6vw,5.5rem);align-items:center}
.say h2{font-size:clamp(2rem,4.2vw,3.2rem);line-height:1.08;margin:0 0 1rem;max-width:13ch}
.say p{margin:0;color:var(--ink-2);font-size:1.08rem;line-height:1.65;max-width:36ch}
.thread{margin:0;background:var(--white);border:1px solid var(--line);border-radius:24px;padding:1.1rem 1.1rem 1.4rem;box-shadow:0 28px 56px -32px rgba(42,21,32,.3)}
.th-head{display:flex;align-items:center;gap:.7rem;padding:0 .2rem .9rem;margin-bottom:.9rem;border-bottom:1px solid var(--line)}
.th-av{flex:none;width:38px;height:38px;border-radius:50%;background:var(--grad);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.8rem;letter-spacing:.02em;color:#fff}
.th-name{display:block;font-weight:600;font-size:.95rem;line-height:1.2}
.th-sub{display:block;font-size:.78rem;color:#2BA84A;line-height:1.3}
.th-list{display:flex;flex-direction:column;gap:.45rem}
.th-time{align-self:center;font-size:.72rem;color:var(--ink-3);margin:0 0 .2rem}
.msg{max-width:84%;margin:0;padding:.6rem .9rem;border-radius:18px;font-size:.93rem;line-height:1.45}
.msg.them{align-self:flex-start;background:var(--blush);color:var(--ink);border-bottom-left-radius:6px}
.msg.me{align-self:flex-end;background:var(--rasp);color:#fff;border-bottom-right-radius:6px}
.msg+.msg.me,.msg.me+.msg.them{margin-top:.3rem}

/* FAQ */
.faq-wrap{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:clamp(2rem,6vw,5rem);align-items:start}
.faq-wrap .sec-t{margin-bottom:.8rem}
.faq-side p{margin:0 0 1.4rem;color:var(--ink-2);max-width:28ch}
.faq{background:var(--white);border:1px solid var(--line);border-radius:var(--r);padding:.4rem 1.5rem}
.faq details{border-bottom:1px solid var(--line)}
.faq details:last-child{border-bottom:0}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:1.25rem;padding:1.15rem 0;font-size:1rem;font-weight:600;line-height:1.4;color:var(--ink)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";flex:none;width:26px;height:26px;border-radius:50%;background:var(--blush) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M6 1v10M1 6h10' stroke='%23A3164B' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E") center/11px no-repeat;transition:transform .3s var(--ease)}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq .a{padding:0 2.5rem 1.2rem 0;color:var(--ink-2);line-height:1.65;font-size:.97rem}
.faq .a p{margin:0}
.faq .a a{color:var(--rasp);text-decoration:underline;text-underline-offset:3px}

/* closing: the gradient band */
.close{background:var(--grad);color:#fff;padding:clamp(3.5rem,7vw,5.5rem) 0}
.close .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1.75rem}
.close h2{color:#fff;font-size:clamp(2rem,4.2vw,3.2rem);line-height:1.08;max-width:16ch}
.close p{margin:.7rem 0 0;color:rgba(255,255,255,.9);font-size:1.05rem}

/* footer */
.foot{padding:2.75rem 0 2.25rem;border-top:1px solid var(--line)}
.foot .cols{display:flex;flex-wrap:wrap;justify-content:space-between;gap:2rem 3rem}
.foot .about{max-width:340px}
.foot .about p{margin:.7rem 0 0;color:var(--ink-2);font-size:.92rem;line-height:1.55}
.foot nav{display:flex;flex-direction:column;gap:.4rem;font-size:.92rem}
.foot nav b{font-weight:600;color:var(--ink);margin-bottom:.15rem}
.foot nav a{color:var(--ink-2)}
.foot nav a:hover{color:var(--rasp)}
.legal{border-top:1px solid var(--line);margin-top:2.25rem;padding-top:1.4rem;color:var(--ink-3);font-size:.82rem;line-height:1.6}
.legal p{margin:0;max-width:80ch}
.legal p+p{margin-top:.35rem}
.legal b{color:var(--ink-2);font-weight:600}

/* 🔴 A fact Velvet Influence still has to confirm. Yellow on purpose: it may not go live. */
.todo{background:#ffe066;color:#111;padding:0 .3em;border-radius:3px;font-weight:500}

/* thank-you page (v5, 23 Oct): one narrow column that reads like a note, not a template */
.ty{padding:clamp(3rem,7vw,5rem) 0 clamp(3.5rem,7vw,5rem)}
.ty-wrap{max-width:680px}
.ty-ok{display:flex;align-items:center;gap:.55rem;margin:0 0 1rem;font-size:.92rem;font-weight:600;color:#1E7B34}
.ty-dot{width:.6rem;height:.6rem;border-radius:50%;background:#2BA84A;box-shadow:0 0 0 4px rgba(43,168,74,.15)}
.ty h1{font-size:clamp(2.2rem,4.6vw,3.3rem);line-height:1.1;margin:0 0 1rem}
.ty .lead{margin:0 0 2.75rem;max-width:none}
.ty .lead b{color:var(--ink);font-weight:600}
.ty-h{font-size:1.25rem;line-height:1.3;letter-spacing:-.02em;margin:0 0 1rem}
.flow{list-style:none;margin:0 0 2rem;padding:0 0 0 1.25rem;border-left:2px solid var(--rasp)}
.flow li{padding:0 0 1.15rem}
.flow li:last-child{padding-bottom:0}
.flow b{display:block;font-weight:600;color:var(--ink);line-height:1.4}
.flow span{display:block;color:var(--ink-2);line-height:1.55}
.ready{background:var(--blush);border-radius:14px;padding:1.1rem 1.25rem;color:var(--ink-2);line-height:1.6;margin:0 0 1.75rem}
.ready b{color:var(--ink);font-weight:600}
.ty-note{margin:0 0 1.25rem;color:var(--ink-2)}
.btn-line{background:transparent;color:var(--ink);border:1.5px solid var(--line-2)}
.btn-line:hover{border-color:var(--rasp);color:var(--rasp)}

/* booking card (qualified applicants, when Calendly is switched on) */
.book{background:var(--white);border:1px solid var(--line);border-radius:var(--r);padding:1.6rem;max-width:860px;margin:0 0 1.5rem}
.book h2{font-size:clamp(1.4rem,2.6vw,1.9rem);line-height:1.2;margin:0 0 .35rem}
.book>p{margin:0;color:var(--ink-2)}
.cal{margin:1.2rem 0 0;border-radius:var(--r-s);overflow:hidden;min-height:660px}
.cal .calendly-inline-widget{min-width:300px;height:680px}
.book-note{margin:1rem 0 0 !important;font-size:.9rem !important;color:var(--ink-3) !important}

/* legal pages */
.doc{padding:clamp(3rem,7vw,5rem) 0 4rem}
.doc .wrap{max-width:780px}
.doc h1{font-size:clamp(2.1rem,4.4vw,3rem);line-height:1.1;margin:0 0 .6rem}
.doc .eff{color:var(--ink-3);font-size:.95rem;margin:0 0 2.5rem}
.doc h2{font-size:1.2rem;line-height:1.35;letter-spacing:-.015em;margin:2.4rem 0 .8rem;padding-top:1.4rem;border-top:1px solid var(--line)}
.doc p,.doc li{color:var(--ink-2);line-height:1.75}
.doc ul{padding-left:1.2rem}
.doc a{color:var(--rasp);text-decoration:underline;text-underline-offset:3px}
.doc b{color:var(--ink);font-weight:600}

/* cookie choice (asked outside US time zones) */
.ck{position:fixed;left:16px;bottom:16px;z-index:90;width:min(400px,calc(100vw - 32px));padding:18px 18px 16px;border-radius:var(--r);background:#fff;color:var(--ink-2);border:1px solid var(--line);box-shadow:0 18px 50px -18px rgba(42,21,32,.35);font:400 14px/1.55 var(--sans);opacity:0;transform:translateY(16px);transition:opacity .35s ease,transform .35s ease;pointer-events:none}
.ck.on{opacity:1;transform:none;pointer-events:auto}
.ck b{display:block;margin-bottom:4px;font:700 16px/1.3 var(--display);color:var(--ink)}
.ck a{color:var(--rasp);text-decoration:underline;text-underline-offset:2px}
.ck .bt{display:flex;gap:8px;margin-top:14px}
.ck button{flex:1;height:42px;border-radius:var(--pill);font:600 14px/1 var(--sans);cursor:pointer}
.ck .no{border:1px solid var(--line-2);background:#fff;color:var(--ink)}
.ck .yes{border:0;background:var(--rasp);color:#fff}
.ck .yes:hover{background:var(--rasp-d)}

/* calm reveal on scroll (JS-gated: without JS everything shows) */
.js .rv{opacity:0;transform:translateY(14px);transition:opacity .6s var(--ease),transform .6s var(--ease)}
.js .rv.in{opacity:1;transform:none}

@media (max-width:1020px){
  .hero .wrap{grid-template-columns:minmax(0,1fr);grid-template-areas:"copy" "apply" "fit";row-gap:2rem}
  .lead{margin-bottom:0}
  .apply{max-width:600px}
  .say,.faq-wrap{grid-template-columns:minmax(0,1fr);gap:1.75rem}
  .thread{max-width:440px}
}
@media (max-width:760px){
  .wrap{padding:0 1.1rem}
  .top .wrap{height:62px}
  .mark{font-size:.9rem;letter-spacing:.08em}
  .top .btn{padding:.5rem 1rem;font-size:.88rem}
  .hero{padding-top:1.6rem}
  .hero h1{margin-bottom:.8rem}
  .apply{padding:1.35rem 1.1rem 1.25rem;margin:0 -.2rem}
  .steps{grid-template-columns:minmax(0,1fr);gap:.9rem}
  .step{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:1rem;align-items:start;padding:1.25rem 1.2rem}
  .step .em{grid-row:span 3;margin:.15rem 0 0;font-size:1.8rem}
  .faq{padding:.2rem 1.1rem}
  .close .btn{width:100%}
  .foot .cols{flex-direction:column}
  .book{padding:1.2rem .9rem}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .js .rv{opacity:1;transform:none;transition:none}
  .btn,.ck{transition:none}
}
