/* Greensboro Chimney & Masonry -- the loom sheet.
   Gold thread and denim indigo over mill-dusk char; carded-cotton cream ground. */
:root {
  --gb9-mill: #AF4E1C;
  --gb9-milldeep: #7E3610;
  --gb9-thread: #CDA030;
  --gb9-threadlight: #ECD592;
  --gb9-denim: #3F5C8A;
  --gb9-denimlight: #B7C7E2;
  --gb9-dusk: #171310;
  --gb9-dusk2: #221D16;
  --gb9-dusk3: #322A1F;
  --gb9-cotton: #F6F1E8;
  --gb9-cotton2: #EDE7D9;
  --gb9-inkbolt: #1A1610;
  --gb9-mutedwarp: #6E665A;
  --gb9-cardline: #DCD6C6;
  --gb9-font: 'Plus Jakarta Sans', system-ui, -apple-system, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
  --gb9-display: 'Passion One', 'Arial Narrow', var(--gb9-font);
  --gb9-radius: 14px;
  --gb9-shadow: 0 12px 34px rgba(23, 19, 16, .14);
}
* {
  box-sizing: border-box;
}
html {
  scroll-behavior: smooth;
}
body {
  margin: 0;
  font: 400 1rem/1.65 var(--gb9-font);
  color: var(--gb9-inkbolt);
  background: var(--gb9-cotton);
}
img {
  max-width: 100%;
  display: block;
}
a {
  color: var(--gb9-mill);
}
h1, h2, h3, h4 {
  font-family: var(--gb9-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;
}
.loomspan7 {
  width: min(1180px, 100% - 40px);
  margin-inline: auto;
}
section {
  padding-block: clamp(54px, 7vw, 96px);
  position: relative;
  background: var(--gb9-cotton);
}
.sidegate-link7 {
  position: absolute;
  left: -9999px;
  top: 0;
  background: var(--gb9-thread);
  color: var(--gb9-dusk);
  padding: 10px 18px;
  z-index: 200;
}
.sidegate-link7:focus {
  left: 12px;
  top: 12px;
}
/* buttons */
.shuttlepull7 {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: .8rem 1.5rem;
  border-radius: 12px;
  background: var(--gb9-mill);
  color: #FFF8F0;
  font-weight: 700;
  text-decoration: none;
  border: 2px solid transparent;
  transition: transform .18s ease, background .18s ease, box-shadow .18s ease;
  cursor: pointer;
}
.shuttlepull7:hover {
  background: var(--gb9-milldeep);
  transform: translateY(-2px);
  box-shadow: var(--gb9-shadow);
}
.shuttlepull7-mill {
  background: var(--gb9-mill);
}
.shuttlepull7-wide {
  padding: 1rem 1.9rem;
  font-size: 1.06rem;
}
.shuttlepull7-faded {
  background: transparent;
  border-color: rgba(255, 248, 240, .55);
  color: #FFF8F0;
}
.shuttlepull7-faded:hover {
  background: rgba(255, 248, 240, .12);
}
.shuttlepull7-fullbolt {
  width: 100%;
  justify-content: center;
}
/* background effects */
#bg-fx-gb {
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  overflow: hidden;
}
#emberCanvas-gb {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
.lintdrift7 {
  position: absolute;
  border-radius: 50%;
  filter: blur(64px);
  opacity: .35;
  will-change: transform;
}
.lintdrift7-a {
  width: 340px;
  height: 340px;
  background: var(--gb9-mill);
  top: 6%;
  left: -90px;
}
.lintdrift7-b {
  width: 280px;
  height: 280px;
  background: var(--gb9-denim);
  top: 42%;
  right: -70px;
}
.lintdrift7-c {
  width: 240px;
  height: 240px;
  background: var(--gb9-thread);
  bottom: 4%;
  left: 32%;
}
main, header, footer, .firstwhistle7 {
  position: relative;
  z-index: 1;
}
/* top strip */
.firstwhistle7 {
  background: var(--gb9-dusk);
  color: #E8E2D4;
  font-size: .84rem;
  padding-block: 8px;
  border-bottom: 1px solid rgba(205, 160, 48, .25);
}
.firstwhistle7 .loomspan7 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
}
.fw7-chip {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  white-space: nowrap;
}
.fw7-chip a {
  color: #fff;
  text-decoration: none;
}
.whistledot7 {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: #35C26F;
  display: inline-block;
  animation: gbpulse 1.7s infinite;
}
@keyframes gbpulse {
  0% {
    box-shadow: 0 0 0 0 rgba(53, 194, 111, .55);
  }
  70% {
    box-shadow: 0 0 0 8px rgba(53, 194, 111, 0);
  }
  100% {
    box-shadow: 0 0 0 0 rgba(53, 194, 111, 0);
  }
}
@media (max-width: 900px) {
  .fw7-fold {
    display: none;
  }
}
@media (max-width: 620px) {
  .fw7-bulletin {
    display: none;
  }
  .firstwhistle7 .loomspan7 {
    justify-content: center;
  }
}
/* header */
.millgatehouse7 {
  position: sticky;
  top: 0;
  z-index: 90;
  background: rgba(23, 19, 16, .96);
  transition: box-shadow .25s ease;
}
.millgatehouse7.warpworn {
  box-shadow: 0 8px 26px rgba(0, 0, 0, .45);
}
.gatedesk7 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding-block: 13px;
  min-width: 0;
}
.millseal7 {
  display: flex;
  align-items: center;
  gap: 12px;
  text-decoration: none;
  color: #fff;
  min-width: 0;
}
.millseal7-plate {
  width: 46px;
  height: 46px;
}
.millseal7-slip {
  display: flex;
  flex-direction: column;
  line-height: 1.12;
}
.millseal7-slip {
  min-width: 0;
}
.millseal7-slip strong {
  font-family: var(--gb9-display);
  font-size: 1.12rem;
  letter-spacing: .03em;
  color: #FFF8F0;
  white-space: nowrap;
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
}
@media (max-width: 700px) {
  .millseal7-slip strong {
    font-size: 1.06rem;
  }
  .millseal7-plate {
    width: 38px;
    height: 38px;
  }
}
@media (max-width: 560px) {
  .millseal7-slip strong {
    max-width: 40vw;
    overflow: hidden;
    text-overflow: ellipsis;
  }
}
.millseal7-slip span {
  font-size: .8rem;
  color: var(--gb9-threadlight);
  letter-spacing: .14em;
  text-transform: uppercase;
}
.weftrow7 {
  display: flex;
  gap: clamp(8px, 1vw, 20px);
  list-style: none;
  margin: 0;
  padding: 0;
}
.weftrow7 a {
  color: #E4DECF;
  text-decoration: none;
  font-size: .84rem;
  font-weight: 600;
  padding: 6px 2px;
  border-bottom: 2px solid transparent;
  white-space: nowrap;
}
.weftrow7 a:hover, .weftrow7 a.onthebeam {
  color: var(--gb9-thread);
  border-bottom-color: var(--gb9-thread);
}
.gatedesk7-dim {
  opacity: .85;
}
.gatedesk7-drive {
  display: flex;
  align-items: center;
  gap: 14px;
}
.gatedesk7-digits {
  display: flex;
  flex-direction: column;
  text-align: right;
  line-height: 1.2;
}
.gatedesk7-digits small {
  color: #B9B2A2;
  font-size: .72rem;
}
.gatedesk7-digits b a {
  color: #fff;
  text-decoration: none;
  font-size: 1.02rem;
}
.gatedesk7-pull {
  white-space: nowrap;
}
.sheddoor7 {
  display: none;
  background: none;
  border: 0;
  padding: 8px;
  cursor: pointer;
}
.sheddoor7 span {
  display: block;
  width: 26px;
  height: 3px;
  background: #fff;
  margin: 5px 0;
  border-radius: 2px;
  transition: transform .25s, opacity .25s;
}
@media (max-width: 1439px) {
  .gatedesk7-digits {
    display: none;
  }
}
@media (max-width: 992px) {
  .sheddoor7 {
    display: block;
  }
  .weftrow7 {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: var(--gb9-dusk);
    flex-direction: column;
    gap: 0;
    padding: 10px 22px 18px;
    display: none;
    border-bottom: 3px solid var(--gb9-thread);
  }
  .weftrow7.shedswung {
    display: flex;
  }
  .weftrow7 a {
    padding: 12px 4px;
    border-bottom: 1px solid rgba(255, 255, 255, .07);
    font-size: 1.02rem;
  }
}
@media (max-width: 700px) {
  .gatedesk7-pull-slip {
    display: none;
  }
  .gatedesk7-pull {
    padding-inline: 14px;
  }
}
@media (min-width: 993px) and (max-width: 1249px) {
  .gatedesk7-pull-slip {
    display: none;
  }
  .gatedesk7-pull {
    padding-inline: 14px;
  }
}
/* hero */
.millfront7 {
  background: var(--gb9-dusk);
  color: #F2EDE1;
  overflow: hidden;
  padding-block: clamp(60px, 8vw, 110px);
}
.millfront7-haze {
  position: absolute;
  inset: 0;
  z-index: 0;
}
.millfront7-haze img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: .34;
}
.millfront7-haze::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(105deg, rgba(23, 19, 16, .96) 30%, rgba(23, 19, 16, .55) 68%, rgba(23, 19, 16, .8));
}
.millfront7 .loomspan7 {
  position: relative;
  z-index: 1;
}
.millfront7-bolts {
  display: grid;
  grid-template-columns: 1.25fr .85fr;
  gap: clamp(28px, 4.5vw, 62px);
  align-items: center;
}
.selvagemark7 {
  display: inline-block;
  font-size: .8rem;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--gb9-threadlight);
  border: 1px solid rgba(205, 160, 48, .5);
  border-radius: 99px;
  padding: 6px 14px;
  margin-bottom: 18px;
}
.millfront7 h1 {
  font-size: clamp(2.4rem, 5.4vw, 4rem);
  color: #FFF8F0;
}
.goldthread7 {
  color: var(--gb9-thread);
}
.millfront7-underline {
  color: #D8D2C2;
  max-width: 56ch;
  font-size: 1.04rem;
}
.millfront7-pulls {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin: 26px 0 8px;
}
.millfront7-stamps {
  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: #E4DECF;
}
.millfront7-stamps li {
  display: flex;
  align-items: center;
  gap: 9px;
}
.stitchmark7 {
  width: 21px;
  height: 21px;
  border-radius: 50%;
  background: rgba(205, 160, 48, .18);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.stitchmark7 svg {
  width: 13px;
  height: 13px;
  stroke: var(--gb9-thread);
  stroke-width: 3;
  fill: none;
}
/* offer card */
.wholecloth7 {
  background: linear-gradient(165deg, #FFFDF8, var(--gb9-cotton2));
  color: var(--gb9-inkbolt);
  border-radius: 18px;
  padding: 28px 26px;
  box-shadow: 0 24px 60px rgba(0, 0, 0, .4);
  border-top: 6px solid var(--gb9-thread);
  position: relative;
}
.wholecloth7-seal {
  display: inline-block;
  background: var(--gb9-denim);
  color: #F2F6FC;
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  border-radius: 99px;
  padding: 5px 13px;
  margin-bottom: 10px;
}
.wholecloth7 h2 {
  font-size: 2rem;
  margin-bottom: .2em;
}
.wholecloth7-dimeline {
  margin: 4px 0 2px;
}
.wholecloth7-notonedime {
  font-family: var(--gb9-display);
  font-size: clamp(1.9rem, 3vw, 2.5rem);
  color: var(--gb9-mill);
  letter-spacing: .01em;
}
.wholecloth7-caption {
  color: var(--gb9-mutedwarp);
  font-weight: 600;
  font-size: .95rem;
}
.wholecloth7-rows {
  list-style: none;
  margin: 14px 0 18px;
  padding: 0;
  display: grid;
  gap: 9px;
  font-size: .94rem;
}
.wholecloth7-rows li {
  display: flex;
  gap: 9px;
  align-items: flex-start;
}
.wholecloth7-rows svg {
  width: 17px;
  height: 17px;
  stroke: var(--gb9-mill);
  stroke-width: 3;
  fill: none;
  flex-shrink: 0;
  margin-top: 3px;
}
.wholecloth7-smallprint {
  font-size: .8rem;
  color: var(--gb9-mutedwarp);
  margin: 14px 0 0;
  line-height: 1.55;
}
/* marquee */
.shuttlerun7 {
  background: var(--gb9-thread);
  color: var(--gb9-dusk);
  overflow: hidden;
  padding-block: 12px;
  font-weight: 700;
  font-size: .95rem;
}
.shuttlerun7-belt {
  display: flex;
  gap: 34px;
  white-space: nowrap;
  animation: gbbelt 34s linear infinite;
  width: max-content;
}
.shuttlerun7-belt span {
  display: inline-flex;
  gap: 10px;
  align-items: center;
}
.shuttlerun7-belt b {
  color: var(--gb9-mill);
}
@keyframes gbbelt {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-50%);
  }
}
/* stats */
.bobbinboard7 {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}
.bobbinboard7-cell {
  background: #FFFDF8;
  border: 1px solid var(--gb9-cardline);
  border-radius: var(--gb9-radius);
  padding: 22px 18px;
  text-align: center;
  box-shadow: 0 6px 18px rgba(23, 19, 16, .05);
}
.bobbinboard7-cell b {
  font-family: var(--gb9-display);
  font-size: clamp(1.9rem, 3.3vw, 2.6rem);
  color: var(--gb9-mill);
  display: block;
  letter-spacing: .01em;
}
.bobbinboard7-cell b span {
  font-size: inherit;
  color: inherit;
  letter-spacing: 0;
}
.bobbinboard7-cell span {
  font-size: .85rem;
  color: var(--gb9-mutedwarp);
}
@media (max-width: 860px) {
  .bobbinboard7 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
/* section heads */
.beamhead7 {
  max-width: 760px;
  margin-bottom: clamp(28px, 4vw, 48px);
}
.midloom7 {
  margin-inline: auto;
  text-align: center;
}
.westloom7 {
  text-align: left;
}
.threadflag7 {
  display: inline-block;
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--gb9-mill);
  margin-bottom: 10px;
}
.firstpick7 {
  color: var(--gb9-mutedwarp);
  font-size: 1.03rem;
}
/* services */
.workloom7-bolts {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(258px, 1fr));
  gap: 22px;
}
.workloom7 {
  background: #FFFDF8;
  border: 1px solid var(--gb9-cardline);
  border-radius: var(--gb9-radius);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: transform .2s ease, box-shadow .2s ease;
}
.workloom7:hover {
  transform: translateY(-5px);
  box-shadow: var(--gb9-shadow);
}
.workloom7-window {
  position: relative;
  aspect-ratio: 16/9.5;
	height: 200px;
  overflow: hidden;
}
.workloom7-window img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .35s ease;
}
.workloom7:hover .workloom7-window img {
  transform: scale(1.06);
}
.workloom7-ledger {
  position: relative;
}
.workloom7-seal {
  position: absolute;
  right: 16px;
  top: -24px;
  width: 46px;
  height: 46px;
  background: var(--gb9-mill);
  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 #FFFDF8;
}
.workloom7-seal svg {
  width: 23px;
  height: 23px;
  stroke: #FFF4E6;
  stroke-width: 1.7;
  fill: none;
}
.workloom7-ledger {
  padding: 22px 20px 20px;
  display: flex;
  flex-direction: column;
  flex: 1;
}
.workloom7-ledger p {
  font-size: .92rem;
  color: #4B453A;
}
.workloom7-ledger ul {
  margin: 0 0 14px;
  padding-left: 18px;
  font-size: .85rem;
  color: var(--gb9-mutedwarp);
  display: grid;
  gap: 4px;
}
.workloom7-pull {
  margin-top: auto;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-weight: 700;
  font-size: .9rem;
  color: var(--gb9-mill);
  text-decoration: none;
}
.workloom7-pull svg {
  width: 15px;
  height: 15px;
  stroke: currentColor;
  stroke-width: 2.4;
  fill: none;
  transition: transform .18s;
}
.workloom7-pull:hover svg {
  transform: translateX(4px);
}
/* dark + cream tones */
.tone-milldusk7 {
  background: var(--gb9-dusk);
  color: #EDE7DA;
}
.tone-milldusk7 h2 {
  color: #FFF8F0;
}
.tone-milldusk7 .firstpick7 {
  color: #B9B2A2;
}
.tone-cottoncream {
  background: var(--gb9-cotton2);
}
/* warning signs */
.frayboard7-bolts {
  display: grid;
  grid-template-columns: 1.15fr .85fr;
  gap: clamp(28px, 4vw, 56px);
  align-items: start;
}
.frayboard7-notices {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 14px;
}
.frayboard7-notices li {
  display: flex;
  gap: 14px;
  background: rgba(255, 253, 248, .05);
  border: 1px solid rgba(205, 160, 48, .22);
  border-radius: 12px;
  padding: 13px 16px;
}
.frayboard7-notices b {
  display: block;
  color: #FFF3DE;
}
.frayboard7-notices span {
  font-size: .87rem;
  color: #BCB5A4;
}
.fb7 {
  width: 38px;
  height: 38px;
  flex-shrink: 0;
  border-radius: 10px;
  background: rgba(175, 78, 28, .3);
  display: flex;
  align-items: center;
  justify-content: center;
}
.fb7 svg {
  width: 19px;
  height: 19px;
  stroke: var(--gb9-thread);
  stroke-width: 1.8;
  fill: none;
}
.frayboard7-window {
  border-radius: var(--gb9-radius);
  overflow: hidden;
  position: sticky;
  top: 96px;
  box-shadow: 0 20px 48px rgba(0, 0, 0, .5);
}
.frayboard7-window img {
  width: 100%;
}
.frayboard7-chalk {
  background: var(--gb9-dusk2);
  padding: 18px 20px;
}
.frayboard7-chalk b {
  color: var(--gb9-thread);
  display: block;
  margin-bottom: 5px;
}
.frayboard7-chalk span {
  font-size: .87rem;
  color: #BCB5A4;
}
/* process */
.pickrow7 {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 20px;
}
.pickrow7 > * {
  min-width: 0;
}
.pickrow7-pass {
  background: #FFFDF8;
  border: 1px solid var(--gb9-cardline);
  border-radius: var(--gb9-radius);
  padding: 26px 20px 22px;
  position: relative;
}
.pickrow7-pass h3 {
  overflow-wrap: anywhere;
  font-size: 1.2rem;
  margin-top: 12px;
}
.pickrow7-pass p {
  font-size: .88rem;
  color: #4B453A;
  margin: 0;
}
.pickrow7-stamp {
  font-family: var(--gb9-display);
  font-size: 1.5rem;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--gb9-denim);
  color: #F2F6FC;
}
@media (max-width: 900px) {
  .pickrow7 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 540px) {
  .pickrow7 {
    grid-template-columns: 1fr;
  }
}
/* cta band */
.duskmill7 {
  background: var(--gb9-dusk);
  color: #F2EDE1;
  text-align: center;
  overflow: hidden;
}
.duskmill7-haze {
  position: absolute;
  inset: 0;
}
.duskmill7-haze img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: .22;
}
.duskmill7-haze::after {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse at center, rgba(23, 19, 16, .55), rgba(23, 19, 16, .93));
}
.duskmill7 .loomspan7 {
  position: relative;
  z-index: 1;
  max-width: 820px;
}
.duskmill7 h2 {
  color: #FFF8F0;
}
.duskmill7-digits {
  display: inline-block;
  font-family: var(--gb9-display);
  font-size: clamp(2.1rem, 5vw, 3.4rem);
  color: var(--gb9-thread);
  text-decoration: none;
  margin: 12px 0 6px;
}
.duskmill7-pulls {
  margin-top: 14px;
}
/* gallery */
.boltbook7 {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(215px, 1fr));
  gap: 16px;
}
.boltbook7-page {
  margin: 0;
  border-radius: 12px;
  overflow: hidden;
  background: #FFFDF8;
  border: 1px solid var(--gb9-cardline);
}
.boltbook7-page img {
  width: 100%;
  aspect-ratio: 4/2.6;
	height: 175px;
  object-fit: cover;
  transition: transform .3s ease;
}
.boltbook7-page:hover img {
  transform: scale(1.05);
}
.boltbook7-page figcaption {
  font-size: .8rem;
  font-weight: 600;
  color: var(--gb9-mutedwarp);
  padding: 9px 13px;
}
/* areas */
.countyloom7 {
  list-style: none;
  margin: 0 0 22px;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: center;
}
.countyloom7 li {
  background: #FFFDF8;
  border: 1px solid var(--gb9-cardline);
  border-radius: 99px;
  padding: 8px 18px;
  font-size: .9rem;
  font-weight: 600;
}
/* faq */
.millgate-qa {
  max-width: 840px;
  margin-inline: auto;
  display: grid;
  gap: 12px;
}
.millgate-qa details {
  background: #FFFDF8;
  border: 1px solid var(--gb9-cardline);
  border-radius: 12px;
  overflow: hidden;
}
.millgate-qa summary {
  cursor: pointer;
  font-weight: 700;
  padding: 17px 46px 17px 20px;
  position: relative;
  list-style: none;
}
.millgate-qa summary::-webkit-details-marker {
  display: none;
}
.millgate-qa summary::after {
  content: "+";
  position: absolute;
  right: 18px;
  top: 50%;
  transform: translateY(-50%);
  font-family: var(--gb9-display);
  font-size: 1.5rem;
  color: var(--gb9-mill);
}
.millgate-qa details[open] summary::after {
  content: "–";
}
.millgate-qa-ledger {
  padding: 0 20px 18px;
  font-size: .93rem;
  color: #4B453A;
}
/* contact */
.marketdesk7 {
  display: grid;
  grid-template-columns: 1fr .95fr;
  gap: clamp(26px, 4vw, 52px);
  align-items: start;
}
.marketdesk7-lines {
  list-style: none;
  margin: 0 0 22px;
  padding: 0;
  display: grid;
  gap: 16px;
}
.marketdesk7-lines li {
  display: flex;
  gap: 14px;
  align-items: flex-start;
}
.marketdesk7-lines b {
  display: block;
  font-size: .8rem;
  text-transform: uppercase;
  letter-spacing: .1em;
  color: var(--gb9-mutedwarp);
}
.marketdesk7-lines a, .marketdesk7-lines span {
  font-weight: 600;
  color: var(--gb9-inkbolt);
  text-decoration: none;
}
.marketdesk7-seal {
  width: 42px;
  height: 42px;
  border-radius: 11px;
  background: rgba(175, 78, 28, .12);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.marketdesk7-seal svg {
  width: 20px;
  height: 20px;
  stroke: var(--gb9-mill);
  stroke-width: 1.8;
  fill: none;
}
.millwatch7 {
  background: #FFFDF8;
  border: 1px solid var(--gb9-cardline);
  border-radius: var(--gb9-radius);
  padding: 18px 20px;
  margin-bottom: 22px;
}
.millwatch7 dl {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 7px 18px;
  margin: 0;
  font-size: .92rem;
}
.millwatch7 dt {
  font-weight: 700;
}
.millwatch7 dd {
  margin: 0;
  color: var(--gb9-mutedwarp);
}
.countymap7x {
  border-radius: var(--gb9-radius);
  overflow: hidden;
  border: 1px solid var(--gb9-cardline);
}
.countymap7x iframe {
  width: 100%;
  height: 260px;
  border: 0;
  display: block;
}
.weaver-card7 {
  background: var(--gb9-dusk);
  color: #EDE7DA;
  border-radius: 18px;
  padding: 30px 28px;
  position: sticky;
  top: 96px;
  box-shadow: 0 24px 56px rgba(23, 19, 16, .35);
  border-top: 6px solid var(--gb9-mill);
}
.weaver-tag7 {
  display: inline-block;
  background: rgba(205, 160, 48, .16);
  color: var(--gb9-threadlight);
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  border-radius: 99px;
  padding: 5px 13px;
  margin-bottom: 12px;
}
.weaver-card7 h3 {
  color: #FFF8F0;
  font-size: 1.55rem;
}
.weaver-card7 > p {
  font-size: .92rem;
  color: #C8C1B0;
}
.weaver-digits7 {
  display: block;
  font-family: var(--gb9-display);
  font-size: 2.1rem;
  color: var(--gb9-thread);
  text-decoration: none;
  margin: 10px 0 14px;
}
.weaver-watch7 {
  font-size: .87rem;
  color: #C8C1B0;
  margin-top: 14px;
}
.weaver-watch7 strong {
  color: #FFF3DE;
}
.weaver-steps7 {
  margin-top: 18px;
  border-top: 1px solid rgba(255, 255, 255, .12);
  padding-top: 16px;
}
.weaver-steps7 h4 {
  font-size: 1.02rem;
  color: var(--gb9-threadlight);
}
.weaver-steps7 ol {
  margin: 0;
  padding-left: 20px;
  font-size: .88rem;
  color: #C8C1B0;
  display: grid;
  gap: 6px;
}
@media (max-width: 900px) {
  .marketdesk7, .frayboard7-bolts, .millfront7-bolts {
    grid-template-columns: 1fr;
  }
  .weaver-card7, .frayboard7-window {
    position: static;
  }
}
/* footer */
.warpfooting7 {
  background: var(--gb9-dusk);
  color: #C8C1B0;
  padding-block: clamp(44px, 6vw, 72px) 0;
  font-size: .92rem;
}
.warpfooting7-bolts {
  display: grid;
  grid-template-columns: 1.4fr .8fr .8fr 1fr;
  gap: clamp(24px, 3.5vw, 48px);
}
.warpfooting7 h4 {
  color: var(--gb9-threadlight);
  letter-spacing: .06em;
  font-size: 1.15rem;
}
.warpfooting7-seal {
  display: flex;
  gap: 12px;
  align-items: center;
  margin-bottom: 14px;
}
.warpfooting7-seal strong {
  font-family: var(--gb9-display);
  font-size: 1.25rem;
  color: #FFF8F0;
  line-height: 1.15;
  letter-spacing: .03em;
}
.warpfooting7-lines {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 8px;
}
.warpfooting7-lines a {
  color: #C8C1B0;
  text-decoration: none;
}
.warpfooting7-lines a:hover {
  color: var(--gb9-thread);
}
.warpfooting7 address a {
  color: #fff;
  text-decoration: none;
}
.warpfooting7-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: #8F887A;
}
@media (max-width: 900px) {
  .warpfooting7-bolts {
    grid-template-columns: 1fr 1fr;
  }
}
@media (max-width: 560px) {
  .warpfooting7-bolts {
    grid-template-columns: 1fr;
  }
}
/* floating call pill (desktop) */
.milllamp7 {
  position: fixed;
  right: 22px;
  bottom: 24px;
  z-index: 80;
  display: flex;
  align-items: center;
  gap: 12px;
  background: var(--gb9-dusk);
  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(205, 160, 48, .5);
}
.ml7-halo {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: var(--gb9-mill);
  display: flex;
  align-items: center;
  justify-content: center;
  animation: gbring 2.1s infinite;
}
.ml7-halo svg {
  width: 20px;
  height: 20px;
  stroke: #fff;
  stroke-width: 2;
  fill: none;
}
@keyframes gbring {
  0% {
    box-shadow: 0 0 0 0 rgba(175, 78, 28, .55);
  }
  70% {
    box-shadow: 0 0 0 12px rgba(175, 78, 28, 0);
  }
  100% {
    box-shadow: 0 0 0 0 rgba(175, 78, 28, 0);
  }
}
.ml7-slip {
  display: flex;
  flex-direction: column;
  line-height: 1.2;
}
.ml7-slip small {
  font-size: .68rem;
  color: #C8C1B0;
}
.ml7-slip b {
  font-size: 1rem;
}
/* mobile call bar */
.shedbar7 {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 85;
  background: var(--gb9-dusk);
  border-top: 2px solid var(--gb9-thread);
  display: none;
  padding: 9px 12px calc(9px + env(safe-area-inset-bottom));
}
.shedbar7 ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: 1fr;
  gap: 9px;
}
.sd7-pull {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  background: var(--gb9-mill);
  color: #FFF8F0;
  font-weight: 800;
  text-decoration: none;
  border-radius: 11px;
  padding: 13px 10px;
  font-size: 1.02rem;
}
.sd7-pull svg {
  width: 18px;
  height: 18px;
  stroke: currentColor;
  stroke-width: 2;
  fill: none;
}
@media (max-width: 768px) {
  .shedbar7 {
    display: block;
  }
  .milllamp7 {
    display: none;
  }
  body {
    padding-bottom: 68px;
  }
}
/* back to top */
.beamknob7 {
  position: fixed;
  right: 22px;
  bottom: 96px;
  z-index: 79;
  width: 44px;
  height: 44px;
  border-radius: 12px;
  border: 1px solid var(--gb9-cardline);
  background: #FFFDF8;
  color: var(--gb9-mill);
  cursor: pointer;
  display: none;
  align-items: center;
  justify-content: center;
  box-shadow: 0 8px 20px rgba(23, 19, 16, .16);
}
.beamknob7 svg {
  width: 20px;
  height: 20px;
  stroke: currentColor;
  stroke-width: 2.2;
  fill: none;
}
.beamknob7.threadup {
  display: flex;
}
@media (max-width: 768px) {
  .beamknob7 {
    bottom: 150px;
    right: 14px;
  }
}
/* reveal + stagger */
.wovenin7 {
  opacity: 0;
  transform: translateY(22px);
  transition: opacity .6s ease, transform .6s ease;
}
.wovenin7.inweave {
  opacity: 1;
  transform: none;
}
.gbo1 {
  transition-delay: .08s;
}
.gbo2 {
  transition-delay: .16s;
}
.gbo3 {
  transition-delay: .24s;
}
.gbo4 {
  transition-delay: .32s;
}
.gbo5 {
  transition-delay: .4s;
}
.gbo6 {
  transition-delay: .48s;
}
@media (prefers-reduced-motion: reduce) {
  .wovenin7 {
    opacity: 1;
    transform: none;
    transition: none;
  }
  .shuttlerun7-belt {
    animation: none;
  }
}
/* narrow-shed allowances */
@media (max-width: 392px) {
  .millseal7-slip strong {
    max-width: 46vw;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .gatedesk7-pull {
    padding-inline: 13px;
  }
}

@supports (aspect-ratio: 1) {
	.workloom7-window {
		height: auto;
	}
	.boltbook7-page img {
		height: auto;
	}
}
.workloom7-window img {
	height: 100%;
}
