/*
 * ai_finance_lp.css  —  AI Finance Intelligence LP 専用スタイルシート
 * 格納先: /wp-content/themes/cocoon-child-master/ai_finance_lp/ai_finance_lp.css
 *
 * ※ 全クラスは "aiflp-" 接頭辞で Cocoon スタイルと完全分離
 * ※ CSS 変数は body.aiflp-page スコープで管理
 */

/* =============================================
   CSS VARIABLES
   ============================================= */
body.aiflp-page {
  --aiflp-gold:        #C9A84C;
  --aiflp-gold-light:  #E8CB7A;
  --aiflp-gold-dim:    rgba(201,168,76,.15);
  --aiflp-gold-border: rgba(201,168,76,.30);
  --aiflp-navy:        #070B14;
  --aiflp-navy-2:      #0D1220;
  --aiflp-navy-3:      #111827;
  --aiflp-white:       #F5F1E8;
  --aiflp-white-dim:   rgba(245,241,232,.70);
  --aiflp-white-muted: rgba(245,241,232,.35);
  --aiflp-red:         #C0392B;
  --aiflp-red-dim:     rgba(192,57,43,.15);
  --aiflp-green:       #27AE60;
  --aiflp-green-dim:   rgba(39,174,96,.15);
  --aiflp-border:      rgba(245,241,232,.08);
  --aiflp-border-gold: rgba(201,168,76,.25);
  --aiflp-serif:       'Noto Serif JP','DM Serif Display',serif;
  --aiflp-sans:        'Noto Sans JP',sans-serif;
  --aiflp-mono:        'Space Mono',monospace;
}

/* =============================================
   BODY / PAGE BASE
   ============================================= */
body.aiflp-page {
  background: #070B14 !important;
  color: rgba(245,241,232,.70);
  font-family: 'Noto Sans JP',sans-serif;
  line-height: 1.7;
  overflow-x: hidden;
}
body.aiflp-page::before {
  content:'';
  position:fixed; inset:0; z-index:0; pointer-events:none; opacity:.4;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.03'/%3E%3C/svg%3E");
}
/* Cocoon 余計な要素を非表示 */
body.aiflp-page .breadcrumb,
body.aiflp-page .entry-title,
body.aiflp-page .sns-share,
body.aiflp-page .related-entries,
body.aiflp-page .pager-post-navi { display:none !important; }
body.aiflp-page #content,
body.aiflp-page .site-content,
body.aiflp-page .entry-content,
body.aiflp-page .content-area { padding:0!important; margin:0!important; max-width:100%!important; }

/* =============================================
   UTILITIES
   ============================================= */
.aiflp-gold       { color:var(--aiflp-gold); }
.aiflp-italic     { font-style:italic; font-weight:300; }
.aiflp-accent     { color:var(--aiflp-gold); }
.aiflp-text-white { color:var(--aiflp-white)!important; }
.aiflp-br-pc      { display:block; }

/* =============================================
   LAYOUT
   ============================================= */
.aiflp-container        { max-width:1140px; margin:0 auto; padding:0 40px; position:relative; z-index:1; }
.aiflp-container--narrow{ max-width:800px;  margin:0 auto; padding:0 40px; position:relative; z-index:1; }

/* =============================================
   STICKY SECTION NAV
   ============================================= */
html {
  scroll-behavior: smooth;
  scroll-padding-top: 52px; /* スティッキーナビ分のオフセット */
}

.aiflp-sticky-nav {
  position: fixed;
  top: 0; left: 0; right: 0;
  z-index: 200;
  background: rgba(7,11,20,.88);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border-bottom: 1px solid var(--aiflp-border-gold);
  transform: translateY(-100%);
  opacity: 0;
  transition: transform .35s cubic-bezier(.4,0,.2,1), opacity .35s;
  pointer-events: none;
}
.aiflp-sticky-nav.is-visible {
  transform: translateY(0);
  opacity: 1;
  pointer-events: auto;
}
.aiflp-sticky-nav-inner {
  display: flex;
  align-items: center;
  max-width: 1140px;
  margin: 0 auto;
  padding: 0 40px;
  overflow-x: auto;
  scrollbar-width: none;
}
.aiflp-sticky-nav-inner::-webkit-scrollbar { display: none; }

