/*
 * fi-home.css — Fashion Ink Coming Soon v3
 *
 * Design: SPLIT SCREEN.
 * Left  — Ink Black  #0C0B0E  — logo dominant
 * Right — Print Crimson #8B1D2E — invitation, Playfair Display at scale
 *
 * Signal Crimson #B02840 used for interactive/digital accents (web only).
 * Rose smoke removed entirely per brand directive.
 * Playfair Display / Raleway / Josefin Sans — not Cormorant / DM Sans.
 */

/* ══════════ SHELL ══════════ */
html,body{height:100%}
body.fi-front{cursor:none}

/* custom cursor */
.fi-cursor{
  position:fixed;width:8px;height:8px;
  background:var(--fi-crimson);border-radius:50%;
  pointer-events:none;z-index:9999;
  transform:translate(-50%,-50%);
  transition:transform .1s ease,background .2s;
  mix-blend-mode:difference;
}
.fi-cursor.large{transform:translate(-50%,-50%) scale(6);background:rgba(139,29,46,0.15)}

/* ══════════ ABOVE FOLD — SPLIT SCREEN ══════════ */

.fi-split{
  height:100vh;
  display:grid;
  grid-template-columns:52% 48%;
  position:relative;
  overflow:hidden;
}

/* ── LEFT: black, logo-dominant ── */
.fi-left{
  background:var(--fi-ink);
  position:relative;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  padding:40px 48px;
  border-right:1px solid var(--fi-crimson);
  overflow:hidden;
}

/* Giant background number */
.fi-left-bg{
  position:absolute;
  bottom:-80px;right:-60px;
  font-family:var(--fi-D);
  font-size:clamp(280px,28vw,480px);
  font-weight:900;
  color:transparent;
  -webkit-text-stroke:1px rgba(244,238,224,0.04);
  line-height:1;
  pointer-events:none;
  user-select:none;
  letter-spacing:-0.06em;
}

.fi-left-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
}

.fi-issue-num{
  font-family:var(--fi-L);
  font-size:9px;
  letter-spacing:0.28em;
  color:rgba(244,238,224,0.22);
  text-transform:uppercase;
}

.fi-dot-live{
  width:6px;height:6px;border-radius:50%;
  background:var(--fi-crimson);
  animation:blink 2s ease-in-out infinite;
}
@keyframes blink{0%,100%{opacity:1}50%{opacity:.2}}

/* THE LOGO — center of the left panel */
.fi-logo-wrap{
  flex:1;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  padding:40px 0;
}

.fi-logo-wrap img{
  width:min(88%,480px);
  height:auto;
  opacity:0;
  animation:logoIn 1s cubic-bezier(.16,1,.3,1) .3s forwards;
}

@keyframes logoIn{
  from{opacity:0;transform:translateX(-12px)}
  to{opacity:1;transform:none}
}

/* Bottom of left: pillar index */
.fi-left-bottom{}

.fi-pillars-label{
  font-family:var(--fi-L);
  font-size:8px;
  letter-spacing:0.26em;
  color:rgba(244,238,224,0.20);
  text-transform:uppercase;
  margin-bottom:12px;
}

.fi-pillars{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:1px;
  background:var(--fi-border);
  border:1px solid var(--fi-border);
}

.fi-pillar{
  background:var(--fi-ink);
  padding:10px 12px;
  transition:background .2s;
}

.fi-pillar:hover{background:rgba(176,40,64,0.15)} /* Signal Crimson tint — web-only */

.fi-p-n{
  font-family:var(--fi-L);
  font-size:7px;
  letter-spacing:0.18em;
  color:rgba(244,238,224,0.18);
  display:block;
  margin-bottom:2px;
}

.fi-p-name{
  font-family:var(--fi-D);
  font-size:11px;
  color:rgba(244,238,224,0.45);
  display:block;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

/* ── RIGHT: Print Crimson #8B1D2E — invitation panel ── */
.fi-right{
  background:var(--fi-crimson);
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  padding:40px 56px 40px 52px;
  position:relative;
  overflow:hidden;
}

/* Faint vertical texture lines — dark on crimson */
.fi-right::before{
  content:'';
  position:absolute;
  top:0;bottom:0;left:48px;
  width:1px;
  background:rgba(0,0,0,0.18);
}

.fi-right-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  opacity:0;
  animation:fadeUp .6s ease .8s forwards;
}

.fi-location-tag{
  font-family:var(--fi-L);
  font-size:9px;
  letter-spacing:0.24em;
  color:rgba(244,238,224,0.60);
  text-transform:uppercase;
}

