/*
 * False Thrones detail pages — New Alignment Archive design system
 * Drop this over the older false-throne shared CSS.
 * Keeps the existing class names so all individual False Thrones pages update together.
 */

:root{
  --aa-black:#020203;
  --aa-black-2:#050506;
  --aa-ivory:#f4f1e8;
  --aa-bone:#f6efe3;
  --aa-muted:rgba(246,239,227,.74);
  --aa-dim:rgba(246,239,227,.52);
  --aa-faint:rgba(246,239,227,.18);
  --aa-line:rgba(246,239,227,.22);
  --aa-line-strong:rgba(246,239,227,.38);
  --aa-warm:#d7c5a3;
  --aa-warm-soft:rgba(215,197,163,.86);
  --aa-warm-dim:rgba(215,197,163,.56);
  --aa-warm-line:rgba(215,197,163,.28);

  --aa-display:"Cinzel","Trajan Pro","Times New Roman",serif;
  --aa-script:"Cormorant Garamond",Georgia,serif;
  --aa-sans:"Space Grotesk","Inter","Manrope",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --aa-mono:"IBM Plex Mono","JetBrains Mono","Space Mono","Courier New",monospace;

  /* Backward-compatible aliases for old ft variables */
  --ft-black:var(--aa-black);
  --ft-gold:var(--aa-warm);
  --ft-gold-soft:rgba(246,239,227,.92);
  --ft-copper:var(--aa-warm-soft);
  --ft-purple:var(--aa-warm);
  --ft-text:var(--aa-ivory);
  --ft-muted:var(--aa-muted);
  --ft-dim:var(--aa-dim);
  --ft-line:var(--aa-line);
  --ft-purple-line:var(--aa-warm-line);
  --ft-max:1180px;
}

html,body{
  background:#000!important;
  margin:0!important;
  padding:0!important;
  overflow-x:hidden;
  color:var(--aa-ivory);
  scroll-behavior:smooth;
}

body .site,
.site-content,
.inside-article,
.entry-content,
.container,
.grid-container,
.separate-containers .inside-article{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  background:#000!important;
}