.aiflp-sticky-nav-link {
  display: block;
  padding: 16px 18px;
  font-family: var(--aiflp-mono);
  font-size: 10px;
  letter-spacing: .15em;
  text-transform: uppercase;
  color: var(--aiflp-white-muted);
  text-decoration: none;
  white-space: nowrap;
  position: relative;
  transition: color .2s;
  flex-shrink: 0;
}
.aiflp-sticky-nav-link::after {
  content: '';
  position: absolute;
  bottom: 0; left: 18px; right: 18px;
  height: 1px;
  background: var(--aiflp-gold);
  transform: scaleX(0);
  transition: transform .22s cubic-bezier(.4,0,.2,1);
  transform-origin: left;
}
.aiflp-sticky-nav-link:hover { color: var(--aiflp-gold); text-decoration: none; }
.aiflp-sticky-nav-link.is-active { color: var(--aiflp-gold); }
.aiflp-sticky-nav-link.is-active::after,
.aiflp-sticky-nav-link:hover::after { transform: scaleX(1); }

@media(max-width:960px){
  .aiflp-sticky-nav-inner { padding: 0 20px; }
  .aiflp-sticky-nav-link { padding: 14px 12px; font-size: 9px; letter-spacing: .1em; }
}
@media(max-width:600px){
  .aiflp-sticky-nav-inner { padding: 0 8px; }
  .aiflp-sticky-nav-link { padding: 13px 10px; font-size: 9px; }
  html { scroll-padding-top: 46px; }
}

/* =============================================
   HERO
   ============================================= */
.aiflp-hero {
  min-height:100vh;
  display:flex; flex-direction:column; justify-content:flex-end;
  padding-bottom:80px;
  position:relative; overflow:hidden;
}
.aiflp-hero-image-zone {
  position:absolute; inset:0;
  background:linear-gradient(135deg,#070B14 0%,#0F1829 40%,#162040 100%);
  overflow:hidden;
}
.aiflp-hero-image-zone::after {
  content:''; position:absolute; inset:0; z-index:2;
  background:linear-gradient(to bottom, rgba(7,11,20,.10) 0%, rgba(7,11,20,.60) 55%, rgba(7,11,20,.93) 100%);
}
.aiflp-hero-bg-img {
  position:absolute; inset:0; width:100%; height:100%;
  object-fit:cover; object-position:center 30%;
  z-index:1; opacity:.55;
}
.aiflp-hero-grid {
  position:absolute; inset:0; z-index:3;
  background-image:
    linear-gradient(rgba(201,168,76,.025) 1px,transparent 1px),
    linear-gradient(90deg,rgba(201,168,76,.025) 1px,transparent 1px);
  background-size:80px 80px;
}
.aiflp-hero-orb { position:absolute; border-radius:50%; filter:blur(80px); z-index:3; }
.aiflp-hero-orb-1 { width:600px; height:600px; top:-100px; right:-100px; background:radial-gradient(circle,rgba(201,168,76,.07) 0%,transparent 70%); }
.aiflp-hero-orb-2 { width:400px; height:400px; bottom:200px; left:-50px;  background:radial-gradient(circle,rgba(39,174,96,.05)  0%,transparent 70%); }
.aiflp-hero-content { position:relative; z-index:4; }
.aiflp-hero .aiflp-container { z-index: 5; }

.aiflp-hero-eyebrow {
  font-family:var(--aiflp-mono); font-size:11px; letter-spacing:.25em; text-transform:uppercase;
  color:var(--aiflp-gold); margin-bottom:32px;
  display:flex; align-items:center; gap:16px;
}
.aiflp-hero-eyebrow::before { content:''; display:block; width:40px; height:1px; background:var(--aiflp-gold); }

.aiflp-hero-title {
  font-family:var(--aiflp-serif); font-size:clamp(38px,6vw,84px); font-weight:700;
  line-height:1.1; letter-spacing:-.02em;
  color:#FFFFFF; margin-bottom:24px;
  text-shadow: 0 2px 24px rgba(0,0,0,0.7), 0 1px 4px rgba(0,0,0,0.5);
}
.aiflp-hero-subtitle {
  font-size:clamp(15px,1.5vw,18px); color:rgba(245,241,232,0.92);
  max-width:560px; line-height:1.8; margin-bottom:48px; font-weight:400;
  text-shadow: 0 1px 12px rgba(0,0,0,0.6);
}
.aiflp-hero-metrics {
  display:flex; gap:48px; flex-wrap:wrap;
  border-top:1px solid var(--aiflp-border); padding-top:32px;
}
.aiflp-metric-number {
  font-family:var(--aiflp-mono); font-size:32px; font-weight:700;
  color:var(--aiflp-gold); line-height:1; margin-bottom:6px;
}
.aiflp-metric-label { font-size:12px; color:var(--aiflp-white-muted); letter-spacing:.05em; line-height:1.4; }

.aiflp-scroll-hint {
  position:absolute; bottom:30px; right:40px; z-index:4;
  display:flex; align-items:center; gap:10px;
  font-family:var(--aiflp-mono); font-size:10px; letter-spacing:.2em;
  color:var(--aiflp-white-muted); text-transform:uppercase;
  animation:aiflp-float 2s ease-in-out infinite;
}
.aiflp-scroll-hint::after { content:''; display:block; width:1px; height:40px; background:linear-gradient(to bottom,var(--aiflp-white-muted),transparent); }
@keyframes aiflp-float { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-6px)} }

