/* PERFOZI — page-contact.css — Contact page — split layout, service chips, response time bar */

/* ── CONTACT PAGE LAYOUT ── */
.page-wrap{padding-top:100px;min-height:100vh;display:grid;grid-template-columns:1fr 1fr;background:var(--black)}
.left-panel{background:var(--s1);border-right:1px solid var(--br);padding:72px 56px;display:flex;flex-direction:column;justify-content:space-between;position:sticky;top:100px;height:calc(100vh - 100px);overflow:hidden}
.left-panel::before{content:'';position:absolute;inset:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23n)' opacity='.028'/%3E%3C/svg%3E");pointer-events:none;z-index:0}
.left-panel::after{content:'';position:absolute;bottom:-100px;left:-100px;width:500px;height:500px;border-radius:50%;background:radial-gradient(circle,rgba(0,212,255,.06) 0%,transparent 65%);pointer-events:none;z-index:0}
.lp-top{position:relative;z-index:1}
.lp-eyebrow{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--br2);border-radius:100px;padding:5px 16px;margin-bottom:28px;font-family:var(--fb);font-size:14px;color:var(--cyan);letter-spacing:2px;text-transform:uppercase;background:var(--cc)}
.lp-h1{font-family:var(--fh);font-size:clamp(36px,3.8vw,56px);font-weight:800;letter-spacing:-2px;line-height:.9;margin-bottom:22px}
.lp-h1 em{color:var(--cyan);font-style:normal;display:block}
.lp-desc{font-family:var(--fb);font-size:15px;color:var(--t1);line-height:1.8;margin-bottom:36px;max-width:400px}
.lp-desc strong{color:var(--white)}
.trust-list{display:flex;flex-direction:column;gap:14px}
.tl-item{display:flex;align-items:center;gap:12px}
.tl-check{width:22px;height:22px;border-radius:7px;background:var(--ca);border:1px solid var(--cb);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.tl-text{font-family:var(--fb);font-size:14px;color:var(--t1);line-height:1.4}
.tl-text strong{color:var(--white);font-weight:600}
.lp-bottom{position:relative;z-index:1}
.lp-divider{height:1px;background:var(--br);margin-bottom:24px}
.client-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--br);border-radius:12px;overflow:hidden;margin-bottom:20px}
.cs-item{background:var(--s2);padding:14px 12px;text-align:center}
.cs-num{font-family:var(--fh);font-size:20px;font-weight:800;letter-spacing:-1px;line-height:1}
.cs-num em{color:var(--cyan);font-style:normal}
.cs-label{font-family:var(--fb);font-size:14px;color:var(--t3);margin-top:3px;line-height:1.3}
.lp-contact-direct{display:flex;flex-direction:column;gap:10px}
.lcd-row{display:flex;align-items:center;gap:10px;font-family:var(--fb);font-size:14px;color:var(--t2)}
.lcd-icon{width:32px;height:32px;border-radius:9px;background:var(--s2);border:1px solid var(--br);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.lcd-row a{color:var(--t1);transition:color .2s}.lcd-row a:hover{color:var(--cyan)}
.right-panel{padding:72px 56px;display:flex;flex-direction:column;justify-content:center;min-height:calc(100vh - 100px)}
/* Service chips */
.service-selector{margin-bottom:28px}
.ss-label{font-family:var(--fb);font-size:14px;color:var(--t3);letter-spacing:2px;text-transform:uppercase;font-weight:600;margin-bottom:12px;display:block}
.ss-chips{display:flex;flex-wrap:wrap;gap:8px}
.ss-chip{font-family:var(--fb);font-size:14px;color:var(--t2);background:var(--s2);border:1px solid var(--br);border-radius:100px;padding:7px 16px;cursor:pointer;transition:all .2s;user-select:none}
.ss-chip:hover{border-color:var(--cyan);color:var(--cyan)}
.ss-chip.active{background:var(--ca);border-color:var(--cyan);color:var(--cyan);font-weight:600}
/* Response time bar */
.response-time{display:flex;align-items:center;gap:10px;background:var(--s2);border:1px solid var(--br);border-radius:10px;padding:12px 16px;margin-bottom:28px}
.rt-dot{width:8px;height:8px;border-radius:50%;background:var(--green);flex-shrink:0;animation:pulse 2s infinite}
.rt-text{font-family:var(--fb);font-size:14px;color:var(--t1);line-height:1.3}
.rt-text strong{color:var(--white);font-weight:600}
.rt-time{font-family:var(--fh);font-size:14px;font-weight:800;color:var(--green);margin-left:auto;flex-shrink:0;white-space:nowrap}
/* Form title */
.form-title{font-family:var(--fh);font-size:clamp(22px,2.2vw,30px);font-weight:800;letter-spacing:-.8px;margin-bottom:6px}
.form-subtitle{font-family:var(--fb);font-size:14px;color:var(--t2);margin-bottom:32px;line-height:1.55}
/* Form fields */
.pf-form{display:flex;flex-direction:column;gap:16px}
.pf-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.pf-field{display:flex;flex-direction:column;gap:7px}
.pf-label{font-family:var(--fb);font-size:14px;color:var(--t2);font-weight:600;letter-spacing:.8px;text-transform:uppercase;display:flex;align-items:center;gap:4px}
.pf-req{color:var(--cyan);font-size:14px}
.pf-input{width:100%;background:var(--s2);border:1px solid var(--br);border-radius:10px;padding:14px 18px;font-family:var(--fb);font-size:15px;color:var(--white);outline:none;transition:border-color .25s,box-shadow .25s;-webkit-appearance:none}
.pf-input:focus{border-color:var(--cyan);box-shadow:0 0 0 3px rgba(0,212,255,.08)}
.pf-input::placeholder{color:var(--t3)}
.pf-textarea{resize:none;height:110px;font-family:var(--fb)}
select.pf-input{cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' fill='none'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23606060' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;padding-right:40px}
select.pf-input option{background:var(--s3)}
.pf-submit{width:100%;padding:18px;font-family:var(--fh);font-size:14px;font-weight:800;text-transform:uppercase;letter-spacing:.8px;background:var(--cyan);color:var(--black);border:none;border-radius:10px;cursor:pointer;transition:all .35s cubic-bezier(.16,1,.3,1);display:flex;align-items:center;justify-content:center;gap:10px;margin-top:4px}
.pf-submit:hover{opacity:.88;transform:translateY(-3px);box-shadow:0 20px 48px rgba(0,212,255,.3)}
.pf-note{font-family:var(--fb);font-size:14px;color:var(--t3);text-align:center;margin-top:6px;line-height:1.5}
/* Success state */
.form-success{display:none;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:48px 32px;gap:20px}
.form-success.show{display:flex}
.fs-icon{width:72px;height:72px;border-radius:50%;background:rgba(0,229,122,.12);border:2px solid rgba(0,229,122,.3);display:flex;align-items:center;justify-content:center;animation:checkPop .4s ease both}
.fs-title{font-family:var(--fh);font-size:26px;font-weight:800;letter-spacing:-.6px}
.fs-sub{font-family:var(--fb);font-size:15px;color:var(--t1);line-height:1.75;max-width:380px}
.fs-sub strong{color:var(--white)}
.fs-back{font-family:var(--fh);font-size:14px;font-weight:800;text-transform:uppercase;letter-spacing:.8px;color:var(--cyan);cursor:pointer;background:none;border:none;margin-top:8px;transition:opacity .2s}
.fs-back:hover{opacity:.7}
/* ── Contact Form 7 normalisation ── */
/* Make CF7's <form> behave exactly like .pf-form */
.wpcf7-form{display:flex;flex-direction:column;gap:16px}
/* Textarea height (CF7 adds both classes, resize handled here) */
textarea.pf-input{resize:none;height:110px}
/* Validation error tip */
.wpcf7-not-valid-tip{font-family:var(--fb);font-size:14px;color:#ff6b6b;margin-top:4px;display:block}
/* Mark invalid inputs */
.wpcf7-not-valid{border-color:#ff6b6b !important}
/* Hide CF7's own response bar — we use the custom success state */
.wpcf7-response-output{display:none !important}
/* Spinner — subtle cyan pulse */
.wpcf7-spinner{display:inline-block;width:16px;height:16px;border:2px solid rgba(0,212,255,.25);border-top-color:var(--cyan);border-radius:50%;animation:spin .7s linear infinite;margin-left:8px;vertical-align:middle}
@keyframes spin{to{transform:rotate(360deg)}}
/* Disable submit while processing */
.wpcf7-form.submitting .pf-submit{opacity:.6;cursor:wait;pointer-events:none}
/* CF7 outer wrapper — no extra padding */
.wpcf7{width:100%}
.pf-cf7-wrap{width:100%}
@media(max-width:900px){.page-wrap{grid-template-columns:1fr}.left-panel{position:static;height:auto;padding:48px 5% 40px}.right-panel{padding:48px 5% 64px}.pf-row{grid-template-columns:1fr}.lp-h1,.cs-num,.form-title,.fs-title{letter-spacing:0}}