/* Narrative-specific layout and visuals */

.hero-tagline{
  margin-top:30px;
  font-weight:600;
  color:#101c2d;
}

.hero-body{
  margin-top:34px;
  max-width:560px;
}

.hero-body p{
  margin:0 0 22px;
  color:#4f5b6a;
  font-size:1.02rem;
  line-height:1.88;
}

.hero-body p:last-child{
  margin-bottom:0;
}

.hero-body-emphasis{
  color:#101c2d !important;
  font-weight:700;
}

/* Trust Gap split narrative section */
.trust-gap-section{
  position:relative;
  overflow:hidden;
  padding-bottom:0;
  min-height:820px;
  color:#ffffff;
  background:
    var(--contact-surface-gradient);
}

.trust-gap-section::before,
.trust-gap-section::after{
  content:'';
  position:absolute;
  inset:0;
  pointer-events:none;
}

.trust-gap-section::before{
  background:
    linear-gradient(rgba(255,255,255,0.03) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,0.03) 1px, transparent 1px);
  background-size:54px 54px;
  opacity:1;
}

.trust-gap-section::after{
  background:
    linear-gradient(160deg, transparent 0 35%, rgba(255,255,255,0.055) 35.2% 35.8%, transparent 36% 100%),
    linear-gradient(18deg, transparent 0 48%, rgba(217,184,115,0.15) 48.2% 48.6%, transparent 49% 100%),
    radial-gradient(ellipse at center bottom, rgba(7,17,31,0.46), transparent 46%),
    linear-gradient(90deg, rgba(7,17,31,0.22), transparent 26%, transparent 74%, rgba(7,17,31,0.18));
}

.trust-gap-stage{
  position:relative;
  z-index:1;
  width:min(1500px, calc(100% - 72px));
  max-width:none;
  min-height:760px;
  display:grid;
  grid-template-columns:minmax(390px, 0.92fr) minmax(230px, 0.42fr) minmax(360px, 0.82fr);
  gap:76px;
  align-items:stretch;
  padding-top:92px;
  padding-bottom:92px;
  min-width:0;
}

.trust-gap-title{
  margin:0;
  font-family:var(--font-display);
  font-size:3.35rem;
  font-weight:600;
  line-height:1.08;
  color:#ffffff;
  max-width:560px;
  text-shadow:0 8px 22px rgba(0,0,0,0.38);
  overflow-wrap:normal;
}

.trust-gap-title span{
  color:#d9b873;
}

.trust-gap-lead{
  margin:44px 0 0;
  max-width:560px;
  color:rgba(255,255,255,0.84);
  font-size:1rem;
  line-height:2;
}

.trust-gap-side{
  position:relative;
  z-index:2;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  padding-top:16px;
  padding-bottom:22px;
  min-width:0;
}

.trust-gap-side--right{
  justify-content:flex-start;
  justify-self:end;
  max-width:410px;
}

.trust-gap-side--left .trust-gap-lead{
  margin-top:auto;
  padding-top:56px;
}

.trust-gap-kicker{
  margin:0 0 20px;
  color:#d9b873;
  font-size:0.78rem;
  font-weight:500;
  letter-spacing:0.22em;
  line-height:1.35;
  text-transform:uppercase;
}

.trust-gap-risk-title{
  max-width:410px;
  margin:0;
  color:#ffffff;
  font-size:1.55rem;
  font-weight:800;
  line-height:1.32;
  text-shadow:0 8px 22px rgba(0,0,0,0.35);
}

.trust-gap-outcomes{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:40px;
  max-width:410px;
}

.trust-gap-outcomes span{
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:8px 12px;
  border:1px solid rgba(217,184,115,0.56);
  background:linear-gradient(180deg, rgba(255,255,255,0.12), rgba(255,255,255,0.04));
  color:#ffffff;
  box-shadow:0 12px 30px rgba(0,0,0,0.24);
  font-size:0.74rem;
  font-weight:500;
  letter-spacing:0.12em;
  line-height:1.25;
  text-transform:uppercase;
}

.trust-gap-outcomes{
  justify-content:flex-start;
}

.trust-gap-canyon{
  position:relative;
  min-height:520px;
  align-self:stretch;
  z-index:1;
  min-width:0;
}