/* =============================================
   DIVIDER
   ============================================= */
.aiflp-divider {
  width:1px; height:80px;
  background:linear-gradient(to bottom,transparent,var(--aiflp-gold),transparent);
  margin:0 auto; position:relative; z-index:1;
}

/* =============================================
   IMAGE STRIP (IMAGE 2)
   ============================================= */
.aiflp-image-strip { position:relative; z-index:1; line-height:0; overflow:hidden; }
.aiflp-image-strip-img { width:100%; aspect-ratio:16/6; object-fit:cover; display:block; filter:brightness(.75) contrast(1.05); }

/* =============================================
   SECTION BASE
   ============================================= */
.aiflp-section        { padding:100px 0; position:relative; z-index:1; }
.aiflp-section--border{ border-bottom:1px solid var(--aiflp-border); }

.aiflp-section-tag {
  font-family:var(--aiflp-mono); font-size:10px; letter-spacing:.25em; text-transform:uppercase;
  color:var(--aiflp-gold); margin-bottom:20px;
  display:flex; align-items:center; gap:12px;
}
.aiflp-section-tag::before { content:''; width:24px; height:1px; background:var(--aiflp-gold); }

.aiflp-section-title {
  font-family:var(--aiflp-serif); font-size:clamp(26px,4vw,50px); font-weight:700;
  line-height:1.2; letter-spacing:-.02em; color:var(--aiflp-white); margin-bottom:24px;
}
.aiflp-section-body { font-size:17px; color:var(--aiflp-white-dim); line-height:1.9; font-weight:300; margin-bottom:60px; }

/* =============================================
   AUDIENCE GRID
   ============================================= */
.aiflp-audience-grid {
  display:grid; grid-template-columns:repeat(2,1fr);
  gap:1px; background:var(--aiflp-border); border:1px solid var(--aiflp-border); margin-top:60px;
}
.aiflp-audience-card { padding:40px; background:var(--aiflp-navy-3); transition:background .22s; }
.aiflp-audience-card:hover { background:rgba(201,168,76,.025); }
.aiflp-audience-role {
  font-family:var(--aiflp-mono); font-size:10px; letter-spacing:.2em; text-transform:uppercase;
  color:var(--aiflp-gold); margin-bottom:16px; display:flex; align-items:center; gap:10px;
}
.aiflp-audience-role::before { content:''; width:16px; height:1px; background:var(--aiflp-gold); }
.aiflp-audience-card-title { font-size:18px; font-weight:500; color:var(--aiflp-white); margin-bottom:14px; line-height:1.4; }
.aiflp-audience-card-body  { font-size:14px; color:var(--aiflp-white-muted); line-height:1.85; }
.aiflp-audience-tag { display:inline-block; margin-top:20px; font-size:11px; color:var(--aiflp-gold); border:1px solid var(--aiflp-gold-border); padding:4px 12px; border-radius:100px; }

/* =============================================
   BEFORE / AFTER
   ============================================= */
