/* Valley Stream Chimney & Masonry .. styling.
   Brick clay over village slate blue; linen paper base. */

:root {
   --vs4-brick: #AA3E22;
   --vs4-brick-dark: #7A2A14;
   --vs4-ember: #F09047;
   --vs4-ember-glow: #FFC792;
   --vs4-coast: #375E77;
   --vs4-charcoal: #191411;
   --vs4-charcoal-2: #241D18;
   --vs4-charcoal-3: #322920;
   --vs4-cream: #F8F4EC;
   --vs4-cream-2: #EFE7DB;
   --vs4-ink: #1B1512;
   --vs4-muted: #6E6459;
   --vs4-line: rgba(25,20,17,.12);
   --vs4-gold: #E6BB58;
   --vs4-green-ok: #2E7A50;
   --vs4-radius: 16px;
   --vs4-radius-lg: 26px;
   --vs4-shadow-sm: 0 4px 14px rgba(25,20,17,.08);
   --vs4-shadow: 0 14px 40px rgba(25,20,17,.14);
   --vs4-shadow-lg: 0 30px 70px rgba(25,20,17,.26);
   --vs4-wrap: 1200px;
   --vs4-font: 'Public Sans',system-ui,-apple-system,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
   --vs4-display: 'Archivo Narrow','Arial Narrow',var(--vs4-font);
   --vs4-header-h: 76px; }

*,*::before,*::after {
   box-sizing: border-box; }

html {
   scroll-behavior: smooth;
   scroll-padding-top: 90px;
   -webkit-text-size-adjust: 100%; }

body {
   margin: 0;
   font-family: var(--vs4-font);
   color: var(--vs4-ink);
   background: var(--vs4-cream);
   font-size: 17px;
   line-height: 1.65;
   overflow-x: hidden;
   -webkit-font-smoothing: antialiased; }

img {
   max-width: 100%;
   height: auto;
   display: block; }

a {
   color: var(--vs4-brick);
   text-decoration: none; }

a:hover {
   color: var(--vs4-brick-dark); }

button {
   font-family: inherit; }

h1,h2,h3,h4 {
   font-family: var(--vs4-display);
   font-weight: 700;
   line-height: 1.08;
   margin: 0 0 .5em;
   letter-spacing: .4px;
   text-transform: uppercase; }

h1 {
   font-size: clamp(2.15rem,5.4vw,4.15rem); }

h2 {
   font-size: clamp(1.85rem,3.9vw,3rem); }

h3 {
   font-size: clamp(1.15rem,1.7vw,1.45rem); }

p {
   margin: 0 0 1.1em; }

.greenway {
   width: min(var(--vs4-wrap),92%);
   margin-inline: auto; }

.midpond {
   text-align: center; }

.hush-aid {
   position: absolute;
   width: 1px;
   height: 1px;
   padding: 0;
   margin: -1px;
   overflow: hidden;
   clip: rect(0,0,0,0);
   white-space: nowrap;
   border: 0; }

.towpath-link {
   position: absolute;
   left: -9999px;
   top: 0;
   background: var(--vs4-brick);
   color: #fff;
   padding: 12px 20px;
   z-index: 9999; }

.towpath-link:focus {
   left: 10px;
   top: 10px; }

:focus-visible {
   outline: 3px solid var(--vs4-ember);
   outline-offset: 3px; }

#bg-fx-vs {
   position: fixed;
   inset: 0;
   z-index: 0;
   pointer-events: none;
   overflow: hidden; }

#emberCanvas-vs {
   position: absolute;
   inset: 0;
   width: 100%;
   height: 100%;
   opacity: .55; }

.pondglow {
   position: absolute;
   border-radius: 50%;
   filter: blur(70px);
   opacity: .34;
   will-change: transform; }

.pondglow-1 {
   width: 520px;
   height: 520px;
   background: radial-gradient(circle at 30% 30%,var(--vs4-ember),transparent 68%);
   top: -140px;
   left: -120px;
   animation: float1 26s ease-in-out infinite; }

.pondglow-2 {
   width: 640px;
   height: 640px;
   background: radial-gradient(circle at 60% 40%,var(--vs4-brick),transparent 66%);
   top: 38%;
   right: -220px;
   animation: float2 32s ease-in-out infinite; }

.pondglow-3 {
   width: 420px;
   height: 420px;
   background: radial-gradient(circle at 50% 50%,var(--vs4-gold),transparent 65%);
   bottom: -120px;
   left: 22%;
   animation: float3 29s ease-in-out infinite; }

@keyframes float1 {
   0%,100% {
      transform: translate3d(0,0,0) scale(1); }
   50% {
      transform: translate3d(90px,120px,0) scale(1.16); } }

@keyframes float2 {
   0%,100% {
      transform: translate3d(0,0,0) scale(1.05); }
   50% {
      transform: translate3d(-120px,-90px,0) scale(.9); } }

@keyframes float3 {
   0%,100% {
      transform: translate3d(0,0,0) scale(.95); }
   50% {
      transform: translate3d(70px,-110px,0) scale(1.2); } }

main,header,footer,.eavesband {
   position: relative;
   z-index: 1; }

.millpull {
   --vs4-bg: var(--vs4-brick);
   --vs4-fg: #fff;
   display: inline-flex;
   align-items: center;
   justify-content: center;
   gap: .6rem;
   background: var(--vs4-bg);
   color: var(--vs4-fg);
   font-weight: 700;
   font-size: 1.02rem;
   padding: 16px 30px;
   border-radius: 60px;
   border: 0;
   cursor: pointer;
   letter-spacing: .3px;
   box-shadow: 0 10px 26px rgba(178,58,33,.32);
   transition: transform .22s cubic-bezier(.2,.8,.3,1),box-shadow .22s,background .22s;
   position: relative;
   overflow: hidden;
   text-align: center; }

