/* ============================================================
   福翔 Corporate — サイト本体のスタイル
   色・文字・余白は tokens.css（福翔 Design System）の変数を使用
   ============================================================ */

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
html, body { margin: 0; }
:root { color-scheme: light; --header-h: 92px; }

.fk-body-base {
  font-family: var(--font-body);
  font-size: var(--fs-body);
  line-height: var(--lh-body);
  color: var(--text-body);
  background: var(--surface-page);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
img { max-width: 100%; }
a { color: inherit; }
h1, h2, h3, p, ul, dl, dd { margin: 0; }
ul { padding: 0; list-style: none; }
section[id] { scroll-margin-top: calc(var(--header-h) - 22px); }
:focus-visible { outline: none; box-shadow: var(--focus-shadow); border-radius: 4px; }

.fk-sr-only {
  position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0;
  overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}
.fk-skip {
  position: fixed; top: 8px; left: 8px; z-index: 200; padding: 10px 16px;
  background: var(--color-navy-deep); color: #fff; border-radius: 8px; font-weight: 700;
  transform: translateY(-200%);
}
.fk-skip:focus { transform: none; }

.fk-icon { flex: none; }

/* ---------- レイアウト ---------- */
.fk-wrap { max-width: 1180px; margin: 0 auto; padding: 0 28px; }
.fk-wrap--narrow { max-width: 860px; }
.fk-wrap--form { max-width: 720px; }
.fk-section { padding-block: var(--section-y); background: var(--surface-page); }
.fk-section--tint { background: var(--color-sky-tint); }

.fk-section-head { text-align: center; margin-bottom: 44px; }
.fk-section-head__en {
  font-family: var(--font-latin); font-weight: 600; font-size: 15px; line-height: 1.6;
  letter-spacing: 0.28em; color: var(--color-teal);
}
.fk-section-head__ja {
  margin-top: 10px; font-family: var(--font-heading); font-weight: 700; font-size: 32px;
  line-height: 1.45; letter-spacing: 0.04em; color: var(--color-navy-deep);
}
.fk-section-head__en + .fk-section-head__ja { margin-top: 10px; }
.fk-section-head > .fk-section-head__ja:first-child { margin-top: 0; }

/* スクロール出現（JS有効時のみ隠す） */
.fk-js .fk-reveal {
  opacity: 0; transform: translateY(22px);
  transition: opacity 0.7s ease var(--delay, 0ms), transform 0.7s ease var(--delay, 0ms);
}
.fk-js .fk-reveal.is-in { opacity: 1; transform: none; }

/* ---------- ボタン・リンク ---------- */
.fk-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  min-height: 54px; padding: 15px 32px; border: 1px solid transparent; border-radius: 8px;
  font-family: var(--font-body); font-weight: 700; font-size: 16px; line-height: 1;
  letter-spacing: 0.01em; white-space: nowrap; text-decoration: none; cursor: pointer;
  transition: var(--transition-base);
}
.fk-btn--primary { background: var(--primary); color: #fff; }
.fk-btn--primary:hover { background: var(--color-navy-hover); }
.fk-btn--accent { background: var(--color-teal); color: #fff; }
.fk-btn--accent:hover { background: var(--color-teal-hover); }

.fk-link {
  display: inline-flex; align-items: center; gap: 6px;
  font-weight: 700; color: var(--color-navy); text-decoration: underline; text-underline-offset: 3px;
}
.fk-link:hover { color: var(--color-navy-deep); }

.fk-card {
  background: #fff; border: 1px solid var(--border-default); border-radius: 16px;
  box-shadow: var(--shadow-card);
}

/* ---------- ヘッダー ---------- */
.fk-header {
  position: fixed; top: 0; left: 0; right: 0; z-index: 70;
  background: rgba(255, 255, 255, 0.88);
  -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
  box-shadow: 0 1px 10px rgba(14, 42, 71, 0.06);
  transition: background 0.3s ease, box-shadow 0.3s ease;
}
.fk-header.is-scrolled, body:not(.home) .fk-header {
  background: rgba(255, 255, 255, 0.96); box-shadow: 0 2px 14px rgba(14, 42, 71, 0.10);
}
.admin-bar .fk-header { top: 32px; }
.fk-header__inner {
  max-width: 1280px; height: var(--header-h); margin: 0 auto; padding: 0 34px;
  display: flex; align-items: center; justify-content: space-between; gap: 20px;
}
.fk-header__brand { display: flex; align-items: center; gap: 12px; text-decoration: none; }
.fk-header__brand img { height: 52px; width: auto; display: block; }
.fk-header__brand span {
  font-family: "Hiragino Kaku Gothic StdN", "Hiragino Kaku Gothic Std", "ヒラギノ角ゴ StdN", "Hiragino Sans", "Noto Sans JP", sans-serif;
  font-weight: 900; font-size: 36px; line-height: 1; letter-spacing: 0.06em; white-space: nowrap;
  color: var(--color-navy-deep);
}
.fk-header__nav { margin-left: auto; display: flex; align-items: center; gap: 30px; }
.fk-header__nav a {
  font-size: 19px; font-weight: 700; letter-spacing: 0.04em; white-space: nowrap;
  color: var(--color-navy-deep); text-decoration: none; transition: color 0.3s ease;
}
.fk-header__nav a:hover { color: var(--color-navy); }

.fk-header__toggle {
  display: none; position: relative; width: 48px; height: 48px; margin-right: -10px;
  background: transparent; border: none; cursor: pointer;
}
.fk-header__toggle span {
  position: absolute; left: 11px; width: 26px; height: 2px; border-radius: 2px;
  background: var(--color-navy-deep); transition: transform 0.3s ease, opacity 0.3s ease, background 0.3s ease;
}
.fk-header__toggle span:nth-child(1) { top: 16px; }
.fk-header__toggle span:nth-child(2) { top: 23px; }
.fk-header__toggle span:nth-child(3) { top: 30px; }

/* フルスクリーンメニュー */
.fk-menu {
  position: fixed; inset: 0; z-index: 60; background: var(--color-navy-deep);
  display: flex; flex-direction: column; justify-content: center; align-items: center;
  opacity: 0; visibility: hidden; transition: opacity 0.5s ease, visibility 0.5s ease;
}
.fk-menu__nav { display: flex; flex-direction: column; align-items: center; gap: 4px; }
.fk-menu__nav a {
  display: flex; align-items: baseline; gap: 16px; padding: 14px 0; text-decoration: none;
  opacity: 0; transform: translateY(14px); transition: opacity 0.5s ease, transform 0.5s ease;
}
.fk-menu__num {
  width: 34px; text-align: right; font-family: var(--font-latin); font-weight: 600; font-size: 12px;
  letter-spacing: 0.2em; color: var(--color-teal);
}
.fk-menu__label { font-family: var(--font-heading); font-weight: 700; font-size: 26px; letter-spacing: 0.08em; color: #fff; }
.fk-menu__tel { margin-top: 48px; text-align: center; opacity: 0; transition: opacity 0.5s ease; }
.fk-menu__tel a { font-family: var(--font-latin); font-weight: 700; font-size: 20px; letter-spacing: 0.06em; color: #fff; text-decoration: none; }
.fk-menu__tel p { margin-top: 6px; font-size: 12px; color: rgba(255, 255, 255, 0.6); }

.fk-menu-open { overflow: hidden; }
.fk-menu-open .fk-menu { opacity: 1; visibility: visible; }
.fk-menu-open .fk-menu__nav a { opacity: 1; transform: none; transition-delay: calc(120ms + var(--i) * 70ms); }
.fk-menu-open .fk-menu__tel { opacity: 1; transition-delay: 470ms; }
.fk-menu-open .fk-header { background: transparent; box-shadow: none; -webkit-backdrop-filter: none; backdrop-filter: none; }
.fk-menu-open .fk-header__brand span { color: #fff; }
.fk-menu-open .fk-header__brand img { filter: brightness(0) invert(1); }
.fk-menu-open .fk-header__toggle span { background: #fff; }
.fk-menu-open .fk-header__toggle span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.fk-menu-open .fk-header__toggle span:nth-child(2) { opacity: 0; }
.fk-menu-open .fk-header__toggle span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

/* ---------- ヒーロー ---------- */
.fk-hero { position: relative; height: 100vh; height: 100svh; min-height: 560px; overflow: hidden; background: var(--color-navy-deep); }
.fk-hero__img {
  position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; object-fit: cover;
  opacity: 0; transition: opacity 2.6s ease-in-out;
}
.fk-hero__img.is-active { opacity: 1; }
.fk-hero__shade {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(14, 42, 71, 0.30) 0%, rgba(14, 42, 71, 0.12) 45%, rgba(14, 42, 71, 0.42) 100%);
}
.fk-hero__scroll {
  position: absolute; bottom: 0; left: 50%; transform: translateX(-50%); z-index: 2;
  display: flex; flex-direction: column; align-items: center; gap: 10px;
}
.fk-hero__scroll span { font-family: var(--font-latin); font-size: 11px; line-height: 1.6; letter-spacing: 0.3em; color: rgba(255, 255, 255, 0.9); }
.fk-hero__scroll i { display: block; width: 1px; height: 56px; background: linear-gradient(180deg, rgba(255, 255, 255, 0.9), rgba(255, 255, 255, 0.1)); }

/* ---------- コンセプト ---------- */
.fk-concept { padding-block: 110px; background: var(--color-sky-tint); border-bottom: 1px solid var(--border-default); }

/* ---------- サービス ---------- */
.fk-service { text-align: center; }
.fk-service .fk-section-head__en { margin-bottom: 10px; }
.fk-service__title {
  font-family: var(--font-heading); font-weight: 700; font-size: 34px; letter-spacing: 0.04em;
  line-height: 1.35; color: var(--color-navy-deep);
}
.fk-toggle {
  margin-top: 30px; display: inline-flex; align-items: center; gap: 8px; white-space: nowrap;
  background: transparent; border: 1px solid var(--color-teal); border-radius: 8px; padding: 10px 20px;
  font-family: var(--font-body); font-size: 15.5px; font-weight: 700; line-height: 1.6;
  color: var(--color-teal-hover); cursor: pointer; transition: var(--transition-base);
}
.fk-toggle:hover { background: var(--color-teal-soft); }
.fk-toggle .fk-icon { transition: transform var(--dur-base) var(--ease-standard); }
.fk-toggle[aria-expanded="true"] .fk-icon { transform: rotate(180deg); }

.fk-detail { margin: 40px auto 0; max-width: 680px; display: flex; flex-direction: column; gap: 28px; }
.fk-detail--wide { max-width: 860px; }
.fk-detail[hidden] { display: none; }
.fk-group__label { margin-bottom: 12px; font-family: var(--font-heading); font-size: 20px; font-weight: 700; color: var(--color-navy); text-align: center; }
.fk-menu-list { text-align: left; }
.fk-menu-list li {
  padding: 12px 4px; font-family: var(--font-heading); font-weight: 700; font-size: 18px; line-height: 1.45;
  color: var(--color-navy-deep);
}
.fk-menu-list li + li { border-top: 1px solid var(--border-default); }
.fk-group__more { margin-top: 14px; text-align: right; font-size: 15px; }

.fk-targets { text-align: left; }
.fk-targets__lead { margin-bottom: 14px; font-size: 16px; font-weight: 700; color: var(--text-muted); }
.fk-targets__grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); margin-top: 8px; }
.fk-targets__grid li { padding: 4px 14px; }
.fk-targets__grid li + li { border-left: 1px solid var(--border-default); }
.fk-targets__title { font-family: var(--font-heading); font-weight: 700; font-size: 17px; line-height: 1.45; color: var(--color-navy-deep); white-space: nowrap; }
.fk-targets__sub { margin-top: 8px; font-size: 15.5px; line-height: 1.5; color: var(--text-muted); }

/* ---------- 地域活動・防災教育 ---------- */
.fk-blocks { margin-top: 48px; text-align: left; border-top: 1px solid var(--border-default); }
.fk-block {
  padding: 32px 4px; border-bottom: 1px solid var(--border-default);
  display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 40px; align-items: center;
}
.fk-block h3 { font-family: var(--font-heading); font-weight: 700; font-size: 22px; line-height: 1.5; color: var(--color-navy-deep); }
.fk-block__text > p { margin: 14px 0; font-size: 16px; line-height: 1.9; }
.fk-checks { display: flex; flex-direction: column; gap: 8px; }
.fk-checks li { display: flex; align-items: flex-start; gap: 8px; font-size: 15.5px; line-height: 1.7; }
.fk-checks .fk-icon { margin-top: 5px; color: var(--color-green); }
.fk-block .fk-link { margin-top: 18px; font-size: 16px; }
.fk-block__img { height: 220px; border-radius: 12px; overflow: hidden; box-shadow: var(--shadow-card); }
.fk-block__img img { width: 100%; height: 100%; object-fit: cover; display: block; }

/* ---------- 実績 ---------- */
.fk-achievements { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; margin-top: 56px; }
.fk-achievement { background: #fff; border: 1px solid var(--border-default); border-radius: 12px; padding: 26px 30px; }
.fk-achievement h3 { margin-bottom: 14px; font-family: var(--font-heading); font-weight: 700; font-size: 19px; line-height: 1.5; color: var(--color-navy-deep); }
.fk-achievement li { padding: 10px 0; font-size: 15.5px; line-height: 1.7; }
.fk-achievement li + li { border-top: 1px solid var(--border-default); }

/* ---------- 保有機体 ---------- */
.fk-fleet { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
.fk-drone { border: 1px solid var(--border-default); border-radius: 12px; background: #fff; overflow: hidden; }
.fk-drone__img { height: 190px; padding: 20px; display: flex; align-items: center; justify-content: center; border-bottom: 1px solid var(--border-default); }
.fk-drone__img img { height: auto; display: block; }
.fk-drone__body { padding: 18px 20px 22px; text-align: center; }
.fk-drone__name { font-family: var(--font-latin); font-weight: 700; font-size: 17px; line-height: 1.5; color: var(--color-navy-deep); white-space: nowrap; }
.fk-drone__use { margin-top: 8px; font-size: 15px; line-height: 1.6; color: var(--text-muted); }

/* ---------- 会社概要 ---------- */
.fk-company { display: grid; grid-template-columns: 1.2fr 1fr; gap: 40px; align-items: stretch; }
.fk-company__map { min-height: 340px; border-radius: 12px; overflow: hidden; box-shadow: var(--shadow-card); }
.fk-company__map iframe { width: 100%; height: 100%; min-height: 340px; border: none; display: block; }
.fk-company__info { display: flex; flex-direction: column; justify-content: center; }
.fk-company__info > div { display: grid; grid-template-columns: 110px 1fr; gap: 16px; padding: 15px 4px; border-bottom: 1px solid var(--border-default); }
.fk-company__info dt { font-size: 15px; font-weight: 700; color: var(--color-navy); }
.fk-company__info dd { font-size: 15.5px; line-height: 1.7; overflow-wrap: anywhere; }

/* ---------- 右端の固定CTA ---------- */
.fk-fixed-cta {
  position: fixed; right: 0; top: 50%; z-index: 55;
  display: flex; flex-direction: column; align-items: center; gap: 10px;
  writing-mode: vertical-rl; padding: 22px 13px;
  background: var(--color-teal); color: #fff; font-size: 14px; font-weight: 700; line-height: 1.4;
  letter-spacing: 0.14em; text-decoration: none;
  border-radius: 8px 0 0 8px; box-shadow: 0 4px 16px rgba(14, 42, 71, 0.22);
  transform: translate(110%, -50%); transition: transform 0.45s cubic-bezier(0.22, 1, 0.36, 1), background var(--dur-base) ease;
}
.fk-fixed-cta.is-visible { transform: translate(0, -50%); }
.fk-fixed-cta:hover { background: var(--color-teal-hover); }
.fk-fixed-cta .fk-icon { transform: rotate(90deg); }

/* ---------- フッター ---------- */
.fk-footer {
  position: relative; overflow: hidden; color: #fff;
  background:
    linear-gradient(180deg, rgba(14, 42, 71, 0.25) 0%, rgba(14, 42, 71, 0.55) 100%),
    radial-gradient(130% 110% at 78% 8%, rgba(255, 255, 255, 0.22), transparent 52%),
    linear-gradient(160deg, #4E90BE 0%, #1B6FB3 50%, #0E2A47 100%);
}
.fk-footer__inner { text-align: center; padding: 96px 28px 48px; display: flex; flex-direction: column; align-items: center; }
.fk-footer__name { font-family: var(--font-heading); font-weight: 900; font-size: 34px; line-height: 1.4; letter-spacing: 0.08em; text-shadow: 0 2px 18px rgba(14, 42, 71, 0.5); }
.fk-footer__sns { display: flex; align-items: center; justify-content: center; gap: 30px; margin-top: 44px; }
.fk-footer__sns a { display: inline-flex; align-items: center; justify-content: center; width: 46px; height: 46px; border-radius: 50%; transition: background var(--dur-base) ease; }
.fk-footer__sns a:hover { background: rgba(255, 255, 255, 0.14); }
.fk-footer__copy { margin-top: 40px; font-family: var(--font-latin); font-weight: 600; font-size: 12.5px; color: rgba(255, 255, 255, 0.85); }

/* ---------- お問い合わせ ---------- */
.fk-contact { padding: 140px 0 96px; background: var(--surface-sub); }
.fk-contact__lead { text-align: center; margin: -24px 0 36px; font-size: 17px; color: var(--text-muted); }
.fk-contact__error {
  margin-bottom: 20px; padding: 14px 18px; border-radius: 8px; font-size: 15px; font-weight: 700;
  background: #FDF1F0; border: 1px solid #E8B4AE; color: #9A2B20;
}
.fk-contact__done { padding: 48px; text-align: center; }
.fk-contact__done-icon {
  width: 56px; height: 56px; border-radius: 50%; margin-bottom: 16px;
  display: inline-flex; align-items: center; justify-content: center;
  background: var(--color-teal-soft); color: var(--color-teal-hover);
}
.fk-contact__done h2 { margin-bottom: 8px; font-size: 20px; line-height: 1.5; color: var(--text-heading); }
.fk-contact__done p { color: var(--text-muted); }

.fk-form { padding: 36px; display: flex; flex-direction: column; gap: 18px; }
.fk-form__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.fk-form__hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.fk-field { display: flex; flex-direction: column; gap: 7px; }
.fk-field label { display: flex; align-items: center; gap: 6px; font-size: 14px; font-weight: 700; line-height: 1.6; color: var(--text-heading); }
.fk-field label span { font-size: 12px; color: var(--color-teal-hover); }
.fk-field input, .fk-field textarea {
  width: 100%; font-family: var(--font-body); font-size: 16px; line-height: 1.6; color: var(--text-body);
  background: var(--surface-page); border: var(--border-input); border-radius: 8px; padding: 12px 14px;
  outline: none; transition: var(--transition-base);
}
.fk-field textarea { resize: vertical; }
.fk-field input::placeholder, .fk-field textarea::placeholder { color: var(--color-text-faint); }
.fk-field input:focus, .fk-field textarea:focus { border-color: var(--primary); box-shadow: var(--focus-shadow); }
.fk-form__submit { margin-top: 8px; display: flex; justify-content: center; }

/* ---------- 汎用ページ・投稿 ---------- */
.fk-page { padding: 150px 0 96px; }
.fk-content { font-size: 16px; line-height: 1.9; }
.fk-content--center { text-align: center; }
.fk-content > * + * { margin-top: 1.4em; }
.fk-content h2 { margin-top: 2.2em; font-size: 24px; line-height: 1.5; color: var(--color-navy-deep); }
.fk-content h3 { margin-top: 2em; font-size: 20px; line-height: 1.5; color: var(--color-navy-deep); }
.fk-content ul { list-style: disc; padding-left: 1.4em; }
.fk-content ol { padding-left: 1.4em; }
.fk-content a:not(.fk-btn) { color: var(--link); text-underline-offset: 3px; }
.fk-content img { height: auto; border-radius: 12px; }
.fk-post-list li { display: flex; gap: 20px; padding: 16px 4px; border-bottom: 1px solid var(--border-default); }
.fk-post-list time { flex: none; font-family: var(--font-latin); font-size: 14px; color: var(--text-muted); line-height: 2; }
.fk-post-list a { font-weight: 700; color: var(--color-navy-deep); text-decoration: none; }
.fk-post-list a:hover { color: var(--color-navy); text-decoration: underline; }
.navigation.pagination { margin-top: 40px; text-align: center; }
.navigation.pagination .page-numbers { display: inline-block; padding: 6px 12px; text-decoration: none; color: var(--color-navy); font-weight: 700; }
.navigation.pagination .current { color: var(--text-muted); }

/* ============================================================
   レスポンシブ
   ============================================================ */
@media (max-width: 1080px) {
  .fk-header__brand span { font-size: 28px; }
  .fk-header__brand img { height: 46px; }
  .fk-header__nav { gap: 22px; }
  .fk-header__nav a { font-size: 17px; }
  .fk-fleet { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 860px) {
  :root { --header-h: 68px; }
  .fk-header__inner { padding: 0 20px; }
  .fk-header__brand { gap: 10px; }
  .fk-header__brand img { height: 38px; }
  .fk-header__brand span { font-size: 22px; }
  .fk-header__nav { display: none; }
  .fk-header__toggle { display: block; }

  .fk-company { grid-template-columns: 1fr; gap: 28px; }
  .fk-company__map, .fk-company__map iframe { min-height: 280px; }
  .fk-targets__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 0; }
  .fk-targets__grid li:nth-child(odd) { border-left: none; padding-left: 4px; }
}

@media (max-width: 782px) {
  .admin-bar .fk-header { top: 46px; }
}

@media (max-width: 680px) {
  .fk-wrap { padding: 0 20px; }
  .fk-section { padding-block: var(--section-y-sm); }
  .fk-concept { padding-block: 64px; }
  .fk-section-head { margin-bottom: 32px; }
  .fk-section-head__en { font-size: 13px; }
  .fk-section-head__ja { font-size: 24px; }
  .fk-service__title { font-size: 26px; }
  .fk-menu-list li { font-size: 16.5px; }

  .fk-blocks { margin-top: 32px; }
  .fk-block { grid-template-columns: 1fr; gap: 22px; padding: 28px 0; }
  .fk-block h3 { font-size: 19px; }
  .fk-block__img { height: 200px; order: -1; }

  .fk-achievements { grid-template-columns: 1fr; gap: 16px; margin-top: 0; }
  .fk-achievement { padding: 22px 20px; }
  .fk-fleet { gap: 12px; }
  .fk-drone__img { height: 120px; padding: 14px; }
  .fk-drone__body { padding: 14px 10px 16px; }
  .fk-drone__name { font-size: 14px; white-space: normal; }
  .fk-drone__use { font-size: 13px; }
  .fk-company__info > div { grid-template-columns: 88px 1fr; gap: 12px; }

  /* スマホでは本文に重ならないよう、右下の横長ボタンに */
  .fk-fixed-cta {
    top: auto; right: 14px; bottom: 14px; flex-direction: row; gap: 8px; writing-mode: horizontal-tb;
    padding: 13px 18px; font-size: 14px; letter-spacing: 0.06em; border-radius: 999px;
    transform: translateY(160%);
  }
  .fk-fixed-cta.is-visible { transform: none; }
  .fk-fixed-cta .fk-icon { transform: none; }
  .fk-footer__inner { padding: 72px 20px 88px; }
  .fk-footer__name { font-size: 26px; }
  .fk-footer__sns { gap: 18px; margin-top: 32px; }

  .fk-contact { padding: 108px 0 64px; }
  .fk-contact__lead { margin-top: -12px; font-size: 15.5px; text-align: left; }
  .fk-form { padding: 24px 20px; }
  .fk-form__grid { grid-template-columns: 1fr; }
  .fk-contact__done { padding: 36px 20px; }
  .fk-btn { width: 100%; white-space: normal; line-height: 1.4; }
  .fk-page { padding: 116px 0 64px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition-duration: 0.01ms !important; }
}