.fi-status-tag{
  font-family:var(--fi-L);
  font-size:9px;
  letter-spacing:0.18em;
  color:var(--fi-brass);
  text-transform:uppercase;
  display:flex;
  align-items:center;
  gap:8px;
}

.fi-status-tag::before{
  content:'';
  width:16px;height:1px;
  background:var(--fi-brass);
}

/* THE MAIN INVITATION TEXT */
.fi-invite-body{
  flex:1;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:32px 0;
}

.fi-hed-super{
  font-family:var(--fi-L);
  font-size:9px;
  letter-spacing:0.28em;
  color:rgba(244,238,224,0.58);
  text-transform:uppercase;
  margin-bottom:20px;
  display:block;
  opacity:0;
  animation:fadeUp .6s ease .9s forwards;
}

.fi-hed{
  font-family:var(--fi-D);
  font-size:clamp(44px,5.5vw,78px);
  font-weight:700;
  line-height:0.92;
  letter-spacing:-0.025em;
  color:var(--fi-parchment);
  margin-bottom:24px;
  opacity:0;
  animation:fadeUp .8s cubic-bezier(.16,1,.3,1) 1s forwards;
}

.fi-hed em{
  font-weight:400;
  color:var(--fi-parchment);
  opacity:0.80;
  display:block;
  font-size:.72em;
  letter-spacing:-0.01em;
  margin-top:4px;
}

@keyframes fadeUp{
  from{opacity:0;transform:translateY(12px)}
  to{opacity:1;transform:none}
}

.fi-divider{
  height:1px;
  background:rgba(244,238,224,0.28);
  margin-bottom:28px;
  opacity:0;
  animation:fadeIn .5s ease 1.2s forwards;
}

@keyframes fadeIn{to{opacity:1}}

.fi-tagline{
  font-family:var(--fi-D);
  font-size:clamp(14px,1.4vw,18px);
  font-weight:400;
  color:rgba(244,238,224,0.78);
  line-height:1.5;
  margin-bottom:36px;
  max-width:380px;
  opacity:0;
  animation:fadeUp .7s ease 1.3s forwards;
}

/* FORM */
.fi-form-block{
  opacity:0;
  animation:fadeUp .7s ease 1.45s forwards;
}

.fi-form-label{
  font-family:var(--fi-L);
  font-size:8px;
  letter-spacing:0.24em;
  color:rgba(244,238,224,0.55);
  text-transform:uppercase;
  display:block;
  margin-bottom:12px;
}

.fi-form{
  display:flex;
  height:52px;
  border:1px solid rgba(244,238,224,0.40);
  transition:border-color .2s;
  max-width:420px;
}

.fi-form:focus-within{
  border-color:var(--fi-parchment);
}

.fi-input{
  flex:1;
  background:rgba(0,0,0,0.22);
  border:none;
  outline:none;
  padding:0 18px;
  font-family:var(--fi-B);
  font-size:14px;
  color:var(--fi-parchment);
}

.fi-input::placeholder{
  color:rgba(244,238,224,0.35);
}

.fi-btn{
  background:var(--fi-parchment);
  border:none;
  padding:0 22px;
  font-family:var(--fi-L);
  font-size:9px;
  letter-spacing:0.22em;
  color:var(--fi-crimson);
  text-transform:uppercase;
  font-weight:600;
  cursor:pointer;
  flex-shrink:0;
  transition:background .2s,color .2s;
}

/* Signal Crimson on hover — it's a web interaction, digital-only rule applies */
.fi-btn:hover{background:var(--fi-ink);color:var(--fi-parchment)}

.fi-form-sub{
  font-family:var(--fi-L);
  font-size:8px;
  letter-spacing:0.12em;
  color:rgba(244,238,224,0.45);
  margin-top:10px;
  max-width:420px;
}

.fi-success{
  display:none;
  font-family:var(--fi-D);
  font-size:18px;
  color:rgba(244,238,224,0.90);
  height:52px;
  align-items:center;
  gap:16px;
  max-width:420px;
}

.fi-success.show{display:flex}

.fi-success::before{
  content:'';
  width:22px;height:1px;
  background:var(--fi-parchment);
  flex-shrink:0;
}

/* Bottom of right: three stats in a row */
.fi-right-stats{
  display:flex;
  gap:0;
  border-top:1px solid rgba(0,0,0,0.20);
  opacity:0;
  animation:fadeIn .6s ease 1.8s forwards;
}

.fi-stat{
  flex:1;
  padding:16px 0;
  border-right:1px solid rgba(0,0,0,0.15);
}

.fi-stat:last-child{border-right:none}

