/* contact page styles */
/* ===== contact page ===== */
.ct-hero .eyebrow{margin:0}
.ct-hero .ab-sub{align-items:center}
.ct-hero .ab-sub .lede{max-width:30rem}
.ct-btns{display:flex;flex-wrap:wrap;gap:12px}
.ct-card{position:relative;display:flex;flex-direction:column;align-self:center;min-width:0;min-height:0;padding:clamp(24px,2.6vw,42px);background:var(--ink);color:var(--paper);border-top:2px solid var(--thread);border-radius:4px 4px clamp(18px,2vw,28px) clamp(18px,2vw,28px);overflow:hidden}
.ct-card::after{content:"";position:absolute;right:-90px;top:-90px;width:240px;height:240px;border-radius:50%;border:2px dashed rgba(173,1,1,.55);pointer-events:none}
.ct-card-h{position:relative;z-index:1;display:flex;justify-content:space-between;align-items:center;gap:12px;margin:0 0 clamp(14px,2.4vh,26px);font-size:.72rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:rgba(245,244,241,.6)}
.ct-live{display:inline-flex;align-items:center;gap:9px;color:var(--paper)}
.ct-live::before{content:"";width:8px;height:8px;border-radius:50%;background:#e0453f;animation:ctping 2.2s ease-out infinite}
@keyframes ctping{0%{box-shadow:0 0 0 0 rgba(224,69,63,.7)}80%,100%{box-shadow:0 0 0 10px rgba(224,69,63,0)}}
.ct-lines{position:relative;z-index:1;display:flex;flex-direction:column}
.ct-line{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:clamp(14px,1.6vw,22px);padding:clamp(16px,2.6vh,28px) 0;border-top:1px solid rgba(245,244,241,.18);color:var(--paper)}
.ct-ic{display:grid;place-items:center;flex:none;width:52px;height:52px;border:1px solid rgba(245,244,241,.4);border-radius:50%;transition:background .4s var(--ease),color .4s var(--ease),border-color .4s var(--ease)}
.ct-ic svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.ct-line small{display:block;margin-bottom:5px;font-size:.68rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:rgba(245,244,241,.55)}
.ct-line b{display:block;font-family:var(--display);font-weight:700;font-size:clamp(1.05rem,1.55vw,1.5rem);line-height:1.15;letter-spacing:-.01em;overflow-wrap:anywhere;transition:transform .5s var(--ease)}
.ct-go{font-size:1.25rem;color:#d23a3a;opacity:.0;transform:translate(-8px,8px);transition:opacity .3s,transform .5s var(--ease)}
.ct-line:hover .ct-ic,.ct-line:focus-visible .ct-ic{background:var(--paper);color:var(--ink);border-color:var(--paper)}
.ct-line:hover b{transform:translateX(6px)}
.ct-line:hover .ct-go,.ct-line:focus-visible .ct-go{opacity:1;transform:none}
.ct-line:focus-visible{outline-color:rgba(245,244,241,.7)}
.ct-meta{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1fr;gap:16px;padding-top:clamp(16px,2.6vh,26px);border-top:1px solid rgba(245,244,241,.18);font-family:var(--mono);font-size:.74rem;line-height:1.6;color:rgba(245,244,241,.75)}
.ct-meta span{display:block;margin-bottom:4px;font-family:var(--sans);font-size:.68rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:rgba(245,244,241,.5)}

.ct-main{background:#fff;border-top:1px solid var(--line);padding:clamp(72px,10vw,150px) var(--pad)}
.ct-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(32px,6vw,110px);align-items:start}
.ct-side{position:sticky;top:110px}
.ct-side .eyebrow{margin:0}
.ct-side .statement{margin-top:22px;font-size:clamp(1.5rem,2.7vw,2.7rem)}
.ct-side .ab-p{margin-top:clamp(18px,2vw,28px)}
.ct-side .ab-files{margin:clamp(24px,3vw,40px) 0 0}
.ct-side .ab-files .chips span{border-color:var(--ink)}

.ct-panel{position:relative;padding:clamp(22px,3.2vw,52px);background:var(--paper);border:1px solid var(--line);border-top:2px solid var(--ink);border-radius:4px 4px clamp(18px,2vw,28px) clamp(18px,2vw,28px)}
.ct-panel-h{display:flex;justify-content:space-between;align-items:baseline;gap:16px;flex-wrap:wrap;margin:0 0 clamp(24px,3vw,40px)}
.ct-panel-h h2{margin:0;font-family:var(--display);font-weight:800;font-size:clamp(1.4rem,2.2vw,2.1rem);line-height:1.05;letter-spacing:-.01em;text-transform:uppercase}
.ct-req{font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3)}
.ct-req i{font-style:normal;color:var(--thread)}
.ct-panel .fld{margin-bottom:28px}
.ct-panel .fld span i{font-style:normal;color:var(--thread);margin-left:3px}
.ct-panel .fld input,.ct-panel .fld textarea{font-size:1.05rem}
.ct-panel .fld textarea{min-height:150px;line-height:1.6}
.ct-panel .fld .opt-t{margin-left:8px;font-weight:600;letter-spacing:.08em;color:var(--ink-3);text-transform:none}
.fld [aria-invalid="true"]{border-bottom-color:var(--thread)!important}
.err{display:block;min-height:0;margin:8px 0 0;font-size:.82rem;font-weight:600;color:var(--thread)}
.err:empty{display:none}
.ct-fs{margin:0 0 28px;padding:0;border:0;min-width:0}
.ct-fs legend{padding:0;margin:0 0 12px;font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3)}
.ct-opts{display:flex;flex-wrap:wrap;gap:10px}
.ct-opt{position:relative;display:inline-flex}
.ct-opt input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.ct-opt span{display:inline-flex;align-items:center;gap:10px;height:46px;padding:0 20px;border:1px solid var(--ink);border-radius:999px;background:transparent;font-weight:600;font-size:.92rem;color:var(--ink);transition:background .3s,color .3s,border-color .3s}
.ct-opt span::before{content:"";flex:none;width:8px;height:8px;border-radius:50%;border:1.5px solid currentColor;transition:background .3s,border-color .3s}
.ct-opt:hover span{background:rgba(19,20,23,.06)}
.ct-opt input:checked+span{background:var(--ink);color:#fff}
.ct-opt input:checked+span::before{background:var(--thread);border-color:var(--thread)}
.ct-opt input:focus-visible+span{outline:3px solid rgba(173,1,1,.55);outline-offset:3px}

.drop{position:relative;display:grid;gap:6px;justify-items:center;text-align:center;padding:clamp(22px,3vw,34px) 20px;border:1.5px dashed rgba(19,20,23,.4);border-radius:14px;background:#fff;cursor:pointer;transition:border-color .3s,background .3s}
.drop:hover,.drop.is-over{border-color:var(--thread);background:rgba(173,1,1,.04)}
.drop:focus-within{outline:3px solid rgba(173,1,1,.55);outline-offset:3px}
.drop input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;padding:0;border:0}
.drop-ic{font-style:normal;display:grid;place-items:center;width:46px;height:46px;margin-bottom:6px;border:1px solid var(--ink);border-radius:50%;transition:background .3s,color .3s,transform .5s var(--ease)}
.drop-ic svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.drop:hover .drop-ic,.drop.is-over .drop-ic{background:var(--ink);color:#fff;transform:translateY(-3px)}
.drop b{font-family:var(--display);font-weight:700;font-size:1.1rem;letter-spacing:-.01em}
.drop b u{text-decoration-color:var(--thread);text-underline-offset:4px}
.drop small{font-size:.8rem;color:var(--ink-3)}
.flist{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:8px}
.flist li{display:flex;align-items:center;gap:12px;padding:10px 14px;border:1px solid var(--line);border-radius:12px;background:#fff;font-size:.9rem}
.flist .fn{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}
.flist .fs{flex:none;font-style:normal;font-family:var(--mono);font-size:.72rem;color:var(--ink-3)}
.flist button{flex:none;display:grid;place-items:center;width:30px;height:30px;border:1px solid var(--ink);border-radius:50%;background:none;cursor:pointer;font-size:.8rem;line-height:1;transition:background .3s,color .3s}
.flist button:hover{background:var(--ink);color:#fff}
.hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.ct-send{display:flex;align-items:center;justify-content:space-between;gap:16px 24px;flex-wrap:wrap;margin-top:8px}
.ct-send .pill{height:52px;padding:0 28px}
.ct-send .pill[disabled]{opacity:.6;cursor:progress}
.ct-note{margin:0;max-width:20rem;font-size:.8rem;line-height:1.5;color:var(--ink-3)}
.ct-status{margin:18px 0 0;min-height:1.5em;font-weight:600;line-height:1.5;color:var(--ink-2)}
.ct-status a{color:var(--thread);text-decoration:underline;text-underline-offset:3px}
.ct-done{display:none;padding:clamp(8px,2vw,24px) 0}
.ct-panel.is-sent .ct-form,.ct-panel.is-sent .ct-panel-h{display:none}
.ct-panel.is-sent .ct-done{display:block}
.ct-done-ic{display:grid;place-items:center;width:72px;height:72px;margin-bottom:26px;border-radius:50%;background:var(--thread);color:#fff}
.ct-done-ic svg{width:30px;height:30px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:30;stroke-dashoffset:30}
.ct-panel.is-sent .ct-done-ic svg{animation:ctdraw .8s var(--ease) .2s forwards}
@keyframes ctdraw{to{stroke-dashoffset:0}}
.ct-done h2{margin:0 0 14px;font-family:var(--display);font-weight:800;font-size:clamp(1.8rem,3.4vw,3.2rem);line-height:1.02;letter-spacing:-.02em;text-transform:uppercase}
.ct-done p{max-width:30rem;margin:0 0 28px;line-height:1.7;color:var(--ink-2)}

.ct-tips.proc .big{margin-bottom:clamp(40px,6vw,90px)}
.ct-tips .steps b{margin-bottom:clamp(22px,3.4vw,56px)}

.ct-faq{background:#fff;padding:clamp(72px,10vw,150px) var(--pad)}
.ct-faq .eyebrow{margin:0}.ct-faq .big{max-width:16em;margin-bottom:clamp(28px,4vw,56px)}

.js .rv{opacity:0;transform:translateY(26px);transition:opacity .8s var(--ease) calc(var(--d,0) * 90ms),transform .9s var(--ease) calc(var(--d,0) * 90ms)}
.js .rv.in{opacity:1;transform:none}

@media (max-width:899px){
  .ct-grid{grid-template-columns:1fr}.ct-side{position:static}
  .ct-hero .ab-sub{align-items:flex-start}
  .ct-card::after{width:180px;height:180px}
}
@media (max-width:520px){
  .ct-line{grid-template-columns:auto minmax(0,1fr)}.ct-go{display:none}
  .ct-ic{width:46px;height:46px}.ct-meta{grid-template-columns:1fr}
  .ct-opt span{height:44px;padding:0 16px}.ct-send{flex-direction:column;align-items:stretch}.ct-send .pill{justify-content:center}.ct-note{max-width:none}
}
/* "All Formats" chip */
.chips span.all,.ab-files .chips span.all,.ct-side .ab-files .chips span.all{border-color:var(--thread);color:var(--thread)}
.foot .chips span.all{border-color:#e0453f;color:#e0453f}
@media (prefers-reduced-motion:reduce){.js .rv{opacity:1;transform:none;transition:none}.ct-live::before{animation:none}.ct-panel.is-sent .ct-done-ic svg{animation:none;stroke-dashoffset:0}}


/* qf-v33: captcha */
.cap{margin-bottom:28px}
.cap-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.cap-q{display:inline-flex;align-items:center;min-height:46px;padding:0 18px;border:1px dashed var(--ink);border-radius:12px;background:#fff;font-family:var(--mono);font-weight:700;font-size:1.05rem;letter-spacing:.06em;color:var(--ink);user-select:none;-webkit-user-select:none}
.fld.cap .cap-a{width:92px;text-align:center;padding:10px 0 12px;font-family:var(--mono);font-weight:700}
.cap-r{display:grid;place-items:center;flex:none;width:44px;height:44px;border:1px solid var(--ink);border-radius:50%;background:none;color:var(--ink);cursor:pointer;font-size:1.1rem;line-height:1;transition:background .3s,color .3s,transform .5s var(--ease)}
.cap-r:hover{background:var(--ink);color:#fff;transform:rotate(180deg)}
.cap-r:focus-visible{outline:3px solid rgba(173,1,1,.55);outline-offset:3px}
.ct-hint{margin:12px 0 0;font-size:.8rem;line-height:1.5;color:var(--ink-3)}