.trust-gap-canyon::before,
.trust-gap-canyon::after{
  content:'';
  position:absolute;
  top:12%;
  bottom:5%;
  width:58%;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.12), transparent 20%),
    linear-gradient(160deg, #6b7176, #3d4348 58%, #202529);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,0.06), 0 34px 70px rgba(0,0,0,0.4);
}

.trust-gap-canyon::before{
  left:-12%;
  clip-path:polygon(0 0, 96% 7%, 74% 100%, 0 90%);
}

.trust-gap-canyon::after{
  right:-12%;
  clip-path:polygon(4% 7%, 100% 0, 100% 90%, 26% 100%);
}

.trust-gap-chasm{
  position:absolute;
  inset:9% 34% 0;
  background:
    radial-gradient(ellipse at 50% 3%, rgba(217,184,115,0.26), transparent 16%),
    linear-gradient(90deg, transparent 0 28%, rgba(217,184,115,0.22) 48%, rgba(255,255,255,0.08) 51%, transparent 72%),
    linear-gradient(180deg, rgba(44,49,52,0.72), rgba(18,21,24,0.96));
  clip-path:polygon(36% 0, 64% 0, 76% 18%, 100% 100%, 0 100%, 24% 18%);
  filter:drop-shadow(0 0 28px rgba(0,0,0,0.72));
}

.trust-gap-chasm::before{
  content:'';
  position:absolute;
  top:-1px;
  left:50%;
  width:58%;
  height:24%;
  transform:translateX(-50%);
  background:
    radial-gradient(ellipse at center top, rgba(255,255,255,0.12), transparent 62%),
    linear-gradient(180deg, rgba(217,184,115,0.18), transparent);
  clip-path:polygon(24% 0, 76% 0, 100% 100%, 0 100%);
  opacity:0.55;
}

.trust-gap-bridge{
  position:absolute;
  top:42%;
  height:4px;
  width:44%;
  z-index:3;
  background:linear-gradient(90deg, transparent, rgba(226,189,114,0.95), transparent);
  box-shadow:0 0 18px rgba(226,189,114,0.55);
}

.trust-gap-bridge--left{
  left:-7%;
  transform:rotate(16deg);
}

.trust-gap-bridge--right{
  right:-7%;
  transform:rotate(-18deg);
}

.trust-gap-center-label{
  position:absolute;
  z-index:4;
  left:50%;
  top:45%;
  width:min(260px, 88%);
  transform:translate(-50%, -50%);
  text-align:center;
  text-transform:uppercase;
}

.trust-gap-center-label strong{
  display:block;
  color:#d9b873;
  font-size:clamp(1.75rem, 3vw, 3rem);
  font-weight:900;
  line-height:0.95;
  text-shadow:0 0 22px rgba(226,189,114,0.4), 0 8px 24px rgba(0,0,0,0.7);
}

.trust-gap-center-label span{
  display:block;
  margin-top:8px;
  color:#ffffff;
  font-size:0.72rem;
  font-weight:900;
  letter-spacing:0.06em;
  text-align:center;
  text-align-last:center;
}

.trust-gap-particle{
  position:absolute;
  left:50%;
  bottom:18%;
  width:8px;
  height:8px;
  background:#d9b873;
  box-shadow:0 0 20px rgba(217,184,115,0.8);
  transform:rotate(45deg);
}

.trust-gap-particle:nth-child(2){
  left:42%;
  bottom:31%;
  width:6px;
  height:6px;
}

.trust-gap-particle:nth-child(3){
  left:58%;
  bottom:42%;
  width:5px;
  height:5px;
}

.trust-gap-proof{
  margin-top:auto;
  padding:22px 24px;
  border-left:2px solid rgba(217,184,115,0.8);
  background:linear-gradient(90deg, rgba(255,255,255,0.1), transparent);
}

.trust-gap-proof p{
  margin:0;
  color:rgba(255,255,255,0.84);
  font-size:1rem;
  line-height:1.78;
  text-align:left;
  text-align-last:left;
}

.trust-gap-proof p:first-child{
  color:#ffffff;
  font-family:var(--font-display);
  font-size:1.42rem;
  text-align:left;
  text-align-last:left;
}

.trust-gap-proof span{
  color:#d9b873;
}

