/* IWL page-only visual refinement. Canonical copy remains in iwl.html. */
.iwl-single-page{
  position:relative;
  min-height:calc(100svh - var(--header));
  overflow:hidden;
  isolation:isolate;
  background:#f6f6f3;
}

.iwl-single-page::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-2;
  background-image:url('assets/underlays/iwl-approved.png');
  background-size:cover;
  background-position:center center;
  background-repeat:no-repeat;
  filter:contrast(1.08) brightness(.985);
  transform:scale(1.002);
}

/* Keep the left reading field clean without bleaching the architecture. */
.iwl-single-page::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:linear-gradient(90deg,
    rgba(255,255,255,.12) 0%,
    rgba(255,255,255,.08) 27%,
    rgba(255,255,255,.035) 43%,
    rgba(255,255,255,0) 60%);
}

.iwl-single-shell{
  position:relative;
  width:100%;
  max-width:none;
  margin:0;
  padding:clamp(42px,4.7vh,64px) clamp(48px,5.4vw,94px) clamp(58px,6.6vh,90px);
}

.iwl-opening{
  width:min(820px,54vw);
  max-width:820px;
}

.iwl-single-page .kicker{
  margin:0 0 16px;
}

.iwl-single-page h1{
  max-width:790px;
  margin:0;
  font-family:Georgia,'Times New Roman',serif;
  font-size:clamp(52px,4.9vw,80px);
  font-style:normal;
  font-weight:400;
  letter-spacing:-.04em;
  line-height:.96;
}

.iwl-lead{
  max-width:700px;
  margin:20px 0 0;
  color:var(--body);
  font:400 clamp(17px,1.08vw,18.5px)/1.52 Arial,Helvetica,sans-serif;
}

.iwl-intro{
  max-width:740px;
  margin-top:22px;
  display:grid;
  grid-template-columns:1fr 1fr;
  column-gap:30px;
  row-gap:10px;
}

.iwl-intro p{
  margin:0;
  color:var(--body);
  font:400 clamp(14.4px,.93vw,15.8px)/1.5 Arial,Helvetica,sans-serif;
}

/* Pull the signature line into the architectural field as a visual statement. */
.iwl-quote-display{
  position:absolute;
  top:clamp(188px,21vh,236px);
  right:clamp(42px,4.4vw,84px);
  width:min(530px,33vw);
  margin:0;
  color:#315f89;
  font-family:Georgia,'Times New Roman',serif;
  font-size:clamp(40px,3.65vw,64px);
  font-style:italic;
  font-weight:400;
  letter-spacing:-.035em;
  line-height:1.04;
  text-wrap:balance;
  text-shadow:0 1px 14px rgba(255,255,255,.68);
}

.iwl-research-grid{
  width:min(940px,61vw);
  max-width:940px;
  display:grid;
  grid-template-columns:1fr 1fr;
  column-gap:clamp(38px,4vw,60px);
  row-gap:0;
  margin-top:42px;
  border-top:1px solid rgba(171,132,51,.38);
}

.iwl-copy-section{
  min-width:0;
  padding:22px 0 26px;
  border-bottom:1px solid rgba(171,132,51,.28);
}

.iwl-copy-section:nth-child(odd){
  padding-right:8px;
}

.iwl-copy-section:nth-child(even){
  padding-left:8px;
}

.iwl-section-label{
  margin:0 0 8px!important;
  color:var(--gold)!important;
  font:700 11.5px/1.3 Arial,Helvetica,sans-serif!important;
  letter-spacing:.14em;
  text-transform:uppercase;
}

.iwl-copy-section h2{
  max-width:445px;
  margin:0 0 11px;
  color:var(--ink);
  font-family:Georgia,'Times New Roman',serif;
  font-size:clamp(24px,1.7vw,30px);
  font-weight:400;
  letter-spacing:-.026em;
  line-height:1.06;
}

.iwl-copy-section p,
.iwl-copy-section li{
  color:var(--body);
  font-family:Arial,Helvetica,sans-serif;
  font-size:clamp(14.5px,.92vw,15.8px);
  line-height:1.5;
}

.iwl-copy-section p{
  margin:0 0 9px;
}

.iwl-copy-section ul{
  margin:9px 0 0;
  padding-left:19px;
}

.iwl-copy-section li{
  margin:3px 0;
}

.iwl-results .iwl-metric{
  display:inline;
  color:#184f80;
  font-family:Georgia,'Times New Roman',serif;
  font-size:1.32em;
  font-weight:400;
  line-height:1;
}

.iwl-closing-section strong{
  color:#184f80;
}

@media(max-width:1260px){
  .iwl-opening{
    width:min(780px,59vw);
  }

  .iwl-research-grid{
    width:min(880px,70vw);
  }

  .iwl-quote-display{
    top:clamp(184px,20vh,220px);
    right:3.5vw;
    width:33vw;
    font-size:clamp(34px,3.8vw,50px);
  }

  .iwl-single-page::before{
    background-position:64% center;
  }
}

@media(max-width:980px){
  .iwl-opening,
  .iwl-research-grid{
    width:min(760px,82vw);
  }

  .iwl-intro{
    grid-template-columns:1fr;
  }

  .iwl-quote-display{
    position:relative;
    top:auto;
    right:auto;
    width:min(660px,78vw);
    margin:30px 0 4px auto;
    font-size:clamp(32px,5vw,46px);
    text-align:right;
  }

  .iwl-research-grid{
    grid-template-columns:1fr;
    border-top:1px solid rgba(171,132,51,.38);
  }

  .iwl-copy-section:nth-child(odd),
  .iwl-copy-section:nth-child(even){
    padding-left:0;
    padding-right:0;
  }

  .iwl-single-page::after{
    background:linear-gradient(90deg,
      rgba(255,255,255,.40) 0%,
      rgba(255,255,255,.32) 48%,
      rgba(255,255,255,.10) 74%,
      rgba(255,255,255,0) 100%);
  }
}

@media(max-width:820px){
  .iwl-single-page::before{
    background-position:72% center;
    filter:contrast(1.05) brightness(.99);
  }

  .iwl-single-page::after{
    background:rgba(255,255,255,.72);
  }

  .iwl-single-shell{
    padding:54px 20px 66px;
  }

  .iwl-opening,
  .iwl-research-grid{
    width:100%;
    max-width:none;
  }

  .iwl-single-page h1{
    font-size:clamp(42px,11.8vw,59px);
    line-height:1.01;
  }

  .iwl-lead{
    font-size:16px;
    line-height:1.5;
  }

  .iwl-intro p,
  .iwl-copy-section p,
  .iwl-copy-section li{
    font-size:15px;
    line-height:1.5;
  }

  .iwl-quote-display{
    width:100%;
    margin:28px 0 8px;
    font-size:clamp(30px,8.8vw,40px);
    text-align:left;
  }

  .iwl-research-grid{
    margin-top:30px;
  }

  .iwl-copy-section{
    padding:21px 0 24px;
  }

  .iwl-copy-section h2{
    font-size:clamp(27px,7.7vw,35px);
  }
}

/* Desktop placement: make the quote movement unmistakable. */
@media(min-width:1261px){
  .iwl-quote-display{
    top:clamp(285px,31vh,340px);
    left:74vw;
    right:auto;
    width:min(390px,24vw);
    font-size:clamp(50px,4.1vw,68px);
  }
}

@media(min-width:981px) and (max-width:1260px){
  .iwl-quote-display{
    top:clamp(260px,30vh,320px);
    left:70vw;
    right:auto;
    width:27vw;
    font-size:clamp(40px,4.2vw,54px);
  }
}
