/*
 * unazuku theme — contact page styles
 * Source of truth: contact.html (静的HTMLの<style>から抽出)
 * このファイルは scripts/sync-theme-css.py で contact.html から再生成されます。
 * 直接編集せず、静的HTMLを修正してから本スクリプトを実行してください。
 */
    :root {
      --bg: #fcfbff;
      --surface: rgba(255,255,255,.86);
      --accent: #d9cbef;
      --accent-deep: #9f8bbb;
      --line: #e5ddef;
      --text: #262433;
      --muted: #666274;
      --navy: #2f3553;
      --shadow: 0 22px 70px rgba(68,53,97,.12);
    }

    * { box-sizing: border-box; }

    body {
      margin: 0;
      font-family: "Hiragino Sans","Yu Gothic",sans-serif;
      color: var(--text);
      background:
        radial-gradient(circle at 8% 8%, rgba(217,203,239,.58), transparent 30%),
        radial-gradient(circle at 92% 12%, rgba(244,238,251,.95), transparent 27%),
        linear-gradient(180deg, #fff 0%, var(--bg) 100%);
    }

    a { color: inherit; text-decoration: none; }
    .wrap { width: min(1120px, calc(100% - 40px)); margin: 0 auto; }

    header {
      position: sticky;
      top: 0;
      z-index: 10;
      backdrop-filter: blur(12px);
      background: rgba(252,251,255,.82);
      border-bottom: 1px solid rgba(229,221,239,.75);
    }

    .nav {
      display: flex;
      align-items: center;
      justify-content: space-between;
      min-height: 74px;
    }

    .brand {
      font-size: 1.2rem;
      font-weight: 700;
      letter-spacing: .08em;
    }

    .brand span { color: var(--accent-deep); }

    .back {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      color: var(--navy);
      font-weight: 700;
    }

    .menu {
      display: flex;
      align-items: center;
      gap: 22px;
      color: var(--muted);
      font-size: .94rem;
    }

    .contact-layout {
      display: block;
      padding: 54px 0 82px;
    }

    .intro {
      display: grid;
      gap: 18px;
    }

    .intro-card {
      border: 1px solid var(--line);
      border-radius: 28px;
      background: var(--surface);
      box-shadow: var(--shadow);
    }

    .intro-card {
      overflow: hidden;
    }

    .contact-visual {
      min-height: 300px;
      background:
        linear-gradient(180deg, rgba(255,255,255,.04), rgba(47,53,83,.2)),
        url("https://images.unsplash.com/photo-1497366754035-f200968a6e72?auto=format&fit=crop&fm=jpg&q=86&w=1800");
      background-size: cover;
      background-position: center 45%;
    }

    .intro-copy {
      padding: 28px;
    }

    .kicker {
      color: var(--accent-deep);
      font-size: .82rem;
      font-weight: 700;
      letter-spacing: .08em;
    }

    h1 {
      margin: 14px 0 12px;
      font-size: clamp(2.1rem, 4vw, 3.4rem);
      line-height: 1.16;
    }

    .lead {
      margin: 0;
      color: var(--muted);
      line-height: 1.9;
    }

    .form-wrap {
      margin-top: 22px;
    }

    form {
      display: grid;
      gap: 16px;
      margin-top: 0;
    }

    .grid {
      display: grid;
      grid-template-columns: 1fr;
      gap: 14px;
    }

    label {
      display: grid;
      gap: 8px;
      color: var(--navy);
      font-weight: 700;
      font-size: .94rem;
    }

    input,
    textarea {
      width: 100%;
      padding: 14px 15px;
      border: 1px solid var(--line);
      border-radius: 16px;
      background: rgba(255,255,255,.92);
      color: var(--text);
      font: inherit;
      outline: none;
      transition: border-color 240ms ease, box-shadow 240ms ease, background-color 240ms ease;
    }

    input:focus,
    textarea:focus {
      border-color: rgba(159,139,187,.72);
      background: #fff;
      box-shadow: 0 0 0 4px rgba(217,203,239,.34);
    }

    button {
      width: fit-content;
      margin-top: 2px;
      padding: 14px 24px;
      border: none;
      border-radius: 999px;
      background: var(--navy);
      color: #fff;
      font-weight: 700;
      cursor: pointer;
      box-shadow: 0 14px 34px rgba(47,53,83,.18);
      transition: transform 260ms ease, box-shadow 260ms ease;
    }

    button:hover {
      transform: translateY(-2px);
      box-shadow: 0 18px 42px rgba(47,53,83,.23);
    }

    .status {
      min-height: 1.5em;
      margin: 0;
      color: var(--muted);
      line-height: 1.7;
    }

    @media(max-width:860px) {
      .grid {
        grid-template-columns: 1fr;
      }

      .contact-layout {
        padding-top: 32px;
      }
    }
  
.skip-link{position:absolute;left:-9999px;top:6px;padding:8px 16px;background:var(--navy,#2f3553);color:#fff;border-radius:999px;font-weight:700;z-index:9999;text-decoration:none}
.skip-link:focus{left:16px}
.breadcrumb{margin:18px 0 0;font-size:.82rem;color:var(--muted,#666274)}
.breadcrumb ol{list-style:none;display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:0;padding:0}
.breadcrumb li{display:inline-flex;align-items:center;gap:6px}
.breadcrumb li+li::before{content:"\203a";color:#b3aac4}
.breadcrumb a{color:var(--accent-deep,#9f8bbb);font-weight:600}
.breadcrumb a:hover{text-decoration:underline}
.breadcrumb [aria-current="page"]{color:var(--navy,#2f3553);font-weight:700}