.fi-stat-val{
  font-family:var(--fi-D);
  font-size:clamp(18px,2vw,26px);
  font-weight:700;
  color:var(--fi-parchment);
  display:block;
  line-height:1;
  margin-bottom:3px;
  padding-right:12px;
}

.fi-stat-lab{
  font-family:var(--fi-L);
  font-size:7px;
  letter-spacing:0.2em;
  color:rgba(244,238,224,0.55);
  text-transform:uppercase;
  display:block;
}

/* ══════════ BELOW FOLD ══════════ */

/* ── MANIFESTO — parchment, Playfair Display at scale ── */
.fi-manifesto{
  background:var(--fi-parchment);
  padding:100px 0;
  overflow:hidden;
  position:relative;
}

.fi-manifesto-inner{
  padding:0 80px;
  max-width:1400px;
  margin:0 auto;
}

.fi-m-label{
  font-family:var(--fi-L);
  font-size:9px;
  letter-spacing:0.28em;
  color:var(--fi-crimson);
  text-transform:uppercase;
  display:flex;
  align-items:center;
  gap:16px;
  margin-bottom:36px;
}

.fi-m-label::after{
  content:'';flex:1;height:1px;
  background:rgba(139,29,46,0.25);
}

.fi-m-quote{
  font-family:var(--fi-D);
  font-size:clamp(32px,4vw,58px);
  font-weight:700;
  line-height:1.1;
  letter-spacing:-0.02em;
  color:var(--fi-ink);
  margin-bottom:40px;
  max-width:900px;
}

.fi-m-quote em{
  font-weight:400;
  color:var(--fi-crimson);
}

.fi-m-close{
  font-family:var(--fi-D);
  font-size:clamp(14px,1.4vw,18px);
  color:rgba(12,11,14,0.45);
  padding-top:28px;
  border-top:1px solid rgba(12,11,14,0.12);
  max-width:680px;
}

/* ── MEMBERSHIP — ink black, two columns ── */

.fi-mem{
  background:var(--fi-ink);
  border-top:3px solid var(--fi-crimson);
}

.fi-mem-head{
  padding:52px 80px 28px;
  border-bottom:1px solid var(--fi-border);
  display:flex;
  align-items:baseline;
  gap:32px;
  flex-wrap:wrap;
}

.fi-mem-kicker{
  font-family:var(--fi-L);
  font-size:9px;
  letter-spacing:0.26em;
  color:var(--fi-brass);
  text-transform:uppercase;
  flex-shrink:0;
}

.fi-mem-title{
  font-family:var(--fi-D);
  font-size:clamp(24px,3vw,42px);
  font-weight:700;
  color:var(--fi-parchment);
  line-height:1.05;
}


.fi-mem-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
}

.fi-tier{
  padding:52px 80px;
  border-right:1px solid var(--fi-border);
  position:relative;
}

.fi-tier:last-child{
  border-right:none;
  background:var(--fi-maroon);
}

.fi-tier-n{
  font-family:var(--fi-D);
  font-size:100px;
  font-weight:900;
  line-height:1;
  color:rgba(244,238,224,0.04);
  position:absolute;
  top:24px;right:28px;
  user-select:none;
  pointer-events:none;
  letter-spacing:-0.04em;
}

.fi-tier-kicker{
  font-family:var(--fi-L);
  font-size:8px;
  letter-spacing:0.24em;
  color:rgba(244,238,224,0.28);
  text-transform:uppercase;
  margin-bottom:10px;
}

.fi-tier-name{
  font-family:var(--fi-D);
  font-size:clamp(48px,5vw,68px);
  font-weight:900;
  color:var(--fi-parchment);
  line-height:.92;
  margin-bottom:18px;
  letter-spacing:-0.03em;
}

.fi-tier-desc{
  font-size:13px;
  color:rgba(244,238,224,0.48);
  line-height:1.8;
  max-width:380px;
  margin-bottom:28px;
  padding-left:16px;
  border-left:2px solid rgba(139,29,46,0.4);
}

.fi-tier-list{list-style:none;display:grid;gap:9px;margin-bottom:32px}

.fi-tier-list li{
  font-size:12px;
  color:rgba(244,238,224,0.58);
  display:grid;
  grid-template-columns:14px 1fr;
  gap:10px;
  line-height:1.5;
}

.fi-tier-list li::before{
  content:'—';
  font-family:var(--fi-L);
  font-size:9px;
  color:var(--fi-crimson);
  padding-top:1px;
}

.fi-tier-foot{
  font-family:var(--fi-L);
  font-size:8px;
  letter-spacing:0.16em;
  color:rgba(244,238,224,0.20);
  text-transform:uppercase;
  padding-top:18px;
  border-top:1px solid var(--fi-border);
}

