/* ContentForge v2 — builder, calendar, leads, work, integrations, pricing, faq, demo, footer, cursor */

/* builder */
.sec--build { background: radial-gradient(70% 60% at 85% 40%, rgba(255, 90, 31, .10), transparent 70%), linear-gradient(180deg, var(--bg), var(--bg2) 50%, var(--bg)); border-block: 1px solid var(--line); }
.builder { display: grid; gap: 28px; }
.builder__form { display: grid; gap: 30px; }
fieldset { border: 0; padding: 0; margin: 0; min-width: 0; }
legend { padding: 0; margin-bottom: 14px; font: 400 13px var(--mono); color: var(--mut); }
.opts { display: flex; flex-wrap: wrap; gap: 8px; }
.opt { position: relative; cursor: pointer; }
.opt input { position: absolute; opacity: 0; inset: 0; cursor: pointer; }
.opt span { display: inline-flex; align-items: center; gap: 10px; padding: 11px 16px 11px 12px; border-radius: 12px; font-size: 15px; color: var(--mut); background: rgba(255, 255, 255, .025); box-shadow: inset 0 0 0 1px var(--line); transition: color .3s, background .3s, box-shadow .3s; }
.opt span::before { content: ''; width: 16px; height: 16px; border-radius: 5px; box-shadow: inset 0 0 0 1.5px var(--dim); transition: background .3s, box-shadow .3s; }
.opt input:checked + span { color: var(--tx); background: rgba(255, 90, 31, .08); box-shadow: inset 0 0 0 1px rgba(255, 138, 43, .55); }
.opt input:checked + span::before { background: var(--molten); box-shadow: 0 0 10px rgba(255, 90, 31, .7); }
.opt input:focus-visible + span { outline: 2px solid var(--ember); outline-offset: 2px; }
.vol__out { display: flex; align-items: baseline; gap: 14px; margin-bottom: 8px; }
.vol__out output { font: 760 clamp(84px, 11vw, 168px)/.85 var(--disp); font-stretch: 76%; letter-spacing: -.05em; font-variant-numeric: tabular-nums; }
.vol__out span { color: var(--mut); }
input[type=range] { -webkit-appearance: none; appearance: none; width: 100%; height: 34px; background: transparent; cursor: pointer; --p: 35%; }
input[type=range]::-webkit-slider-runnable-track { height: 4px; border-radius: 4px; background: linear-gradient(90deg, var(--hot) 0, var(--ember) var(--p), rgba(255, 255, 255, .1) var(--p)); }
input[type=range]::-moz-range-track { height: 4px; border-radius: 4px; background: rgba(255, 255, 255, .1); }
input[type=range]::-moz-range-progress { height: 4px; border-radius: 4px; background: var(--hot); }
input[type=range]::-webkit-slider-thumb { -webkit-appearance: none; width: 26px; height: 26px; margin-top: -11px; border-radius: 50%; background: var(--tx); box-shadow: 0 0 0 6px rgba(255, 90, 31, .25), 0 0 24px var(--hot); }
input[type=range]::-moz-range-thumb { width: 26px; height: 26px; border: 0; border-radius: 50%; background: var(--tx); box-shadow: 0 0 0 6px rgba(255, 90, 31, .25), 0 0 24px var(--hot); }
.range__ticks { display: flex; justify-content: space-between; font-size: 12px; color: var(--dim); }
.plan { position: relative; padding: clamp(26px, 3vw, 40px); border-radius: 28px; overflow: hidden; background: linear-gradient(160deg, #1f1b23, #121014 70%); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .12), inset 0 0 0 1px var(--line2), 0 60px 120px -50px rgba(255, 90, 31, .45); transform: perspective(1400px) rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg)); transition: transform .5s var(--ease); }
.plan::after, .tier::after, .frame__phone::after { content: ''; position: absolute; inset: 0; pointer-events: none; border-radius: inherit; background: radial-gradient(420px circle at var(--mx, 50%) var(--my, 0%), rgba(255, 200, 150, .14), transparent 45%); opacity: 0; transition: opacity .4s; }
.is-tilt::after { opacity: 1 !important; }
.plan__glow { position: absolute; right: -20%; top: -30%; width: 70%; aspect-ratio: 1; border-radius: 50%; background: radial-gradient(closest-side, rgba(255, 90, 31, .35), transparent); filter: blur(10px); pointer-events: none; }
.plan__label { font-size: 12px; color: var(--mut); }
.plan h3 { position: relative; font: 700 clamp(30px, 2.6vw, 40px)/1 var(--disp); letter-spacing: -.03em; margin-top: 6px; }
.plan__big { position: relative; margin: 18px 0 22px; }
.plan__big span { display: block; font: 760 clamp(64px, 7.4vw, 124px)/.86 var(--disp); font-stretch: 76%; letter-spacing: -.05em; font-variant-numeric: tabular-nums; background: var(--molten); -webkit-background-clip: text; background-clip: text; color: transparent; }
.plan__big small { display: block; margin-top: 8px; color: var(--mut); font-size: 15px; }
.bump { animation: bump .5s var(--ease); }
@keyframes bump { 40% { filter: brightness(1.35); transform: translateY(-3px); } }
.plan__grid { position: relative; display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: var(--line); border-radius: 16px; overflow: hidden; }
.plan__grid div { background: #17141b; padding: 14px 16px; }
.plan__grid dt { font-size: 13px; color: var(--mut); }
.plan__grid dd { font-size: 15px; margin-top: 2px; color: var(--tx); }
.plan__bars { position: relative; display: flex; align-items: flex-end; gap: 3px; height: 90px; margin-top: 22px; }
.plan__bars i { flex: 1; border-radius: 3px 3px 0 0; background: linear-gradient(180deg, var(--ember), rgba(255, 90, 31, .25)); transition: height .6s var(--ease); min-height: 3px; }
.plan__axis { display: flex; justify-content: space-between; font-size: 11px; color: var(--dim); margin-top: 6px; }
.plan__foot { position: relative; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 18px; margin-top: 26px; padding-top: 22px; border-top: 1px solid var(--line); }
.plan__price span { font: 700 clamp(44px, 4vw, 64px)/1 var(--disp); font-stretch: 80%; letter-spacing: -.04em; font-variant-numeric: tabular-nums; }
.plan__price small { margin-left: 8px; color: var(--mut); font-size: 14px; }
@media (min-width: 960px) { .builder { grid-template-columns: 1fr 1.05fr; gap: 64px; align-items: start; } .plan { position: sticky; top: 100px; } }

/* tablet + calendar */
.tablet { padding: 14px; border-radius: 34px; background: linear-gradient(150deg, #34303a, #121015 45%, #25222a); box-shadow: inset 0 0 0 1.5px rgba(255, 255, 255, .14), inset 0 0 0 6px #0b0a0d, 0 50px 120px -40px rgba(0, 0, 0, .9); }
.tablet__screen { border-radius: 22px; overflow: hidden; background: #110f14; }
.cal { display: grid; font-size: 12px; }
.cal__row { display: grid; grid-template-columns: 64px repeat(7, 1fr); }
.cal__h, .cal__t { padding: 12px 10px; font: 400 12px var(--mono); color: var(--mut); border-bottom: 1px solid var(--line); }
.cal__h.is-today { color: var(--ember); }
.cal__c { padding: 8px 6px; border-left: 1px solid var(--line); border-bottom: 1px solid var(--line); display: grid; gap: 5px; align-content: start; min-height: 96px; }
.post { display: block; padding: 6px 8px; border-radius: 8px; font-size: 11px; line-height: 1.3; background: #1a171e; box-shadow: inset 2px 0 0 currentColor; opacity: 0; transform: translateY(8px) scale(.96); transition: opacity .5s var(--ease), transform .5s var(--ease); }
.cal.is-in .post { opacity: 1; transform: none; }
.post.is-done { filter: saturate(.3); opacity: .5 !important; }
@media (max-width: 760px) { .cal__row { grid-template-columns: 52px repeat(3, 1fr); } .hide-m { display: none; } }

/* leads simulator */
.sec--leads { background: linear-gradient(180deg, var(--bg), var(--bg2)); border-block: 1px solid var(--line); overflow: hidden; }
.sim__track { position: relative; display: grid; grid-template-columns: repeat(5, 1fr); gap: 8px; margin-bottom: 40px; }
.sim__wire { position: absolute; left: 10%; right: 10%; top: 50%; width: 80%; height: 40px; transform: translateY(-50%); z-index: 0; }
.sim__wire path { fill: none; stroke: var(--line2); stroke-width: 2; vector-effect: non-scaling-stroke; }
.sim__wire .sim__wire-hot { stroke: var(--hot); stroke-dasharray: 1000; stroke-dashoffset: 1000; filter: drop-shadow(0 0 6px var(--hot)); transition: stroke-dashoffset .9s var(--ease); }
.sim__stage { position: relative; z-index: 1; display: grid; justify-items: center; gap: 6px; padding: 18px 6px; border-radius: 18px; text-align: center; font: 600 clamp(14px, 1.4vw, 20px)/1.1 var(--disp); background: #16131a; box-shadow: inset 0 0 0 1px var(--line); transition: box-shadow .4s, background .4s, transform .4s var(--ease); }
.sim__stage span { font-size: 11px; color: var(--dim); font-weight: 400; }
.sim__stage.is-on { background: #26170f; box-shadow: inset 0 0 0 1px var(--hot), 0 0 40px -6px rgba(255, 90, 31, .6); transform: translateY(-4px); }
.sim__stage.is-done { box-shadow: inset 0 0 0 1px rgba(255, 138, 43, .45); }
.sim__stage.is-done span { color: var(--ember); }
.sim__token { position: absolute; top: -12px; left: 0; z-index: 2; width: 18px; height: 18px; margin-left: -9px; border-radius: 50%; background: var(--ember); box-shadow: 0 0 0 5px rgba(255, 90, 31, .3), 0 0 26px var(--hot); opacity: 0; }
.sim__body { display: grid; gap: 30px; align-items: start; }
.sim__count { margin-top: 22px; color: var(--mut); }
.sim__count b { font: 700 28px var(--disp); margin-left: 6px; color: var(--ember); }
.sim__log { display: grid; gap: 10px; margin-top: 22px; font-size: 13px; color: #d4cdd1; }
.sim__log li { padding: 12px 14px; border-radius: 12px; background: #17141b; box-shadow: inset 0 0 0 1px var(--line); animation: logIn .5s var(--ease); }
.sim__log b { color: var(--ember); font-weight: 500; }
.phone--crm { margin: 0 auto; width: 280px; transform: rotate(2deg); }
.crm { padding: 52px 16px 16px; height: 100%; display: flex; flex-direction: column; }
.crm__empty { margin: auto; font-size: 12px; color: var(--dim); text-align: center; }
.crm.is-full { animation: logIn .6s var(--ease); }
.crm__head { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding-bottom: 14px; border-bottom: 1px solid var(--line); }
.crm__head h3 { font: 700 24px/1 var(--disp); letter-spacing: -.02em; }
.crm__badge { font-size: 11px; font-weight: 600; color: #1a0800; background: var(--molten); padding: 5px 9px; border-radius: 8px; }
.crm dl { display: grid; gap: 12px; margin-top: 14px; font-size: 13px; }
.crm dt { font: 400 11px var(--mono); color: var(--dim); }
.crm dd { margin-top: 2px; display: flex; align-items: center; gap: 8px; }
.score { flex: 1; height: 6px; border-radius: 6px; background: rgba(255, 255, 255, .08); overflow: hidden; }
.score i { display: block; height: 100%; background: var(--molten); }
@media (min-width: 900px) { .sim__body { grid-template-columns: 1.2fr 1fr; gap: 60px; } .phone--crm { width: 300px; } }

/* work: phones in 3D fan */
.sec--work { overflow: hidden; }
.work__photo { position: absolute; inset: 0 0 auto; height: 70%; z-index: 0; opacity: .32; -webkit-mask-image: linear-gradient(180deg, transparent, #000 25%, #000 50%, transparent); mask-image: linear-gradient(180deg, transparent, #000 25%, #000 50%, transparent); }
.work__photo img { width: 100%; height: 100%; object-fit: cover; filter: grayscale(1) contrast(1.15) brightness(.7) sepia(.6) hue-rotate(-20deg) saturate(2.2); }
.sec--work .wrap { position: relative; z-index: 1; }
.frames { position: relative; z-index: 1; display: flex; gap: 22px; overflow-x: auto; scroll-snap-type: x mandatory; padding: 30px var(--gut) 40px; perspective: 1600px; scrollbar-width: none; }
.frames::-webkit-scrollbar { display: none; }
.frame { flex: none; width: 210px; scroll-snap-align: center; transform-style: preserve-3d; }
.frame__phone { position: relative; aspect-ratio: 9 / 19; padding: 8px; border-radius: 34px; background: linear-gradient(145deg, #3b3741, #141217 40%, #26232b); box-shadow: inset 0 0 0 1.5px rgba(255, 255, 255, .16), inset 0 0 0 4px #0b0a0d, 0 40px 80px -30px rgba(0, 0, 0, .95); transform: rotateY(calc(var(--fy, 0deg) + var(--ry, 0deg))) rotateX(var(--rx, 0deg)) translateZ(var(--fz, 0px)); transition: transform .6s var(--ease); }
.frame__art { position: relative; height: 100%; border-radius: 27px; overflow: hidden; background: #120f15; display: grid; place-items: center; }
.frame figcaption { display: grid; gap: 2px; margin-top: 16px; padding: 0 4px; }
.frame figcaption b { font: 650 18px var(--disp); }
.frame figcaption span { font-size: 11px; color: var(--mut); }
@media (min-width: 900px) {
  .frames { justify-content: center; overflow: visible; gap: 26px; }
  .frame { width: min(12.6vw, 210px); }
  .frames { padding-top: 60px; }
  .frame:nth-child(1) { --fy: 32deg; --fz: -90px; } .frame:nth-child(2) { --fy: 20deg; --fz: -30px; } .frame:nth-child(3) { --fy: 7deg; --fz: 10px; }
  .frame:nth-child(4) { --fy: -7deg; --fz: 10px; } .frame:nth-child(5) { --fy: -20deg; --fz: -30px; } .frame:nth-child(6) { --fy: -32deg; --fz: -90px; }
}
/* templates (always moving, paused when off-screen via .is-off) */
.frames.is-off * { animation-play-state: paused !important; }
.f-bars .frame__art { display: flex; align-items: flex-end; gap: 7%; padding: 28% 12% 18%; }
.f-bars i { flex: 1; border-radius: 4px 4px 0 0; background: linear-gradient(180deg, var(--ember), var(--hot)); animation: barR 3.6s var(--ease) infinite; transform-origin: bottom; }
.f-bars i:nth-child(1) { height: 40%; animation-delay: -.2s; } .f-bars i:nth-child(2) { height: 62%; animation-delay: -.8s; } .f-bars i:nth-child(3) { height: 50%; animation-delay: -1.4s; }
.f-bars i:nth-child(4) { height: 80%; animation-delay: -2s; } .f-bars i:nth-child(5) { height: 66%; animation-delay: -2.6s; } .f-bars i:nth-child(6) { height: 95%; animation-delay: -3.1s; background: var(--tx); }
@keyframes barR { 0%, 100% { transform: scaleY(.35); } 50% { transform: scaleY(1); } }
.f-type .frame__art { align-content: center; gap: 2px; background: var(--hot); }
.f-type span { font: 800 clamp(26px, 2.6vw, 38px)/.9 var(--disp); font-stretch: 75%; letter-spacing: -.04em; color: #1a0800; animation: kin 2.4s var(--ease) infinite; }
.f-type span:nth-child(2) { animation-delay: .15s; color: var(--tx); } .f-type span:nth-child(3) { animation-delay: .3s; }
@keyframes kin { 0%, 15% { transform: translateY(40px) scale(.8); opacity: 0; } 30%, 80% { transform: none; opacity: 1; } 100% { transform: translateY(-30px); opacity: 0; } }
.f-ring svg { width: 72%; transform: rotate(-90deg); }
.f-ring circle { fill: none; stroke: rgba(255, 255, 255, .08); stroke-width: 9; }
.f-ring .arc { stroke: var(--hot); stroke-linecap: round; stroke-dasharray: 239; animation: ring 3.4s var(--ease) infinite; filter: drop-shadow(0 0 6px var(--hot)); }
.f-ring b { position: absolute; font: 760 clamp(30px, 3vw, 44px)/1 var(--disp); font-stretch: 78%; }
@keyframes ring { 0% { stroke-dashoffset: 239; } 60%, 100% { stroke-dashoffset: 65; } }
.f-split .frame__art { grid-template-rows: 1fr 1fr; place-items: stretch; }
.f-split i:first-child { background: linear-gradient(135deg, #2a2730, #1a181d); }
.f-split i:last-child { background: var(--molten); animation: split 3s var(--ease-io) infinite alternate; transform-origin: top; }
@keyframes split { from { transform: scaleY(.15); } to { transform: scaleY(1); } }
.f-map .frame__art { background: radial-gradient(circle at 50% 50%, #1d1a22 0 60%, #120f15 61%); }
.f-map i { position: absolute; width: 10px; height: 10px; border-radius: 50%; background: var(--ember); box-shadow: 0 0 0 0 rgba(255, 90, 31, .7); animation: pulseMap 2.2s infinite; }
.f-map i:nth-child(1) { left: 28%; top: 30%; } .f-map i:nth-child(2) { left: 62%; top: 42%; animation-delay: .5s; } .f-map i:nth-child(3) { left: 40%; top: 64%; animation-delay: 1s; } .f-map i:nth-child(4) { left: 70%; top: 72%; animation-delay: 1.5s; }
@keyframes pulseMap { 70% { box-shadow: 0 0 0 26px rgba(255, 90, 31, 0); } 100% { box-shadow: 0 0 0 0 rgba(255, 90, 31, 0); } }
.f-line svg { width: 82%; height: 50%; overflow: visible; }
.f-line path { fill: none; stroke: var(--ember); stroke-width: 3; vector-effect: non-scaling-stroke; stroke-dasharray: 400; stroke-dashoffset: 400; animation: draw 3.2s var(--ease) infinite; filter: drop-shadow(0 0 6px var(--hot)); }
@keyframes draw { 70%, 100% { stroke-dashoffset: 0; } }

/* integrations */
.sec--integ { padding-bottom: clamp(70px, 9vw, 120px); }
.marq { display: grid; gap: 6px; margin-bottom: 56px; overflow: hidden; -webkit-mask-image: linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent); mask-image: linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent); }
.marq__row { display: flex; gap: 52px; width: max-content; font: 700 clamp(40px, 6vw, 92px)/1.05 var(--disp); font-stretch: 80%; letter-spacing: -.04em; animation: marq 40s linear infinite; }
.marq__row span:nth-child(odd) { color: transparent; -webkit-text-stroke: 1px rgba(242, 236, 228, .35); }
.marq__row--rev { animation-direction: reverse; animation-duration: 48s; }
.marq__row--rev span:nth-child(odd) { color: var(--tx); -webkit-text-stroke: 0; }
.marq__row--rev span:nth-child(even) { color: transparent; -webkit-text-stroke: 1px rgba(255, 138, 43, .6); }
@keyframes marq { to { transform: translateX(-50%); } }
.integ { display: grid; grid-template-columns: repeat(2, 1fr); border-top: 1px solid var(--line); }
.integ li { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; padding: 14px 4px; border-bottom: 1px solid var(--line); font-size: 15px; }
.integ li:nth-child(odd) { padding-right: 14px; }
.integ span { font: 400 12px var(--mono); color: var(--mut); text-align: right; }
@media (min-width: 900px) { .integ { grid-template-columns: repeat(3, 1fr); column-gap: 40px; } .integ li:nth-child(odd) { padding-right: 4px; } }

/* pricing rows */
.tiers { display: grid; gap: 14px; }
.tier { position: relative; display: grid; gap: 18px; padding: 30px 26px; border-radius: 26px; background: linear-gradient(170deg, var(--bg3), var(--bg2)); box-shadow: inset 0 0 0 1px var(--line); }
.tier h3 { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; font: 700 clamp(34px, 3.2vw, 52px)/1 var(--disp); font-stretch: 84%; letter-spacing: -.04em; }
.tier__name p { margin-top: 8px; color: var(--mut); }
.tier__flag { font-size: 11px; font-weight: 500; color: var(--ember); letter-spacing: 0; }
.tier__price { font: 760 clamp(56px, 6vw, 96px)/.9 var(--disp); font-stretch: 76%; letter-spacing: -.05em; }
.tier ul { display: grid; gap: 8px; color: #d4cdd1; font-size: 15px; }
.tier li { display: flex; gap: 10px; align-items: baseline; }
.tier li::before { content: ''; width: 10px; height: 1px; background: var(--hot); flex: none; transform: translateY(-4px); }
.tier--hot { background: radial-gradient(80% 140% at 0% 0%, rgba(255, 90, 31, .22), transparent 60%), linear-gradient(170deg, #241a17, #151216); box-shadow: inset 0 0 0 1px rgba(255, 138, 43, .5), 0 40px 100px -50px rgba(255, 90, 31, .6); }
.tier--hot .tier__price { background: var(--molten); -webkit-background-clip: text; background-clip: text; color: transparent; }
@media (min-width: 1000px) {
  .tier { grid-template-columns: 1.3fr 1fr 1.2fr auto; align-items: center; gap: 36px; padding: 34px 40px; }
}

/* faq */
.faqwrap { display: grid; gap: 40px; }
.faq__photo { margin-top: 36px; border-radius: 26px; overflow: hidden; clip-path: polygon(0 0, 100% 8%, 100% 100%, 0 92%); aspect-ratio: 4 / 3; }
.faq__photo img { width: 100%; height: 100%; object-fit: cover; filter: grayscale(.4) contrast(1.1) sepia(.35) hue-rotate(-15deg); }
.faq details { border-bottom: 1px solid var(--line); }
.faq summary { position: relative; list-style: none; cursor: pointer; padding: 26px 48px 26px 0; font: 600 clamp(20px, 1.9vw, 26px)/1.25 var(--disp); letter-spacing: -.02em; transition: color .3s; }
.faq summary::-webkit-details-marker { display: none; }
.faq summary::before, .faq summary::after { content: ''; position: absolute; right: 6px; top: 50%; width: 18px; height: 1.5px; background: var(--tx); transition: transform .4s var(--ease), background .3s; }
.faq summary::after { transform: rotate(90deg); }
.faq details[open] summary::after { transform: rotate(0); background: var(--hot); }
.faq details[open] summary::before { background: var(--hot); }
.faq summary:hover { color: var(--ember); }
.faq details p { padding: 0 48px 26px 0; color: var(--mut); max-width: 62ch; }
@media (min-width: 960px) { .faqwrap { grid-template-columns: .9fr 1.1fr; gap: 80px; } .faq__side { position: sticky; top: 110px; align-self: start; } }

/* demo form */
.sec--demo { overflow: hidden; border-top: 1px solid var(--line); background: radial-gradient(60% 70% at 80% 60%, rgba(255, 90, 31, .16), transparent 70%); }
.demo__photo { position: absolute; right: -6%; bottom: -10%; width: 60%; max-width: 900px; opacity: .45; pointer-events: none; -webkit-mask-image: radial-gradient(closest-side, #000 40%, transparent); mask-image: radial-gradient(closest-side, #000 40%, transparent); }
.demo__photo img { width: 100%; filter: sepia(.6) hue-rotate(-20deg) saturate(1.8) brightness(.8); }
.demo { position: relative; display: grid; gap: 44px; align-items: center; }
.demo__pts { display: grid; gap: 10px; margin-top: 30px; font-size: 13px; color: var(--mut); }
.demo__pts li { display: flex; gap: 12px; align-items: center; }
.demo__pts li::before { content: ''; width: 18px; height: 1px; background: var(--hot); }
.demo__card { position: relative; padding: clamp(24px, 3vw, 40px); border-radius: 28px; background: linear-gradient(160deg, rgba(40, 34, 42, .82), rgba(18, 16, 20, .9)); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .12), inset 0 0 0 1px var(--line2), 0 60px 140px -50px rgba(0, 0, 0, .9); backdrop-filter: blur(18px); }
.field { display: grid; gap: 8px; margin-bottom: 16px; }
.field label { font-size: 14px; color: #cfc8cc; }
.field input, .field select { height: 54px; padding: 0 16px; border-radius: 14px; border: 0; background: rgba(255, 255, 255, .04); box-shadow: inset 0 0 0 1px var(--line2); transition: box-shadow .3s, background .3s; }
.field input::placeholder { color: var(--dim); }
.field input:focus, .field select:focus { outline: 0; background: rgba(255, 90, 31, .05); box-shadow: inset 0 0 0 1.5px var(--hot); }
.field select option { background: #1b1820; }
.hp { position: absolute; left: -9999px; width: 1px; height: 1px; opacity: 0; }
.form__err { margin-top: 12px; color: #ffb4a0; font-size: 14px; }
.thanks { text-align: center; padding: 30px 0; }
.thanks svg { width: 64px; margin: 0 auto 16px; fill: none; stroke: var(--hot); stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.thanks h3 { font: 700 34px var(--disp); }
.thanks p { color: var(--mut); margin-top: 8px; }
@media (min-width: 960px) { .demo { grid-template-columns: 1.1fr .9fr; gap: 80px; } }

/* footer */
.foot { position: relative; padding: 40px 0 34px; border-top: 1px solid var(--line); overflow: hidden; }
.foot__word { font: 800 clamp(64px, 16.5vw, 280px)/.8 var(--disp); font-stretch: 75%; letter-spacing: -.06em; background: linear-gradient(180deg, rgba(242, 236, 228, .9), rgba(242, 236, 228, .04) 85%); -webkit-background-clip: text; background-clip: text; color: transparent; white-space: nowrap; margin: 10px 0 40px; }
.foot__in { display: grid; gap: 18px; align-items: center; }
.foot nav { display: flex; flex-wrap: wrap; gap: 20px; font-size: 14px; color: var(--mut); }
.foot nav a:hover { color: var(--tx); }
.foot__demo { font-size: 12px; color: var(--dim); max-width: 70ch; }
@media (min-width: 900px) { .foot__in { grid-template-columns: auto 1fr; } .foot__demo { grid-column: 1 / -1; } .foot nav { justify-content: flex-end; } }

/* cursor */
.has-cursor input[type=range], .has-cursor input:not([type]), .has-cursor input[type=tel], .has-cursor select { cursor: auto; }
.cursor { position: fixed; inset: 0; z-index: 200; pointer-events: none; opacity: 0; transition: opacity .3s; }
.cursor.is-on { opacity: 1; }
.cursor__dot, .cursor__ring { position: absolute; left: 0; top: 0; border-radius: 50%; }
.cursor__dot { width: 6px; height: 6px; margin: -3px 0 0 -3px; background: var(--ember); }
.cursor__ring { width: 38px; height: 38px; margin: -19px 0 0 -19px; display: grid; place-items: center; }
.cursor__ring::before { content: ''; position: absolute; inset: 0; border-radius: 50%; box-shadow: inset 0 0 0 1px rgba(255, 181, 71, .55); transition: transform .4s var(--ease), background .4s, box-shadow .4s; }
.cursor.is-hover .cursor__ring::before { transform: scale(1.7); background: rgba(255, 90, 31, .12); box-shadow: inset 0 0 0 1px rgba(255, 181, 71, .9); }
.cursor.is-down .cursor__ring::before { transform: scale(.8); }
.cursor__label { position: relative; font: 500 10px var(--mono); color: var(--tx); opacity: 0; transition: opacity .3s; white-space: nowrap; }
.cursor.is-label .cursor__label { opacity: 1; }
.cursor.is-label .cursor__ring::before { transform: scale(2.4); background: rgba(255, 90, 31, .85); }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .grain { animation: none; }
}

/* QA 06.11 — дрібниці: заголовки без сиріт, тап-зони футера на телефоні ≥44px */
h1, h2, h3 { text-wrap: balance; }
p, li, figcaption, blockquote { text-wrap: pretty; }
@media (max-width: 760px) { footer a { display: inline-flex; align-items: center; min-height: 44px; } }
/* QA 06.11: «How it works» без pin-скролу — статична сітка 5 кроків */
@media (min-width: 900px) {
  .how { padding: clamp(88px, 12vw, 140px) 0; }
  .how__pin { height: auto; display: block; overflow: visible; }
  .how__track { display: grid; grid-template-columns: repeat(5, 1fr); width: auto; max-width: var(--wrap); margin: 0 auto; padding: 0 var(--gut); will-change: auto; transform: none !important; }
  .how__step { width: auto; min-height: 340px; padding: 28px 22px; }
}
@media (min-width: 900px) and (max-width: 1199px) { .how__track { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 760px) {
  p a:not([class]), dd a:not([class]) { padding-block: 10px; }
  header .logo, header .brand, header a[class*="logo"] { padding-block: 8px; margin-block: -8px; }
}
[hidden] { display: none !important; }