.aiflp-contrast-grid {
  display:grid; grid-template-columns:1fr auto 1fr;
  margin-top:60px; border:1px solid var(--aiflp-border); border-radius:2px; overflow:hidden;
}
.aiflp-contrast-col { padding:48px; }
.aiflp-contrast-col--before { background:rgba(255,255,255,.015); border-right:1px solid var(--aiflp-border); }
.aiflp-contrast-col--after  { background:rgba(201,168,76,.03); }
.aiflp-contrast-divider {
  display:flex; align-items:center; justify-content:center;
  padding:0 24px; background:var(--aiflp-navy-3);
  border-left:1px solid var(--aiflp-border); border-right:1px solid var(--aiflp-border);
  writing-mode:vertical-rl;
}
.aiflp-contrast-divider-text { font-family:var(--aiflp-mono); font-size:9px; letter-spacing:.3em; color:var(--aiflp-white-muted); text-transform:uppercase; }
.aiflp-contrast-era  { font-family:var(--aiflp-mono); font-size:10px; letter-spacing:.2em; text-transform:uppercase; margin-bottom:24px; }
.aiflp-era--before   { color:var(--aiflp-white-muted); }
.aiflp-era--after    { color:var(--aiflp-gold); }
.aiflp-contrast-list { list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:16px; }
.aiflp-contrast-item { display:flex; align-items:flex-start; gap:14px; }
.aiflp-contrast-icon { width:20px; height:20px; border-radius:50%; display:flex; align-items:center; justify-content:center; flex-shrink:0; margin-top:2px; font-size:10px; }
.aiflp-icon--x       { background:var(--aiflp-red-dim);   color:var(--aiflp-red); }
.aiflp-icon--check   { background:var(--aiflp-green-dim);  color:var(--aiflp-green); }
.aiflp-contrast-item > span { font-size:14px; color:var(--aiflp-white-dim); line-height:1.65; }
.aiflp-contrast-item strong { color:var(--aiflp-white); font-weight:500; }

/* =============================================
   IMPACT NUMBERS
   ============================================= */
.aiflp-impact-strip {
  background:var(--aiflp-navy-3);
  border-top:1px solid var(--aiflp-border); border-bottom:1px solid var(--aiflp-border);
  padding:60px 0; position:relative; overflow:hidden;
}
.aiflp-impact-strip::before { content:''; position:absolute; inset:0; background:linear-gradient(90deg,transparent,rgba(201,168,76,.04),transparent); }
.aiflp-impact-numbers { display:grid; grid-template-columns:repeat(4,1fr); position:relative; z-index:1; }
.aiflp-impact-item { text-align:center; padding:0 32px; border-right:1px solid var(--aiflp-border); }
.aiflp-impact-item:last-child { border-right:none; }
.aiflp-impact-number {
  font-family:var(--aiflp-mono); font-size:clamp(34px,4vw,54px); font-weight:700;
  color:var(--aiflp-gold); line-height:1; margin-bottom:12px;
  display:flex; align-items:flex-start; justify-content:center; gap:2px;
}
.aiflp-impact-sign { font-size:.5em; margin-top:6px; color:var(--aiflp-gold-light); }
.aiflp-impact-unit { font-size:.38em; color:var(--aiflp-gold-light); margin-top:8px; font-weight:400; }
.aiflp-impact-label { font-size:13px; color:var(--aiflp-white-muted); line-height:1.5; }

/* =============================================
   THREE-TIER
   ============================================= */
.aiflp-tier-section { padding:100px 0; }
.aiflp-tier-nav {
  display:flex; border:1px solid var(--aiflp-border); border-radius:2px;
  overflow:hidden; margin-bottom:60px; max-width:600px;
}
.aiflp-tier-btn {
  flex:1; padding:16px 24px; background:transparent; border:none;
  border-right:1px solid var(--aiflp-border); cursor:pointer;
  font-family:var(--aiflp-sans); font-size:14px; font-weight:500;
  color:var(--aiflp-white-muted); transition:all .25s; text-align:center; position:relative;
}
.aiflp-tier-btn:last-child { border-right:none; }
.aiflp-tier-btn::after { content:''; position:absolute; bottom:0; left:0; right:0; height:2px; background:var(--aiflp-gold); transform:scaleX(0); transition:transform .25s; }
.aiflp-tier-btn.active { background:rgba(201,168,76,.06); color:var(--aiflp-gold); }
.aiflp-tier-btn.active::after { transform:scaleX(1); }
.aiflp-tier-btn-sub { display:block; font-size:10px; letter-spacing:.1em; margin-top:3px; opacity:.6; }
.aiflp-tier-panel        { display:none; }
.aiflp-tier-panel.active { display:block; }
.aiflp-tier-panel-intro { padding:24px 32px; background:rgba(201,168,76,.025); border:1px solid var(--aiflp-border-gold); border-radius:2px; margin-bottom:40px; }
.aiflp-tier-panel-intro p      { font-size:15px; color:var(--aiflp-white-dim); line-height:1.8; }
.aiflp-tier-panel-intro strong { color:var(--aiflp-gold); font-weight:500; }