/* Walls section */
.walls-section{
  padding:120px 0;
  position:relative;
  overflow:hidden;
  background:var(--contact-surface-gradient);
  color:#ffffff;
}

.walls-section::before{
  content:'';
  position:absolute;
  inset:0;
  background-image:
    linear-gradient(rgba(255,255,255,0.03) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,0.03) 1px, transparent 1px);
  background-size:54px 54px;
  pointer-events:none;
}

.walls-section::after{
  content:'';
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 80% 46%, rgba(201,163,95,0.12), transparent 34%),
    radial-gradient(circle at 18% 20%, rgba(42,172,232,0.08), transparent 30%),
    linear-gradient(90deg, rgba(7,17,31,0.28), transparent 34%, transparent 72%, rgba(7,17,31,0.16));
  pointer-events:none;
}

.walls-section .container{
  position:relative;
  z-index:1;
}

.walls-section .section-title{
  color:#ffffff;
}

.walls-section .section-title span{
  color:#d9b873;
}

.walls-section .section-description{
  color:rgba(255,255,255,0.78);
}

.walls-statement{
  margin-top:32px;
  padding-top:24px;
  border-top:1px solid rgba(201,163,95,0.2);
  max-width:540px;
}

.walls-statement p{
  margin:0;
  font-family:var(--font-display);
  font-size:clamp(1.5rem, 2.8vw, 2.1rem);
  line-height:1.3;
  color:#ffffff;
}

.walls-statement-accent{
  margin-top:8px !important;
  color:#b18131 !important;
  font-weight:500;
}

.walls-diagram{
  position:relative;
  min-height:520px;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:visible;
}

.walls-diagram-image{
  display:block;
  width:min(100%, 760px);
  height:auto;
  margin:0 auto;
  filter:drop-shadow(0 30px 70px rgba(0,0,0,0.34));
}

/* Reveal */
.reveal-section{
  padding:140px 0;
  background:var(--contact-surface-gradient);
  position:relative;
  overflow:hidden;
}

.reveal-section::before{
  content:'';
  position:absolute;
  inset:0;
  background-image:
    linear-gradient(rgba(255,255,255,0.03) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,0.03) 1px, transparent 1px);
  background-size:54px 54px;
  pointer-events:none;
}

.reveal-title{
  position:relative;
  z-index:1;
  max-width:920px;
  margin:0 auto;
  font-family:var(--font-display);
  font-size:clamp(2.4rem, 5vw, 4.2rem);
  font-weight:500;
  line-height:1.12;
  color:white;
}

.reveal-title span{
  display:block;
  margin-top:12px;
  color:#d9b873;
}

/* Model compare */
.model-compare{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:22px;
  margin:36px 0 10px;
}

.model-card{
  padding:28px 30px;
  border:var(--soft-border);
  border-radius:var(--panel-radius);
  background:white;
  box-shadow:var(--soft-shadow);
}

.model-label{
  margin:0 0 12px;
  color:#b18131;
  font-size:0.78rem;
  font-weight:500;
  letter-spacing:0.18em;
  text-transform:uppercase;
}

.model-flow{
  margin:0;
  font-family:var(--font-display);
  font-size:1.35rem;
  line-height:1.35;
  color:#101c2d;
}

