/* Jarvis reference composition — complete canonical copy, approved thinker visual. */
.jarvis-reference-page{
  position:relative;
  height:calc(100svh - var(--header));
  min-height:720px;
  overflow:hidden;
  isolation:isolate;
  background:#f7f7f5;
}

.jarvis-reference-page::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-2;
  background-image:url('assets/underlays/light-02-thinker.jpeg');
  background-repeat:no-repeat;
  background-size:cover;
  background-position:center center;
  filter:contrast(1.02) brightness(1.01);
}

.jarvis-reference-page::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:linear-gradient(90deg,
    rgba(255,255,255,.94) 0%,
    rgba(255,255,255,.92) 28%,
    rgba(255,255,255,.80) 43%,
    rgba(255,255,255,.42) 56%,
    rgba(255,255,255,.10) 68%,
    rgba(255,255,255,0) 77%);
}

.jarvis-reference-copy{
  width:min(700px,45vw);
  margin-left:clamp(72px,6vw,98px);
  padding-top:clamp(58px,7vh,78px);
}

.jarvis-kicker{
  margin:0 0 16px;
  color:#b68e59;
  font:700 11.5px/1.2 Arial,Helvetica,sans-serif;
  letter-spacing:.18em;
  text-transform:uppercase;
}

/* Exact finished-page display treatment from the approved Entity pages. */
.jarvis-reference-page h1,
.jarvis-reference-page #page-title{
  margin:0!important;
  color:#111820!important;
  font:normal 400 clamp(49px,3.75vw,62px)/.96 Georgia,'Times New Roman',serif!important;
  letter-spacing:-.04em!important;
  font-synthesis:none!important;
  text-rendering:geometricPrecision;
}

.jarvis-editorial-flow{
  max-width:650px;
  margin-top:25px;
}

.jarvis-editorial-flow>p{
  margin:0 0 20px;
  color:#20262b;
  font-family:Georgia,'Times New Roman',serif;
  font-size:clamp(14.7px,.94vw,16px);
  line-height:1.48;
}

.jarvis-editorial-flow>p:last-child{
  margin-bottom:0;
}

/* Offset signature statement: one line on desktop, intentionally staggered
   when a narrower viewport requires two lines. */
.jarvis-reference-quote{
  position:relative;
  z-index:2;
  width:max-content;
  max-width:none;
  margin:2px 0 18px;
  transform:translateX(clamp(112px,11.5vw,188px));
  padding:7px 0 8px;
  border:0;
  color:#315f89;
  font-family:Georgia,'Times New Roman',serif;
  font-size:clamp(22px,1.5vw,26px);
  font-style:italic;
  line-height:1.16;
  text-align:left;
  white-space:nowrap;
  text-shadow:0 1px 12px rgba(255,255,255,.62);
}

.jarvis-reference-quote::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  width:34px;
  height:1px;
  background:#b68e59;
  transform:translateY(-3px);
}

.jarvis-reference-quote em{
  color:inherit;
  font-style:italic;
  font-weight:400;
}

.jarvis-reference-quote span{
  display:inline;
}

@media(min-width:1800px){
  .jarvis-reference-copy{
    width:43vw;
    max-width:760px;
    margin-left:5.7vw;
    padding-top:7vh;
  }

  .jarvis-reference-page h1,
  .jarvis-reference-page #page-title{
    font-size:3.3vw!important;
    max-width:720px;
  }

  .jarvis-editorial-flow{
    max-width:40vw;
    margin-top:1.65vw;
  }

  .jarvis-editorial-flow>p{
    margin-bottom:1.32vw;
    font-size:.91vw;
    line-height:1.5;
  }

  .jarvis-reference-quote{
    margin-top:.12vw;
    margin-bottom:1.2vw;
    font-size:1.38vw;
    transform:translateX(11.5vw);
  }
}

@media(max-width:1260px){
  .jarvis-reference-copy{
    width:min(670px,53vw);
    margin-left:clamp(46px,5.5vw,72px);
    padding-top:clamp(50px,6.5vh,68px);
  }

  .jarvis-reference-page::before{
    background-position:58% center;
  }

  .jarvis-reference-quote{
    transform:translateX(clamp(72px,8vw,112px));
    font-size:clamp(21px,1.7vw,24px);
  }
}

@media(max-width:980px){
  .jarvis-reference-page{
    height:auto;
    min-height:calc(100svh - var(--header));
    overflow:visible;
  }

  .jarvis-reference-page::before{
    background-position:65% center;
  }

  .jarvis-reference-page::after{
    background:rgba(255,255,255,.76);
  }

  .jarvis-reference-copy{
    width:min(760px,100%);
    margin:0;
    padding:58px 24px 68px;
  }

  .jarvis-editorial-flow{
    max-width:700px;
    margin-top:24px;
  }

  .jarvis-editorial-flow>p{
    margin-bottom:19px;
  }

  .jarvis-reference-quote{
    width:min(560px,82vw);
    max-width:560px;
    transform:none;
    margin:2px 0 20px 8vw;
    white-space:normal;
  }

  .jarvis-reference-quote span{
    display:block;
  }

  .jarvis-reference-quote span+span{
    margin-left:3.25em;
  }
}

@media(max-width:620px){
  .jarvis-reference-page h1,
  .jarvis-reference-page #page-title{
    font-size:clamp(39px,9.7vw,51px)!important;
  }

  .jarvis-editorial-flow>p{
    font-size:15.5px;
  }

  .jarvis-reference-quote{
    width:100%;
    max-width:none;
    margin:3px 0 20px;
    font-size:20.5px;
  }

  .jarvis-reference-quote span+span{
    margin-left:2.1em;
  }
}