/* チェックリスト */
.aiflp-checklist { display:flex; flex-direction:column; gap:12px; }
.aiflp-check-item {
  display:flex; align-items:flex-start; gap:16px;
  padding:20px 24px; background:var(--aiflp-navy-3);
  border:1px solid var(--aiflp-border); border-radius:2px;
  cursor:pointer; transition:all .2s; position:relative; outline:none; user-select:none;
}
.aiflp-check-item::before { content:''; position:absolute; left:0; top:0; bottom:0; width:2px; background:var(--aiflp-gold); transform:scaleY(0); transition:transform .2s; }
.aiflp-check-item:hover { border-color:var(--aiflp-border-gold); background:rgba(201,168,76,.02); }
.aiflp-check-item:hover::before { transform:scaleY(.3); }
.aiflp-check-item.done { opacity:.55; }
.aiflp-check-item.done::before { transform:scaleY(1); background:var(--aiflp-green); }
.aiflp-check-box {
  width:24px; height:24px; flex-shrink:0;
  border:1px solid rgba(201,168,76,.4); border-radius:2px;
  display:flex; align-items:center; justify-content:center;
  transition:all .2s; margin-top:1px; font-size:14px; color:transparent;
}
.aiflp-check-item.done .aiflp-check-box { background:var(--aiflp-green); border-color:var(--aiflp-green); color:#fff; }
.aiflp-check-item.done .aiflp-check-box::after { content:'✓'; }
.aiflp-check-main { flex:1; }
.aiflp-check-text { font-size:15px; font-weight:500; color:var(--aiflp-white); line-height:1.5; margin-bottom:6px; }
.aiflp-check-item.done .aiflp-check-text { text-decoration:line-through; color:var(--aiflp-white-muted); }
.aiflp-check-hint { font-size:12px; color:var(--aiflp-gold); line-height:1.6; }
.aiflp-progress-wrap { height:2px; background:var(--aiflp-border); margin-top:24px; overflow:hidden; }
.aiflp-progress-fill { height:100%; background:var(--aiflp-gold); transition:width .4s cubic-bezier(.4,0,.2,1); }
.aiflp-progress-info { display:flex; justify-content:space-between; align-items:center; margin-top:10px; font-family:var(--aiflp-mono); font-size:11px; color:var(--aiflp-white-muted); }
#aiflp-pct-must { color:var(--aiflp-gold); }

/* ステップグリッド */
.aiflp-step-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:1px; border:1px solid var(--aiflp-border); background:var(--aiflp-border); }
.aiflp-step-card { padding:32px; background:var(--aiflp-navy-3); transition:background .2s; }
.aiflp-step-card:hover { background:rgba(201,168,76,.025); }
.aiflp-step-number { font-family:var(--aiflp-mono); font-size:48px; font-weight:700; color:rgba(201,168,76,.1); line-height:1; margin-bottom:20px; letter-spacing:-.02em; }
.aiflp-step-title  { font-size:16px; font-weight:500; color:var(--aiflp-white); margin-bottom:10px; line-height:1.5; }
.aiflp-step-desc   { font-size:13px; color:var(--aiflp-white-muted); line-height:1.85; }

/* =============================================
   INLINE IMAGES (3, 4, 5)
   ============================================= */
.aiflp-inline-image { aspect-ratio:16/6; border:1px solid var(--aiflp-border); overflow:hidden; position:relative; margin:60px 0; border-radius:2px; }
.aiflp-inline-image--tall { aspect-ratio:16/7; }
.aiflp-inline-img { width:100%; height:100%; object-fit:cover; display:block; filter:brightness(.8) contrast(1.05); transition:transform .6s ease; }
.aiflp-inline-image:hover .aiflp-inline-img { transform:scale(1.02); }

/* =============================================
   AI CAPABILITIES
   ============================================= */
