.pfc-page{
--pfc-red:#c00000;
--pfc-red-dark:#980000;
--pfc-black:#111111;
--pfc-text:#1a1a1a;
--pfc-muted:#5e636b;
--pfc-line:#e7eaee;
--pfc-soft:#f6f7f9;
--pfc-bg:#ffffff;
--pfc-radius:20px;
--pfc-shadow:0 18px 55px rgba(0,0,0,.08);
--pfc-shadow-soft:0 10px 30px rgba(0,0,0,.06);
color:var(--pfc-text);
font-family:ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;
line-height:1.6;
}
.pfc-page *{
box-sizing:border-box;
}
.pfc-contact-wrap{
max-width:980px;
margin:36px auto;
padding:28px;
background:
radial-gradient(900px 380px at 15% 0%, rgba(192,0,0,.08), transparent 60%),
radial-gradient(700px 320px at 85% 10%, rgba(0,0,0,.04), transparent 55%),
var(--pfc-bg);
border:1px solid var(--pfc-line);
border-radius:calc(var(--pfc-radius) + 4px);
box-shadow:var(--pfc-shadow);
}
.pfc-contact-hero{
text-align:center;
margin-bottom:28px;
}
.pfc-kicker{
display:inline-flex;
align-items:center;
gap:10px;
padding:8px 12px;
border-radius:999px;
background:rgba(192,0,0,.08);
border:1px solid rgba(192,0,0,.16);
color:var(--pfc-black);
font-size:12px;
letter-spacing:.08em;
text-transform:uppercase;
margin-bottom:14px;
}
.pfc-dot{
width:8px;
height:8px;
border-radius:999px;
background:var(--pfc-red);
box-shadow:0 0 0 5px rgba(192,0,0,.10);
}
.pfc-contact-hero h1{
margin:0 0 10px;
font-size:clamp(30px, 4vw, 44px);
line-height:1.08;
color:var(--pfc-black);
}
.pfc-contact-hero p{
margin:0 auto;
max-width:760px;
color:var(--pfc-muted);
font-size:17px;
}
.pfc-message{
margin:0 0 22px;
padding:14px 16px;
border-radius:14px;
font-weight:600;
border:1px solid transparent;
}
.pfc-message-success{
background:#ecfdf3;
border-color:#abefc6;
color:#067647;
}
.pfc-message-error{
background:#fef3f2;
border-color:#fecdca;
color:#b42318;
}
.pfc-contact-form{
width:100%;
}
.pfc-grid{
display:grid;
grid-template-columns:1fr 1fr;
gap:16px;
}
.pfc-field{
display:flex;
flex-direction:column;
}
.pfc-full{
grid-column:1 / -1;
}
.pfc-field label{
margin-bottom:7px;
font-weight:700;
color:var(--pfc-black);
font-size:14px;
}
.pfc-field input,
.pfc-field select,
.pfc-field textarea{
width:100%;
padding:13px 14px;
border:1px solid #d7dce2;
border-radius:14px;
background:#fff;
color:#111;
font-size:15px;
line-height:1.4;
transition:border-color .2s ease, box-shadow .2s ease, transform .2s ease;
box-shadow:0 1px 0 rgba(255,255,255,.65) inset;
}
.pfc-field input:hover,
.pfc-field select:hover,
.pfc-field textarea:hover{
border-color:#c7ced6;
}
.pfc-field input:focus,
.pfc-field select:focus,
.pfc-field textarea:focus{
outline:none;
border-color:var(--pfc-red);
box-shadow:0 0 0 4px rgba(192,0,0,.09);
}
.pfc-field textarea{
min-height:170px;
resize:vertical;
}
.pfc-field small{
display:block;
margin-top:7px;
color:var(--pfc-muted);
font-size:12px;
}
.pfc-actions{
margin-top:20px;
}
.pfc-btn{
display:inline-flex;
align-items:center;
justify-content:center;
width:100%;
padding:15px 18px;
border:none;
border-radius:16px;
background:linear-gradient(135deg, var(--pfc-red), #ff3b3b);
color:#fff;
font-size:16px;
font-weight:800;
letter-spacing:.01em;
cursor:pointer;
transition:transform .15s ease, box-shadow .2s ease, filter .2s ease;
box-shadow:0 14px 30px rgba(192,0,0,.20);
}
.pfc-btn:hover{
transform:translateY(-1px);
filter:brightness(1.02);
box-shadow:0 18px 36px rgba(192,0,0,.24);
}
.pfc-btn:active{
transform:translateY(0);
}
.pfc-contact-info{
display:grid;
grid-template-columns:1fr;
gap:12px;
margin-top:18px;
}
.pfc-info-card{
padding:16px 18px;
border:1px solid var(--pfc-line);
border-radius:18px;
background:var(--pfc-soft);
text-align:center;
}
.pfc-info-card strong{
display:block;
margin-bottom:6px;
color:var(--pfc-black);
font-size:13px;
letter-spacing:.08em;
text-transform:uppercase;
}
.pfc-info-card a{
color:var(--pfc-red);
font-weight:700;
text-decoration:none;
}
.pfc-info-card a:hover{
text-decoration:underline;
}
.pfc-intro{
max-width:900px;
margin:0 auto 25px;
padding:20px;
background:#f7f8fa;
border:1px solid #e6e8ec;
border-radius:14px;
}
.pfc-intro h2{
margin-bottom:12px;
font-size:22px;
color:#111;
}
.pfc-intro p{
margin-bottom:10px;
color:#555;
line-height:1.6;
}
.pfc-intro ul{
margin:10px 0 15px 18px;
color:#444;
}
.pfc-intro li{
margin-bottom:6px;
}
@media (max-width: 768px){
.pfc-contact-wrap{
margin:22px auto;
padding:18px;
border-radius:18px;
}
.pfc-grid{
grid-template-columns:1fr;
}
.pfc-contact-hero p{
font-size:15px;
}
}