.millpull:hover {
   transform: translateY(-3px);
   box-shadow: 0 18px 40px rgba(178,58,33,.42);
   color: #fff; }

.millpull:active {
   transform: translateY(-1px); }

.millpull::after {
   content: "";
   position: absolute;
   top: 0;
   left: -60%;
   width: 40%;
   height: 100%;
   background: linear-gradient(100deg,transparent,rgba(255,255,255,.42),transparent);
   transform: skewX(-18deg);
   animation: sheen 4.5s ease-in-out infinite; }

@keyframes sheen {
   0%,72% {
      left: -60%; }
   88%,100% {
      left: 135%; } }

.millpull-warm {
   --vs4-bg: linear-gradient(135deg,var(--vs4-ember),var(--vs4-brick));
   box-shadow: 0 10px 26px rgba(240,128,60,.4); }

.millpull-sheer {
   --vs4-bg: transparent;
   --vs4-fg: #fff;
   border: 2px solid rgba(255,255,255,.6);
   box-shadow: none; }

.millpull-sheer:hover {
   background: rgba(255,255,255,.12);
   box-shadow: none; }

.millpull-dusky {
   --vs4-bg: var(--vs4-charcoal);
   box-shadow: 0 10px 26px rgba(25,20,17,.3); }

.millpull-tall {
   padding: 19px 38px;
   font-size: 1.12rem; }

.millpull-span {
   display: flex;
   width: 100%; }

.eavesband {
   background: var(--vs4-charcoal);
   color: #DFD4C6;
   font-size: .86rem;
   letter-spacing: .3px; }

.eavesband .greenway {
   display: flex;
   flex-wrap: wrap;
   gap: 8px 26px;
   align-items: center;
   justify-content: space-between;
   padding: 9px 0; }

.eavesband b {
   color: #fff; }

.eavesband .eb2-piece {
   display: inline-flex;
   align-items: center;
   gap: 7px; }

.spark-bead {
   width: 8px;
   height: 8px;
   border-radius: 50%;
   background: #4DC783;
   box-shadow: 0 0 0 0 rgba(73,199,126,.7);
   animation: pulseDot 2s infinite; }

@keyframes pulseDot {
   70% {
      box-shadow: 0 0 0 9px rgba(73,199,126,0); }
   100% {
      box-shadow: 0 0 0 0 rgba(73,199,126,0); } }

.lintelband {
   position: sticky;
   top: 0;
   z-index: 900;
   background: rgba(246,240,231,.86);
   backdrop-filter: blur(14px);
   -webkit-backdrop-filter: blur(14px);
   border-bottom: 1px solid var(--vs4-line);
   transition: box-shadow .3s,background .3s; }

.lintelband.steeped {
   box-shadow: 0 8px 30px rgba(25,20,17,.13);
   background: rgba(246,240,231,.96); }

.lintelband .greenway {
   width: min(1360px,94%); }

.walkrail {
   display: flex;
   align-items: center;
   justify-content: space-between;
   gap: 18px;
   min-height: var(--vs4-header-h); }

.housemark {
   display: flex;
   align-items: center;
   gap: 12px;
   color: var(--vs4-ink);
   flex: 0 0 auto; }

.housemark:hover {
   color: var(--vs4-ink); }

.housemark-device {
   width: 46px;
   height: 46px;
   flex: 0 0 auto;
   filter: drop-shadow(0 4px 8px rgba(178,58,33,.3)); }

.housemark-note {
   display: flex;
   flex-direction: column;
   line-height: 1.05; }

.housemark-note strong {
   font-family: var(--vs4-display);
   font-size: 1.06rem;
   letter-spacing: .6px;
   text-transform: uppercase; }

.housemark-note span {
   font-size: .7rem;
   letter-spacing: 2.4px;
   text-transform: uppercase;
   color: var(--vs4-brick);
   font-weight: 600; }

.lanes {
   display: flex;
   align-items: center;
   gap: 22px;
   list-style: none;
   margin: 0;
   padding: 0; }

.lanes a {
   color: var(--vs4-ink);
   font-weight: 600;
   font-size: .92rem;
   white-space: nowrap;
   position: relative;
   padding: 6px 0; }

.lanes a::after {
   content: "";
   position: absolute;
   left: 0;
   bottom: 0;
   height: 2px;
   width: 0;
   background: var(--vs4-brick);
   transition: width .28s; }

.lanes a:hover::after,.lanes a.starred::after {
   width: 100%; }

.walkrail-urge {
   display: flex;
   align-items: center;
   gap: 14px;
   flex: 0 0 auto; }

.walkrail-digits {
   display: flex;
   flex-direction: column;
   line-height: 1.1;
   text-align: right; }

.walkrail-digits small {
   font-size: .68rem;
   text-transform: uppercase;
   letter-spacing: 1.4px;
   color: var(--vs4-muted); }

.walkrail-digits b {
   font-family: var(--vs4-display);
   font-size: 1.22rem;
   color: var(--vs4-brick); }

.gatehinge {
   display: none;
   width: 48px;
   height: 44px;
   border: 1px solid var(--vs4-line);
   background: #fff;
   border-radius: 12px;
   cursor: pointer;
   padding: 0;
   position: relative; }

.gatehinge span {
   position: absolute;
   left: 13px;
   width: 22px;
   height: 2px;
   background: var(--vs4-ink);
   transition: .3s; }

.gatehinge span:nth-child(1) {
   top: 15px; }

.gatehinge span:nth-child(2) {
   top: 21px; }

.gatehinge span:nth-child(3) {
   top: 27px; }

.gatehinge[aria-expanded="true"] span:nth-child(1) {
   top: 21px;
   transform: rotate(45deg); }

.gatehinge[aria-expanded="true"] span:nth-child(2) {
   opacity: 0; }

.gatehinge[aria-expanded="true"] span:nth-child(3) {
   top: 21px;
   transform: rotate(-45deg); }

.headwater2 {
   position: relative;
   color: #fff;
   padding: clamp(56px,8vw,104px) 0 clamp(70px,9vw,120px);
   overflow: hidden;
   isolation: isolate; }

.headwater2-wash {
   position: absolute;
   inset: 0;
   z-index: -2; }

.headwater2-wash img {
   width: 100%;
   height: 100%;
   object-fit: cover;
   transform: scale(1.06);
   animation: kenburns 24s ease-in-out infinite alternate; }

@keyframes kenburns {
   to {
      transform: scale(1.17) translate3d(-1.5%,-1.5%,0); } }

.headwater2::before {
   content: "";
   position: absolute;
   inset: 0;
   z-index: -1;
   background: linear-gradient(100deg,rgba(18,14,12,.95) 0%,rgba(26,18,14,.86) 38%,rgba(181,57,31,.6) 74%,rgba(242,145,63,.42) 100%); }

.headwater2-plots {
   display: grid;
   grid-template-columns: 1.15fr .85fr;
   gap: 52px;
   align-items: center; }

.streamerband {
   display: inline-flex;
   align-items: center;
   gap: 9px;
   background: rgba(255,255,255,.12);
   border: 1px solid rgba(255,255,255,.26);
   color: #fff;
   padding: 8px 17px;
   border-radius: 60px;
   font-size: .79rem;
   font-weight: 700;
   letter-spacing: 1.6px;
   text-transform: uppercase;
   margin-bottom: 22px;
   backdrop-filter: blur(6px); }

.headwater2 h1 {
   color: #fff;
   text-shadow: 0 6px 30px rgba(0,0,0,.4); }

.headwater2 h1 .emberwash {
   color: var(--vs4-ember-glow);
   display: inline-block; }

.headwater2-subtext {
   font-size: clamp(1.02rem,1.5vw,1.2rem);
   color: #ECE3D8;
   max-width: 610px; }

.headwater2-pulls {
   display: flex;
   flex-wrap: wrap;
   gap: 14px;
   margin: 30px 0 26px; }

.headwater2-footings2 {
   display: flex;
   flex-wrap: wrap;
   gap: 10px 22px;
   list-style: none;
   padding: 0;
   margin: 0;
   font-size: .92rem;
   color: #E8DED4; }

.headwater2-footings2 li {
   display: flex;
   align-items: center;
   gap: 8px; }

.pebble-check {
   width: 20px;
   height: 20px;
   flex: 0 0 auto;
   border-radius: 50%;
   background: rgba(73,199,126,.2);
   display: grid;
   place-items: center; }

.pebble-check svg {
   width: 12px;
   height: 12px;
   stroke: #6FE3A2;
   fill: none;
   stroke-width: 3; }

.millpond-card {
   background: linear-gradient(160deg,rgba(255,255,255,.98),rgba(246,240,231,.94));
   color: var(--vs4-ink);
   border-radius: var(--vs4-radius-lg);
   padding: 30px 28px;
   box-shadow: var(--vs4-shadow-lg);
   border: 1px solid rgba(255,255,255,.6);
   position: relative;
   animation: floaty 6.5s ease-in-out infinite; }

@keyframes floaty {
   0%,100% {
      transform: translateY(0); }
   50% {
      transform: translateY(-13px); } }

.millpond-banner {
   position: absolute;
   top: -18px;
   right: -10px;
   background: var(--vs4-brick);
   color: #fff;
   font-family: var(--vs4-display);
   font-size: .82rem;
   letter-spacing: 1.4px;
   padding: 9px 16px;
   border-radius: 40px;
   box-shadow: 0 8px 20px rgba(178,58,33,.4);
   text-transform: uppercase;
   animation: wobble 5s ease-in-out infinite; }

@keyframes wobble {
   0%,100% {
      transform: rotate(-3deg); }
   50% {
      transform: rotate(3deg); } }

.millpond-figure2 {
   font-family: var(--vs4-display);
   font-size: clamp(3.4rem,7vw,4.6rem);
   line-height: 1;
   color: var(--vs4-brick);
   display: flex;
   align-items: flex-start;
   gap: 4px;
   justify-content: center;
   margin: 6px 0 2px; }

.millpond-figure2 sup {
   font-size: .42em;
   margin-top: .32em; }

.millpond-card h2 {
   font-size: 1.32rem;
   margin-bottom: 4px;
   text-align: center; }

.millpond-card .millpond-subnote2 {
   text-align: center;
   color: var(--vs4-muted);
   font-size: .9rem;
   margin-bottom: 16px; }

.millpond-slate {
   list-style: none;
   margin: 0 0 20px;
   padding: 0;
   display: grid;
   gap: 9px;
   font-size: .95rem; }

.millpond-slate li {
   display: flex;
   gap: 10px;
   align-items: flex-start; }

.millpond-slate svg {
   width: 18px;
   height: 18px;
   flex: 0 0 auto;
   margin-top: 3px;
   stroke: var(--vs4-brick);
   fill: none;
   stroke-width: 3; }

.millpond-smallrun {
   font-size: .76rem;
   color: var(--vs4-muted);
   text-align: center;
   margin: 12px 0 0;
   line-height: 1.5; }

.raceway {
   background: var(--vs4-charcoal-2);
   color: #CDC1B4;
   overflow: hidden;
   padding: 13px 0;
   border-block: 1px solid rgba(255,255,255,.07); }

.raceway-current {
   display: flex;
   gap: 52px;
   white-space: nowrap;
   width: max-content;
   animation: scrollX 34s linear infinite;
   font-family: var(--vs4-display);
   letter-spacing: 2px;
   font-size: .94rem;
   text-transform: uppercase; }

.raceway-current span {
   display: inline-flex;
   align-items: center;
   gap: 12px; }

.raceway-current b {
   color: var(--vs4-ember); }

@keyframes scrollX {
   to {
      transform: translateX(-50%); } }

section {
   padding: clamp(56px,7vw,100px) 0;
   position: relative; }

.headgate {
   max-width: 760px;
   margin: 0 auto 52px; }

.headgate.nearshore2 {
   margin-inline: 0; }

.streamside-tag {
   display: inline-flex;
   align-items: center;
   gap: 9px;
   color: var(--vs4-brick);
   font-weight: 800;
   letter-spacing: 2.4px;
   text-transform: uppercase;
   font-size: .78rem;
   margin-bottom: 14px; }

.streamside-tag::before {
   content: "";
   width: 28px;
   height: 2px;
   background: var(--vs4-brick); }

.forewater {
   font-size: 1.06rem;
   color: var(--vs4-muted); }

.wash-linen {
   background: linear-gradient(180deg,rgba(237,227,213,.75),rgba(246,240,231,.4)); }

.wash-night {
   background: var(--vs4-charcoal);
   color: #DFD5CA; }

.wash-night h2,.wash-night h3 {
   color: #fff; }

.wash-night .forewater {
   color: #B9ADA0; }

.wash-night .streamside-tag {
   color: var(--vs4-ember-glow); }

.wash-night .streamside-tag::before {
   background: var(--vs4-ember); }

.weirboard {
   display: grid;
   grid-template-columns: repeat(4,1fr);
   gap: 22px; }

.weirboard-gate {
   background: #fff;
   border-radius: var(--vs4-radius);
   padding: 26px 20px;
   text-align: center;
   box-shadow: var(--vs4-shadow-sm);
   border: 1px solid var(--vs4-line);
   transition: transform .3s,box-shadow .3s; }

.weirboard-gate:hover {
   transform: translateY(-7px);
   box-shadow: var(--vs4-shadow); }

.weirboard-gate b {
   display: block;
   font-family: var(--vs4-display);
   font-size: clamp(2rem,3.6vw,2.9rem);
   color: var(--vs4-brick);
   line-height: 1; }

.weirboard-gate span {
   font-size: .87rem;
   color: var(--vs4-muted);
   letter-spacing: .6px; }

.millroom-row {
   display: grid;
   grid-template-columns: repeat(auto-fit,minmax(295px,1fr));
   gap: 26px; }

.millroom {
   background: #fff;
   border-radius: var(--vs4-radius-lg);
   overflow: hidden;
   box-shadow: var(--vs4-shadow-sm);
   border: 1px solid var(--vs4-line);
   display: flex;
   flex-direction: column;
   transition: transform .35s cubic-bezier(.2,.8,.3,1),box-shadow .35s; }

.millroom:hover {
   transform: translateY(-10px);
   box-shadow: var(--vs4-shadow-lg); }

.millroom-pane2 {
   position: relative;
   aspect-ratio: 16/10;
   overflow: hidden;
   background: var(--vs4-charcoal-3); }

.millroom-pane2 img {
   width: 100%;
   height: 100%;
   object-fit: cover;
   transition: transform .7s cubic-bezier(.2,.8,.3,1); }

.millroom:hover .millroom-pane2 img {
   transform: scale(1.09); }

.millroom-pane2::after {
   content: "";
   position: absolute;
   inset: 0;
   background: linear-gradient(180deg,transparent 42%,rgba(20,16,14,.72)); }

.millroom-seal2 {
   position: absolute;
   left: 18px;
   bottom: 16px;
   z-index: 2;
   width: 46px;
   height: 46px;
   border-radius: 13px;
   background: var(--vs4-brick);
   display: grid;
   place-items: center;
   box-shadow: 0 8px 20px rgba(178,58,33,.45); }

.millroom-seal2 svg {
   width: 24px;
   height: 24px;
   stroke: #fff;
   fill: none;
   stroke-width: 1.9;
   stroke-linecap: round;
   stroke-linejoin: round; }

.millroom-hold {
   padding: 24px 24px 26px;
   display: flex;
   flex-direction: column;
   flex: 1; }

.millroom-hold h3 {
   margin-bottom: 8px; }

.millroom-hold p {
   font-size: .95rem;
   color: var(--vs4-muted);
   margin-bottom: 16px; }

.millroom-hold ul {
   list-style: none;
   margin: 0 0 18px;
   padding: 0;
   font-size: .9rem;
   display: grid;
   gap: 6px; }

.millroom-hold li {
   display: flex;
   gap: 9px;
   align-items: flex-start;
   color: #4A423A; }

.millroom-hold li::before {
   content: "";
   width: 7px;
   height: 7px;
   border-radius: 50%;
   background: var(--vs4-ember);
   flex: 0 0 auto;
   margin-top: 8px; }

.millroom-line2 {
   margin-top: auto;
   font-weight: 700;
   display: inline-flex;
   align-items: center;
   gap: 8px;
   font-size: .95rem; }

.millroom-line2 svg {
   width: 16px;
   height: 16px;
   stroke: currentColor;
   fill: none;
   stroke-width: 2.4;
   transition: transform .3s; }

.millroom:hover .millroom-line2 svg {
   transform: translateX(5px); }

.floodmark-row {
   display: grid;
   grid-template-columns: 1fr 1fr;
   gap: 52px;
   align-items: center; }

.floodmark-slate {
   display: grid;
   gap: 14px;
   margin: 0;
   padding: 0;
   list-style: none; }

.floodmark-slate li {
   display: flex;
   gap: 15px;
   background: rgba(255,255,255,.05);
   border: 1px solid rgba(255,255,255,.1);
   border-radius: 14px;
   padding: 16px 18px;
   align-items: flex-start;
   transition: transform .3s,border-color .3s,background .3s; }

.floodmark-slate li:hover {
   transform: translateX(7px);
   border-color: rgba(240,128,60,.55);
   background: rgba(240,128,60,.08); }

.floodmark-slate .fm2 {
   width: 38px;
   height: 38px;
   flex: 0 0 auto;
   border-radius: 11px;
   background: rgba(240,128,60,.16);
   display: grid;
   place-items: center; }

.floodmark-slate .fm2 svg {
   width: 20px;
   height: 20px;
   stroke: var(--vs4-ember-glow);
   fill: none;
   stroke-width: 2;
   stroke-linecap: round;
   stroke-linejoin: round; }

.floodmark-slate b {
   display: block;
   color: #fff;
   font-family: var(--vs4-display);
   letter-spacing: .5px;
   font-size: 1.02rem;
   text-transform: uppercase; }

.floodmark-slate span {
   font-size: .92rem;
   color: #B5A99D; }

.floodmark-pane {
   position: relative;
   border-radius: var(--vs4-radius-lg);
   overflow: hidden;
   box-shadow: var(--vs4-shadow-lg); }

.floodmark-pane img {
   width: 100%;
   aspect-ratio: 4/5;
   object-fit: cover; }

.floodmark-card2 {
   position: absolute;
   left: 20px;
   bottom: 20px;
   right: 20px;
   background: rgba(25,20,17,.82);
   backdrop-filter: blur(9px);
   border: 1px solid rgba(255,255,255,.14);
   border-radius: 16px;
   padding: 16px 18px;
   color: #fff; }

.floodmark-card2 b {
   font-family: var(--vs4-display);
   display: block;
   color: var(--vs4-ember-glow);
   letter-spacing: 1px; }

.floodmark-card2 span {
   font-size: .88rem;
   color: #C9BDB0; }

.steppingpath {
   display: grid;
   grid-template-columns: repeat(4,1fr);
   gap: 24px;
   counter-reset: step;
   position: relative; }

.steppingpath-stone2 {
   background: #fff;
   border-radius: var(--vs4-radius);
   padding: 34px 24px 26px;
   box-shadow: var(--vs4-shadow-sm);
   border: 1px solid var(--vs4-line);
   position: relative;
   transition: transform .35s,box-shadow .35s; }

.steppingpath-stone2:hover {
   transform: translateY(-8px);
   box-shadow: var(--vs4-shadow); }

.steppingpath-count {
   position: absolute;
   top: -20px;
   left: 24px;
   width: 44px;
   height: 44px;
   border-radius: 14px;
   background: linear-gradient(140deg,var(--vs4-ember),var(--vs4-brick));
   color: #fff;
   font-family: var(--vs4-display);
   font-size: 1.3rem;
   display: grid;
   place-items: center;
   box-shadow: 0 10px 22px rgba(178,58,33,.35); }

.steppingpath-stone2 h3 {
   font-size: 1.12rem;
   margin-top: 8px; }

.steppingpath-stone2 p {
   font-size: .93rem;
   color: var(--vs4-muted);
   margin: 0; }

.weirwall {
   display: grid;
   grid-template-columns: repeat(4,1fr);
   gap: 16px; }

.weirwall-frame {
   position: relative;
   border-radius: 18px;
   overflow: hidden;
   box-shadow: var(--vs4-shadow-sm);
   aspect-ratio: 1;
   background: var(--vs4-charcoal-3); }

.weirwall-frame:nth-child(1),.weirwall-frame:nth-child(6) {
   grid-row: span 2;
   aspect-ratio: 1/2.06; }

.weirwall-frame img {
   width: 100%;
   height: 100%;
   object-fit: cover;
   transition: transform .8s cubic-bezier(.2,.8,.3,1); }

.weirwall-frame:hover img {
   transform: scale(1.1); }

.weirwall-frame figcaption {
   position: absolute;
   inset: auto 0 0 0;
   padding: 34px 16px 14px;
   background: linear-gradient(transparent,rgba(20,16,14,.86));
   color: #fff;
   font-size: .85rem;
   font-weight: 600;
   transform: translateY(6px);
   opacity: 0;
   transition: .35s; }

.weirwall-frame:hover figcaption {
   transform: translateY(0);
   opacity: 1; }

.passbooks {
   display: grid;
   grid-template-columns: repeat(3,1fr);
   gap: 24px; }

.passbook {
   background: #fff;
   border-radius: var(--vs4-radius);
   padding: 28px 26px;
   box-shadow: var(--vs4-shadow-sm);
   border: 1px solid var(--vs4-line);
   position: relative;
   transition: transform .35s,box-shadow .35s; }

.passbook:hover {
   transform: translateY(-8px);
   box-shadow: var(--vs4-shadow); }

.passbook .quotereed {
   position: absolute;
   top: 16px;
   right: 22px;
   font-family: var(--vs4-display);
   font-size: 4.2rem;
   color: rgba(178,58,33,.13);
   line-height: 1; }

.starferry {
   display: flex;
   gap: 3px;
   margin-bottom: 12px; }

.starferry svg {
   width: 18px;
   height: 18px;
   fill: var(--vs4-gold); }

.passbook p {
   font-size: .98rem;
   color: #4A423A; }

.passbook footer {
   display: flex;
   align-items: center;
   gap: 12px;
   margin-top: 16px;
   border-top: 1px solid var(--vs4-line);
   padding-top: 14px; }

.locketface {
   width: 42px;
   height: 42px;
   border-radius: 50%;
   background: linear-gradient(140deg,var(--vs4-brick),var(--vs4-ember));
   color: #fff;
   display: grid;
   place-items: center;
   font-family: var(--vs4-display);
   font-size: 1.05rem;
   flex: 0 0 auto; }

.passbook footer b {
   display: block;
   font-size: .95rem; }

.passbook footer span {
   font-size: .8rem;
   color: var(--vs4-muted); }

.villageroll {
   display: flex;
   flex-wrap: wrap;
   gap: 11px;
   justify-content: center;
   list-style: none;
   padding: 0;
   margin: 0 0 30px; }

.villageroll li {
   background: #fff;
   border: 1px solid var(--vs4-line);
   border-radius: 60px;
   padding: 10px 20px;
   font-size: .92rem;
   font-weight: 600;
   box-shadow: var(--vs4-shadow-sm);
   transition: transform .25s,background .25s,color .25s,border-color .25s; }

.villageroll li:hover {
   transform: translateY(-4px);
   background: var(--vs4-brick);
   color: #fff;
   border-color: var(--vs4-brick); }

.porchbench {
   max-width: 880px;
   margin-inline: auto; }

.porchbench details {
   background: #fff;
   border: 1px solid var(--vs4-line);
   border-radius: 14px;
   margin-bottom: 12px;
   box-shadow: var(--vs4-shadow-sm);
   overflow: hidden;
   transition: box-shadow .3s; }

.porchbench details[open] {
   box-shadow: var(--vs4-shadow); }

.porchbench summary {
   cursor: pointer;
   list-style: none;
   padding: 20px 58px 20px 22px;
   font-weight: 700;
   font-size: 1.03rem;
   position: relative; }

.porchbench summary::-webkit-details-marker {
   display: none; }

.porchbench summary::after {
   content: "";
   position: absolute;
   right: 22px;
   top: 50%;
   width: 12px;
   height: 12px;
   border-right: 2.6px solid var(--vs4-brick);
   border-bottom: 2.6px solid var(--vs4-brick);
   transform: translateY(-70%) rotate(45deg);
   transition: transform .3s; }

.porchbench details[open] summary::after {
   transform: translateY(-25%) rotate(-135deg); }

.porchbench .porchbench-hold {
   padding: 0 22px 20px;
   color: var(--vs4-muted);
   font-size: .97rem; }

.porchbench .porchbench-hold p:last-child {
   margin-bottom: 0; }

.spillband {
   position: relative;
   color: #fff;
   text-align: center;
   overflow: hidden;
   isolation: isolate; }

.spillband .spillband-wash {
   position: absolute;
   inset: 0;
   z-index: -2; }

.spillband .spillband-wash img {
   width: 100%;
   height: 100%;
   object-fit: cover; }

.spillband::before {
   content: "";
   position: absolute;
   inset: 0;
   z-index: -1;
   background: linear-gradient(120deg,rgba(140,43,22,.94),rgba(25,20,17,.9)); }

.spillband h2 {
   color: #fff;
   font-size: clamp(2rem,4.4vw,3.3rem); }

.spillband p {
   color: #F1E7DC;
   max-width: 660px;
   margin-inline: auto;
   font-size: 1.06rem; }

.spillband-pulls {
   display: flex;
   gap: 15px;
   justify-content: center;
   flex-wrap: wrap;
   margin-top: 28px; }

.spillband-digits {
   display: block;
   font-family: var(--vs4-display);
   font-size: clamp(2rem,5vw,2.9rem);
   color: #fff;
   margin-top: 20px;
   letter-spacing: 1px; }

.spillband-digits:hover {
   color: var(--vs4-ember-glow); }

.milldoor-row {
   display: grid;
   grid-template-columns: 1fr 1fr;
   gap: 44px;
   align-items: start; }

.milldoor-row>* {
   min-width: 0; }

.milldoor-lines a,.streambed address a {
   overflow-wrap: anywhere; }

.deskslate {
   background: #fff;
   border-radius: var(--vs4-radius-lg);
   padding: 34px 32px;
   box-shadow: var(--vs4-shadow);
   border: 1px solid var(--vs4-line); }

.cubby {
   margin-bottom: 16px; }

.cubby label {
   display: block;
   font-weight: 700;
   font-size: .86rem;
   margin-bottom: 7px;
   letter-spacing: .4px; }

.cubby input,.cubby select,.cubby textarea {
   width: 100%;
   padding: 14px 16px;
   border: 1.6px solid var(--vs4-line);
   border-radius: 12px;
   font-size: 1rem;
   font-family: inherit;
   background: #FDFBF9;
   color: var(--vs4-ink);
   transition: border-color .25s,box-shadow .25s,background .25s; }

.cubby input:focus,.cubby select:focus,.cubby textarea:focus {
   outline: none;
   border-color: var(--vs4-brick);
   background: #fff;
   box-shadow: 0 0 0 4px rgba(178,58,33,.12); }

.cubby textarea {
   resize: vertical;
   min-height: 110px; }

.twinlane {
   display: grid;
   grid-template-columns: 1fr 1fr;
   gap: 16px; }

.desknote2 {
   font-size: .79rem;
   color: var(--vs4-muted);
   margin-top: 12px;
   text-align: center; }

.deskrun {
   display: none;
   padding: 14px 16px;
   border-radius: 12px;
   font-size: .94rem;
   margin-bottom: 16px; }

.deskrun.leveled {
   display: block;
   background: rgba(46,125,81,.1);
   color: #2E7A50;
   border: 1px solid rgba(46,125,81,.3); }

.deskrun.astray {
   display: block;
   background: rgba(178,58,33,.1);
   color: var(--vs4-brick-dark);
   border: 1px solid rgba(178,58,33,.3); }

.milldoor-lines {
   list-style: none;
   padding: 0;
   margin: 0 0 26px;
   display: grid;
   gap: 16px; }

.milldoor-lines li {
   display: flex;
   gap: 16px;
   align-items: flex-start; }

.milldoor-seal {
   width: 48px;
   height: 48px;
   flex: 0 0 auto;
   border-radius: 14px;
   background: rgba(178,58,33,.1);
   display: grid;
   place-items: center; }

.milldoor-seal svg {
   width: 22px;
   height: 22px;
   stroke: var(--vs4-brick);
   fill: none;
   stroke-width: 1.9;
   stroke-linecap: round;
   stroke-linejoin: round; }

.milldoor-lines b {
   display: block;
   font-family: var(--vs4-display);
   letter-spacing: .6px;
   text-transform: uppercase;
   font-size: .95rem; }

.milldoor-lines a,.milldoor-lines span {
   color: var(--vs4-muted);
   font-size: 1rem; }

.milldoor-lines a:hover {
   color: var(--vs4-brick); }

.survey-pane {
   border-radius: var(--vs4-radius);
   overflow: hidden;
   box-shadow: var(--vs4-shadow-sm);
   border: 1px solid var(--vs4-line);
   line-height: 0; }

.survey-pane iframe {
   width: 100%;
   height: 290px;
   border: 0; }

.bellbook {
   background: #fff;
   border: 1px solid var(--vs4-line);
   border-radius: var(--vs4-radius);
   padding: 22px 24px;
   box-shadow: var(--vs4-shadow-sm);
   margin-bottom: 26px; }

.bellbook dl {
   display: grid;
   grid-template-columns: auto 1fr;
   gap: 8px 18px;
   margin: 0;
   font-size: .95rem; }

.bellbook dt {
   font-weight: 700; }

.bellbook dd {
   margin: 0;
   text-align: right;
   color: var(--vs4-muted); }

.streambed {
   background: var(--vs4-charcoal);
   color: #AB9F92;
   padding: 70px 0 0;
   font-size: .95rem; }

.streambed-row {
   display: grid;
   grid-template-columns: 1.5fr 1fr 1fr 1.2fr;
   gap: 38px;
   padding-bottom: 44px; }

.streambed h4 {
   color: #fff;
   font-size: 1rem;
   letter-spacing: 1.6px;
   margin-bottom: 18px; }

.streambed a {
   color: #AB9F92; }

.streambed a:hover {
   color: var(--vs4-ember-glow); }

.streambed-lines {
   list-style: none;
   padding: 0;
   margin: 0;
   display: grid;
   gap: 10px; }

.streambed-mark2 {
   display: flex;
   align-items: center;
   gap: 12px;
   margin-bottom: 16px;
   color: #fff; }

.streambed-mark2 strong {
   font-family: var(--vs4-display);
   font-size: 1.1rem;
   letter-spacing: .6px;
   text-transform: uppercase; }

.streambed-silt {
   border-top: 1px solid rgba(255,255,255,.1);
   padding: 20px 0;
   display: flex;
   flex-wrap: wrap;
   gap: 10px 24px;
   justify-content: space-between;
   font-size: .84rem; }

.lanternfloat {
   position: fixed;
   right: 22px;
   bottom: 26px;
   z-index: 950;
   display: inline-flex;
   align-items: center;
   gap: 12px;
   background: linear-gradient(135deg,var(--vs4-brick),var(--vs4-brick-dark));
   color: #fff;
   padding: 15px 24px 15px 17px;
   border-radius: 60px;
   font-weight: 800;
   letter-spacing: .4px;
   box-shadow: 0 16px 40px rgba(178,58,33,.5);
   transition: transform .3s cubic-bezier(.2,.8,.3,1),box-shadow .3s; }

.lanternfloat:hover {
   transform: scale(1.06) translateY(-3px);
   color: #fff;
   box-shadow: 0 22px 52px rgba(178,58,33,.6); }

.lanternfloat .lf2-halo {
   position: relative;
   width: 40px;
   height: 40px;
   border-radius: 50%;
   background: rgba(255,255,255,.18);
   display: grid;
   place-items: center;
   flex: 0 0 auto; }

.lanternfloat .lf2-halo::before,.lanternfloat .lf2-halo::after {
   content: "";
   position: absolute;
   inset: 0;
   border-radius: 50%;
   border: 2px solid rgba(255,255,255,.6);
   animation: ring 2.6s ease-out infinite; }

.lanternfloat .lf2-halo::after {
   animation-delay: 1.3s; }

@keyframes ring {
   0% {
      transform: scale(1);
      opacity: .85; }
   100% {
      transform: scale(2.1);
      opacity: 0; } }

.lanternfloat svg {
   width: 20px;
   height: 20px;
   stroke: #fff;
   fill: none;
   stroke-width: 2;
   animation: shake 3.2s ease-in-out infinite; }

@keyframes shake {
   0%,86%,100% {
      transform: rotate(0); }
   90% {
      transform: rotate(-14deg); }
   94% {
      transform: rotate(14deg); } }

.lanternfloat .lf2-notice {
   display: flex;
   flex-direction: column;
   line-height: 1.15; }

.lanternfloat .lf2-notice small {
   font-size: .66rem;
   text-transform: uppercase;
   letter-spacing: 1.4px;
   opacity: .85;
   font-weight: 600; }

.lanternfloat .lf2-notice b {
   font-family: var(--vs4-display);
   font-size: 1.12rem;
   letter-spacing: .6px; }

.fordbar {
   display: none;
   position: fixed;
   left: 0;
   right: 0;
   bottom: 0;
   z-index: 960;
   background: rgba(25,20,17,.97);
   backdrop-filter: blur(12px);
   border-top: 1px solid rgba(255,255,255,.12);
   padding: 9px 10px calc(9px + env(safe-area-inset-bottom)); }

.fordbar ul {
   list-style: none;
   margin: 0;
   padding: 0;
   display: grid;
   grid-template-columns: 1.4fr 1fr 1fr;
   gap: 8px; }

.fordbar a {
   display: flex;
   flex-direction: column;
   align-items: center;
   justify-content: center;
   gap: 3px;
   padding: 9px 4px;
   border-radius: 12px;
   color: #EAE0D6;
   font-size: .72rem;
   font-weight: 700;
   letter-spacing: .4px;
   text-transform: uppercase; }

.fordbar a svg {
   width: 19px;
   height: 19px;
   stroke: currentColor;
   fill: none;
   stroke-width: 2;
   stroke-linecap: round;
   stroke-linejoin: round; }

.fordbar .fd2-bell {
   background: linear-gradient(135deg,var(--vs4-brick),var(--vs4-brick-dark));
   color: #fff;
   box-shadow: 0 6px 18px rgba(178,58,33,.5);
   animation: mbPulse 2.4s ease-in-out infinite; }

@keyframes mbPulse {
   0%,100% {
      box-shadow: 0 6px 18px rgba(178,58,33,.5); }
   50% {
      box-shadow: 0 6px 26px rgba(240,128,60,.85); } }

.spireclimb {
   position: fixed;
   right: 26px;
   bottom: 104px;
   z-index: 940;
   width: 46px;
   height: 46px;
   border-radius: 50%;
   background: var(--vs4-charcoal);
   color: #fff;
   display: grid;
   place-items: center;
   box-shadow: var(--vs4-shadow);
   opacity: 0;
   visibility: hidden;
   transform: translateY(10px);
   transition: .3s;
   border: 0;
   cursor: pointer; }

.spireclimb.beheld {
   opacity: 1;
   visibility: visible;
   transform: translateY(0); }

.spireclimb svg {
   width: 18px;
   height: 18px;
   stroke: #fff;
   fill: none;
   stroke-width: 2.6; }

.wellspring {
   opacity: 0;
   transform: translateY(34px);
   transition: opacity .8s cubic-bezier(.2,.8,.3,1),transform .8s cubic-bezier(.2,.8,.3,1); }

.wellspring.brimming {
   opacity: 1;
   transform: none; }

.wellspring.vsw1 {
   transition-delay: .1s; }

.wellspring.vsw2 {
   transition-delay: .2s; }

.wellspring.vsw3 {
   transition-delay: .3s; }

.wellspring.vsw4 {
   transition-delay: .4s; }

.wellspring.vsw5 {
   transition-delay: .5s; }

.wellspring.vsw6 {
   transition-delay: .6s; }

@media (max-width:1080px) {
   .headwater2-plots {
      grid-template-columns: 1fr;
      gap: 44px; }
   .millpond-card {
      max-width: 520px; }
   .weirboard {
      grid-template-columns: repeat(2,1fr); }
   .steppingpath {
      grid-template-columns: repeat(2,1fr);
      row-gap: 38px; }
   .passbooks {
      grid-template-columns: 1fr; }
   .streambed-row {
      grid-template-columns: 1fr 1fr; }
   .weirwall {
      grid-template-columns: repeat(3,1fr); } }

@media (max-width:1440px) {
   .lanes {
      gap: 18px; }
   .lanes a {
      font-size: .9rem; }
   .walkrail-digits {
      display: none; } }

@media (max-width:1240px) {
   .lanes {
      gap: 15px; }
   .lanes a {
      font-size: .86rem; }
   .lanes li:has(.walkrail-soft) {
      display: none; }
   .walkrail-soft {
      display: none; } }

@media (max-width:1150px) {
   .lanes {
      position: fixed;
      inset: var(--vs4-header-h) 0 auto 0;
      background: var(--vs4-cream);
      flex-direction: column;
      align-items: stretch;
      gap: 0;
      padding: 10px 6% 26px;
      border-bottom: 1px solid var(--vs4-line);
      box-shadow: var(--vs4-shadow);
      transform: translateY(-135%);
      transition: transform .4s cubic-bezier(.2,.8,.3,1);
      max-height: calc(100vh - var(--vs4-header-h));
      overflow: auto; }
   .lanes.uncorked {
      transform: translateY(0); }
   .lanes li:has(.walkrail-soft) {
      display: block; }
   .walkrail-soft {
      display: block; }
   .lanes li {
      border-bottom: 1px solid var(--vs4-line); }
   .lanes a {
      display: block;
      padding: 15px 0;
      font-size: 1.05rem; }
   .gatehinge {
      display: block; }
   .walkrail-digits {
      display: none; }
   .walkrail-urge .millpull {
      padding: 12px 20px;
      font-size: .92rem; }
   .floodmark-row,.milldoor-row {
      grid-template-columns: 1fr;
      gap: 34px; }
   .lanternfloat {
      display: none; }
   .fordbar {
      display: block; }
   body {
      padding-bottom: 74px; }
   .spireclimb {
      bottom: 88px;
      right: 16px; } }

@media (max-width:640px) {
   body {
      font-size: 16px; }
   .eavesband .greenway {
      justify-content: center;
      text-align: center;
      font-size: .8rem;
      gap: 6px 16px;
      padding: 7px 0; }
   .eavesband .eb2-folded,.eavesband .eb2-current {
      display: none; }
   .walkrail-bell-note {
      display: none; }
   .walkrail-urge .millpull {
      padding: 12px 14px;
      border-radius: 50%; }
   .walkrail-urge {
      gap: 9px; }
   .weirboard,.steppingpath {
      grid-template-columns: 1fr 1fr;
      gap: 14px; }
   .weirwall {
      grid-template-columns: repeat(2,1fr);
      gap: 10px; }
   .weirwall-frame:nth-child(1),.weirwall-frame:nth-child(6) {
      grid-row: span 1;
      aspect-ratio: 1; }
   .twinlane {
      grid-template-columns: 1fr; }
   .deskslate {
      padding: 26px 20px; }
   .streambed-row {
      grid-template-columns: 1fr;
      gap: 30px; }
   .headwater2-pulls .millpull {
      flex: 1 1 100%; }
   .walkrail {
      gap: 8px; }
   .housemark {
      min-width: 0;
      gap: 9px; }
   .housemark-device {
      width: 38px;
      height: 38px; }
   .housemark-note {
      min-width: 0; }
   .housemark-note span {
      font-size: .56rem;
      letter-spacing: 1.2px;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis; }
   .housemark-note strong {
      font-size: .85rem;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis; }
   .weirboard .weirboard-gate {
      padding: 20px 12px; }
   .millroom-hold,.deskslate {
      overflow-wrap: break-word; } }

@media (max-width:400px) {
   .greenway {
      width: 94%; }
   .steppingpath {
      grid-template-columns: 1fr;
      row-gap: 34px; }
   .weirboard {
      gap: 10px; }
   .housemark-device {
      width: 34px;
      height: 34px; }
   .housemark-note strong {
      font-size: .8rem; }
   .walkrail-urge .millpull {
      padding: 11px 13px; }
   .gatehinge {
      width: 44px; } }

@media (prefers-reduced-motion:reduce) {
   *,*::before,*::after {
      animation-duration: .001ms!important;
      animation-iteration-count: 1!important;
      transition-duration: .001ms!important; }
   html {
      scroll-behavior: auto; }
   .wellspring {
      opacity: 1;
      transform: none; } }

@media print {
   .lintelband,.lanternfloat,.fordbar,.spireclimb,#bg-fx-vs,.raceway {
      display: none!important; }
   body {
      background: #fff;
      color: #000; } }

.millpond-freecheck {
   font-family: var(--vs4-display);
   font-size: clamp(3rem,6.4vw,4.3rem);
   line-height: 1;
   color: var(--vs4-brick);
   text-align: center;
   letter-spacing: 2px;
   margin: 8px 0 2px; }

.millpond-freecheck small {
   display: block;
   font-family: var(--vs4-font);
   font-size: .31em;
   letter-spacing: 3.4px;
   color: var(--vs4-coast);
   font-weight: 800;
   margin-top: 6px; }

.millpond-card .millpond-slate svg {
   stroke: var(--vs4-coast); }

.banner-freecheck {
   background: var(--vs4-coast);
   box-shadow: 0 8px 20px rgba(30,111,104,.42); }

.pebble-check-slate {
   background: rgba(30,111,104,.22); }

.pebble-check-slate svg {
   stroke: #8CC4DE; }

.ripple-aside {
   display: flex;
   gap: 12px;
   align-items: flex-start;
   background: rgba(242,145,63,.1);
   border: 1px solid rgba(242,145,63,.34);
   border-radius: 14px;
   padding: 16px 18px;
   margin-top: 24px; }

.ripple-aside svg {
   width: 22px;
   height: 22px;
   flex: 0 0 auto;
   margin-top: 2px;
   stroke: var(--vs4-brick);
   fill: none;
   stroke-width: 2;
   stroke-linecap: round;
   stroke-linejoin: round; }

.ripple-aside p {
   margin: 0;
   font-size: .94rem; }

.foreman-card {
   background: linear-gradient(158deg,var(--vs4-charcoal) 0%,var(--vs4-charcoal-2) 55%,#3A251D 100%);
   color: #DED3C7;
   border-radius: var(--vs4-radius-lg);
   padding: 38px 34px;
   box-shadow: var(--vs4-shadow-lg);
   border: 1px solid rgba(255,255,255,.09);
   position: relative;
   overflow: hidden; }

.foreman-card::before {
   content: "";
   position: absolute;
   top: -90px;
   right: -70px;
   width: 260px;
   height: 260px;
   border-radius: 50%;
   background: radial-gradient(circle,rgba(242,145,63,.34),transparent 68%);
   filter: blur(14px);
   animation: float1 18s ease-in-out infinite; }

.foreman-card>* {
   position: relative;
   z-index: 1; }

.foreman-tag {
   display: inline-flex;
   align-items: center;
   gap: 9px;
   color: var(--vs4-ember-glow);
   font-weight: 800;
   letter-spacing: 2.4px;
   text-transform: uppercase;
   font-size: .74rem;
   margin-bottom: 12px; }

.foreman-tag::before {
   content: "";
   width: 26px;
   height: 2px;
   background: var(--vs4-ember); }

.foreman-card h3 {
   color: #fff;
   font-size: clamp(1.4rem,2.4vw,1.9rem);
   margin-bottom: 10px; }

.foreman-card p {
   color: #B7AB9E;
   font-size: .99rem; }

.foreman-digits {
   display: block;
   font-family: var(--vs4-display);
   font-size: clamp(2.1rem,4.6vw,3rem);
   color: #fff;
   letter-spacing: 1px;
   margin: 20px 0 18px;
   text-align: center;
   transition: color .25s,transform .25s; }

.foreman-digits:hover {
   color: var(--vs4-ember-glow);
   transform: scale(1.03); }

.foreman-bellbook {
   text-align: center;
   font-size: .92rem;
   margin: 18px 0 0;
   color: #B7AB9E; }

.foreman-bellbook strong {
   color: #fff; }

.foreman-slateboard {
   margin-top: 26px;
   padding-top: 22px;
   border-top: 1px solid rgba(255,255,255,.12); }

.foreman-slateboard h4 {
   color: #fff;
   font-size: .92rem;
   letter-spacing: 1.8px;
   margin-bottom: 14px; }

.foreman-slateboard ol {
   margin: 0;
   padding: 0;
   list-style: none;
   counter-reset: ce;
   display: grid;
   gap: 12px; }

.foreman-slateboard li {
   counter-increment: ce;
   display: flex;
   gap: 13px;
   align-items: flex-start;
   font-size: .94rem;
   color: #C5B9AC; }

.foreman-slateboard li::before {
   content: counter(ce);
   flex: 0 0 auto;
   width: 26px;
   height: 26px;
   border-radius: 8px;
   background: rgba(242,145,63,.18);
   color: var(--vs4-ember-glow);
   font-family: var(--vs4-display);
   font-size: .9rem;
   display: grid;
   place-items: center;
   margin-top: 1px; }

@media (max-width:640px) {
   .foreman-card {
      padding: 28px 22px; } }

.passbook p {
   font-size: .95rem;
   line-height: 1.62; }

.passbook footer b {
   font-size: .92rem;
   line-height: 1.3; }

.passbook .locketface svg {
   display: block; }

@media (max-width:1080px) {
   .passbooks {
      gap: 22px; } }

.fordbar ul.fd2-pair2 {
   grid-template-columns: 1.7fr 1fr; }

/* slim-screen touch work */
@media (max-width: 392px) {
   .housemark-note strong {
      max-width: 46vw;
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap; }
   .walkrail-bell {
      padding-inline: 13px; } }

.fordbar ul {
   grid-template-columns: 1fr; }

.steppingpath > * {
   min-width: 0; }

.steppingpath-stone2 h3 {
   overflow-wrap: anywhere; }

.weirboard-gate b span {
   font-size: inherit;
   color: inherit;
   letter-spacing: 0; }