.aiflp-ai-section { padding:100px 0; background:var(--aiflp-navy-3); border-top:1px solid var(--aiflp-border); border-bottom:1px solid var(--aiflp-border); }
.aiflp-ai-cards { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--aiflp-border); border:1px solid var(--aiflp-border); margin-top:60px; }
.aiflp-ai-card { padding:40px 32px; background:var(--aiflp-navy-3); transition:background .2s; }
.aiflp-ai-card:hover { background:rgba(201,168,76,.025); }
.aiflp-ai-card-icon { width:44px; height:44px; border:1px solid var(--aiflp-border-gold); border-radius:2px; display:flex; align-items:center; justify-content:center; font-size:18px; margin-bottom:24px; }
.aiflp-ai-card-title { font-size:16px; font-weight:500; color:var(--aiflp-white); margin-bottom:12px; line-height:1.4; }
.aiflp-ai-card-desc  { font-size:13px; color:var(--aiflp-white-muted); line-height:1.85; margin-bottom:20px; }
.aiflp-ba-block { display:flex; flex-direction:column; gap:8px; padding:16px; background:rgba(255,255,255,.02); border:1px solid var(--aiflp-border); border-radius:2px; }
.aiflp-ba-row   { display:flex; align-items:center; gap:10px; font-size:12px; }
.aiflp-ba-label { font-family:var(--aiflp-mono); font-size:9px; letter-spacing:.15em; text-transform:uppercase; padding:2px 6px; border-radius:2px; flex-shrink:0; min-width:36px; text-align:center; }
.aiflp-ba--before { background:var(--aiflp-red-dim);   color:var(--aiflp-red); }
.aiflp-ba--after  { background:var(--aiflp-green-dim);  color:var(--aiflp-green); }
.aiflp-ba-text    { color:var(--aiflp-white-dim); line-height:1.4; }

/* =============================================
   PULL QUOTE
   ============================================= */
.aiflp-pull-quote { padding:60px 0; text-align:center; border-top:1px solid var(--aiflp-border); border-bottom:1px solid var(--aiflp-border); position:relative; z-index:1; }
.aiflp-pull-quote-text {
  font-family:var(--aiflp-serif); font-size:clamp(20px,3vw,36px); font-weight:300;
  font-style:italic; color:var(--aiflp-white); line-height:1.55;
  max-width:700px; margin:0 auto;
  border:none !important;
  padding:20px 32px !important;
  background: #0D1220 !important;
  border-radius: 2px;
  box-shadow: inset 0 0 0 1px rgba(201,168,76,0.2);
}
.aiflp-pull-quote-text strong { font-weight:700; color:var(--aiflp-gold); font-style:normal; }

/* =============================================
   PROMPT SECTION
   ============================================= */
.aiflp-prompt-section { padding:100px 0; }
.aiflp-prompt-cards { display:flex; flex-direction:column; gap:24px; margin-top:60px; }
.aiflp-prompt-card { border:1px solid var(--aiflp-border); border-radius:2px; overflow:hidden; transition:border-color .2s; }
.aiflp-prompt-card:hover { border-color:var(--aiflp-border-gold); }
.aiflp-prompt-card-header { display:flex; align-items:center; justify-content:space-between; padding:16px 24px; background:rgba(255,255,255,.018); border-bottom:1px solid var(--aiflp-border); }
.aiflp-prompt-card-label { font-family:var(--aiflp-mono); font-size:10px; letter-spacing:.2em; text-transform:uppercase; color:var(--aiflp-gold); display:flex; align-items:center; gap:10px; }
.aiflp-prompt-card-label::before { content:''; width:6px; height:6px; border-radius:50%; background:var(--aiflp-gold); }
.aiflp-prompt-copy-btn { font-family:var(--aiflp-mono); font-size:10px; letter-spacing:.15em; text-transform:uppercase; color:var(--aiflp-white-muted); background:transparent; border:1px solid var(--aiflp-border); padding:5px 14px; border-radius:2px; cursor:pointer; transition:all .2s; }
.aiflp-prompt-copy-btn:hover  { border-color:var(--aiflp-gold); color:var(--aiflp-gold); }
.aiflp-prompt-copy-btn:active { transform:scale(.97); }
.aiflp-prompt-body { padding:28px 24px; font-family:var(--aiflp-mono); font-size:13px; color:var(--aiflp-white-dim); line-height:1.9; background:var(--aiflp-navy-2); white-space:pre-wrap; word-break:break-word; margin:0; }

/* =============================================
   ROADMAP
   ============================================= */
