/* Concrete Project Gallery — isolated treatment for the proof section. */
.proof-gallery{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  width:min(1240px,calc(100% - 32px));
  margin-bottom:42px;
  padding:54px 48px 42px;
  border:1px solid #b7b3aa;
  background:
    radial-gradient(circle at 83% 8%,rgba(255,255,255,.82),transparent 27%),
    linear-gradient(135deg,rgba(255,255,255,.56),transparent 42%),
    #d8d5ce;
  box-shadow:0 30px 75px rgba(37,36,32,.18);
  color:#22231f;
}
.proof-gallery:before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-2;
  opacity:.34;
  background-image:
    linear-gradient(rgba(71,70,65,.09) 1px,transparent 1px),
    linear-gradient(90deg,rgba(71,70,65,.09) 1px,transparent 1px),
    repeating-linear-gradient(24deg,transparent 0 11px,rgba(48,47,43,.022) 12px 13px);
  background-size:36px 36px,36px 36px,auto;
  mask-image:linear-gradient(105deg,#000,rgba(0,0,0,.35) 66%,transparent);
}
.proof-gallery:after{
  content:"PROJECT EVIDENCE";
  position:absolute;
  right:31px;
  top:30px;
  z-index:-1;
  color:rgba(54,53,48,.065);
  font:700 66px/1 'DM Sans',Arial,sans-serif;
  letter-spacing:.035em;
  white-space:nowrap;
}
.proof-gallery-head{
  display:grid;
  grid-template-columns:105px minmax(420px,1fr) minmax(310px,.72fr);
  gap:34px;
  align-items:end;
  margin-bottom:34px;
  padding-bottom:30px;
  border-bottom:1px solid #9d9a92;
}
.proof-gallery-mark{
  display:grid;
  grid-template-columns:auto auto;
  align-items:end;
  gap:10px;
  min-height:75px;
  padding-right:19px;
  border-right:1px solid #a57337;
}
.proof-gallery-mark span{
  align-self:start;
  color:#835b2c;
  font-size:8px;
  font-weight:800;
  letter-spacing:.16em;
}
.proof-gallery-mark b{
  grid-column:1/-1;
  color:#242520;
  font:400 42px/.8 'Libre Baskerville',Georgia,serif;
}
.proof-gallery-head .eyebrow{color:#865b2c}
.proof-gallery-head h2{
  max-width:620px;
  margin:0;
  color:#22231f;
  font-size:49px;
  line-height:1.02;
}
.proof-gallery-head>p{
  max-width:430px;
  margin:0 0 2px;
  color:#54564f;
  font-size:14px;
  line-height:1.68;
}
.proof-gallery-shell{
  display:grid;
  grid-template-columns:minmax(0,1fr) 302px;
  align-items:stretch;
  border:1px solid #383a35;
  background:#141512;
  box-shadow:0 23px 52px rgba(24,24,21,.28);
}
.proof-gallery-viewer{
  min-width:0;
  padding:10px;
  border-right:1px solid #4a4c46;
  background:#0d0e0c;
}
.proof-viewer-chrome{
  display:grid;
  grid-template-columns:1fr auto 1fr;
  gap:18px;
  align-items:center;
  min-height:44px;
  padding:0 14px;
  border-bottom:1px solid rgba(255,255,255,.1);
  color:#85877f;
  font-size:7px;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.proof-viewer-chrome b{color:#d3a263;font-size:7px;text-align:center}
.proof-viewer-chrome i{font-style:normal;text-align:right}
.proof-slide{
  position:relative;
  container-type:inline-size;
  background:#f1efe9;
}
.proof-slide[hidden]{display:none!important}
.proof-slide .compare-visual{
  height:535px;
  border-bottom:1px solid #3d3e39;
  background:#696a64;
}
.proof-slide .compare-visual:before{
  content:"";
  position:absolute;
  inset:0;
  z-index:3;
  pointer-events:none;
  background:
    linear-gradient(90deg,rgba(13,14,12,.2),transparent 17%,transparent 78%,rgba(13,14,12,.12)),
    linear-gradient(0deg,rgba(13,14,12,.22),transparent 22%,transparent 84%,rgba(13,14,12,.1));
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.12),inset 0 0 0 13px rgba(15,16,14,.08);
}
.proof-slide .after,
.proof-slide .before-wrap img{
  object-position:center 58%;
  filter:saturate(.91) contrast(1.04) brightness(.98);
}
#proof-project-contamination .after,
#proof-project-contamination .before-wrap img{object-position:center 62%}
.proof-slide .before-wrap{z-index:1;border-right:1px solid #fff9ed}
.proof-slide .before-wrap img{width:max(940px,74vw)}
@supports(width:1cqw){.proof-slide .before-wrap img{width:100cqw}}
.proof-slide .tag{
  z-index:6;
  top:24px;
  min-width:76px;
  padding:8px 12px;
  border:1px solid rgba(255,255,255,.22);
  border-radius:0;
  background:rgba(20,21,18,.82);
  backdrop-filter:blur(7px);
  color:#fff;
  text-align:center;
  font-size:7px;
  letter-spacing:.14em;
}
.proof-slide .before-tag{left:25px}
.proof-slide .after-tag{right:25px;background:rgba(239,235,224,.92);color:#242520}
.proof-slide input{z-index:10}
.proof-slide .divider{
  z-index:9;
  width:1px;
  background:#fff9ec;
  box-shadow:0 0 18px rgba(255,255,255,.42);
}
.proof-slide .divider:after{
  width:54px;
  height:42px;
  border:1px solid #fff8e9;
  border-radius:3px;
  background:linear-gradient(#b8894f,#95682f);
  color:#fff;
  box-shadow:0 0 0 5px rgba(20,21,18,.36),0 9px 22px rgba(0,0,0,.32);
  font-size:14px;
}
.proof-viewer-guide{
  position:absolute;
  z-index:5;
  left:26px;
  right:26px;
  bottom:17px;
  display:grid;
  grid-template-columns:auto 1fr auto 1fr auto 1fr auto 1fr auto;
  gap:8px;
  align-items:center;
  color:rgba(255,255,255,.68);
  pointer-events:none;
}
.proof-viewer-guide span{font-size:5px;font-weight:700}
.proof-viewer-guide i{height:1px;background:repeating-linear-gradient(90deg,rgba(255,255,255,.35) 0 1px,transparent 1px 6px)}
.proof-slide-data{
  display:grid;
  grid-template-columns:minmax(220px,.9fr) minmax(190px,.75fr) minmax(270px,1.1fr);
  gap:25px;
  align-items:center;
  min-height:142px;
  padding:25px 27px;
  background:
    linear-gradient(90deg,rgba(171,125,70,.08),transparent 23%),
    #f0eee8;
}
.proof-slide-data>div:first-child span{
  display:block;
  margin-bottom:9px;
  color:#8b602f;
  font-size:7px;
  font-weight:800;
  letter-spacing:.15em;
  text-transform:uppercase;
}
.proof-slide-data h3{
  margin:0;
  color:#22231f;
  font-size:24px;
  line-height:1.1;
}
.proof-slide-data>p{
  margin:0;
  color:#54564f;
  font-size:15px;
  line-height:1.48;
}
.proof-slide-data dl{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px;
  margin:0;
  padding-left:22px;
  border-left:1px solid #bbb7ae;
}
.proof-slide-data dt{
  color:#8a8983;
  font-size:8px;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.proof-slide-data dd{
  margin:6px 0 0;
  color:#292a26;
  font-size:11px;
  line-height:1.35;
}
.proof-gallery-index{
  display:flex;
  min-width:0;
  flex-direction:column;
  padding:25px 20px 20px;
  background:
    linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px),
    #181916;
  background-size:28px 28px;
  color:#f3eee4;
}
.proof-gallery-index>header{
  display:grid;
  gap:5px;
  margin-bottom:20px;
  padding-bottom:18px;
  border-bottom:1px solid rgba(255,255,255,.13);
}
.proof-gallery-index>header span{
  color:#d2a164;
  font-size:8px;
  font-weight:800;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.proof-gallery-index>header b{
  color:#aaa9a2;
  font-size:9px;
  font-weight:500;
}
.proof-gallery-tabs{display:grid;gap:12px}
.proof-gallery-tab{
  width:100%;
  overflow:hidden;
  padding:0;
  border:1px solid rgba(255,255,255,.14);
  background:#242520;
  color:#fff;
  cursor:pointer;
  text-align:left;
  transition:border-color .2s,transform .2s,background .2s;
}
.proof-gallery-tab:hover{transform:translateY(-2px);border-color:rgba(210,161,100,.62)}
.proof-gallery-tab:focus-visible{outline:2px solid #d2a164;outline-offset:3px}
.proof-gallery-tab.is-active{
  border-color:#c38d4d;
  background:#2a2b25;
  box-shadow:inset 3px 0 #c38d4d,0 12px 25px rgba(0,0,0,.19);
}
.proof-thumb{
  display:grid;
  grid-template-columns:1fr 1fr;
  height:94px;
  border-bottom:1px solid rgba(255,255,255,.12);
}
.proof-thumb img{width:100%;height:100%;object-fit:cover;filter:saturate(.72) contrast(1.04)}
.proof-gallery-tab.is-active .proof-thumb img{filter:saturate(.96) contrast(1.04)}
.proof-tab-copy{
  position:relative;
  display:grid;
  gap:5px;
  padding:15px 16px 16px;
}
.proof-tab-copy:after{
  content:"→";
  position:absolute;
  right:14px;
  top:15px;
  color:#c99758;
  font-size:12px;
}
.proof-tab-copy small{
  color:#c99758;
  font-size:6px;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.proof-tab-copy strong{
  padding-right:22px;
  color:#fff;
  font:400 14px/1.25 'Libre Baskerville',Georgia,serif;
}
.proof-tab-copy i{
  color:#888a83;
  font-size:7px;
  font-style:normal;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.proof-gallery-credential{
  display:grid;
  gap:5px;
  margin-top:auto;
  padding:17px 16px;
  border-left:2px solid #c38d4d;
  background:rgba(255,255,255,.035);
}
.proof-gallery-credential span{
  color:#a8a69f;
  font-size:6px;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.proof-gallery-credential strong{font:400 13px 'Libre Baskerville',Georgia,serif}
.proof-gallery-credential p{margin:0;color:#8f908a;font-size:8px}
.proof-gallery-index>.button{
  width:100%;
  margin-top:14px;
  border:1px solid #c38d4d;
  background:#c38d4d;
  color:#161713;
  box-shadow:none;
}
.proof-gallery-note{
  display:grid;
  grid-template-columns:120px minmax(280px,.8fr) 1fr;
  gap:26px;
  align-items:center;
  padding:27px 6px 4px;
}
.proof-gallery-note span{
  color:#82592d;
  font-size:7px;
  font-weight:800;
  letter-spacing:.15em;
  text-transform:uppercase;
}
.proof-gallery-note strong{
  color:#242520;
  font:400 15px/1.4 'Libre Baskerville',Georgia,serif;
}
.proof-gallery-note p{
  margin:0;
  color:#5b5d56;
  font-size:11px;
  line-height:1.55;
}
@media(max-width:1050px){
  .proof-gallery{padding:46px 36px 38px}
  .proof-gallery-head{grid-template-columns:85px 1fr .72fr;gap:25px}
  .proof-gallery-head h2{font-size:43px}
  .proof-gallery-shell{grid-template-columns:minmax(0,1fr) 260px}
  .proof-slide .compare-visual{height:480px}
  .proof-slide-data{grid-template-columns:1fr 1fr;gap:18px}
  .proof-slide-data dl{grid-column:1/-1;padding:15px 0 0;border-left:0;border-top:1px solid #bbb7ae}
  .proof-gallery-note{grid-template-columns:100px 1fr 1fr}
}
@media(max-width:820px){
  .proof-gallery{padding:40px 28px 34px}
  .proof-gallery-head{grid-template-columns:85px 1fr;gap:22px}
  .proof-gallery-head>p{grid-column:2}
  .proof-gallery-mark{grid-row:1/3}
  .proof-gallery-shell{grid-template-columns:1fr}
  .proof-gallery-index{order:-1}
  .proof-gallery-viewer{border-right:0;border-top:1px solid #4a4c46}
  .proof-gallery-tabs{grid-template-columns:1fr 1fr}
  .proof-gallery-credential{margin-top:18px}
  .proof-gallery-index>.button{align-self:flex-start;width:auto}
  .proof-gallery-note{grid-template-columns:1fr 1fr}
  .proof-gallery-note span{grid-column:1/-1}
}
@media(max-width:560px){
  .proof-gallery{
    width:calc(100% - 24px);
    margin-bottom:12px;
    padding:30px 9px 25px;
  }
  .proof-gallery:after{right:-8px;top:29px;font-size:32px}
  .proof-gallery-head{
    grid-template-columns:1fr;
    gap:15px;
    margin-bottom:22px;
    padding:0 10px 23px;
  }
  .proof-gallery-mark{
    grid-row:auto;
    width:max-content;
    min-height:0;
    padding:0 0 10px;
    border-right:0;
    border-bottom:1px solid #a57337;
  }
  .proof-gallery-mark b{font-size:33px}
  .proof-gallery-head h2{font-size:36px}
  .proof-gallery-head>p{grid-column:1;font-size:14px}
  .proof-gallery-index{padding:19px 13px 15px}
  .proof-gallery-index>header{margin-bottom:13px;padding-bottom:13px}
  .proof-gallery-tabs{gap:8px}
  .proof-thumb{height:72px}
  .proof-tab-copy{padding:12px 10px 13px}
  .proof-tab-copy:after{display:none}
  .proof-tab-copy strong{padding:0;font-size:12px}
  .proof-tab-copy i{display:none}
  .proof-gallery-credential{display:none}
  .proof-gallery-index>.button{width:100%;margin-top:12px}
  .proof-gallery-viewer{padding:7px}
  .proof-viewer-chrome{grid-template-columns:1fr auto;min-height:40px;padding:0 9px}
  .proof-viewer-chrome b{display:none}
  .proof-slide .compare-visual{height:415px}
  .proof-slide .after,
  .proof-slide .before-wrap img{object-position:center 55%}
  #proof-project-contamination .after,
  #proof-project-contamination .before-wrap img{object-position:center 61%}
  .proof-slide .tag{top:16px;padding:7px 8px;font-size:6px}
  .proof-slide .before-tag{left:16px}
  .proof-slide .after-tag{right:16px}
  .proof-slide .divider:after{width:46px;height:39px}
  .proof-viewer-guide{left:17px;right:17px;bottom:12px}
  .proof-slide-data{grid-template-columns:1fr;gap:13px;min-height:0;padding:22px 18px}
  .proof-slide-data h3{font-size:24px}
  .proof-slide-data>p{font-size:15px}
  .proof-slide-data dl{grid-column:1;grid-template-columns:repeat(3,1fr);gap:8px}
  .proof-slide-data dd{font-size:11px}
  .proof-gallery-note{grid-template-columns:1fr;gap:11px;padding:22px 10px 3px}
  .proof-gallery-note span{grid-column:1}
}

/* JCA blue presentation colorway. */
.proof-gallery{
  border-color:#a8c5d8;
  background:
    radial-gradient(circle at 84% 7%,rgba(255,255,255,.92),transparent 27%),
    radial-gradient(circle at 7% 88%,rgba(75,157,205,.16),transparent 30%),
    linear-gradient(145deg,#edf6fb 0%,#dcecf5 52%,#c8e0ed 100%);
  box-shadow:0 30px 75px rgba(18,67,101,.18);
  color:#0b2943;
}
.proof-gallery:before{
  opacity:.36;
  background-image:
    linear-gradient(rgba(10,72,111,.1) 1px,transparent 1px),
    linear-gradient(90deg,rgba(10,72,111,.1) 1px,transparent 1px),
    repeating-linear-gradient(24deg,transparent 0 11px,rgba(255,255,255,.22) 12px 13px);
}
.proof-gallery:after{color:rgba(10,65,101,.07)}
.proof-gallery-head{position:relative;z-index:2;border-bottom-color:rgba(12,76,116,.28)}
.proof-gallery-mark{border-right-color:#3284b3}
.proof-gallery-mark span,
.proof-gallery-head .eyebrow{color:#176a9b}
.proof-gallery-mark b,
.proof-gallery-head h2{color:#082f54}
.proof-gallery-head>p{color:#466276}
.proof-gallery-shell{
  position:relative;
  z-index:3;
  border-color:#276c97;
  background:#0b4d77;
  box-shadow:0 23px 52px rgba(12,58,89,.27);
}
.proof-gallery-viewer{
  border-right-color:rgba(213,236,249,.3);
  background:linear-gradient(145deg,#0b365b,#0e527e 58%,#197cac);
}
.proof-viewer-chrome{
  border-bottom-color:rgba(255,255,255,.22);
  background:linear-gradient(100deg,#0a365d 0%,#0d5b88 52%,#1b83b3 100%);
  color:#d7ebf6;
}
.proof-viewer-chrome b{color:#e8f6fd}
.proof-viewer-chrome i{color:#c5e1ef}
.proof-slide{background:#f8f5ee}
.proof-slide .tag{border-color:rgba(255,255,255,.45);background:rgba(6,40,69,.86)}
.proof-slide .after-tag{background:rgba(240,248,252,.95);color:#0b3456}
.proof-slide .divider:after{
  border-color:#edf8fd;
  background:linear-gradient(145deg,#2b94c8,#0c5f91);
  box-shadow:0 0 0 5px rgba(6,49,79,.32),0 9px 22px rgba(5,42,68,.3);
}
.proof-slide-data{
  background:
    linear-gradient(90deg,rgba(28,119,166,.09),transparent 25%),
    linear-gradient(125deg,#fffdf8,#edf5f9);
}
.proof-slide-data>div:first-child span{color:#176b9d}
.proof-slide-data h3{color:#0a2e4d}
.proof-slide-data>p{color:#536b7b}
.proof-slide-data dl{border-left-color:#bfd0db}
.proof-slide-data dt{color:#718796}
.proof-slide-data dd{color:#26465d}
.proof-gallery-index{
  background:
    linear-gradient(rgba(255,255,255,.055) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.055) 1px,transparent 1px),
    linear-gradient(155deg,#0d4d78 0%,#0b3c65 55%,#082e50 100%);
  background-size:28px 28px,28px 28px,auto;
  color:#f4fbff;
}
.proof-gallery-index>header{border-bottom-color:rgba(219,239,250,.22)}
.proof-gallery-index>header span{color:#90d1f0}
.proof-gallery-index>header b{color:#bdd7e6}
.proof-gallery-tab{border-color:rgba(214,237,249,.23);background:rgba(4,38,65,.35)}
.proof-gallery-tab:hover{border-color:#8fd1ef;background:rgba(255,255,255,.1)}
.proof-gallery-tab:focus-visible{outline-color:#8fd1ef}
.proof-gallery-tab.is-active{
  border-color:#7cc9ec;
  background:rgba(255,255,255,.12);
  box-shadow:inset 3px 0 #7cc9ec,0 12px 25px rgba(2,29,49,.2);
}
.proof-thumb{border-bottom-color:rgba(215,238,250,.2)}
.proof-tab-copy small,
.proof-tab-copy:after{color:#8ed3f3}
.proof-tab-copy i{color:#acc9da}
.proof-gallery-credential{border-left-color:#7bc8eb;background:rgba(255,255,255,.07)}
.proof-gallery-credential span,
.proof-gallery-credential p{color:#b9d4e3}
.proof-gallery-index>.button{
  border-color:#a8dcf3;
  background:linear-gradient(135deg,#e6f6fd,#acdff4);
  color:#082f50;
  box-shadow:0 12px 28px rgba(1,28,48,.2);
}
.proof-gallery-note{position:relative;z-index:2}
.proof-gallery-note span{color:#176b9d}
.proof-gallery-note strong{color:#0a3152}
.proof-gallery-note p{color:#526b7b}
@media(max-width:820px){
  .proof-gallery-viewer{border-top-color:rgba(255,255,255,.28)}
}
@media(max-width:560px){
  .proof-gallery-mark{border-bottom-color:#3284b3}
}
