.fk-contact, .fk-contact * { box-sizing: border-box; }
.fk-contact {
  --orange:#cf5b0b; --paper:#fbf1dc; --paper2:#efe0c3; --ink:#111; --shadow:rgba(0,0,0,.22);
  position:relative; overflow:hidden; width:min(100%,1200px); margin:0 auto; padding:56px 20px 72px;
  color:var(--ink); font-family: ui-monospace, 'Courier New', monospace;
  background:
    radial-gradient(circle at 20% 20%, rgba(207,91,11,.10), transparent 26%),
    radial-gradient(circle at 78% 18%, rgba(207,91,11,.12), transparent 25%),
    linear-gradient(#fff, #fff8ed);
}
.fk-contact__spot { position:absolute; width:340px; height:340px; border-radius:50%; background:rgba(207,91,11,.12); filter:blur(36px); pointer-events:none; animation:fk-glow 7s ease-in-out infinite alternate; }
.fk-contact__spot--left { left:-120px; top:140px; } .fk-contact__spot--right { right:-110px; bottom:80px; animation-delay:1.3s; }
@keyframes fk-glow { from{opacity:.35; transform:scale(.9)} to{opacity:.9; transform:scale(1.08)} }
.fk-contact__header { text-align:center; position:relative; z-index:2; margin-bottom:34px; }
.fk-contact__tape { display:inline-block; background:#f2b06a; padding:8px 36px; transform:rotate(-1.5deg); font-weight:900; letter-spacing:.08em; font-size:24px; box-shadow:0 8px 18px rgba(0,0,0,.12); }
.fk-contact h1 { margin:18px 0 6px; font-family:Arial, Helvetica, sans-serif; font-size:clamp(48px,8vw,92px); line-height:.9; letter-spacing:-.05em; }
.fk-contact__cards { display:grid; grid-template-columns:1fr 1fr; gap:30px; position:relative; z-index:2; }
.fk-person { position:relative; min-height:330px; padding:42px 34px 34px; background:linear-gradient(135deg,var(--paper),var(--paper2)); border:3px solid #211811; border-radius:22px; box-shadow:0 18px 0 rgba(0,0,0,.12), 0 30px 50px rgba(0,0,0,.18); transform:rotate(var(--rot, -1deg)); transition:transform .35s ease, box-shadow .35s ease; isolation:isolate; }
.fk-person--lore { --rot:1deg; }
.fk-person:hover, .fk-person.is-open { transform:rotate(0deg) translateY(-8px); box-shadow:0 22px 0 rgba(0,0,0,.12), 0 42px 65px rgba(0,0,0,.22); }
.fk-person::before { content:''; position:absolute; inset:14px; border:1px dashed rgba(0,0,0,.16); border-radius:16px; pointer-events:none; }
.fk-person__handle { position:absolute; top:-25px; left:50%; width:86px; height:40px; transform:translateX(-50%); border:0; border-radius:999px; cursor:pointer; background:linear-gradient(#3a332d,#0f0d0b); box-shadow:inset 0 3px 3px rgba(255,255,255,.22), 0 8px 12px rgba(0,0,0,.28); }
.fk-person__paperclip { position:absolute; right:26px; top:20px; width:30px; height:70px; border:5px solid #201912; border-left-color:transparent; border-radius:18px; transform:rotate(11deg); opacity:.55; }
.fk-person__label { display:inline-block; margin-bottom:18px; padding:7px 12px; background:var(--orange); color:#fff; border-radius:5px; font-size:13px; font-weight:900; text-transform:uppercase; letter-spacing:.08em; }
.fk-person h2 { margin:0 0 22px; font-family:Arial, Helvetica, sans-serif; font-size:clamp(34px,5vw,58px); line-height:.92; letter-spacing:-.05em; text-transform:uppercase; }
.fk-person__mail, .fk-person__phone { display:block; color:#111; text-decoration:none; font-size:clamp(18px,2.4vw,28px); line-height:1.18; word-break:break-word; }
.fk-person__mail:hover, .fk-person__phone:hover { color:var(--orange); }
.fk-person__buttons { display:flex; flex-wrap:wrap; gap:12px; margin-top:28px; }
.fk-btn { display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:12px 24px; border:2px solid #111; border-radius:999px; background:var(--orange); color:#fff !important; text-decoration:none; font-family:Arial, Helvetica, sans-serif; font-weight:900; text-transform:uppercase; box-shadow:0 6px 0 #211811; transition:transform .18s ease, box-shadow .18s ease; }
.fk-btn:hover { transform:translateY(3px); box-shadow:0 3px 0 #211811; }
.fk-btn--dark { background:#111; } .fk-btn--line { background:#fff; color:#111 !important; }
.fk-person.is-open::after { content:'✉'; position:absolute; right:52px; bottom:48px; font-size:42px; color:var(--orange); animation:fk-pop .75s ease both; }
@keyframes fk-pop { 0%{opacity:0; transform:translateY(24px) rotate(-20deg) scale(.5)} 70%{opacity:1; transform:translateY(-8px) rotate(8deg) scale(1.1)} 100%{transform:translateY(0) rotate(0) scale(1)} }
.fk-contact__bottom { position:relative; z-index:2; display:flex; align-items:center; justify-content:center; gap:24px; flex-wrap:wrap; margin-top:34px; }
.fk-envelope { position:relative; width:min(460px,100%); min-height:132px; cursor:pointer; perspective:600px; }
.fk-envelope__body { position:absolute; inset:30px 0 0; border:3px solid #111; border-radius:8px; background:#fff; padding:28px 28px 18px; box-shadow:0 14px 0 rgba(0,0,0,.13); }
.fk-envelope__body span { display:block; color:var(--orange); text-transform:uppercase; font-weight:900; margin-bottom:7px; }
.fk-envelope__body a { color:#111; font-weight:900; font-size:22px; }
.fk-envelope__flap { position:absolute; z-index:3; top:0; left:0; width:100%; height:78px; background:linear-gradient(135deg,#f8ead0,#e8cc9d); clip-path:polygon(0 0,100% 0,50% 100%); border:3px solid #111; transform-origin:top; transition:transform .45s ease; }
.fk-envelope:hover .fk-envelope__flap, .fk-envelope.is-open .fk-envelope__flap { transform:rotateX(150deg); }
@media (max-width:800px){
  .fk-contact { padding:38px 14px 54px; }
  .fk-contact__cards { grid-template-columns:1fr; gap:34px; }
  .fk-person { min-height:300px; padding:38px 22px 28px; }
  .fk-person__buttons { gap:9px; }
  .fk-btn { min-height:44px; padding:10px 18px; font-size:14px; }
}