.aiflp-roadmap-section { padding:100px 0; }
.aiflp-roadmap { display:grid; grid-template-columns:repeat(4,1fr); margin-top:60px; border:1px solid var(--aiflp-border); position:relative; }
.aiflp-roadmap::before { content:''; position:absolute; top:68px; left:calc(12.5% - 6px); right:calc(12.5% - 6px); height:1px; background:linear-gradient(90deg,var(--aiflp-gold),rgba(201,168,76,.2)); z-index:0; }
.aiflp-road-phase { padding:40px 32px; border-right:1px solid var(--aiflp-border); position:relative; transition:background .2s; }
.aiflp-road-phase:last-child { border-right:none; }
.aiflp-road-phase:hover { background:rgba(201,168,76,.02); }
.aiflp-road-dot { width:12px; height:12px; border-radius:50%; border:2px solid var(--aiflp-gold); background:var(--aiflp-navy); margin-bottom:24px; position:relative; z-index:1; transition:background .2s; }
.aiflp-road-phase:hover .aiflp-road-dot { background:var(--aiflp-gold); }
.aiflp-road-time  { font-family:var(--aiflp-mono); font-size:10px; letter-spacing:.2em; text-transform:uppercase; color:var(--aiflp-gold); margin-bottom:8px; }
.aiflp-road-title { font-size:16px; font-weight:500; color:var(--aiflp-white); margin-bottom:20px; }
.aiflp-road-items { list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:10px; }
.aiflp-road-item  { display:flex; align-items:flex-start; gap:10px; font-size:13px; color:var(--aiflp-white-muted); line-height:1.5; }
.aiflp-road-item::before { content:'—'; color:var(--aiflp-gold); font-family:var(--aiflp-mono); flex-shrink:0; }

/* =============================================
   CLOSING / CTA
   ============================================= */