.model-card--lishchain{
  border-color:rgba(201,163,95,0.4);
  background:linear-gradient(145deg, #ffffff, #f8f0df);
}

.architecture-grid--principles{
  margin-top:28px;
}

/* Flow section */
.flow-section{
  padding:120px 0;
  background:
    radial-gradient(circle at 12% 18%, rgba(201,163,95,0.12), transparent 32%),
    linear-gradient(to bottom, #ffffff, #f7f2e8);
}

.flow-section .flow-heading h3{
  max-width:720px;
  margin:0 auto;
}

.trust-flow--five{
  grid-template-columns:repeat(5, minmax(168px, 1fr));
  gap:18px;
}

.trust-flow--five::before{
  top:78px;
  left:4%;
  right:4%;
}

.flow-supporting{
  max-width:860px;
  margin:42px auto 0;
  padding:28px 34px;
  text-align:center;
  border:var(--soft-border);
  border-radius:var(--panel-radius);
  background:rgba(255,255,255,0.86);
  box-shadow:var(--soft-shadow);
}

.flow-supporting p{
  margin:0;
  color:#4f5b6a;
  font-size:1.08rem;
  line-height:1.8;
  text-align:center;
  text-align-last:center;
}

/* Outcomes */
.outcomes-section{
  padding:120px 0;
  background:linear-gradient(to bottom, #ffffff, #faf8f5);
}

.outcomes-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:22px;
  margin-top:48px;
}

.outcome-card{
  padding:32px 28px;
  background:white;
  border:var(--soft-border);
  border-radius:var(--panel-radius);
  box-shadow:var(--soft-shadow);
  text-align:center;
  transition:transform 0.3s ease, box-shadow 0.3s ease;
}

.outcome-card:hover{
  transform:translateY(-4px);
  box-shadow:0 24px 64px rgba(7,17,31,0.1);
}

.outcome-card i{
  color:#b18131;
  font-size:1.6rem;
  margin-bottom:18px;
}

.outcome-card h3{
  color:#07111f;
  font-size:1.05rem;
  font-weight:800;
  line-height:1.4;
  margin-bottom:12px;
  text-wrap:balance;
}

.outcome-card p{
  margin:0;
  color:#657080;
  line-height:1.7;
  font-size:0.96rem;
  text-align:center;
  text-align-last:center;
}

.outcome-card--wide{
  grid-column:span 3;
  display:block;
  max-width:860px;
  margin:0 auto;
}

.outcome-card--wide i{
  margin-bottom:18px;
}

.outcome-card--wide h3,
.outcome-card--wide p{
  max-width:680px;
  margin-left:auto;
  margin-right:auto;
}

/* Integration */
.integration-section{
  padding:120px 0;
  background:white;
}

.integration-list{
  list-style:none;
  margin:28px 0 0;
  padding:0;
}

.integration-list li{
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:14px;
  color:#4f5b6a;
  font-size:1.05rem;
  font-weight:600;
}

.integration-list i{
  color:#b18131;
}

.integration-visual{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
}

.integration-visual-image{
  display:block;
  width:min(100%, 720px);
  height:auto;
  border-radius:18px;
  box-shadow:0 28px 76px rgba(7,17,31,0.16);
}

/* Industries */
.industries-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:22px;
  margin-top:48px;
}

.industry-card{
  text-align:center;
  padding:40px 24px;
  background:rgba(255,255,255,0.74);
  border:var(--soft-border);
  border-radius:12px;
  backdrop-filter:blur(12px);
  box-shadow:var(--soft-shadow);
  transition:transform 0.3s ease;
}

.industry-card:hover{
  transform:translateY(-4px);
}

.industry-card i{
  color:#b18131;
  font-size:2rem;
  margin-bottom:18px;
}

.industry-card h3{
  margin:0;
  color:#07111f;
  font-size:1.1rem;
  font-weight:800;
  letter-spacing:0.02em;
}

/* Shift */
.shift-section{
  padding:120px 0;
  background:
    radial-gradient(circle at 18% 20%, rgba(42,172,232,0.08), transparent 34%),
    radial-gradient(circle at 82% 12%, rgba(201,163,95,0.14), transparent 30%),
    linear-gradient(to bottom, #ffffff, #f7f2e8);
}

.shift-title{
  max-width:920px;
  margin:0 auto 28px;
  text-align:center;
  font-family:var(--font-display);
  font-size:clamp(2.2rem, 4.5vw, 3.8rem);
  font-weight:500;
  line-height:1.12;
  color:#101c2d;
  text-wrap:balance;
}

.shift-title span{
  display:block;
  margin-top:10px;
  color:#b18131;
}

.shift-body{
  max-width:780px;
  margin:0 auto 20px;
  text-align:center;
  text-align-last:center;
  color:#5f6977;
  font-size:1.08rem;
  line-height:1.8;
}

.shift-body--emphasis{
  color:#101c2d;
  font-weight:600;
}

/* Contact LinkedIn */
.contact-linkedin{
  display:inline-flex;
  align-items:center;
  gap:10px;
  margin-top:28px;
  color:#d9b873;
  font-weight:700;
  text-decoration:none;
  transition:color 0.2s ease, transform 0.2s ease;
}

.contact-linkedin:hover{
  color:#f0d896;
  transform:translateX(2px);
}

.contact-linkedin i{
  font-size:1.25rem;
}