.false-throne-page{
  width:100vw;
  min-height:100vh;
  margin-left:calc(50% - 50vw);
  background:
    radial-gradient(circle at 72% 12%, rgba(215,197,163,.070), transparent 30%),
    radial-gradient(circle at 18% 44%, rgba(246,239,227,.026), transparent 34%),
    linear-gradient(180deg,#020203 0%,#050403 46%,#000 100%);
  color:var(--aa-ivory);
  font-family:var(--aa-sans);
  overflow:hidden;
}

.false-throne-page *{box-sizing:border-box;}
.false-throne-page a{color:inherit;}

.ft-container{
  width:min(var(--ft-max),100%);
  margin:0 auto;
  padding-left:clamp(22px,5vw,42px);
  padding-right:clamp(22px,5vw,42px);
}

/* HERO */

.ft-hero{
  position:relative;
  min-height:72svh;
  display:grid;
  align-items:end;
  overflow:hidden;
  isolation:isolate;
  padding:clamp(112px,12vw,168px) 0 clamp(48px,6vw,82px);
  border-bottom:2px solid rgba(246,239,227,.32);
  background:
    linear-gradient(90deg, rgba(2,2,3,.98) 0%, rgba(2,2,3,.90) 42%, rgba(2,2,3,.68) 72%, rgba(2,2,3,.86) 100%),
    var(--ft-hero-image),
    radial-gradient(circle at 70% 22%, rgba(215,197,163,.080), transparent 30%),
    linear-gradient(180deg,#020203 0%,#060504 52%,#000 100%);
  background-size:cover;
  background-position:center right;
}

.ft-hero::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  opacity:.28;
  background-image:
    linear-gradient(90deg, rgba(215,197,163,.026) 1px, transparent 1px),
    linear-gradient(180deg, rgba(255,255,255,.014) 1px, transparent 1px);
  background-size:180px 180px;
  mask-image:radial-gradient(circle at 50% 42%, #000 0%, transparent 74%);
}

.ft-hero::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:2px;
  background:linear-gradient(90deg, transparent, rgba(246,239,227,.45), rgba(215,197,163,.26), transparent);
}

.ft-hero-copy{
  position:relative;
  z-index:2;
  max-width:940px;
}

.ft-kicker,
.ft-section-label,
.ft-sidebar-title{
  margin:0 0 16px;
  color:var(--aa-warm-soft);
  text-transform:uppercase;
  letter-spacing:.17em;
  font-family:var(--aa-mono);
  font-size:.68rem;
  font-weight:700;
}

.ft-kicker a,
.ft-kicker a:visited,
.ft-kicker a:hover,
.ft-kicker a:focus,
.ft-kicker a:active{
  color:var(--aa-warm-soft)!important;
  text-decoration:none!important;
  border-bottom:none!important;
}

.ft-kicker a:hover,
.ft-kicker a:focus{color:#fff!important;}
.ft-kicker span{opacity:.58;margin:0 8px;}

.ft-hero h1{
  margin:0;
  max-width:1100px;
  font-family:var(--aa-display);
  font-weight:500;
  font-size:clamp(3.35rem,7vw,8.8rem);
  line-height:.86;
  letter-spacing:-.045em;
  text-transform:uppercase;
  color:rgba(248,246,240,.97);
  text-shadow:0 20px 62px rgba(0,0,0,.72);
  text-wrap:balance;
}

.ft-hero h1 span{
  display:block;
  margin-top:.04em;
  font-family:var(--aa-script);
  font-style:italic;
  font-size:clamp(2.25rem,4.9vw,5.8rem);
  line-height:.86;
  letter-spacing:-.08em;
  text-transform:none;
  color:rgba(215,197,163,.92);
  background:none;
  -webkit-background-clip:initial;
  background-clip:initial;
  -webkit-text-fill-color:currentColor;
  text-shadow:none;
}

.ft-rule{
  width:min(420px,74vw);
  height:2px;
  margin:clamp(24px,2.8vw,36px) 0 0;
  background:linear-gradient(90deg, rgba(246,239,227,.58), rgba(215,197,163,.22), transparent);
}

.ft-hero-sub{
  max-width:780px;
  margin:clamp(22px,2.6vw,34px) 0 0;
  font-family:var(--aa-script);
  color:rgba(246,239,227,.76);
  line-height:1.24;
  font-size:clamp(1.28rem,2.1vw,2.25rem);
  font-weight:500;
}

/* CONTENT */

.ft-content{
  padding:clamp(54px,7vw,96px) 0;
  background:
    radial-gradient(circle at top center, rgba(215,197,163,.034), transparent 34%),
    linear-gradient(180deg,#020203 0%,#050403 48%,#000 100%);
}

.ft-main-wrap{
  display:grid;
  grid-template-columns:minmax(0,780px) minmax(260px,340px);
  gap:clamp(34px,6vw,82px);
  align-items:start;
  width:min(1180px,100%);
  margin:0 auto;
}

.ft-main{min-width:0;}

.ft-section{
  padding:0 0 clamp(42px,5vw,72px);
  border-bottom:1px solid rgba(246,239,227,.16);
  margin-bottom:clamp(42px,5vw,72px);
}

.ft-section:last-child{
  padding-bottom:0;
  margin-bottom:0;
  border-bottom:0;
}

.ft-statement,
.ft-section h2{
  margin:0 0 clamp(18px,2vw,24px);
  color:rgba(248,246,240,.96);
  font-family:var(--aa-script);
  line-height:.96;
  letter-spacing:-.06em;
  font-weight:500;
}

.ft-statement{
  font-size:clamp(2.45rem,4.15vw,4.9rem);
  line-height:.94;
}

.ft-section h2{
  font-size:clamp(2.15rem,3.7vw,4.45rem);
}

.ft-section p,
.ft-section li{
  color:rgba(246,239,227,.72);
  font-size:clamp(1rem,1.12vw,1.12rem);
  line-height:1.78;
  font-weight:500;
}

.ft-section p{margin:0 0 18px;}
.ft-section p:last-child{margin-bottom:0;}

.ft-section strong{
  color:rgba(248,246,240,.94);
  font-weight:700;
}

.ft-list{
  margin:18px 0 0;
  padding:0;
  list-style:none;
  border-top:1px solid rgba(246,239,227,.18);
}

.ft-list li{
  position:relative;
  margin:0;
  padding:16px 0 16px 24px;
  border-bottom:1px solid rgba(246,239,227,.14);
}

.ft-list li::before{
  content:"";
  position:absolute;
  left:0;
  top:1.62em;
  width:6px;
  height:6px;
  border-radius:999px;
  background:rgba(215,197,163,.70);
  box-shadow:0 0 18px rgba(215,197,163,.16);
}

/* CALLOUTS */

.ft-scripture-box,
.ft-warning-box,
.ft-quote-box{
  margin:clamp(26px,4vw,44px) 0;
  padding:clamp(24px,4vw,38px) 0;
  border-top:2px solid rgba(246,239,227,.26);
  border-bottom:2px solid rgba(246,239,227,.18);
  background:transparent;
}

.ft-scripture-box p,
.ft-quote-box p{
  margin:0;
  max-width:760px;
  color:rgba(248,246,240,.88);
  font-family:var(--aa-script);
  font-size:clamp(1.45rem,2.55vw,2.55rem);
  line-height:1.20;
  letter-spacing:-.025em;
}

.ft-scripture-box strong{
  display:block;
  margin-top:16px;
  color:var(--aa-warm-soft);
  text-transform:uppercase;
  letter-spacing:.14em;
  font-size:.66rem;
  font-family:var(--aa-mono);
}

.ft-warning-box{
  border-top-color:rgba(215,197,163,.34);
}

.ft-warning-box p{
  margin:0;
  color:rgba(246,239,227,.76);
  font-family:var(--aa-sans);
  font-size:clamp(1rem,1.12vw,1.12rem);
  line-height:1.78;
}

.ft-divider{
  color:rgba(246,239,227,.42);
  text-align:center;
  font-size:1.35rem;
  margin:clamp(34px,5vw,58px) 0;
  opacity:.72;
}

/* STEPS / SUMMARY */

.ft-steps{
  display:grid;
  gap:0;
  margin-top:22px;
  border-top:1px solid rgba(246,239,227,.20);
}

.ft-step{
  display:grid;
  grid-template-columns:64px minmax(0,1fr);
  gap:clamp(18px,3vw,34px);
  padding:clamp(22px,3vw,34px) 0;
  border:0;
  border-bottom:1px solid rgba(246,239,227,.16);
  background:transparent;
}

.ft-step-num{
  color:rgba(215,197,163,.70);
  font-family:var(--aa-mono);
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.14em;
}

.ft-step h3,
.ft-summary-card h3{
  margin:0 0 10px;
  color:rgba(248,246,240,.92);
  font-family:var(--aa-mono);
  text-transform:uppercase;
  letter-spacing:.09em;
  font-size:.78rem;
  line-height:1.45;
}

.ft-step p,
.ft-summary-card p{
  margin:0;
  color:rgba(246,239,227,.68);
  font-size:.98rem;
  line-height:1.70;
}

.ft-summary-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:0;
  margin-top:22px;
  border-top:1px solid rgba(246,239,227,.20);
}

.ft-summary-card{
  border:0;
  border-bottom:1px solid rgba(246,239,227,.16);
  background:transparent;
  padding:clamp(20px,3vw,30px) 0;
}

/* SIDEBAR */

.ft-sidebar{
  position:sticky;
  top:112px;
}

.ft-sidebar-block{
  padding:0 0 22px;
  margin:0 0 22px;
  border:0;
  border-bottom:2px solid rgba(246,239,227,.20);
  background:transparent;
}

.ft-sidebar-block p{
  margin:0 0 10px;
  color:rgba(246,239,227,.62);
  line-height:1.58;
  font-size:.92rem;
}

.ft-sidebar-block p:last-child{margin-bottom:0;}

/* PATH */

.ft-path{
  padding:clamp(58px,8vw,104px) 0;
  border-top:2px solid rgba(246,239,227,.24);
  background:
    radial-gradient(circle at 50% 0%, rgba(215,197,163,.045), transparent 36%),
    linear-gradient(180deg,#020203 0%,#000 100%);
}

.ft-path-box{
  max-width:980px;
  margin:0 auto;
  text-align:left;
  border:0;
  border-top:2px solid rgba(246,239,227,.32);
  background:transparent;
  padding:clamp(28px,5vw,54px) 0 0;
}

.ft-path-box h2{
  margin:0;
  font-family:var(--aa-script);
  color:rgba(248,246,240,.96);
  font-size:clamp(2.35rem,4.5vw,5rem);
  font-weight:500;
  line-height:.96;
  letter-spacing:-.06em;
}

.ft-path-box p{
  max-width:760px;
  margin:18px 0 0;
  color:rgba(246,239,227,.70);
  line-height:1.72;
  font-size:clamp(1rem,1.12vw,1.12rem);
}

.ft-path-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:0;
  margin-top:34px;
  border-top:1px solid rgba(246,239,227,.22);
}

.ft-path-card{
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  min-height:118px;
  padding:22px 20px 22px 0;
  border:0;
  border-right:1px solid rgba(246,239,227,.16);
  background:transparent;
  text-decoration:none!important;
  transition:background .18s ease, transform .18s ease;
}

.ft-path-card:last-child{border-right:0;}

.ft-path-card:hover{
  transform:translateY(-1px);
  background:linear-gradient(90deg, rgba(255,255,255,.030), transparent 78%);
}

.ft-path-card span{
  color:var(--aa-warm-soft);
  text-transform:uppercase;
  letter-spacing:.14em;
  font-family:var(--aa-mono);
  font-size:.64rem;
  font-weight:700;
}

.ft-path-card strong{
  margin-top:8px;
  color:rgba(248,246,240,.92);
  font-family:var(--aa-mono);
  font-size:.94rem;
  line-height:1.35;
  letter-spacing:.03em;
  text-transform:uppercase;
}

/* MOTION */

.aa-scroll-fade,
.ft-scroll-fade{
  opacity:0;
  transform:translateY(22px);
  transition:opacity 720ms ease, transform 720ms ease;
  transition-delay:calc(var(--aa-delay,0) * 80ms);
}

.aa-scroll-fade.is-visible,
.ft-scroll-fade.is-visible{
  opacity:1;
  transform:none;
}

/* RESPONSIVE */

@media(max-width:1080px){
  .ft-main-wrap{
    grid-template-columns:1fr;
    width:min(860px,100%);
  }

  .ft-sidebar{
    position:relative;
    top:auto;
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:22px;
  }

  .ft-sidebar-block{margin-bottom:0;}
}

@media(max-width:760px){
  .ft-container{
    padding-left:clamp(20px,6vw,28px);
    padding-right:clamp(20px,6vw,28px);
  }

  .ft-hero{
    min-height:auto;
    padding-top:clamp(96px,20vw,132px);
    padding-bottom:clamp(52px,10vw,76px);
    background-position:center center;
  }

  .ft-hero h1{
    font-size:clamp(2.75rem,13vw,4.6rem);
    line-height:.90;
    letter-spacing:-.052em;
    max-width:100%;
    overflow-wrap:normal;
    text-wrap:balance;
  }

  .ft-hero h1 span{
    font-size:clamp(2rem,9.6vw,3.35rem);
    line-height:.92;
  }

  .ft-hero-sub{
    font-size:clamp(1.18rem,5.8vw,1.65rem);
    line-height:1.22;
  }

  .ft-kicker,
  .ft-section-label,
  .ft-sidebar-title{
    font-size:.62rem;
    letter-spacing:.13em;
  }

  .ft-main-wrap{gap:34px;}
  .ft-step{grid-template-columns:1fr;gap:8px;}
  .ft-sidebar{grid-template-columns:1fr;}
  .ft-path-grid{grid-template-columns:1fr;}
  .ft-path-card{
    border-right:0;
    border-bottom:1px solid rgba(246,239,227,.16);
    padding:20px 0;
    min-height:auto;
  }
  .ft-path-card:last-child{border-bottom:0;}
}

@media(prefers-reduced-motion:reduce){
  .aa-scroll-fade,
  .ft-scroll-fade{
    opacity:1!important;
    transform:none!important;
    transition:none!important;
  }
}

/* === False Thrones Opening Statement Fix — matched to Core Scroll logic ===
   This uses the same higher-specificity pattern as the Core Scroll stylesheet,
   because some page templates nest the statement inside .ft-section / opening wrappers. */
.false-throne-page .ft-main .ft-statement,
.false-throne-page .ft-section .ft-statement,
.false-throne-page .ft-section.ft-opening .ft-statement,
.false-throne-page .ft-section:first-child .ft-statement{
  display:block !important;
  max-width:900px !important;
  margin:0 0 clamp(22px,3vw,34px) !important;
  font-family:var(--aa-script) !important;
  font-size:clamp(2.15rem,4.15vw,4.35rem) !important;
  line-height:1.04 !important;
  letter-spacing:-.052em !important;
  font-weight:500 !important;
  color:rgba(248,246,240,.90) !important;
}

.false-throne-page .ft-main .ft-statement br,
.false-throne-page .ft-section .ft-statement br{
  display:block !important;
}

@media(max-width:760px){
  .false-throne-page .ft-main .ft-statement,
  .false-throne-page .ft-section .ft-statement,
  .false-throne-page .ft-section.ft-opening .ft-statement,
  .false-throne-page .ft-section:first-child .ft-statement{
    font-size:clamp(2rem,8.4vw,3.45rem) !important;
    line-height:1.03 !important;
    letter-spacing:-.048em !important;
  }
}