.aiflp-closing { padding:120px 0 80px; text-align:center; position:relative; overflow:hidden; z-index:1; }
.aiflp-closing-bg { position:absolute; inset:0; background:radial-gradient(ellipse at center,rgba(201,168,76,.07) 0%,transparent 70%); pointer-events:none; }
.aiflp-closing-quote {
  font-family:var(--aiflp-serif); font-size:clamp(22px,4vw,50px); font-weight:300;
  font-style:italic; color:#FFFFFF; line-height:1.4; letter-spacing:-.01em;
  max-width:780px; margin:0 auto 40px; position:relative; z-index:1;
  border:none !important;
  padding:40px 48px !important;
  background: linear-gradient(135deg, #0D1220 0%, #111827 100%) !important;
  border-radius: 2px;
  box-shadow: inset 0 0 0 1px rgba(201,168,76,0.25), 0 8px 48px rgba(0,0,0,0.4);
  text-shadow: 0 1px 8px rgba(0,0,0,0.3);
}
.aiflp-closing-quote strong { font-style:normal; font-weight:700; color:var(--aiflp-gold); }
.aiflp-closing-sub { font-size:17px; color:var(--aiflp-white-muted); line-height:1.85; max-width:500px; margin:0 auto 60px; position:relative; z-index:1; }
.aiflp-closing-cta { display:flex; flex-direction:column; align-items:center; gap:14px; position:relative; z-index:1; }
.aiflp-cta-btn { padding:20px 52px; font-family:var(--aiflp-sans); font-size:16px; font-weight:500; color:#fff; border:2px solid transparent; border-radius:2px; cursor:pointer; transition:all .2s; text-decoration:none; display:inline-block; letter-spacing:.03em; box-shadow:0 8px 40px rgba(0,0,0,.4); }
.aiflp-cta-btn:hover { filter:brightness(1.12); transform:translateY(-2px); box-shadow:0 12px 48px rgba(0,0,0,.5); text-decoration:none; color:#fff; }
.aiflp-cta-btn:active { transform:translateY(0); }
.aiflp-cta-subtext { font-family:var(--aiflp-mono); font-size:11px; letter-spacing:.15em; color:var(--aiflp-white-muted); text-transform:uppercase; }

/* =============================================
   COPY TOAST
   ============================================= */
.aiflp-copy-toast { position:fixed; bottom:30px; right:30px; background:var(--aiflp-gold); color:var(--aiflp-navy); font-family:var(--aiflp-mono); font-size:11px; letter-spacing:.15em; font-weight:700; padding:10px 20px; border-radius:2px; z-index:9999; opacity:0; transform:translateY(10px); transition:all .3s; pointer-events:none; }
.aiflp-copy-toast.aiflp-show { opacity:1; transform:translateY(0); }

/* =============================================
   REVEAL ANIMATIONS
   ============================================= */
.reveal { opacity:0; transform:translateY(28px); transition:opacity .8s cubic-bezier(.4,0,.2,1), transform .8s cubic-bezier(.4,0,.2,1); }
.reveal.visible   { opacity:1; transform:translateY(0); }
.reveal-delay-1   { transition-delay:.10s; }
.reveal-delay-2   { transition-delay:.20s; }
.reveal-delay-3   { transition-delay:.30s; }
.reveal-delay-4   { transition-delay:.40s; }

/* ── Cocoon blockquote スタイル 強制リセット（LP専用）── */
body.aiflp-page blockquote.aiflp-pull-quote-text,
body.aiflp-page blockquote.aiflp-closing-quote {
  background: revert;  /* 一度リセット */
}
body.aiflp-page .aiflp-pull-quote .aiflp-pull-quote-text {
  background: #0D1220 !important;
  color: var(--aiflp-white) !important;
  border-left: none !important;
}
body.aiflp-page .aiflp-closing blockquote,
body.aiflp-page .aiflp-closing .aiflp-closing-quote {
  background: linear-gradient(135deg, #0D1220 0%, #111827 100%) !important;
  color: #FFFFFF !important;
  border-left: none !important;
}

/* =============================================
   RESPONSIVE — TABLET (≤960px)
   ============================================= */
@media(max-width:960px){
  .aiflp-container,.aiflp-container--narrow { padding:0 28px; }
  .aiflp-hero { padding-bottom:60px; }
  .aiflp-hero-metrics { gap:28px; }
  .aiflp-contrast-grid { grid-template-columns:1fr; }
  .aiflp-contrast-divider { display:none; }
  .aiflp-contrast-col--before { border-right:none; border-bottom:1px solid var(--aiflp-border); }
  .aiflp-contrast-col { padding:32px 24px; }
  .aiflp-impact-numbers { grid-template-columns:repeat(2,1fr); }
  .aiflp-impact-item:nth-child(2) { border-right:none; }
  .aiflp-impact-item:nth-child(3),.aiflp-impact-item:nth-child(4) { padding-top:32px; border-top:1px solid var(--aiflp-border); }
  .aiflp-audience-grid { grid-template-columns:1fr; }
  .aiflp-ai-cards { grid-template-columns:1fr; }
  .aiflp-step-grid { grid-template-columns:1fr; }
  .aiflp-roadmap { grid-template-columns:1fr 1fr; }
  .aiflp-roadmap::before { display:none; }
  .aiflp-road-phase { border-right:none; border-bottom:1px solid var(--aiflp-border); }
  .aiflp-tier-nav { flex-direction:column; max-width:100%; }
  .aiflp-tier-btn { border-right:none; border-bottom:1px solid var(--aiflp-border); }
  .aiflp-tier-btn:last-child { border-bottom:none; }
  .aiflp-br-pc { display:none; }
}

/* =============================================
   RESPONSIVE — MOBILE (≤600px)
   ============================================= */
@media(max-width:600px){
  .aiflp-container,.aiflp-container--narrow { padding:0 20px; }
  .aiflp-section,.aiflp-tier-section,.aiflp-prompt-section,.aiflp-roadmap-section,.aiflp-ai-section { padding:72px 0; }
  .aiflp-closing { padding:80px 0 60px; }
  .aiflp-hero-metrics { flex-direction:column; gap:24px; padding-top:24px; }
  .aiflp-metric-number { font-size:28px; }
  .aiflp-impact-numbers { grid-template-columns:1fr 1fr; }
  .aiflp-impact-item { padding:0 16px; }
  .aiflp-roadmap { grid-template-columns:1fr; }
  .aiflp-inline-image,.aiflp-inline-image--tall { aspect-ratio:4/3; }
  .aiflp-image-strip-img { aspect-ratio:4/3; }
  .aiflp-cta-btn { padding:18px 32px; font-size:15px; width:100%; text-align:center; }
  .aiflp-step-card,.aiflp-audience-card,.aiflp-ai-card,.aiflp-road-phase { padding:24px 20px; }
  .aiflp-prompt-body { font-size:12px; padding:20px 16px; }
  .aiflp-closing-quote { font-size:clamp(20px,6vw,32px); }
}
