/* Naperville Masonry & Chimney Repair -- the stoneyard sheet.
         Mulberry and quarry sand over shadow-pit ground; limestone daylight courses. */
:root {
   --nv2-mulberry: #7C3A64;
   --nv2-mulberrydeep: #5A2748;
   --nv2-sand: #E3C87E;
   --nv2-sandlight: #F0DFAE;
   --nv2-riverstone: #3E6E80;
   --nv2-riverlight: #AFCBD2;
   --nv2-shadow: #1D1B22;
   --nv2-shadow2: #282533;
   --nv2-shadow3: #363144;
   --nv2-limewash: #F7F4EB;
   --nv2-limewash2: #F0ECDF;
   --nv2-inkshadow: #211E27;
   --nv2-mutedspoil: #73706A;
   --nv2-courseline: #DBD6CB;
   --nv2-font: 'Source Sans 3', system-ui, -apple-system, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
   --nv2-display: 'Archivo Black', 'Arial Narrow', var(--nv2-font);
   --nv2-radius: 14px;
   --nv2-plinth: 0 12px 34px rgba(29, 27, 34, .14);
}
* {
   box-sizing: border-box;
}
html {
   scroll-behavior: smooth;
}
body {
   margin: 0;
   font: 400 1rem/1.65 var(--nv2-font);
   color: var(--nv2-inkshadow);
   background: var(--nv2-limewash);
}
img {
   max-width: 100%;
   display: block;
}
a {
   color: var(--nv2-mulberry);
}
h1, h2, h3, h4 {
   font-family: var(--nv2-display);
   font-weight: 400;
   line-height: 1.08;
   margin: 0 0 .45em;
   letter-spacing: .015em;
   text-wrap: balance;
}
h2 {
   font-size: clamp(1.9rem, 4.4vw, 3rem);
}
h3 {
   font-size: 1.35rem;
}
p {
   margin: 0 0 1em;
}
.quarryspan5 {
   width: min(1180px, 100% - 40px);
   margin-inline: auto;
}
section {
   padding-block: clamp(54px, 7vw, 96px);
   position: relative;
   background: var(--nv2-limewash);
}
.spoilpath-link5 {
   position: absolute;
   left: -9999px;
   top: 0;
   background: var(--nv2-sand);
   color: var(--nv2-shadow);
   padding: 10px 18px;
   z-index: 200;
}
.spoilpath-link5:focus {
   left: 12px;
   top: 12px;
}
/* buttons */
.chiselpull5 {
   display: inline-flex;
   align-items: center;
   gap: 10px;
   padding: .8rem 1.5rem;
   border-radius: 12px;
   background: var(--nv2-mulberry);
   color: #FEFBF3;
   font-weight: 700;
   text-decoration: none;
   border: 2px solid transparent;
   transition: transform .18s ease, background .18s ease, box-shadow .18s ease;
   cursor: pointer;
}
.chiselpull5:hover {
   background: var(--nv2-mulberrydeep);
   transform: translateY(-2px);
   box-shadow: var(--nv2-plinth);
}
.chiselpull5-bold {
   background: var(--nv2-mulberry);
}
.chiselpull5-wide {
   padding: 1rem 1.9rem;
   font-size: 1.06rem;
}
.chiselpull5-soft {
   background: transparent;
   border-color: rgba(255, 248, 240, .55);
   color: #FEFBF3;
}
.chiselpull5-soft:hover {
   background: rgba(255, 248, 240, .12);
}
.chiselpull5-deep {
   width: 100%;
   justify-content: center;
}
/* background effects */
#bg-fx-nv {
   position: fixed;
   inset: 0;
   z-index: 0;
   pointer-events: none;
   overflow: hidden;
}
#emberCanvas-nv {
   position: absolute;
   inset: 0;
   width: 100%;
   height: 100%;
}
.riverhaze5 {
   position: absolute;
   border-radius: 50%;
   filter: blur(64px);
   opacity: .35;
   will-change: transform;
}
.riverhaze5-a {
   width: 340px;
   height: 340px;
   background: var(--nv2-mulberry);
   top: 6%;
   left: -90px;
}
.riverhaze5-b {
   width: 280px;
   height: 280px;
   background: var(--nv2-riverstone);
   top: 42%;
   right: -70px;
}
.riverhaze5-c {
   width: 240px;
   height: 240px;
   background: var(--nv2-sand);
   bottom: 4%;
   left: 32%;
}
main, header, footer, .firstcut5 {
   position: relative;
   z-index: 1;
}
/* top strip */
.firstcut5 {
   background: var(--nv2-shadow);
   color: #ECE8DC;
   font-size: .84rem;
   padding-block: 8px;
   border-bottom: 1px solid rgba(227, 200, 126, .25);
}
.firstcut5 .quarryspan5 {
   display: flex;
   align-items: center;
   justify-content: space-between;
   gap: 18px;
}
.fs5-chip {
   display: inline-flex;
   align-items: center;
   gap: 8px;
   white-space: nowrap;
}
.fs5-chip a {
   color: #fff;
   text-decoration: none;
}
.graindot5 {
   width: 9px;
   height: 9px;
   border-radius: 50%;
   background: #3CA564;
   display: inline-block;
   animation: nvpulse 1.7s infinite;
}
@keyframes nvpulse {
   0% {
      box-shadow: 0 0 0 0 rgba(60, 165, 100, .55);
   }
   70% {
      box-shadow: 0 0 0 8px rgba(60, 165, 100, 0);
   }
   100% {
      box-shadow: 0 0 0 0 rgba(60, 165, 100, 0);
   }
}
@media (max-width: 1080px) {
   .fs5-fold {
      display: none;
   }
}
@media (max-width: 620px) {
   .fs5-bulletin {
      display: none;
   }
   .firstcut5 .quarryspan5 {
      justify-content: center;
   }
}
/* header */
.quarrygate5 {
   position: sticky;
   top: 0;
   z-index: 90;
   background: rgba(29, 27, 34, .96);
   transition: box-shadow .25s ease;
}
.quarrygate5.gritworn5 {
   box-shadow: 0 8px 26px rgba(0, 0, 0, .45);
}
.toolgate5 {
   display: flex;
   align-items: center;
   justify-content: space-between;
   gap: 14px;
   padding-block: 13px;
   min-width: 0;
}
.keystoneseal5 {
   display: flex;
   align-items: center;
   gap: 12px;
   text-decoration: none;
   color: #fff;
   min-width: 0;
}
.keystoneseal5-plate {
   width: 46px;
   height: 46px;
}
.keystoneseal5-slip {
   display: flex;
   flex-direction: column;
   line-height: 1.12;
}
.keystoneseal5-slip {
   min-width: 0;
}
.keystoneseal5-slip strong {
   font-family: var(--nv2-display);
   font-size: 1rem;
   letter-spacing: .03em;
   color: #FEFBF3;
   white-space: nowrap;
   display: block;
   overflow: hidden;
   text-overflow: ellipsis;
}
@media (max-width: 1250px) {
   .keystoneseal5-slip strong {
      font-size: .95rem;
   }
}
@media (max-width: 700px) {
   .keystoneseal5-slip strong {
      font-size: .9rem;
   }
   .keystoneseal5-plate {
      width: 38px;
      height: 38px;
   }
}
@media (max-width: 560px) {
   .keystoneseal5-slip strong {
      font-size: .86rem;
      max-width: 58vw;
      overflow: hidden;
      text-overflow: ellipsis;
   }
   .keystoneseal5-slip span {
      font-size: .72rem;
   }
}
.keystoneseal5-slip span {
   font-size: .8rem;
   color: var(--nv2-sandlight);
   letter-spacing: .14em;
   text-transform: uppercase;
}
.courserow5 {
   display: flex;
   gap: clamp(8px, 1vw, 20px);
   list-style: none;
   margin: 0;
   padding: 0;
}
.courserow5 a {
   color: #E8E4D7;
   text-decoration: none;
   font-size: .84rem;
   font-weight: 600;
   padding: 6px 2px;
   border-bottom: 2px solid transparent;
   white-space: nowrap;
}
.courserow5 a:hover, .courserow5 a.onplumb5 {
   color: var(--nv2-sand);
   border-bottom-color: var(--nv2-sand);
}
.toolgate5-dim {
   opacity: .85;
}
.toolgate5-drive {
   display: flex;
   align-items: center;
   gap: 14px;
}
.toolgate5-digits {
   display: flex;
   flex-direction: column;
   text-align: right;
   line-height: 1.2;
}
.toolgate5-digits small {
   color: #B5B0A2;
   font-size: .72rem;
}
.toolgate5-digits b a {
   color: #fff;
   text-decoration: none;
   font-size: 1.02rem;
}
.toolgate5-pull {
   white-space: nowrap;
}
.pithatch5 {
   display: none;
   background: none;
   border: 0;
   padding: 8px;
   cursor: pointer;
}
.pithatch5 span {
   display: block;
   width: 26px;
   height: 3px;
   background: #fff;
   margin: 5px 0;
   border-radius: 2px;
   transition: transform .25s, opacity .25s;
}
@media (max-width: 1439px) {
   .toolgate5-digits {
      display: none;
   }
}
@media (max-width: 992px) {
   .pithatch5 {
      display: block;
   }
   .courserow5 {
      position: absolute;
      top: 100%;
      left: 0;
      right: 0;
      background: var(--nv2-shadow);
      flex-direction: column;
      gap: 0;
      padding: 10px 22px 18px;
      display: none;
      border-bottom: 3px solid var(--nv2-sand);
   }
   .courserow5.gateraised5 {
      display: flex;
   }
   .courserow5 a {
      padding: 12px 4px;
      border-bottom: 1px solid rgba(255, 255, 255, .07);
      font-size: 1.02rem;
   }
}
@media (max-width: 700px) {
   .toolgate5-pull-slip {
      display: none;
   }
   .toolgate5-pull {
      padding-inline: 14px;
   }
}
@media (min-width: 993px) and (max-width: 1249px) {
   .toolgate5-pull-slip {
      display: none;
   }
   .toolgate5-pull {
      padding-inline: 14px;
   }
}
/* hero */
.bedrock5 {
   background: var(--nv2-shadow);
   color: #F5F3EA;
   overflow: hidden;
   padding-block: clamp(60px, 8vw, 110px);
}
.bedrock5-veil {
   position: absolute;
   inset: 0;
   z-index: 0;
}
.bedrock5-veil img {
   width: 100%;
   height: 100%;
   object-fit: cover;
   opacity: .34;
}
.bedrock5-veil::after {
   content: "";
   position: absolute;
   inset: 0;
   background: linear-gradient(105deg, rgba(29, 27, 34, .96) 30%, rgba(29, 27, 34, .55) 68%, rgba(29, 27, 34, .8));
}
.bedrock5 .quarryspan5 {
   position: relative;
   z-index: 1;
}
.bedrock5-benches {
   display: grid;
   grid-template-columns: 1.25fr .85fr;
   gap: clamp(28px, 4.5vw, 62px);
   align-items: center;
}
.masonmark5 {
   display: inline-block;
   font-size: .8rem;
   letter-spacing: .16em;
   text-transform: uppercase;
   color: var(--nv2-sandlight);
   border: 1px solid rgba(227, 200, 126, .5);
   border-radius: 99px;
   padding: 6px 14px;
   margin-bottom: 18px;
}
.bedrock5 h1 {
   font-size: clamp(2.4rem, 5.4vw, 4rem);
   color: #FEFBF3;
}
.sandgold5 {
   color: var(--nv2-sand);
}
.bedrock5-plumbline {
   color: #D7D2C4;
   max-width: 56ch;
   font-size: 1.04rem;
}
.bedrock5-pulls5 {
   display: flex;
   flex-wrap: wrap;
   gap: 14px;
   margin: 26px 0 8px;
}
.bedrock5-stamps5 {
   list-style: none;
   padding: 0;
   margin: 22px 0 0;
   display: grid;
   grid-template-columns: repeat(2, minmax(0, 1fr));
   gap: 10px 20px;
   font-size: .93rem;
   color: #E8E4D7;
}
.bedrock5-stamps5 li {
   display: flex;
   align-items: center;
   gap: 9px;
}
.chiselmark5 {
   width: 21px;
   height: 21px;
   border-radius: 50%;
   background: rgba(227, 200, 126, .18);
   display: inline-flex;
   align-items: center;
   justify-content: center;
   flex-shrink: 0;
}
.chiselmark5 svg {
   width: 13px;
   height: 13px;
   stroke: var(--nv2-sand);
   stroke-width: 3;
   fill: none;
}
/* offer card */
.coresample5 {
   background: linear-gradient(165deg, #FDFDFA, var(--nv2-limewash2));
   color: var(--nv2-inkshadow);
   border-radius: 18px;
   padding: 28px 26px;
   box-shadow: 0 24px 60px rgba(0, 0, 0, .4);
   border-top: 6px solid var(--nv2-sand);
   position: relative;
}
.coresample5-badge {
   display: inline-block;
   background: var(--nv2-riverstone);
   color: #EFF2EC;
   font-size: .72rem;
   font-weight: 700;
   letter-spacing: .14em;
   text-transform: uppercase;
   border-radius: 99px;
   padding: 5px 13px;
   margin-bottom: 10px;
}
.coresample5 h2 {
   font-size: 2rem;
   margin-bottom: .2em;
}
.coresample5-rateline {
   margin: 4px 0 2px;
}
.coresample5-rate {
   font-family: var(--nv2-display);
   font-size: clamp(1.9rem, 3vw, 2.5rem);
   color: var(--nv2-mulberry);
   letter-spacing: .01em;
}
.coresample5-caption {
   color: var(--nv2-mutedspoil);
   font-weight: 600;
   font-size: .95rem;
}
.coresample5-rows {
   list-style: none;
   margin: 14px 0 18px;
   padding: 0;
   display: grid;
   gap: 9px;
   font-size: .94rem;
}
.coresample5-rows li {
   display: flex;
   gap: 9px;
   align-items: flex-start;
}
.coresample5-rows svg {
   width: 17px;
   height: 17px;
   stroke: var(--nv2-mulberry);
   stroke-width: 3;
   fill: none;
   flex-shrink: 0;
   margin-top: 3px;
}
.coresample5-finecut {
   font-size: .8rem;
   color: var(--nv2-mutedspoil);
   margin: 14px 0 0;
   line-height: 1.55;
}
/* marquee */
.riverwalk5 {
   background: var(--nv2-sand);
   color: var(--nv2-shadow);
   overflow: hidden;
   padding-block: 12px;
   font-weight: 700;
   font-size: .95rem;
}
.riverwalk5-course {
   display: flex;
   gap: 34px;
   white-space: nowrap;
   animation: nvcourse 34s linear infinite;
   width: max-content;
}
.riverwalk5-course span {
   display: inline-flex;
   gap: 10px;
   align-items: center;
}
.riverwalk5-course b {
   color: var(--nv2-mulberry);
}
@keyframes nvcourse {
   from {
      transform: translateX(0);
   }
   to {
      transform: translateX(-50%);
   }
}
/* stats */
.ledgerstone5 {
   display: grid;
   grid-template-columns: repeat(4, minmax(0, 1fr));
   gap: 16px;
}
.ledgerstone5-slab {
   background: #FDFDFA;
   border: 1px solid var(--nv2-courseline);
   border-radius: var(--nv2-radius);
   padding: 22px 18px;
   text-align: center;
   box-shadow: 0 6px 18px rgba(29, 27, 34, .05);
}
.ledgerstone5-slab b {
   font-family: var(--nv2-display);
   font-size: clamp(1.9rem, 3.3vw, 2.6rem);
   color: var(--nv2-mulberry);
   display: block;
   letter-spacing: .01em;
}
.ledgerstone5-slab b span {
   font-size: inherit;
   color: inherit;
   letter-spacing: 0;
}
.ledgerstone5-slab span {
   font-size: .85rem;
   color: var(--nv2-mutedspoil);
}
@media (max-width: 860px) {
   .ledgerstone5 {
      grid-template-columns: repeat(2, minmax(0, 1fr));
   }
}
/* section heads */
.bankerhead5 {
   max-width: 760px;
   margin-bottom: clamp(28px, 4vw, 48px);
}
.midpit5 {
   margin-inline: auto;
   text-align: center;
}
.westface5 {
   text-align: left;
}
.malletflag5 {
   display: inline-block;
   font-size: .78rem;
   font-weight: 700;
   letter-spacing: .18em;
   text-transform: uppercase;
   color: var(--nv2-mulberry);
   margin-bottom: 10px;
}
.spoilline5 {
   color: var(--nv2-mutedspoil);
   font-size: 1.03rem;
}
/* services */
.ashlar5-rows {
   display: grid;
   grid-template-columns: repeat(auto-fill, minmax(258px, 1fr));
   gap: 22px;
}
.ashlar5 {
   background: #FDFDFA;
   border: 1px solid var(--nv2-courseline);
   border-radius: var(--nv2-radius);
   overflow: hidden;
   display: flex;
   flex-direction: column;
   transition: transform .2s ease, box-shadow .2s ease;
}
.ashlar5:hover {
   transform: translateY(-5px);
   box-shadow: var(--nv2-plinth);
}
.ashlar5-window {
   position: relative;
   aspect-ratio: 16/9.5;
   height: 200px;
   overflow: hidden;
}
.ashlar5-window img {
   width: 100%;
   height: 100%;
   object-fit: cover;
   transition: transform .35s ease;
}
.ashlar5:hover .ashlar5-window img {
   transform: scale(1.06);
}
.ashlar5-cutsheet {
   position: relative;
}
.ashlar5-mark {
   position: absolute;
   right: 16px;
   top: -24px;
   width: 46px;
   height: 46px;
   background: var(--nv2-mulberry);
   border-radius: 12px;
   display: flex;
   align-items: center;
   justify-content: center;
   box-shadow: 0 6px 14px rgba(0, 0, 0, .25), 0 0 0 4px #FDFDFA;
}
.ashlar5-mark svg {
   width: 23px;
   height: 23px;
   stroke: #FFF4E6;
   stroke-width: 1.7;
   fill: none;
}
.ashlar5-cutsheet {
   padding: 22px 20px 20px;
   display: flex;
   flex-direction: column;
   flex: 1;
}
.ashlar5-cutsheet p {
   font-size: .92rem;
   color: #46423A;
}
.ashlar5-cutsheet ul {
   margin: 0 0 14px;
   padding-left: 18px;
   font-size: .85rem;
   color: var(--nv2-mutedspoil);
   display: grid;
   gap: 4px;
}
.ashlar5-pull {
   margin-top: auto;
   display: inline-flex;
   align-items: center;
   gap: 7px;
   font-weight: 700;
   font-size: .9rem;
   color: var(--nv2-mulberry);
   text-decoration: none;
}
.ashlar5-pull svg {
   width: 15px;
   height: 15px;
   stroke: currentColor;
   stroke-width: 2.4;
   fill: none;
   transition: transform .18s;
}
.ashlar5-pull:hover svg {
   transform: translateX(4px);
}
/* dark + cream tones */
.tone-shadowpit5 {
   background: var(--nv2-shadow);
   color: #EDE7DA;
}
.tone-shadowpit5 h2 {
   color: #FEFBF3;
}
.tone-shadowpit5 .spoilline5 {
   color: #B5B0A2;
}
.tone-limestone5 {
   background: var(--nv2-limewash2);
}
/* warning signs */
.faultline5-rows {
   display: grid;
   grid-template-columns: 1.15fr .85fr;
   gap: clamp(28px, 4vw, 56px);
   align-items: start;
}
.faultline5-list {
   list-style: none;
   margin: 0;
   padding: 0;
   display: grid;
   gap: 14px;
}
.faultline5-list li {
   display: flex;
   gap: 14px;
   background: rgba(255, 253, 248, .05);
   border: 1px solid rgba(227, 200, 126, .22);
   border-radius: 12px;
   padding: 13px 16px;
}
.faultline5-list b {
   display: block;
   color: #F4E4C0;
}
.faultline5-list span {
   font-size: .87rem;
   color: #B8B3A5;
}
.fq5 {
   width: 38px;
   height: 38px;
   flex-shrink: 0;
   border-radius: 10px;
   background: rgba(124, 58, 100, .3);
   display: flex;
   align-items: center;
   justify-content: center;
}
.fq5 svg {
   width: 19px;
   height: 19px;
   stroke: var(--nv2-sand);
   stroke-width: 1.8;
   fill: none;
}
.faultline5-window {
   border-radius: var(--nv2-radius);
   overflow: hidden;
   position: sticky;
   top: 96px;
   box-shadow: 0 20px 48px rgba(0, 0, 0, .5);
}
.faultline5-window img {
   width: 100%;
}
.faultline5-chalk5 {
   background: var(--nv2-shadow2);
   padding: 18px 20px;
}
.faultline5-chalk5 b {
   color: var(--nv2-sand);
   display: block;
   margin-bottom: 5px;
}
.faultline5-chalk5 span {
   font-size: .87rem;
   color: #B8B3A5;
}
/* process */
.benchwork5 {
   display: grid;
   grid-template-columns: repeat(4, minmax(0, 1fr));
   gap: 20px;
}
.benchwork5 > * {
   min-width: 0;
}
.benchwork5-step {
   background: #FDFDFA;
   border: 1px solid var(--nv2-courseline);
   border-radius: var(--nv2-radius);
   padding: 26px 20px 22px;
   position: relative;
}
.benchwork5-step h3 {
   overflow-wrap: anywhere;
   font-size: 1.2rem;
   margin-top: 12px;
}
.benchwork5-step p {
   font-size: .88rem;
   color: #46423A;
   margin: 0;
}
.benchwork5-stamp5 {
   font-family: var(--nv2-display);
   font-size: 1.5rem;
   width: 44px;
   height: 44px;
   border-radius: 50%;
   display: inline-flex;
   align-items: center;
   justify-content: center;
   background: var(--nv2-riverstone);
   color: #EFF2EC;
}
@media (max-width: 900px) {
   .benchwork5 {
      grid-template-columns: repeat(2, minmax(0, 1fr));
   }
}
@media (max-width: 540px) {
   .benchwork5 {
      grid-template-columns: 1fr;
   }
}
/* cta band */
.duskquarry5 {
   background: var(--nv2-shadow);
   color: #F5F3EA;
   text-align: center;
   overflow: hidden;
}
.duskquarry5-veil {
   position: absolute;
   inset: 0;
}
.duskquarry5-veil img {
   width: 100%;
   height: 100%;
   object-fit: cover;
   opacity: .22;
}
.duskquarry5-veil::after {
   content: "";
   position: absolute;
   inset: 0;
   background: radial-gradient(ellipse at center, rgba(29, 27, 34, .55), rgba(29, 27, 34, .93));
}
.duskquarry5 .quarryspan5 {
   position: relative;
   z-index: 1;
   max-width: 820px;
}
.duskquarry5 h2 {
   color: #FEFBF3;
}
.duskquarry5-digits {
   display: inline-block;
   font-family: var(--nv2-display);
   font-size: clamp(2.1rem, 5vw, 3.4rem);
   color: var(--nv2-sand);
   text-decoration: none;
   margin: 12px 0 6px;
}
.duskquarry5-pulls {
   margin-top: 14px;
}
/* gallery */
.yardwall5 {
   display: grid;
   grid-template-columns: repeat(auto-fill, minmax(215px, 1fr));
   gap: 16px;
}
.yardwall5-block5 {
   margin: 0;
   border-radius: 12px;
   overflow: hidden;
   background: #FDFDFA;
   border: 1px solid var(--nv2-courseline);
}
.yardwall5-block5 img {
   width: 100%;
   aspect-ratio: 4/2.6;
   height: 175px;
   object-fit: cover;
   transition: transform .3s ease;
}
.yardwall5-block5:hover img {
   transform: scale(1.05);
}
.yardwall5-block5 figcaption {
   font-size: .8rem;
   font-weight: 600;
   color: var(--nv2-mutedspoil);
   padding: 9px 13px;
}
/* areas */
.townblocks5 {
   list-style: none;
   margin: 0 0 22px;
   padding: 0;
   display: flex;
   flex-wrap: wrap;
   gap: 10px;
   justify-content: center;
}
.townblocks5 li {
   background: #FDFDFA;
   border: 1px solid var(--nv2-courseline);
   border-radius: 99px;
   padding: 8px 18px;
   font-size: .9rem;
   font-weight: 600;
}
/* faq */
.toolshed-qa {
   max-width: 840px;
   margin-inline: auto;
   display: grid;
   gap: 12px;
}
.toolshed-qa details {
   background: #FDFDFA;
   border: 1px solid var(--nv2-courseline);
   border-radius: 12px;
   overflow: hidden;
}
.toolshed-qa summary {
   cursor: pointer;
   font-weight: 700;
   padding: 17px 46px 17px 20px;
   position: relative;
   list-style: none;
}
.toolshed-qa summary::-webkit-details-marker {
   display: none;
}
.toolshed-qa summary::after {
   content: "+";
   position: absolute;
   right: 18px;
   top: 50%;
   transform: translateY(-50%);
   font-family: var(--nv2-display);
   font-size: 1.5rem;
   color: var(--nv2-mulberry);
}
.toolshed-qa details[open] summary::after {
   content: "–";
}
.toolshed-qa-shim {
   padding: 0 20px 18px;
   font-size: .93rem;
   color: #46423A;
}
/* contact */
.ogdendesk5 {
   display: grid;
   grid-template-columns: 1fr .95fr;
   gap: clamp(26px, 4vw, 52px);
   align-items: start;
}
.ogdendesk5-lines {
   list-style: none;
   margin: 0 0 22px;
   padding: 0;
   display: grid;
   gap: 16px;
}
.ogdendesk5-lines li {
   display: flex;
   gap: 14px;
   align-items: flex-start;
}
.ogdendesk5-lines b {
   display: block;
   font-size: .8rem;
   text-transform: uppercase;
   letter-spacing: .1em;
   color: var(--nv2-mutedspoil);
}
.ogdendesk5-lines a, .ogdendesk5-lines span {
   font-weight: 600;
   color: var(--nv2-inkshadow);
   text-decoration: none;
}
.ogdendesk5-mark5 {
   width: 42px;
   height: 42px;
   border-radius: 11px;
   background: rgba(124, 58, 100, .12);
   display: flex;
   align-items: center;
   justify-content: center;
   flex-shrink: 0;
}
.ogdendesk5-mark5 svg {
   width: 20px;
   height: 20px;
   stroke: var(--nv2-mulberry);
   stroke-width: 1.8;
   fill: none;
}
.sunclock5 {
   background: #FDFDFA;
   border: 1px solid var(--nv2-courseline);
   border-radius: var(--nv2-radius);
   padding: 18px 20px;
   margin-bottom: 22px;
}
.sunclock5 dl {
   display: grid;
   grid-template-columns: auto 1fr;
   gap: 7px 18px;
   margin: 0;
   font-size: .92rem;
}
.sunclock5 dt {
   font-weight: 700;
}
.sunclock5 dd {
   margin: 0;
   color: var(--nv2-mutedspoil);
}
.plotmap5 {
   border-radius: var(--nv2-radius);
   overflow: hidden;
   border: 1px solid var(--nv2-courseline);
}
.plotmap5 iframe {
   width: 100%;
   height: 260px;
   border: 0;
   display: block;
}
.foreman-card5 {
   background: var(--nv2-shadow);
   color: #EDE7DA;
   border-radius: 18px;
   padding: 30px 28px;
   position: sticky;
   top: 96px;
   box-shadow: 0 24px 56px rgba(29, 27, 34, .35);
   border-top: 6px solid var(--nv2-mulberry);
}
.foreman-tag5 {
   display: inline-block;
   background: rgba(227, 200, 126, .16);
   color: var(--nv2-sandlight);
   font-size: .72rem;
   font-weight: 700;
   letter-spacing: .14em;
   text-transform: uppercase;
   border-radius: 99px;
   padding: 5px 13px;
   margin-bottom: 12px;
}
.foreman-card5 h3 {
   color: #FEFBF3;
   font-size: 1.55rem;
}
.foreman-card5 > p {
   font-size: .92rem;
   color: #C5C0B1;
}
.foreman-digits5 {
   display: block;
   font-family: var(--nv2-display);
   font-size: 2.1rem;
   color: var(--nv2-sand);
   text-decoration: none;
   margin: 10px 0 14px;
}
.foreman-watch5 {
   font-size: .87rem;
   color: #C5C0B1;
   margin-top: 14px;
}
.foreman-watch5 strong {
   color: #F4E4C0;
}
.foreman-steps5 {
   margin-top: 18px;
   border-top: 1px solid rgba(255, 255, 255, .12);
   padding-top: 16px;
}
.foreman-steps5 h4 {
   font-size: 1.02rem;
   color: var(--nv2-sandlight);
}
.foreman-steps5 ol {
   margin: 0;
   padding-left: 20px;
   font-size: .88rem;
   color: #C5C0B1;
   display: grid;
   gap: 6px;
}
@media (max-width: 900px) {
   .ogdendesk5, .faultline5-rows, .bedrock5-benches {
      grid-template-columns: 1fr;
   }
   .foreman-card5, .faultline5-window {
      position: static;
   }
}
/* footer */
.footingstone5 {
   background: var(--nv2-shadow);
   color: #C5C0B1;
   padding-block: clamp(44px, 6vw, 72px) 0;
   font-size: .92rem;
}
.footingstone5-rows {
   display: grid;
   grid-template-columns: 1.4fr .8fr .8fr 1fr;
   gap: clamp(24px, 3.5vw, 48px);
}
.footingstone5 h4 {
   color: var(--nv2-sandlight);
   letter-spacing: .06em;
   font-size: 1.15rem;
}
.footingstone5-mark5 {
   display: flex;
   gap: 12px;
   align-items: center;
   margin-bottom: 14px;
}
.footingstone5-mark5 strong {
   font-family: var(--nv2-display);
   font-size: 1.25rem;
   color: #FEFBF3;
   line-height: 1.15;
   letter-spacing: .03em;
}
.footingstone5-lines {
   list-style: none;
   margin: 0;
   padding: 0;
   display: grid;
   gap: 8px;
}
.footingstone5-lines a {
   color: #C5C0B1;
   text-decoration: none;
}
.footingstone5-lines a:hover {
   color: var(--nv2-sand);
}
.footingstone5 address a {
   color: #fff;
   text-decoration: none;
}
.footingstone5-sill {
   margin-top: clamp(30px, 4vw, 48px);
   border-top: 1px solid rgba(255, 255, 255, .1);
   padding-block: 18px;
   display: flex;
   justify-content: space-between;
   gap: 14px;
   flex-wrap: wrap;
   font-size: .8rem;
   color: #8C887E;
}
@media (max-width: 900px) {
   .footingstone5-rows {
      grid-template-columns: 1fr 1fr;
   }
}
@media (max-width: 560px) {
   .footingstone5-rows {
      grid-template-columns: 1fr;
   }
}
/* floating call pill (desktop) */
.lanternpost5 {
   position: fixed;
   right: 22px;
   bottom: 24px;
   z-index: 80;
   display: flex;
   align-items: center;
   gap: 12px;
   background: var(--nv2-shadow);
   color: #fff;
   text-decoration: none;
   border-radius: 99px;
   padding: 10px 20px 10px 12px;
   box-shadow: 0 14px 36px rgba(0, 0, 0, .35);
   border: 1px solid rgba(227, 200, 126, .5);
}
.lt5-halo {
   width: 42px;
   height: 42px;
   border-radius: 50%;
   background: var(--nv2-mulberry);
   display: flex;
   align-items: center;
   justify-content: center;
   animation: nvring 2.1s infinite;
}
.lt5-halo svg {
   width: 20px;
   height: 20px;
   stroke: #fff;
   stroke-width: 2;
   fill: none;
}
@keyframes nvring {
   0% {
      box-shadow: 0 0 0 0 rgba(124, 58, 100, .55);
   }
   70% {
      box-shadow: 0 0 0 12px rgba(124, 58, 100, 0);
   }
   100% {
      box-shadow: 0 0 0 0 rgba(124, 58, 100, 0);
   }
}
.lt5-slip {
   display: flex;
   flex-direction: column;
   line-height: 1.2;
}
.lt5-slip small {
   font-size: .68rem;
   color: #C5C0B1;
}
.lt5-slip b {
   font-size: 1rem;
}
/* mobile call bar */
.haulbar5 {
   position: fixed;
   left: 0;
   right: 0;
   bottom: 0;
   z-index: 85;
   background: var(--nv2-shadow);
   border-top: 2px solid var(--nv2-sand);
   display: none;
   padding: 9px 12px calc(9px + env(safe-area-inset-bottom));
}
.haulbar5 ul {
   list-style: none;
   margin: 0;
   padding: 0;
   display: grid;
   grid-template-columns: 1fr;
   gap: 9px;
}
.hb5-pull {
   display: flex;
   align-items: center;
   justify-content: center;
   gap: 9px;
   background: var(--nv2-mulberry);
   color: #FEFBF3;
   font-weight: 800;
   text-decoration: none;
   border-radius: 11px;
   padding: 13px 10px;
   font-size: 1.02rem;
}
.hb5-pull svg {
   width: 18px;
   height: 18px;
   stroke: currentColor;
   stroke-width: 2;
   fill: none;
}
@media (max-width: 768px) {
   .haulbar5 {
      display: block;
   }
   .lanternpost5 {
      display: none;
   }
   body {
      padding-bottom: 68px;
   }
}
/* back to top */
.derrickknob5 {
   position: fixed;
   right: 22px;
   bottom: 96px;
   z-index: 79;
   width: 44px;
   height: 44px;
   border-radius: 12px;
   border: 1px solid var(--nv2-courseline);
   background: #FDFDFA;
   color: var(--nv2-mulberry);
   cursor: pointer;
   display: none;
   align-items: center;
   justify-content: center;
   box-shadow: 0 8px 20px rgba(29, 27, 34, .16);
}
.derrickknob5 svg {
   width: 20px;
   height: 20px;
   stroke: currentColor;
   stroke-width: 2.2;
   fill: none;
}
.derrickknob5.undershade5 {
   display: flex;
}
@media (max-width: 768px) {
   .derrickknob5 {
      bottom: 150px;
      right: 14px;
   }
}
/* reveal + stagger */
.unhewn5 {
   opacity: 0;
   transform: translateY(22px);
   transition: opacity .6s ease, transform .6s ease;
}
.unhewn5.dressed5 {
   opacity: 1;
   transform: none;
}
.npr1 {
   transition-delay: .08s;
}
.npr2 {
   transition-delay: .16s;
}
.npr3 {
   transition-delay: .24s;
}
.npr4 {
   transition-delay: .32s;
}
.npr5 {
   transition-delay: .4s;
}
.npr6 {
   transition-delay: .48s;
}
@media (prefers-reduced-motion: reduce) {
   .unhewn5 {
      opacity: 1;
      transform: none;
      transition: none;
   }
   .riverwalk5-course {
      animation: none;
   }
}
/* narrow-shed allowances */
@media (max-width: 392px) {
   .keystoneseal5-slip strong {
      font-size: .8rem;
      max-width: 60vw;
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
   }
   .toolgate5-pull {
      padding-inline: 13px;
   }
}

@supports (aspect-ratio: 1) {
   .ashlar5-window {
      height: auto;
   }
   .yardwall5-block5 img {
      height: auto;
   }
}
.ashlar5-window img {
   height: 100%;
}