/* ── CHICAGO — Maroon Deep #27121C, the deepest tone ── */

.fi-chi{
  background:var(--fi-maroon);
  display:grid;
  grid-template-columns:1fr 320px;
  border-top:1px solid rgba(244,238,224,0.08);
}

.fi-chi-left{
  padding:72px 80px;
  border-right:1px solid rgba(244,238,224,0.10);
}

.fi-chi-kicker{
  font-family:var(--fi-L);
  font-size:9px;
  letter-spacing:0.26em;
  color:var(--fi-brass);
  text-transform:uppercase;
  margin-bottom:24px;
  display:flex;
  align-items:center;
  gap:14px;
}

.fi-chi-kicker::before{content:'';width:20px;height:1px;background:var(--fi-brass)}

.fi-chi-hed{
  font-family:var(--fi-D);
  font-size:clamp(40px,5vw,68px);
  font-weight:700;
  color:var(--fi-parchment);
  line-height:1.0;
  letter-spacing:-0.02em;
  margin-bottom:24px;
}

.fi-chi-hed strong{font-weight:900}

.fi-chi-body{
  font-size:14px;
  color:rgba(244,238,224,0.50);
  line-height:1.85;
  max-width:520px;
}

.fi-chi-right{
  padding:72px 52px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:36px;
}

.fi-chi-stat{
  padding-bottom:32px;
  border-bottom:1px solid rgba(244,238,224,0.08);
}

.fi-chi-stat:last-child{border-bottom:none;padding-bottom:0}

.fi-chi-val{
  font-family:var(--fi-D);
  font-size:36px;
  font-weight:700;
  color:var(--fi-parchment);
  display:block;
  line-height:1;
  margin-bottom:4px;
  letter-spacing:-0.02em;
}

.fi-chi-lab{
  font-family:var(--fi-L);
  font-size:8px;
  letter-spacing:0.18em;
  color:rgba(244,238,224,0.26);
  text-transform:uppercase;
}

/* ── FOOTER ── */
.fi-foot{
  background:var(--fi-ink);
  border-top:3px solid var(--fi-signal); /* Signal Crimson — web/digital element */
  padding:28px 80px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
}

.fi-foot-logo img{height:18px;width:auto;opacity:.55}

.fi-foot-copy{
  font-family:var(--fi-L);
  font-size:8px;
  letter-spacing:0.14em;
  color:rgba(244,238,224,0.18);
  text-transform:uppercase;
}

.fi-foot-links{display:flex;gap:20px}

.fi-foot-link{
  font-family:var(--fi-L);
  font-size:8px;
  letter-spacing:0.18em;
  color:rgba(244,238,224,0.26);
  text-transform:uppercase;
  transition:color .2s;
}

.fi-foot-link:hover{color:var(--fi-parchment)}

/* ══════════ RESPONSIVE ══════════ */

@media(max-width:1100px){
  .fi-split{grid-template-columns:1fr;height:auto}
  .fi-left{
    height:100vh;
    border-right:none;
    border-bottom:1px solid var(--fi-crimson);
  }
  .fi-right{min-height:100vh}
  .fi-mem-grid{grid-template-columns:1fr}
  .fi-tier:last-child{border-top:1px solid var(--fi-border)}
  .fi-tier{padding:48px 48px;border-right:none}
  .fi-mem-head{padding:40px 48px 24px}
  .fi-chi{grid-template-columns:1fr}
  .fi-chi-left,.fi-chi-right{padding:56px 48px}
  .fi-chi-right{border-top:1px solid rgba(244,238,224,0.08);flex-direction:row;flex-wrap:wrap;gap:0}
  .fi-chi-stat{flex:1;min-width:140px;padding:0 20px 0 0;border-bottom:none}
  .fi-manifesto-inner,.fi-foot{padding-left:48px;padding-right:48px}
}

@media(max-width:640px){
  .fi-left{padding:28px}
  .fi-right{padding:32px 28px}
  .fi-hed{font-size:clamp(40px,11vw,60px)}
  .fi-pillars{grid-template-columns:repeat(2,1fr)}
  .fi-form{flex-direction:column;height:auto}
  .fi-input{height:48px}
  .fi-btn{height:48px;padding:0}
  .fi-manifesto{padding:64px 0}
  .fi-manifesto-inner{padding:0 28px}
  .fi-chi-left,.fi-chi-right,.fi-tier,.fi-mem-head{padding-left:28px;padding-right:28px}
  .fi-foot{flex-direction:column;align-items:flex-start;padding:24px 28px;gap:16px}
  .fi-right-stats{flex-wrap:wrap}
  .fi-stat{flex:1;min-width:120px}
}
