/* ============================================================
   髙﨑咲希 Profile Page — Styles
   コンセプト: 写真の温かみ × ボールドミニマリズム
   Palette: Warm Ivory / Warm Black / Muted Gold / Pale Teal accent
   ============================================================ */

:root {
  --pf-bg:        #F7F4EF;
  --pf-bg-dark:   #EDEAD3;   /* warmな薄黄 */
  --pf-ink:       #111010;
  --pf-ink-soft:  #3A3630;
  --pf-ink-muted: #807870;
  --pf-white:     #FDFAF5;
  --pf-gold:      #B8A070;   /* アクセント: 温かいゴールド */
  --pf-teal:      #5A8B88;   /* サブアクセント: ティール */
  --pf-deep:      #1A1410;   /* フッター等 */

  --font-serif: 'Shippori Mincho', serif;
  --font-sans:  'Inter', sans-serif;
  --nav-h: 72px;
  --tr: 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }

body.pf-body {
  background: var(--pf-bg);
  color: var(--pf-ink);
  font-family: var(--font-sans);
  line-height: 1.7;
  overflow-x: hidden;
}

.container {
  max-width: 1160px; margin: 0 auto; padding: 0 48px;
}
@media (max-width: 768px) { .container { padding: 0 20px; } }

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   NAV (共通デザイン)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.pf-nav {
  position: fixed; top: 0; left: 0; right: 0; z-index: 200;
  background: rgba(247,244,239,0.94);
  backdrop-filter: blur(16px);
  border-bottom: 1px solid rgba(17,16,16,0.07);
  transition: box-shadow var(--tr);
}
.pf-nav.scrolled { box-shadow: 0 2px 24px rgba(0,0,0,0.07); }

.nav-inner {
  max-width: 1160px; margin: 0 auto; padding: 0 48px;
  height: var(--nav-h);
  display: flex; align-items: center; justify-content: space-between; gap: 24px;
}
@media (max-width: 768px) { .nav-inner { padding: 0 20px; } }

.nav-logo {
  text-decoration: none; flex-shrink: 0;
  display: flex; align-items: center;
}
/* ロゴ画像 — ナビ */
.nav-logo-img { display: block; object-fit: contain; }
.nav-logo-img--vc {
  height: 40px; width: auto;
  mix-blend-mode: multiply;
}
/* フッターロゴ */
.footer-logo-link {
  display: flex; align-items: center; gap: 12px;
  text-decoration: none; margin-bottom: 16px;
}
.footer-logo-img { object-fit: contain; display: block; }
.footer-logo-img--vc {
  height: 36px; width: auto;
  filter: invert(1);
}
.footer-wordmark { object-fit: contain; display: block; }
.footer-wordmark--vc {
  height: 40px; width: auto;
  filter: invert(1);
  opacity: 0.9;
}

/* Toggle (共通) */
.brand-toggle {
  display: flex; align-items: center;
  background: rgba(17,16,16,0.06);
  border: 1px solid rgba(17,16,16,0.1);
  border-radius: 100px; padding: 4px; flex-shrink: 0;
}
.toggle-item {
  display: flex; align-items: center; gap: 7px;
  padding: 6px 16px; border-radius: 100px;
  font-size: 11px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase;
  color: var(--pf-ink-muted); text-decoration: none; transition: all 0.25s;
}
.toggle-item--active {
  background: var(--pf-ink); color: var(--pf-white);
  box-shadow: 0 2px 8px rgba(0,0,0,0.18);
}
.toggle-dot {
  width: 6px; height: 6px; border-radius: 50%;
  background: var(--pf-gold); flex-shrink: 0;
}
.toggle-dot--right { order: 1; }
.toggle-divider { width: 1px; height: 16px; background: rgba(17,16,16,0.12); }

.mobile-toggle-wrap {
  display: flex; flex-direction: column; gap: 8px;
  padding: 16px 0 20px;
  border-bottom: 1px solid rgba(17,16,16,0.08);
  margin-bottom: 8px;
}
.mtoggle {
  font-size: 12px; font-weight: 700; letter-spacing: 0.1em;
  color: var(--pf-ink-muted); text-decoration: none;
  padding: 10px 16px; border-radius: 6px;
  border: 1px solid transparent; transition: all 0.2s;
}
.mtoggle--active { background: var(--pf-ink); color: var(--pf-white); }

