/* /pvc-card-printing hub + card landing pages — product art, catalogue, NFC demo, request form */

/* ---------- product art (pure CSS, container-scaled) ---------- */
.ca { container-type: inline-size; position: relative; aspect-ratio: 1.586; font-family: var(--f-sans); }
.ca.v { aspect-ratio: .63; }
.cb { position: absolute; inset: 0; border-radius: 4.5cqw; overflow: hidden; box-shadow: 0 30px 60px -24px rgba(0,0,0,.85), 0 0 0 1px rgba(255,255,255,.06); }
.ca.v .cb { border-radius: 7cqw; }
.ca .mono, .ca small { font-family: var(--f-mono); }
/* visiting card — matte black, gold foil */
.ca-visit { background: radial-gradient(circle at 85% 0%, #2B2F3A, #101318 60%); color: #EFE6CF; padding: 8cqw 8cqw 7cqw; display: flex; flex-direction: column; justify-content: space-between; }
.ca-visit .mk { width: 11cqw; height: 11cqw; border-radius: 3cqw; border: .7cqw solid #D9B866; display: flex; align-items: center; justify-content: center; font-weight: 800; font-size: 5cqw; color: #D9B866; }
.ca-visit b { display: block; font-size: 7.4cqw; font-weight: 700; letter-spacing: -.02em; background: linear-gradient(100deg,#B8913F,#F3DC9A 45%,#B8913F); -webkit-background-clip: text; background-clip: text; color: transparent; }
.ca-visit span { display: block; font-size: 3.4cqw; color: #A9A18C; margin-top: 1cqw; }
.ca-visit .ln { display: flex; justify-content: space-between; align-items: flex-end; gap: 4cqw; font-family: var(--f-mono); font-size: 2.7cqw; color: #C9BFA6; line-height: 1.6; }
/* NFC business card */
.ca-nfc { background: linear-gradient(135deg,#0E1B36,#1B3464 55%,#22427E); color: #fff; padding: 8cqw; display: flex; flex-direction: column; justify-content: space-between; }
.ca-nfc .top { display: flex; justify-content: space-between; align-items: flex-start; }
.ca-nfc .wv { position: relative; width: 14cqw; height: 14cqw; }
.ca-nfc .wv i { position: absolute; inset: 0; border: .8cqw solid transparent; border-right-color: var(--amber); border-radius: 50%; }
.ca-nfc .wv i:nth-child(2) { inset: 2.6cqw; } .ca-nfc .wv i:nth-child(3) { inset: 5.2cqw; }
.ca-nfc b { font-size: 7.6cqw; font-weight: 700; letter-spacing: -.02em; display: block; }
.ca-nfc span { font-size: 3.4cqw; color: #9FB0CF; display: block; margin-top: 1cqw; }
.ca-nfc .nfc-tap { white-space: nowrap; font-family: var(--f-mono); font-size: 2.8cqw; letter-spacing: .14em; color: var(--amber); }
/* ID card */
.ca-id { background: #fff; color: var(--ink-light); display: flex; flex-direction: column; }
.ca-id .hd { background: #0F7A5A; color: #fff; padding: 4cqw 6cqw; display: flex; justify-content: space-between; align-items: center; font-weight: 800; font-size: 4.6cqw; }
.ca-id .hd small { font-size: 2.4cqw; opacity: .8; font-weight: 400; }
.ca-id .bd { flex: 1; display: flex; gap: 5cqw; align-items: center; padding: 4cqw 6cqw; }
.ca-id .ph { width: 23cqw; aspect-ratio: .8; border-radius: 2.4cqw; background: repeating-linear-gradient(135deg,#E5E5E5 0 1.5cqw,#F0F0F0 1.5cqw 3cqw); flex: none; }
.ca-id b { display: block; font-size: 5.8cqw; font-weight: 800; letter-spacing: -.02em; }
.ca-id span { display: block; font-size: 3.2cqw; color: #0F7A5A; font-weight: 600; margin-top: 1cqw; }
.ca-id em { display: block; font-style: normal; font-family: var(--f-mono); font-size: 2.6cqw; color: #666; margin-top: 2.6cqw; }
.ca-id .bar { height: 2.4cqw; background: #0F7A5A; }
/* membership / loyalty */
.ca-member { background: linear-gradient(125deg,#7A5A12,#D9B866 38%,#F6E7B4 50%,#C79A3A 64%,#6B4E0E); color: #2B1E05; padding: 7cqw 8cqw; display: flex; flex-direction: column; justify-content: space-between; }
.ca-member .top { display: flex; justify-content: space-between; align-items: center; font-weight: 800; font-size: 5.4cqw; letter-spacing: .06em; }
.ca-member .top small { font-size: 2.6cqw; letter-spacing: .2em; font-weight: 500; }
.ca-member .chip { width: 13cqw; height: 10cqw; border-radius: 2cqw; background: linear-gradient(135deg,#E9D9A6,#B99447); box-shadow: inset 0 0 0 .5cqw rgba(0,0,0,.18); }
.ca-member .no { font-family: var(--f-mono); font-size: 5cqw; letter-spacing: .12em; text-shadow: 0 .3cqw 0 rgba(255,255,255,.35); }
.ca-member .bt { display: flex; justify-content: space-between; font-family: var(--f-mono); font-size: 2.8cqw; letter-spacing: .1em; }
/* RFID / access / hotel key */
.ca-rfid { background: #F4F6FA; color: var(--ink-light); padding: 7cqw 8cqw; display: flex; flex-direction: column; justify-content: space-between; }
.ca-rfid .top { display: flex; justify-content: space-between; align-items: center; }
.ca-rfid b { font-size: 6.6cqw; font-weight: 800; letter-spacing: -.02em; }
.ca-rfid .rf { font-family: var(--f-mono); font-size: 2.6cqw; letter-spacing: .14em; color: #fff; background: #C8102E; padding: 1.2cqw 2.6cqw; border-radius: 99px; }
.ca-rfid .coil { position: absolute; right: 7cqw; bottom: 7cqw; width: 30cqw; aspect-ratio: 1.4; border-radius: 3cqw; border: .6cqw solid rgba(27,52,100,.22); box-shadow: inset 0 0 0 1.6cqw #F4F6FA, inset 0 0 0 2.2cqw rgba(27,52,100,.18), inset 0 0 0 3.8cqw #F4F6FA, inset 0 0 0 4.4cqw rgba(27,52,100,.14); }
.ca-rfid span { font-size: 3.2cqw; color: #4A5366; display: block; }
.ca-rfid .mono { font-size: 3cqw; color: #1B3464; }
/* event badge (vertical) */
.ca-event { background: #fff; color: var(--ink-light); display: flex; flex-direction: column; align-items: center; text-align: center; }
.ca-event .hole { width: 18cqw; height: 4cqw; border-radius: 99px; background: #DCD6C8; margin-top: 6cqw; }
.ca-event .ev { margin-top: 6cqw; font-family: var(--f-mono); font-size: 4.2cqw; letter-spacing: .18em; color: #6B3FA0; }
.ca-event b { margin-top: 12cqw; font-size: 11cqw; font-weight: 800; letter-spacing: -.03em; line-height: 1; padding: 0 8cqw; }
.ca-event span { margin-top: 3cqw; font-size: 5.4cqw; color: #4A5366; }
.ca-event .qr { margin-top: auto; margin-bottom: 6cqw; width: 26cqw; aspect-ratio: 1; border-radius: 2cqw; background: repeating-linear-gradient(90deg,#0B1120 0 2cqw,#fff 2cqw 3.4cqw),repeating-linear-gradient(0deg,#0B1120 0 2cqw,transparent 2cqw 3.4cqw); background-blend-mode: difference; opacity: .85; }
.ca-event .band { width: 100%; padding: 4.4cqw 0; background: #6B3FA0; color: #fff; font-weight: 800; font-size: 7cqw; letter-spacing: .3em; }
/* NFC solutions (dev) */
.ca-dev { background: #0B1120; color: var(--t100); padding: 7cqw 8cqw; font-family: var(--f-mono); font-size: 3.2cqw; line-height: 1.75; }
.ca-dev .c1 { color: var(--t700); } .ca-dev .c2 { color: var(--amber); } .ca-dev .c3 { color: var(--green); } .ca-dev .c4 { color: #9FB0CF; }
.ca-dev .pill { position: absolute; right: 6cqw; bottom: 6cqw; padding: 1.6cqw 3.4cqw; border-radius: 99px; background: var(--green); color: var(--ink-950); font-size: 2.8cqw; letter-spacing: .1em; }
/* transparent / frosted */
.ca-clear { background: linear-gradient(135deg,rgba(255,255,255,.22),rgba(255,255,255,.06)); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); border: 1px solid rgba(255,255,255,.35); color: #fff; padding: 8cqw; display: flex; flex-direction: column; justify-content: flex-end; }
.ca-clear b { font-size: 7cqw; font-weight: 700; letter-spacing: -.02em; } .ca-clear span { font-size: 3.2cqw; opacity: .7; }
/* design (blank artboard) */
.ca-design { background: #fff; color: var(--ink-light); display: flex; align-items: center; justify-content: center; background-image: linear-gradient(rgba(27,52,100,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(27,52,100,.08) 1px,transparent 1px); background-size: 6cqw 6cqw; }
.ca-design i { position: absolute; inset: 6cqw; border: .5cqw dashed rgba(200,16,46,.55); border-radius: 3cqw; }
.ca-design b { font-family: var(--f-serif); font-style: italic; font-weight: 400; font-size: 10cqw; color: var(--navy); }
.ca-other { background: repeating-linear-gradient(135deg,#141B2B 0 4cqw,#101624 4cqw 8cqw); color: var(--t300); display: flex; align-items: center; justify-content: center; font-size: 6cqw; font-weight: 700; letter-spacing: -.02em; }

/* ---------- hub hero fan ---------- */
.fan { position: relative; width: min(100%,520px); aspect-ratio: 1/1; margin: 0 auto; }
.fan > .fw { position: absolute; width: 70%; transition: transform .6s var(--ease); }
.fan .ca { width: 100%; }
.fan > .f1 { left: 2%; top: 6%; transform: rotate(-14deg); }
.fan > .f2 { right: 0; top: 18%; transform: rotate(8deg); }
.fan > .f3 { left: 6%; bottom: 14%; transform: rotate(-3deg); }
.fan > .f4 { right: 3%; bottom: 2%; width: 34%; transform: rotate(11deg); }
.fan:hover > .f1 { transform: rotate(-18deg) translate(-4%,-4%); }
.fan:hover > .f2 { transform: rotate(12deg) translate(4%,-3%); }
.fan:hover > .f3 { transform: rotate(-5deg) translate(-3%,4%); }
.fan:hover > .f4 { transform: rotate(15deg) translate(4%,3%); }
.fan .ripple { position: absolute; right: 8%; top: 12%; width: 22%; aspect-ratio: 1; pointer-events: none; z-index: 3; }
.fan .ripple i { position: absolute; inset: 0; border-radius: 50%; border: 2px solid var(--green); animation: ring 2.4s ease-out infinite; }
.fan .ripple i:nth-child(2) { animation-delay: .8s; } .fan .ripple i:nth-child(3) { animation-delay: 1.6s; }
@media (prefers-reduced-motion: reduce) { .fan .ripple i, .tapdemo * { animation: none !important; transition: none !important; } }

/* ---------- catalogue ---------- */
.cat-sec { max-width: 1360px; margin: 0 auto; padding: var(--pad-y) var(--pad-x); }
.cat-grid { display: grid; grid-template-columns: repeat(auto-fill,minmax(min(100%,300px),1fr)); gap: 16px; }
.prod { display: flex; flex-direction: column; border-radius: 26px; background: var(--ink-850); border: 1px solid var(--line); overflow: hidden; transition: border-color .3s, transform .4s var(--ease); }
.prod:hover { border-color: rgba(245,165,36,.4); transform: translateY(-4px); }
.prod .pv { position: relative; padding: 48px 16% 26px; background: radial-gradient(circle at 50% 30%,#18223A,#0A0F1A 75%); border-bottom: 1px solid rgba(255,255,255,.06); display: flex; justify-content: center; }
.prod .pv .ca { width: 100%; transition: transform .5s var(--ease); }
.prod .pv .ca.v { width: 46%; }
.prod:hover .pv .ca { transform: rotate(-3deg) scale(1.03); }
.prod .pv .tag { position: absolute; left: 14px; top: 14px; font-family: var(--f-mono); font-size: 10.5px; letter-spacing: .1em; padding: 5px 9px; border-radius: 999px; background: rgba(245,165,36,.14); color: var(--amber-hover); border: 1px solid rgba(245,165,36,.3); }
.prod .in { padding: 22px 22px 20px; display: flex; flex-direction: column; gap: 12px; flex: 1; }
.prod h3 { margin: 0; font-size: 22px; font-weight: 700; letter-spacing: -.025em; line-height: 1.15; }
.prod h3 a { color: inherit; } .prod h3 a:hover { color: var(--amber); }
.prod p { margin: 0; font-size: 14.5px; line-height: 1.6; color: var(--t400); }
.prod .ft { margin-top: auto; padding-top: 14px; border-top: 1px solid var(--line); display: flex; justify-content: space-between; align-items: center; gap: 10px; flex-wrap: wrap; }
.prod .ft a.more { font-size: 14px; color: var(--t300); } .prod .ft a.more:hover { color: var(--amber); }
.req-btn { cursor: pointer; border: 0; background: var(--t100); color: var(--ink-950); padding: 10px 16px; border-radius: 999px; font-size: 13.5px; font-weight: 600; transition: background .2s; }
.req-btn:hover { background: var(--amber); }

/* ---------- finishes strip ---------- */
.finishes { border-top: 1px solid rgba(255,255,255,.07); border-bottom: 1px solid rgba(255,255,255,.07); background: var(--ink-900); }
.finishes > div { max-width: 1360px; margin: 0 auto; padding: clamp(48px,7vw,88px) var(--pad-x); display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,380px),1fr)); gap: 32px 64px; align-items: start; }
.fin-list { display: grid; grid-template-columns: repeat(auto-fill,minmax(160px,1fr)); gap: 10px; margin: 0; padding: 0; list-style: none; }
.fin-list li { padding: 14px 16px; border-radius: 16px; background: var(--ink-850); border: 1px solid var(--line); }
.fin-list b { display: block; font-size: 15px; font-weight: 600; }
.fin-list span { display: block; font-size: 12.5px; color: var(--t500); margin-top: 3px; line-height: 1.45; }

/* ---------- NFC tap demo ---------- */
.nfc-sec { max-width: 1360px; margin: 0 auto; padding: var(--pad-y) var(--pad-x); display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,440px),1fr)); gap: clamp(40px,6vw,96px); align-items: center; }
.tapdemo { position: relative; height: clamp(400px,48vw,520px); display: flex; align-items: center; justify-content: center; }
.phone { position: relative; width: clamp(210px,22vw,250px); aspect-ratio: .49; border-radius: 36px; background: #05070C; border: 7px solid #1C2333; box-shadow: 0 50px 90px -30px rgba(0,0,0,.9); overflow: hidden; z-index: 1; }
.phone::before { content: ""; position: absolute; left: 50%; top: 8px; width: 34%; height: 18px; transform: translateX(-50%); background: #1C2333; border-radius: 99px; z-index: 3; }
.screen { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px; padding: 40px 16px 18px; text-align: center; transition: opacity .4s; }
.screen.idle { color: var(--t500); font-size: 13px; }
.screen.idle .ic { width: 64px; height: 64px; border-radius: 50%; border: 2px dashed rgba(255,255,255,.2); display: flex; align-items: center; justify-content: center; font-family: var(--f-mono); font-size: 10px; letter-spacing: .1em; }
.screen.prof { background: linear-gradient(180deg,#1B3464 0 22%,#F3F0E8 22%); color: var(--ink-light); justify-content: flex-start; opacity: 0; }
.screen.prof .av { margin-top: 26px; width: 70px; height: 70px; border-radius: 50%; border: 4px solid #F3F0E8; background: radial-gradient(circle at 50% 38%,#C9B8A6 0 22%,transparent 23%),radial-gradient(ellipse 36% 28% at 50% 92%,#0F7A5A 0 99%,transparent 100%),linear-gradient(#E9E4DA,#D8D1C4); }
.screen.prof b { font-size: 18px; font-weight: 700; letter-spacing: -.02em; }
.screen.prof small { font-size: 12px; color: var(--muted-light); margin-top: -6px; }
.screen.prof .acts { display: flex; flex-direction: column; gap: 6px; width: 100%; margin-top: 6px; }
.screen.prof .acts span { padding: 9px; border-radius: 12px; background: #fff; font-size: 12.5px; font-weight: 600; border: 1px solid rgba(11,17,32,.08); }
.screen.prof .acts span:first-child { background: var(--ink-light); color: #fff; }
.tapdemo .tcard .ca { width: 100%; }
.tapdemo .tcard { position: absolute; width: clamp(200px,20vw,240px); left: 0; bottom: 14%; z-index: 2; transform: rotate(-10deg); transition: transform .9s var(--ease), left .9s var(--ease), bottom .9s var(--ease); }
.tapdemo .tring { position: absolute; left: 50%; top: 46%; width: 120px; height: 120px; margin: -60px 0 0 -60px; pointer-events: none; z-index: 3; opacity: 0; }
.tapdemo .tring i { position: absolute; inset: 0; border-radius: 50%; border: 2px solid var(--green); }
.tapdemo.tapped .tcard { left: calc(50% - clamp(100px,10vw,120px)); bottom: 52%; transform: rotate(0) scale(.92); }
.tapdemo.tapped .tring { opacity: 1; }
.tapdemo.tapped .tring i { animation: ring 1.2s ease-out 2 .6s; }
.tapdemo.tapped .idle { opacity: 0; }
.tapdemo.shown .prof { opacity: 1; }
.tapdemo.shown .tcard { left: 0; bottom: 6%; transform: rotate(-10deg) scale(.86); }
.tap-btn { margin-top: 26px; }
.nfc-uses { margin: 28px 0 0; padding: 0; list-style: none; display: grid; grid-template-columns: repeat(auto-fit,minmax(200px,1fr)); gap: 10px; }
.nfc-uses li { padding: 16px; border-radius: 16px; background: var(--ink-850); border: 1px solid var(--line); }
.nfc-uses b { display: block; font-size: 15px; font-weight: 600; }
.nfc-uses span { display: block; font-size: 13px; color: var(--t500); margin-top: 4px; line-height: 1.45; }

/* ---------- industries (cream) ---------- */
.ind-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,240px),1fr)); gap: 12px; }
.ind { background: #fff; border-radius: 22px; padding: 24px 22px; border: 1px solid rgba(11,17,32,.06); display: flex; flex-direction: column; gap: 8px; transition: transform .35s var(--ease), background .35s, color .35s; }
.ind:hover { transform: translateY(-5px); background: var(--navy); color: #fff; }
.ind:hover p { color: #C3CADA; }
.ind .k { font-family: var(--f-mono); font-size: 11px; letter-spacing: .1em; color: var(--amber); }
.ind h3 { margin: 0; font-size: 20px; font-weight: 700; letter-spacing: -.02em; }
.ind p { margin: 0; font-size: 14px; line-height: 1.55; color: var(--muted-light); }

/* ---------- process ---------- */
.proc { counter-reset: p; display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,230px),1fr)); gap: 12px; margin: 0; padding: 0; list-style: none; }
.proc li { counter-increment: p; position: relative; padding: 26px 22px 24px; border-radius: 22px; background: var(--ink-850); border: 1px solid var(--line); }
.proc li::before { content: "0" counter(p); font-family: var(--f-serif); font-size: 44px; line-height: 1; color: var(--amber); display: block; margin-bottom: 18px; }
.proc b { display: block; font-size: 18px; font-weight: 700; letter-spacing: -.02em; }
.proc span { display: block; font-size: 14px; color: var(--t500); margin-top: 6px; line-height: 1.5; }

/* ---------- request form ---------- */
.rq-sec { max-width: 1360px; margin: 0 auto; padding: var(--pad-y) var(--pad-x); }
.rq { display: flex; flex-wrap: wrap; gap: 24px; align-items: flex-start; }
.rq-main { flex: 1 1 min(100%,600px); min-width: 0; display: flex; flex-direction: column; gap: 16px; }
.rq-side { flex: 1 1 min(100%,380px); min-width: 0; position: sticky; top: 84px; display: flex; flex-direction: column; gap: 16px; }
.pchips { display: grid; grid-template-columns: repeat(auto-fill,minmax(min(100%,170px),1fr)); gap: 8px; }
.pchip { cursor: pointer; display: flex; align-items: center; gap: 10px; text-align: left; padding: 12px 14px; border-radius: 14px; border: 1.5px solid rgba(255,255,255,.1); background: var(--ink-950); color: var(--t100); font-size: 14px; font-weight: 600; line-height: 1.25; transition: border-color .2s, background .2s; }
.pchip:hover { border-color: rgba(245,165,36,.5); }
.pchip[aria-checked="true"] { border-color: var(--amber); background: rgba(245,165,36,.08); }
.pchip .dot { flex: none; width: 10px; height: 10px; border-radius: 50%; border: 1.5px solid rgba(255,255,255,.35); }
.pchip[aria-checked="true"] .dot { background: var(--amber); border-color: var(--amber); }
.qchips { display: flex; flex-wrap: wrap; gap: 6px; }
.qchips button { cursor: pointer; padding: 9px 14px; border-radius: 999px; border: 1px solid rgba(255,255,255,.14); background: transparent; color: var(--t300); font-size: 13px; font-family: var(--f-mono); }
.qchips button[aria-pressed="true"] { background: var(--t100); color: var(--ink-950); border-color: var(--t100); }
.fchips { display: flex; flex-wrap: wrap; gap: 6px; }
.fchips button { cursor: pointer; padding: 9px 14px; border-radius: 999px; border: 1px solid rgba(255,255,255,.14); background: var(--ink-950); color: var(--t300); font-size: 13.5px; }
.fchips button[aria-pressed="true"] { border-color: var(--amber); color: var(--t100); background: rgba(245,165,36,.1); }
.fchips button[aria-pressed="true"]::before { content: "✓ "; color: var(--amber); }
.sub-h { font-family: var(--f-mono); font-size: 11px; letter-spacing: .08em; color: var(--t500); margin: 18px 0 8px; display: block; }
.sub-h:first-child { margin-top: 0; }
.inp.sel { appearance: none; -webkit-appearance: none; background: var(--ink-950) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%238D98AE' stroke-width='1.6'/%3E%3C/svg%3E") no-repeat right 14px center; padding-right: 38px; }
.inp[type="date"] { color-scheme: dark; }
.hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; opacity: 0; }
.rq-prev { display: flex; justify-content: center; align-items: center; min-height: 250px; padding: 28px; border-radius: 18px; background: radial-gradient(circle at 50% 40%,#1A2440,#0A0F1A 70%); }
.rq-prev .ca { width: min(100%,330px); animation: flipIn .5s both; }
.rq-prev .ca.v { width: min(52%,170px); }

/* ---------- landing pages ---------- */
.lp-art { display: flex; justify-content: center; align-items: center; perspective: 1000px; animation: fadeUp 1s .2s both; }
.lp-art .ca { width: min(100%,440px); transform: rotateY(-14deg) rotateX(6deg) rotate(-3deg); transition: transform .6s var(--ease); }
.lp-art .ca.v { width: min(56%,250px); }
.lp-art:hover .ca { transform: none; }
.quick { max-width: 1360px; margin: 0 auto; padding: 0 var(--pad-x) clamp(64px,8vw,110px); }
.quick-box { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,420px),1fr)); gap: clamp(24px,4vw,56px); padding: clamp(22px,3.4vw,44px); border-radius: 28px; background: var(--ink-850); border: 1px solid var(--line); }
.quick-box h2 { margin: 0 0 14px; font-size: clamp(30px,3.6vw,46px); line-height: 1; letter-spacing: -.035em; font-weight: 700; }
.quick-box p { margin: 0; font-size: 16px; line-height: 1.6; color: var(--t400); }
.quick-box .checks { margin-top: 24px; }
.qform { display: flex; flex-direction: column; gap: 12px; }
.qform .place { margin-top: 4px; }
.form-err { padding: 12px 14px; border-radius: 12px; background: rgba(255,122,122,.1); border: 1px solid rgba(255,122,122,.35); color: #FFB3B3; font-size: 13.5px; line-height: 1.5; }
.done { display: flex; flex-direction: column; align-items: flex-start; gap: 14px; padding: 8px 0; animation: fadeUp .5s both; }
.done .tick { width: 56px; height: 56px; border-radius: 50%; background: var(--green); color: var(--ink-950); display: flex; align-items: center; justify-content: center; font-size: 26px; font-weight: 800; }
.done .ref { font-family: var(--f-mono); font-size: 12px; letter-spacing: .1em; color: var(--t500); }
.done h3 { margin: 0; font-size: 28px; font-weight: 700; letter-spacing: -.03em; }
.done p { margin: 0; font-size: 15px; line-height: 1.6; color: var(--t400); }
.done .row-btns { gap: 10px; }
.foot-links-sm { display: flex; flex-wrap: wrap; gap: 8px 18px; }
.qform .place { background: var(--amber); color: var(--ink-950); }
.qform .place:hover { background: var(--amber-hover); }
.qform .place i { background: var(--ink-950); color: var(--amber); }
@media (max-width: 560px) { .head-actions .head-link[href^="#"] { display: none; } .fan .ripple { display: none; } .prod .pv { padding: 44px 12% 20px; } }
