.funnel-page { overflow-x:clip }
.funnel-page [hidden] { display:none!important }
.trap-field { position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden }
.funnel-header { height:82px }
.funnel-home { position:absolute;top:33px;right:54px;font-size:18px;transition:transform .25s var(--ease) }
.funnel-home:hover { transform:translateX(-5px) }
.funnel-home span { font:700 24px var(--sans);vertical-align:-2px;margin-right:8px }
.funnel-main { padding:4px 50px 110px }
.funnel-intro { position:relative;max-width:730px;margin:0 auto 28px;text-align:center }
.eyebrow { width:max-content;margin:0 auto 12px;padding:2px 13px;background:url('assets/paper/strip-blue.svg') center/100% 100% no-repeat;font-size:16px;letter-spacing:.06em;transform:rotate(-2deg) }
.funnel-intro h1 { margin:0; font:400 clamp(38px,5vw,54px)/1.05 var(--marker);letter-spacing:-.035em }
.funnel-intro h1 .brush { display:inline-block;padding:1px 17px 7px;white-space:nowrap }
.funnel-intro p:last-of-type { max-width:500px;margin:13px auto 0;font-size:16px;line-height:1.4 }
.intro-arrow { position:absolute;right:-25px;bottom:-25px;width:80px;height:76px;fill:none;stroke:var(--ink);stroke-width:3;stroke-linecap:round;stroke-linejoin:round;transform:rotate(8deg) }
.funnel-progress { display:flex;align-items:center;gap:18px;width:min(100%,760px);margin:0 auto 13px }
.progress-label { white-space:nowrap;font-size:19px }
.progress-label strong { font-size:25px }
.progress-track { flex:1;height:15px;padding:3px;background:#151515;clip-path:polygon(0 15%,3% 0,7% 13%,12% 2%,17% 15%,22% 1%,29% 13%,36% 2%,42% 12%,48% 1%,54% 13%,60% 3%,67% 13%,73% 2%,80% 13%,86% 1%,93% 12%,100% 4%,99% 89%,94% 100%,88% 88%,82% 100%,76% 88%,70% 100%,63% 88%,56% 100%,49% 89%,42% 100%,35% 88%,28% 100%,20% 88%,13% 100%,6% 87%,0 100%) }
.progress-track span { display:block;height:100%;width:20%;background:var(--pink);transition:width .45s var(--ease) }
.progress-caption { min-width:120px;text-align:right;font-size:17px }
#inquiry-form { max-width:760px;margin:auto }
.funnel-step { position:relative;animation:step-enter .48s var(--ease) both }
@keyframes step-enter { from {opacity:0;transform:translateY(18px) rotate(-.3deg)} to {opacity:1;transform:translateY(0) rotate(0)} }
.step-tab { position:relative;z-index:2;display:block;width:max-content;min-width:168px;margin:0 0 -12px 38px;padding:7px 22px;text-align:center;font-size:16px;letter-spacing:.035em;transform:rotate(-3deg) }
.tape-pink { background:url('assets/paper/tape-pink.svg') center/100% 100% no-repeat }
.tape-blue { background:url('assets/paper/tape-blue.svg') center/100% 100% no-repeat }
.tape-yellow { background:url('assets/paper/tape-yellow.svg') center/100% 100% no-repeat }
.tape-green { background:url('assets/paper/tape-green.svg') center/100% 100% no-repeat }
.step-paper { position:relative;min-height:390px;padding:55px 55px 52px;background:#fffdf7;clip-path:polygon(0 2%,3% 1%,6% 2%,9% 1%,12% 2%,15% 1%,19% 2%,23% 1%,27% 2%,31% 1%,35% 2%,39% 1%,43% 2%,47% 1%,52% 2%,57% 1%,62% 2%,67% 1%,72% 2%,77% 1%,82% 2%,87% 1%,92% 2%,96% 1%,100% 2%,99% 9%,100% 16%,99% 24%,100% 32%,99% 40%,100% 49%,99% 58%,100% 67%,99% 76%,100% 84%,99% 92%,100% 98%,96% 99%,92% 98%,87% 99%,82% 98%,77% 99%,72% 98%,67% 99%,62% 98%,57% 99%,52% 98%,47% 99%,42% 98%,37% 99%,32% 98%,27% 99%,22% 98%,17% 99%,12% 98%,7% 99%,3% 98%,0 99%,1% 92%,0 84%,1% 76%,0 68%,1% 59%,0 50%,1% 41%,0 32%,1% 24%,0 16%,1% 9%);filter:drop-shadow(0 4px 2px rgba(0,0,0,.07)) }
.funnel-step { filter:drop-shadow(4px 12px 8px rgba(68,47,20,.12)) }
.step-paper::after { content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:repeating-linear-gradient(2deg,rgba(90,64,37,.008) 0 2px,transparent 2px 12px) }
.step-paper h2 { max-width:590px;margin:0;font:400 clamp(27px,4vw,41px)/1.13 var(--marker);letter-spacing:-.02em }
.underline-pink { text-decoration:underline;text-decoration-color:#f276ad;text-decoration-thickness:5px;text-underline-offset:5px }
.step-lead { margin:12px 0 29px;font-size:16px }
.step-doodle { position:absolute;top:30px;right:65px;color:#f579b1;font-size:60px;transform:rotate(19deg) }
.choice-grid { display:grid;gap:15px }
.goals-grid,.frequency-grid,.scope-grid { grid-template-columns:repeat(2,minmax(0,1fr)) }
.choice-card { position:relative;display:flex;flex-direction:column;gap:5px;min-height:115px;padding:18px 20px;cursor:pointer;background:#faf0df;border:2px solid transparent;clip-path:polygon(0 3%,6% 0,13% 3%,21% 0,28% 3%,36% 0,44% 3%,52% 0,60% 3%,68% 0,76% 3%,84% 0,92% 3%,100% 0,99% 16%,100% 34%,99% 52%,100% 70%,99% 88%,100% 100%,92% 97%,84% 100%,76% 97%,68% 100%,60% 97%,52% 100%,44% 97%,36% 100%,28% 97%,20% 100%,12% 97%,5% 100%,0 97%,1% 79%,0 60%,1% 41%,0 21%);transition:transform .23s var(--ease),filter .23s var(--ease) }
.choice-card:hover { transform:translateY(-4px) rotate(-.7deg);filter:drop-shadow(3px 6px 2px rgba(0,0,0,.11)) }
.choice-card:has(input:checked) { background:#f8b4d0;outline:3px solid #e95098;outline-offset:2px;transform:rotate(-1deg) }
.choice-card:nth-child(2n) { background:#ffe185;transform:rotate(1deg) }
.choice-card:nth-child(2n):has(input:checked) { background:#91cbfb;transform:rotate(1deg) }
.choice-card:nth-child(3n):has(input:checked) { background:#c2e8a9 }
.choice-card input { position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer }
.choice-card:focus-within { outline:3px solid var(--ink);outline-offset:3px }
.choice-card strong { font:700 22px/1.12 var(--hand) }
.choice-card small { font-size:13px }
.choice-icon { font:700 32px/1 var(--hand) }
.field-error { margin:13px 0 0;padding:8px 13px;background:#ffe2ed;color:#9c1649;font-weight:700 }
.frequency-card { align-items:center;text-align:center;min-height:140px;justify-content:center }
.frequency-big { font-size:42px;line-height:1 }
.sub-question { margin-top:35px;padding-top:17px;border-top:2px dashed #d5c8b4 }
.sub-question h3,.social-details h3 { margin:0;font-size:25px }
.sub-question p,.social-details>p { margin:2px 0 14px;color:#47433d }
.mini-choices { display:flex;gap:9px;flex-wrap:wrap }
.mini-choices label { position:relative;cursor:pointer }
.mini-choices input { position:absolute;opacity:0 }
.mini-choices span { display:inline-block;padding:8px 12px;background:#f4ecde;border:2px solid #d9cebd;font:700 15px var(--hand);transition:transform .22s var(--ease),background .22s }
.mini-choices label:hover span { transform:translateY(-2px) }
.mini-choices input:checked+span { background:#b4e6b1;border-color:#419c70;transform:rotate(-2deg) }
.mini-choices input:focus-visible+span { outline:3px solid var(--ink);outline-offset:2px }
.yes-no { display:grid;grid-template-columns:1fr 1fr;gap:14px }
.yes-no .choice-card { min-height:87px }
.social-details { margin-top:31px;padding-top:19px;border-top:2px dashed #d5c8b4 }
.platform-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:15px }
.platform-item { min-width:0 }
.platform-button { position:relative;display:flex;width:100%;min-height:105px;flex-direction:column;align-items:center;justify-content:center;gap:5px;cursor:pointer;background:#f5eadc;border:2px solid #ded1bf;font:700 19px var(--hand);transition:transform .25s var(--ease),background .25s,border-color .25s }
.platform-button:hover { transform:translateY(-4px) rotate(-2deg) }
.platform-button[aria-pressed="true"] { background:#ffe18a;border-color:#161616;transform:rotate(-2deg) }
.platform-button:focus-visible { outline:3px solid var(--ink);outline-offset:4px }
.platform-button b { position:absolute;top:5px;right:10px;display:none;font:700 22px var(--sans) }
.platform-button[aria-pressed="true"] b { display:block }
.platform-icon { display:flex;width:47px;height:47px;align-items:center;justify-content:center;border-radius:11px;color:#fff;font:800 34px/1 var(--sans) }
.platform-icon img { width:33px;height:33px;object-fit:contain }
.instagram { background:linear-gradient(140deg,#6954d6,#e84996 55%,#ffc664) }
.tiktok { background:#101010 }
.youtube { background:#f03b39 }
.linkedin { background:#286cb3 }
.facebook { background:#2871d3 }
.platform-handle { display:block;margin-top:8px;font-size:12px;font-weight:700 }
.platform-handle input { margin-top:3px;font-size:14px }
.scope-card { min-height:110px }
.two-fields { display:grid;grid-template-columns:1fr 1fr;gap:19px;margin-top:27px }
.two-fields label,.message-label { display:block;font-weight:700;font-size:14px }
.two-fields input,.two-fields select,.message-label textarea,.platform-handle input { width:100%;padding:11px 12px;color:var(--ink);background:#fff;border:2px solid #b5aa99;border-radius:0;font:500 15px var(--sans);outline:0;transition:border-color .2s,box-shadow .2s }
.two-fields input,.two-fields select { display:block;margin-top:6px }
.two-fields input:focus,.two-fields select:focus,.message-label textarea:focus,.platform-handle input:focus { border-color:#e95098;box-shadow:0 0 0 3px rgba(249,127,182,.22) }
.two-fields input:user-invalid,.platform-handle input:user-invalid { border-color:#d22763 }
.optional { color:#716a60;font-weight:400 }
.required { color:#c01e55 }
.message-label { margin-top:23px }
.message-label textarea { display:block;resize:vertical;min-height:100px;margin-top:6px }
.mail-note { margin:19px 0 0;font-size:13px;color:#5c544b }
.mail-note a { text-decoration:underline;text-decoration-color:#ef6eaa;text-decoration-thickness:2px;text-underline-offset:3px }
.funnel-actions { display:flex;justify-content:space-between;align-items:center;gap:15px;margin:23px 10px 0 }
.funnel-next,.send-link { display:inline-flex;align-items:center;justify-content:center;gap:13px;min-height:55px;padding:7px 29px;color:#10100f;background:url('assets/paper/strip-yellow.svg') center/100% 100% no-repeat;border:0;cursor:pointer;font:700 24px var(--hand);transition:transform .25s var(--ease),filter .25s var(--ease) }
.funnel-next { margin-left:auto }
.funnel-next:hover,.send-link:hover { transform:translateY(-4px) rotate(-2deg);filter:drop-shadow(3px 5px 2px rgba(0,0,0,.12)) }
.funnel-next:disabled { opacity:.6;cursor:wait;transform:none }
.funnel-next:focus-visible,.funnel-back:focus-visible,.funnel-copy:focus-visible { outline:3px solid #161616;outline-offset:4px }
.funnel-back,.funnel-copy { padding:8px 13px;background:transparent;border:0;cursor:pointer;font:700 20px var(--hand) }
.funnel-back:hover,.funnel-copy:hover { text-decoration:underline;text-decoration-color:#ef6eaa;text-decoration-thickness:3px;text-underline-offset:5px }
.funnel-smile { position:absolute;right:61px;bottom:88px;width:48px;height:48px;fill:none;stroke:#f266a5;stroke-width:3.2;stroke-linecap:round;stroke-linejoin:round;transform:rotate(12deg) }
.review-paper { min-height:400px }
.success-paper { min-height:380px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center }
.success-paper p { max-width:450px;font-size:18px }
.success-paper .funnel-next { margin-top:10px }
.success-mark { display:flex;width:74px;height:74px;align-items:center;justify-content:center;margin-bottom:20px;color:#111;background:var(--yellow);border-radius:50%;font:800 48px var(--sans);transform:rotate(-9deg) }
.review-list { display:grid;gap:0;margin-top:22px }
.review-row { display:grid;grid-template-columns:145px 1fr;gap:16px;padding:11px 0;border-bottom:2px dashed #e0d3c0 }
.review-row strong { font:700 17px var(--hand) }
.review-row span { margin:0;overflow-wrap:anywhere }
.send-actions { display:flex;gap:13px;flex-wrap:wrap;align-items:center;margin-top:27px }
.send-actions .funnel-next { margin:0 }
.funnel-footer { display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:12px 28px;padding:15px 15px 40px;font-size:16px }
.funnel-footer span { color:#eb6ea6 }
.funnel-footer nav { display:flex;gap:17px;font:500 13px var(--sans) }
.funnel-footer nav a:hover,.funnel-footer nav a:focus-visible { text-decoration:underline;text-decoration-color:#ef6eaa;text-decoration-thickness:2px;text-underline-offset:3px }
@media(max-width:760px) {
  .funnel-header { height:82px }
  .funnel-header .brand { left:23px;top:21px }
  .funnel-home { right:20px;top:27px;font-size:15px }
  .funnel-main { padding:7px 17px 85px }
  .funnel-intro { margin-bottom:29px }
  .funnel-intro h1 { font-size:clamp(35px,8vw,52px) }
  .funnel-intro h1 .brush { padding:2px 9px 5px }
  .funnel-intro p:last-of-type { font-size:15px }
  .intro-arrow { display:none }
  .funnel-progress { gap:9px }
  .progress-label { font-size:15px }
  .progress-label strong { font-size:19px }
  .progress-caption { min-width:84px;font-size:14px }
  .step-tab { margin-left:21px }
  .step-paper { padding:47px 25px 38px }
  .step-paper h2 { font-size:clamp(26px,7vw,38px) }
  .step-doodle { right:20px;top:37px;font-size:42px }
  .funnel-smile { right:26px;bottom:37px;width:37px }
}
@media(max-width:540px) {
  .funnel-header .brand-name { font-size:24px }
  .funnel-header .brand-rays { width:27px }
  .funnel-home { top:25px;font-size:14px }
  .funnel-home span { margin-right:2px }
  .funnel-intro h1 { font-size:clamp(30px,8.2vw,43px) }
  .funnel-intro h1 .brush { white-space:normal }
  .choice-grid,.yes-no,.two-fields { grid-template-columns:1fr }
  .frequency-grid { grid-template-columns:repeat(2,minmax(0,1fr)) }
  .frequency-card { min-height:125px;padding:12px 8px }
  .frequency-card strong { font-size:19px }
  .frequency-card small { font-size:11px }
  .platform-grid { grid-template-columns:repeat(2,minmax(0,1fr)) }
  .review-row { grid-template-columns:1fr;gap:1px }
  .funnel-next,.send-link { font-size:20px;padding:8px 21px }
  .send-actions { display:grid }
}
@media(prefers-reduced-motion:reduce) {
  .funnel-step { animation:none }
  .progress-track span,.choice-card,.platform-button,.funnel-next,.send-link { transition:none }
}