.nav-links {
  display: flex; align-items: center; gap: 28px;
}
.nav-link {
  font-size: 12px; font-weight: 600; letter-spacing: 0.07em;
  color: var(--pf-ink-soft); text-decoration: none; transition: color 0.2s;
  position: relative;
}
.nav-link::after {
  content: ''; position: absolute; bottom: -3px; left: 0; right: 100%;
  height: 1px; background: var(--pf-gold); transition: right 0.25s;
}
.nav-link:hover { color: var(--pf-ink); }
.nav-link:hover::after { right: 0; }

.hamburger {
  display: none; flex-direction: column; gap: 5px;
  background: none; border: none; cursor: pointer; padding: 4px;
}
.hamburger span {
  display: block; width: 22px; height: 1.5px;
  background: var(--pf-ink); transition: all 0.3s;
}
.hamburger.open span:nth-child(1) { transform: translateY(6.5px) rotate(45deg); }
.hamburger.open span:nth-child(2) { opacity: 0; }
.hamburger.open span:nth-child(3) { transform: translateY(-6.5px) rotate(-45deg); }

.mobile-menu {
  display: none; flex-direction: column;
  padding: 0 20px 20px; background: var(--pf-bg);
  border-top: 1px solid rgba(17,16,16,0.07);
}
.mobile-menu.open { display: flex; }
.m-link {
  padding: 13px 0; font-size: 15px; font-weight: 500;
  color: var(--pf-ink-soft); text-decoration: none;
  border-bottom: 1px solid rgba(17,16,16,0.06);
}

@media (max-width: 960px) { .nav-links { display: none; } .hamburger { display: flex; } }
@media (max-width: 640px) { .brand-toggle { display: none; } }

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   HERO — 写真左・テキスト右
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.pf-hero {
  display: grid;
  grid-template-columns: 1fr 1fr;
  min-height: 100svh;
  padding-top: var(--nav-h);
  overflow: hidden;
  position: relative;
}

.pf-hero-photo {
  position: relative;
  overflow: hidden;
}
.pf-photo-img {
  width: 100%; height: 100%;
  object-fit: cover;
  object-position: center top;
  display: block;
  transition: transform 8s ease;
}
.pf-hero-photo:hover .pf-photo-img { transform: scale(1.03); }

.pf-hero-text {
  display: flex; flex-direction: column; justify-content: center;
  padding: 80px 72px 80px 64px;
  position: relative; z-index: 2;
}

.pf-eyebrow {
  font-size: 10px; font-weight: 700; letter-spacing: 0.28em;
  text-transform: uppercase; color: var(--pf-gold); margin-bottom: 32px;
}

.pf-name {
  font-family: var(--font-serif);
  font-size: clamp(64px, 8vw, 120px);
  font-weight: 700; line-height: 1.0;
  color: var(--pf-ink); letter-spacing: -0.03em;
  margin-bottom: 12px;
}

.pf-name-en {
  font-family: var(--font-sans); font-size: 14px; font-weight: 400;
  letter-spacing: 0.18em; color: var(--pf-ink-muted);
  margin-bottom: 40px;
}

.pf-hero-divider {
  width: 56px; height: 1.5px;
  background: var(--pf-gold);
  margin-bottom: 36px;
}

.pf-catch {
  font-family: var(--font-serif);
  font-size: clamp(16px, 1.8vw, 22px);
  line-height: 1.75; color: var(--pf-ink-soft);
  margin-bottom: 48px;
}

/* ヒーロー タグ */
.pf-hero-tags {
  display: flex; flex-wrap: wrap; gap: 8px;
  margin-bottom: 36px;
}
.pf-hero-tags span {
  font-size: 11px; font-weight: 600; letter-spacing: 0.06em;
  padding: 5px 12px;
  border: 1px solid rgba(17,16,16,0.18);
  border-radius: 100px;
  color: var(--pf-ink-soft);
  background: transparent;
}

/* ヒーロー予約ボタン */
.btn-book-hero {
  display: inline-flex; flex-direction: column; gap: 4px;
  padding: 18px 36px;
  background: var(--pf-ink); color: var(--pf-white);
  border-radius: 3px; text-decoration: none;
  transition: opacity var(--tr);
  max-width: 320px;
}
.btn-book-hero:hover { opacity: 0.78; }
.btn-book-hero span:first-child { font-size: 14px; font-weight: 700; letter-spacing: 0.04em; }
.btn-book-hero-sub { font-size: 11px; opacity: 0.5; letter-spacing: 0.04em; }

.pf-hero-actions { display: flex; gap: 14px; flex-wrap: wrap; }

/* 縦書きラベル */
.pf-side-label {
  position: absolute; right: 16px; bottom: 40px;
  writing-mode: vertical-rl;
  font-family: var(--font-sans); font-weight: 900;
  font-size: 11px; letter-spacing: 0.25em; text-transform: uppercase;
  color: rgba(17,16,16,0.1);
}

@media (max-width: 900px) {
  .pf-hero { grid-template-columns: 1fr; min-height: auto; }
  .pf-hero-photo { height: 70vw; min-height: 280px; }
  .pf-hero-text { padding: 48px 20px 64px; }
  .pf-side-label { display: none; }
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   HOOK MESSAGE
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.pf-hook { padding: 100px 0; background: var(--pf-bg-dark); }
.pf-hook-inner {
  max-width: 800px; margin: 0 auto; text-align: center;
}
.pf-hook-quote {
  font-family: var(--font-serif);
  font-size: clamp(22px, 3.5vw, 40px);
  font-weight: 700; line-height: 1.4;
  color: var(--pf-ink);
  margin-bottom: 32px;
  letter-spacing: -0.01em;
}
.pf-hook-body {
  font-size: 15px; line-height: 1.95;
  color: var(--pf-ink-soft);
  max-width: 640px; margin: 0 auto;
}
.pf-hook-body strong { color: var(--pf-ink); }
@media (max-width: 768px) { .pf-hook { padding: 64px 0; } }

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   BUTTONS
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.btn-primary {
  display: inline-block; padding: 14px 36px;
  background: var(--pf-ink); color: var(--pf-white);
  font-size: 12px; font-weight: 700; letter-spacing: 0.12em;
  text-decoration: none; border-radius: 2px; transition: opacity var(--tr);
}
.btn-primary:hover { opacity: 0.72; }
.btn-primary.btn-large { padding: 18px 52px; font-size: 14px; }

.btn-ghost {
  display: inline-block; padding: 13px 36px;
  border: 1.5px solid var(--pf-ink); color: var(--pf-ink);
  font-size: 12px; font-weight: 700; letter-spacing: 0.12em;
  text-decoration: none; border-radius: 2px;
  transition: background var(--tr), color var(--tr);
  line-height: 54px;
}
.btn-ghost:hover { background: var(--pf-ink); color: var(--pf-white); }

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   SECTION COMMONS
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.section-label {
  font-size: 10px; font-weight: 700; letter-spacing: 0.32em;
  text-transform: uppercase; color: var(--pf-gold); margin-bottom: 20px;
}
.section-title {
  font-family: var(--font-serif);
  font-size: clamp(36px, 4.5vw, 64px);
  font-weight: 700; line-height: 1.15;
  color: var(--pf-ink); margin-bottom: 48px; letter-spacing: -0.015em;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   VISION
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.pf-vision { padding: 160px 0; background: var(--pf-bg); }
.pf-vision-layout {
  display: grid; grid-template-columns: 1fr 1.6fr;
  gap: 80px; align-items: start;
}
.pf-vision-title {
  font-size: clamp(48px, 6vw, 92px);
  line-height: 1.05; margin-bottom: 0;
}
.pf-vision-body {
  font-size: 16px; line-height: 2.1;
  color: var(--pf-ink-soft); margin-bottom: 24px;
}
.pf-quote {
  margin-top: 40px;
  padding: 28px 32px;
  border-left: 3px solid var(--pf-gold);
  background: rgba(184,160,112,0.06);
}
.pf-quote p {
  font-family: var(--font-serif);
  font-size: clamp(16px, 1.8vw, 22px);
  line-height: 1.75; color: var(--pf-ink-soft);
}

@media (max-width: 860px) {
  .pf-vision { padding: 80px 0; }
  .pf-vision-layout { grid-template-columns: 1fr; gap: 40px; }
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   IDENTITY
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.pf-identity {
  padding: 160px 0; background: var(--pf-ink);
  position: relative; overflow: hidden;
}
.pf-identity-bg-text {
  position: absolute; top: -0.08em; right: -0.04em;
  font-family: var(--font-sans); font-weight: 900;
  font-size: clamp(120px, 22vw, 340px);
  color: transparent;
  -webkit-text-stroke: 1px rgba(255,255,255,0.04);
  letter-spacing: -0.05em; pointer-events: none; line-height: 1;
}
.pf-identity .section-label { color: var(--pf-gold); }
.pf-id-title { color: var(--pf-white); }
.pf-identity-grid {
  display: grid; grid-template-columns: repeat(3,1fr);
  gap: 2px; background: rgba(255,255,255,0.06);
  position: relative; z-index: 2;
}
.pf-id-item {
  background: rgba(255,255,255,0.03);
  padding: 52px 40px;
  border: 1px solid rgba(255,255,255,0.06);
  transition: background var(--tr);
}
.pf-id-item:hover { background: rgba(255,255,255,0.07); }
.pf-id-num {
  font-size: 28px; color: var(--pf-gold);
  margin-bottom: 16px; font-weight: 300;
}
.pf-id-item h3 {
  font-family: var(--font-serif); font-size: 20px; font-weight: 600;
  color: var(--pf-white); margin-bottom: 16px;
}
.pf-id-item p { font-size: 14px; line-height: 1.95; color: rgba(255,255,255,0.6); }

@media (max-width: 860px) {
  .pf-identity { padding: 80px 0; }
  .pf-identity-grid { grid-template-columns: 1fr; }
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   CAREER TIMELINE
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.pf-career { padding: 160px 0; background: var(--pf-bg-dark); }
.pf-timeline {
  display: flex; flex-direction: column;
  border-left: 1.5px solid rgba(17,16,16,0.12);
  padding-left: 0; margin-left: 0;
}
.pf-tl-item {
  display: grid; grid-template-columns: 96px 1fr;
  gap: 40px; padding: 0 0 56px 0;
  position: relative;
}
.pf-tl-item::before {
  content: '';
  position: absolute; left: -6px; top: 4px;
  width: 11px; height: 11px; border-radius: 50%;
  background: var(--pf-bg-dark);
  border: 2px solid var(--pf-gold);
}
.pf-tl-year {
  font-family: var(--font-sans); font-size: 13px; font-weight: 700;
  color: var(--pf-gold); letter-spacing: 0.08em;
  padding-left: 28px; padding-top: 2px;
}
.pf-tl-content { }
.pf-tl-content h4 {
  font-family: var(--font-serif); font-size: 20px; font-weight: 600;
  color: var(--pf-ink); margin-bottom: 10px;
}
.pf-tl-content p { font-size: 14px; line-height: 1.9; color: var(--pf-ink-soft); }

@media (max-width: 768px) {
  .pf-career { padding: 80px 0; }
  .pf-tl-item { grid-template-columns: 72px 1fr; gap: 20px; }
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   SKILLS
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.pf-skills { padding: 160px 0; background: var(--pf-bg); }
.pf-skills-grid {
  display: grid; grid-template-columns: repeat(3,1fr);
  gap: 2px; background: rgba(17,16,16,0.08);
  border: 1px solid rgba(17,16,16,0.08);
}
.pf-skill-col {
  background: var(--pf-bg); padding: 52px 40px;
  transition: background var(--tr);
}
.pf-skill-col:hover { background: var(--pf-white); }
.pf-skill-col h4 {
  font-family: var(--font-sans); font-size: 13px; font-weight: 700;
  letter-spacing: 0.1em; color: var(--pf-gold);
  text-transform: uppercase; margin-bottom: 24px;
  padding-bottom: 16px; border-bottom: 1px solid rgba(17,16,16,0.1);
}
.pf-skill-col ul { list-style: none; display: flex; flex-direction: column; gap: 12px; }
.pf-skill-col li {
  font-size: 14px; color: var(--pf-ink-soft); line-height: 1.6;
  padding-left: 16px; position: relative;
}
.pf-skill-col li::before {
  content: '—'; position: absolute; left: 0;
  color: var(--pf-gold); font-size: 12px;
}

@media (max-width: 860px) {
  .pf-skills { padding: 80px 0; }
  .pf-skills-grid { grid-template-columns: 1fr; }
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   RESULTS STRIP
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.pf-results {
  background: var(--pf-ink);
  padding: 80px 0;
  overflow: hidden;
}
.pf-results-inner {
  max-width: 1160px; margin: 0 auto; padding: 0 48px;
  display: flex; align-items: center;
  justify-content: center;
  gap: 0; flex-wrap: wrap;
}
.pf-result-num {
  display: flex; flex-direction: column; align-items: center;
  gap: 8px; padding: 32px 48px; text-align: center;
}
.prn-val {
  font-family: var(--font-sans); font-weight: 900;
  font-size: clamp(40px, 6vw, 72px);
  color: var(--pf-white); letter-spacing: -0.04em; line-height: 1;
}
.prn-unit {
  font-size: 0.55em; font-weight: 900;
  color: var(--pf-gold);
}
.prn-label {
  font-size: 11px; color: rgba(255,255,255,0.45);
  letter-spacing: 0.06em; line-height: 1.5;
}
.pf-result-sep {
  font-size: 32px; color: rgba(255,255,255,0.15);
  font-weight: 300; padding: 0 8px;
}
@media (max-width: 768px) {
  .pf-results-inner { padding: 0 20px; }
  .pf-result-sep { display: none; }
  .pf-result-num { padding: 24px 28px; }
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   PHILOSOPHY
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.pf-philosophy {
  padding: 160px 0; background: var(--pf-bg-dark);
  position: relative; overflow: hidden;
}
.pf-philo-bg {
  position: absolute; bottom: -0.1em; right: -0.04em;
  font-family: var(--font-sans); font-weight: 900;
  font-size: clamp(100px, 18vw, 260px);
  color: transparent;
  -webkit-text-stroke: 1px rgba(17,16,16,0.05);
  letter-spacing: -0.05em; pointer-events: none; line-height: 1;
}
.pf-philo-quote { position: relative; z-index: 2; }
.pf-philo-quote p {
  font-family: var(--font-serif);
  font-size: clamp(24px, 3.5vw, 52px);
  font-weight: 600; line-height: 1.45; color: var(--pf-ink);
}
.pf-philo-quote em { font-style: normal; color: var(--pf-teal); }
.pf-philo-quote cite {
  display: block; margin-top: 32px;
  font-size: 11px; font-weight: 600; letter-spacing: 0.18em;
  color: var(--pf-ink-muted); font-style: normal;
}
@media (max-width: 768px) { .pf-philosophy { padding: 80px 0; } }

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   TWO BRANDS
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.pf-brands { padding: 160px 0; background: var(--pf-bg); }
.pf-brands-grid {
  display: grid; grid-template-columns: 1fr 1fr; gap: 2px;
  background: rgba(17,16,16,0.08);
}
.pf-brand-card {
  display: flex; flex-direction: column;
  padding: 56px 48px;
  text-decoration: none;
  transition: background var(--tr);
  position: relative;
}
.pf-brand-card--vc { background: var(--pf-bg); }
.pf-brand-card--vc:hover { background: var(--pf-white); }
.pf-brand-card--ed { background: var(--pf-ink); }
.pf-brand-card--ed:hover { background: #2a2520; }

.pbc-label {
  font-size: 10px; font-weight: 700; letter-spacing: 0.28em;
  text-transform: uppercase; margin-bottom: 16px;
}
.pf-brand-card--vc .pbc-label { color: var(--pf-gold); }
.pf-brand-card--ed .pbc-label { color: rgba(184,160,112,0.7); }

.pf-brand-card h3 {
  font-family: var(--font-serif); font-size: 32px; font-weight: 700;
  margin-bottom: 16px;
}
.pf-brand-card--vc h3 { color: var(--pf-ink); }
.pf-brand-card--ed h3 { color: var(--pf-white); }

.pf-brand-card p { font-size: 14px; line-height: 1.85; flex: 1; margin-bottom: 32px; }
.pf-brand-card--vc p { color: var(--pf-ink-soft); }
.pf-brand-card--ed p { color: rgba(255,255,255,0.6); }

.pbc-arrow {
  font-size: 22px; font-weight: 300;
  align-self: flex-end;
}
.pf-brand-card--vc .pbc-arrow { color: var(--pf-gold); }
.pf-brand-card--ed .pbc-arrow { color: rgba(255,255,255,0.4); }

.pbc-service-hint {
  font-size: 11px; font-weight: 600; letter-spacing: 0.08em;
  margin-top: 16px; margin-bottom: 4px;
  opacity: 0.55;
  color: #b8a070;
}

@media (max-width: 768px) {
  .pf-brands { padding: 80px 0; }
  .pf-brands-grid { grid-template-columns: 1fr; }
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   CONTACT
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.pf-contact { padding: 180px 0; background: var(--pf-bg); text-align: center; }
.pf-contact-title {
  font-family: var(--font-serif);
  font-size: clamp(36px, 5.5vw, 80px);
  font-weight: 700; color: var(--pf-ink);
  margin-bottom: 20px; line-height: 1.15; letter-spacing: -0.02em;
}
.pf-contact-sub {
  font-size: 15px; color: var(--pf-ink-muted);
  margin-bottom: 52px; line-height: 1.9;
}
.pf-contact-email {
  margin-top: 24px; font-size: 12px;
  letter-spacing: 0.12em; color: var(--pf-ink-muted);
}
@media (max-width: 768px) { .pf-contact { padding: 100px 0; } }

/* pf-contact-footer は二分岐CTAの下部 */
.pf-contact-footer {
  margin-top: 48px; text-align: center;
}
.pf-contact-footer > p:first-child {
  font-size: 13px; color: var(--pf-ink-muted); margin-bottom: 12px;
}
.pf-contact-footer .pf-contact-email {
  margin-top: 0;
}
.pf-contact-footer .pf-contact-email a {
  color: var(--pf-ink-muted); text-decoration: none;
  transition: color 0.2s;
}
.pf-contact-footer .pf-contact-email a:hover { color: var(--pf-ink); }

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   FOOTER
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.pf-footer { background: var(--pf-deep); color: var(--pf-white); padding: 72px 0 36px; }
.footer-inner {
  display: flex; justify-content: space-between; align-items: flex-start;
  margin-bottom: 56px; gap: 48px; flex-wrap: wrap;
}
/* .footer-logo テキスト版は画像に置き換え済み */
.footer-brand p { font-size: 12px; color: rgba(255,255,255,0.38); letter-spacing: 0.06em; }
.footer-nav { display: flex; gap: 60px; flex-wrap: wrap; }
.footer-nav-col { display: flex; flex-direction: column; gap: 12px; }
.fn-head {
  font-size: 10px; font-weight: 700; letter-spacing: 0.24em;
  text-transform: uppercase; color: rgba(255,255,255,0.32); margin-bottom: 4px;
}
.footer-nav-col a {
  font-size: 13px; color: rgba(255,255,255,0.5);
  text-decoration: none; transition: color 0.2s;
}
.footer-nav-col a:hover { color: var(--pf-white); }
.footer-bottom {
  border-top: 1px solid rgba(255,255,255,0.08);
  padding-top: 24px;
}
.footer-bottom p { font-size: 11px; color: rgba(255,255,255,0.28); letter-spacing: 0.06em; }

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   ABOUT PROFILE LINK (eunir.html内)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.about-profile-anchor {
  color: inherit; font-weight: 700;
  text-decoration: underline; text-underline-offset: 3px;
  transition: opacity 0.2s;
}
.about-profile-anchor:hover { opacity: 0.65; }

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   CONTACT — 二分岐 CTA
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.pf-contact {
  padding: 160px 0; background: var(--pf-bg);
  text-align: center;
}
.pf-contact-title {
  font-family: var(--font-serif);
  font-size: clamp(40px, 5.5vw, 80px);
  font-weight: 700; color: var(--pf-ink);
  margin-bottom: 20px; line-height: 1.1; letter-spacing: -0.02em;
}
.pf-contact-sub {
  font-size: 15px; color: var(--pf-ink-muted);
  margin-bottom: 64px; line-height: 1.9;
}
.pf-contact-email {
  margin-top: 40px; font-size: 12px;
  letter-spacing: 0.12em; color: var(--pf-ink-muted);
}

/* 分岐カード2枚 */
.pf-cta-fork {
  display: grid; grid-template-columns: 1fr auto 1fr;
  gap: 0; align-items: stretch;
  background: rgba(17,16,16,0.08);
  text-align: left;
}

.pf-fork-card {
  padding: 56px 52px;
  display: flex; flex-direction: column;
}
.pf-fork-card--vc { background: var(--pf-bg); }
.pf-fork-card--ed { background: var(--pf-ink); }

.pfc-eyebrow {
  font-size: 10px; font-weight: 700; letter-spacing: 0.28em;
  text-transform: uppercase; margin-bottom: 20px;
}
.pf-fork-card--vc .pfc-eyebrow { color: var(--pf-gold); }
.pf-fork-card--ed .pfc-eyebrow { color: rgba(184,160,112,0.7); }

.pfc-title {
  font-family: var(--font-serif);
  font-size: clamp(28px, 3vw, 44px);
  font-weight: 700; line-height: 1.2; margin-bottom: 20px;
}
.pf-fork-card--vc .pfc-title { color: var(--pf-ink); }
.pf-fork-card--ed .pfc-title { color: var(--pf-white); }

.pfc-desc {
  font-size: 14px; line-height: 1.9; margin-bottom: 24px; flex: 1;
}
.pf-fork-card--vc .pfc-desc { color: var(--pf-ink-soft); }
.pf-fork-card--ed .pfc-desc { color: rgba(253,250,246,0.62); }

.pfc-list {
  list-style: none; margin-bottom: 36px;
  display: flex; flex-direction: column; gap: 8px;
}
.pfc-list li {
  font-size: 12px; padding-left: 16px; position: relative; line-height: 1.6;
}
.pf-fork-card--vc .pfc-list li {
  color: var(--pf-ink-muted);
}
.pf-fork-card--vc .pfc-list li::before {
  content: '—'; position: absolute; left: 0; color: var(--pf-gold); font-size: 11px;
}
.pf-fork-card--ed .pfc-list li { color: rgba(253,250,246,0.45); }
.pf-fork-card--ed .pfc-list li::before {
  content: '—'; position: absolute; left: 0;
  color: rgba(184,160,112,0.6); font-size: 11px;
}

/* 予約・フォームボタン */
.btn-book {
  display: inline-flex; flex-direction: column; gap: 5px;
  padding: 20px 32px; border-radius: 3px;
  text-decoration: none; transition: opacity var(--tr);
  align-self: flex-start;
}
.btn-book:hover { opacity: 0.82; }
.btn-book--light {
  background: var(--pf-ink); color: var(--pf-white);
}
.btn-book--dark {
  background: var(--pf-white); color: var(--pf-ink);
}
.btn-book-main { font-size: 14px; font-weight: 700; letter-spacing: 0.04em; }
.btn-book-sub { font-size: 11px; opacity: 0.5; letter-spacing: 0.04em; }

/* 分岐線 */
.pf-fork-divider {
  width: 1px; background: rgba(17,16,16,0.1);
  display: flex; align-items: center; justify-content: center;
  position: relative;
}
.pf-fork-divider span {
  position: absolute;
  font-family: var(--font-serif); font-size: 13px; font-style: italic;
  color: var(--pf-ink-muted); letter-spacing: 0.1em;
  background: var(--pf-bg);
  padding: 8px 0;
  writing-mode: vertical-rl;
}

.pfc-note {
  margin-top: 12px;
  font-size: 11px; opacity: 0.45;
}
.pf-fork-card--vc .pfc-note { color: var(--pf-ink-muted); }
.pf-fork-card--ed .pfc-note { color: rgba(253,250,246,0.45); }

@media (max-width: 860px) {
  .pf-contact { padding: 80px 0; }
  .pf-cta-fork { grid-template-columns: 1fr; }
  .pf-fork-divider { width: 100%; height: 1px; }
  .pf-fork-divider span { writing-mode: horizontal-tb; padding: 0 12px; }
  .pf-fork-card { padding: 48px 28px; }
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   ANIMATIONS
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.fade-in {
  opacity: 0; transform: translateY(28px);
  transition: opacity 0.7s ease, transform 0.7s ease;
}
.fade-in.visible { opacity: 1; transform: translateY(0); }
