/* ============================================================
   ADNIRA, LLC — 35mm slide cutting room
   Palette:
     MOUNT-CHALK     #F2F1EA  body background (pale chalk of mount board)
     CUTTING-INK     #2A2E2B  body text
     PROJECTION-BLUE #3E6E8E  accent (projection lamp beam on daylight screen)
     TABLE-SLATE     #26333A  light table frame / dark panels
     MOUNT-CREAM     #FAF8EF  slide mount faces / raised panels
     GLOVE-GREY      #DEDDD2  bench bands
     LAMP-AMBER      #D9A03C  loupe rim, cut-mark dots, frame numerals ONLY
   No translucent color functions, no opacity decimals, no text gradients.
   ============================================================ */

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  font-size: 16px;
  font-family: Georgia, "Times New Roman", Times, serif;
  background-color: #F2F1EA;
  color: #2A2E2B;
  line-height: 1.65;
  overflow-x: hidden;
}

h1, h2, h3, h4, h5 {
  font-family: "Trebuchet MS", "Segoe UI", Helvetica, Arial, sans-serif;
  line-height: 1.2;
  margin: 0 0 0.6em 0;
  color: #2A2E2B;
}

p {
  margin: 0 0 1.1em 0;
}

a {
  color: #3E6E8E;
}

img {
  max-width: 100%;
}

.shell {
  width: 100%;
  max-width: 1180px;
  margin: 0 auto;
  padding: 0 24px;
}

/* ------------------------------------------------------------
   MOUNT RAIL NAV — rail of slide mounts
   ------------------------------------------------------------ */
.slidegrid {
  background-color: #FAF8EF;
  border-bottom: 1px solid #DEDDD2;
  position: relative;
  z-index: 30;
}

.slidegrid-band {
  width: 100%;
  max-width: 1180px;
  margin: 0 auto;
  padding: 18px 24px 14px 24px;
  position: relative;
}

.slidegrid-brand {
  display: flex;
  align-items: center;
  gap: 10px;
  font-family: "Trebuchet MS", "Segoe UI", Helvetica, Arial, sans-serif;
  font-size: 20px;
  font-weight: 700;
  letter-spacing: 0.06em;
  color: #2A2E2B;
  text-decoration: none;
  margin-bottom: 12px;
}

.loupeglyph {
  width: 22px;
  height: 22px;
  border-radius: 50%;
  border: 3px solid #D9A03C;
  background-color: #FAF8EF;
  position: relative;
  flex: 0 0 auto;
}

.loupeglyph::after {
  content: "";
  position: absolute;
  width: 9px;
  height: 3px;
  background-color: #3E6E8E;
  right: -7px;
  bottom: -1px;
  transform: rotate(45deg);
}

.slidegrid-rail {
  height: 3px;
  background-color: #26333A;
  width: 100%;
  position: relative;
  margin-bottom: -20px;
}

.slidegrid-mounts {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  padding: 0 0 6px 0;
  position: relative;
}

.mountlink {
  display: block;
  width: 128px;
  background-color: #FAF8EF;
  border: 1px solid #DEDDD2;
  text-decoration: none;
  color: #2A2E2B;
  padding: 10px 8px 0 8px;
  position: relative;
  box-shadow: 0 2px 0 0 #DEDDD2;
  clip-path: polygon(0 0, 8px 0, 8px 4px, 0 4px, 0 0, 0 0);
}

.mountlink:nth-child(odd) {
  transform: rotate(-1.4deg);
}

.mountlink:nth-child(even) {
  transform: rotate(1.2deg);
}

.mountlink-idx {
  font-family: "Trebuchet MS", "Segoe UI", Helvetica, Arial, sans-serif;
  font-size: 10px;
  letter-spacing: 0.14em;
  color: #3E6E8E;
  display: block;
  margin-bottom: 4px;
}

.mountlink-name {
  font-family: "Trebuchet MS", "Segoe UI", Helvetica, Arial, sans-serif;
  font-size: 14px;
  font-weight: 700;
  display: block;
  padding-bottom: 8px;
}

.mountlink-cap {
  display: block;
  margin: 0 -8px;
  background-color: #26333A;
  color: #FAF8EF;
  font-family: "Trebuchet MS", "Segoe UI", Helvetica, Arial, sans-serif;
  font-size: 10px;
  letter-spacing: 0.08em;
  text-align: center;
  padding: 3px 0;
}

.mountlink:hover .mountlink-name {
  color: #3E6E8E;
}

.mountlink:focus {
  outline: 2px solid #3E6E8E;
  outline-offset: 2px;
}

.slidegrid-toggle {
  display: none;
  font-family: "Trebuchet MS", "Segoe UI", Helvetica, Arial, sans-serif;
  font-size: 13px;
  letter-spacing: 0.1em;
  background-color: #26333A;
  color: #FAF8EF;
  border: none;
  padding: 9px 16px;
  cursor: pointer;
  margin-bottom: 10px;
}

/* ------------------------------------------------------------
   HERO — LIGHT TABLE WITH LOUPE
   ------------------------------------------------------------ */
.castingdesk {
  padding: 54px 0 40px 0;
  background-color: #F2F1EA;
}

.castingdesk-grid {
  display: grid;
  grid-template-columns: 60% 40%;
  gap: 0;
  align-items: stretch;
}

.castingdesk-table {
  background-color: #26333A;
  padding: 22px;
  border: 6px solid #26333A;
  position: relative;
}

.castingdesk-glass {
  background-color: #FAF8EF;
  border: 1px solid #DEDDD2;
  padding: 30px 26px 34px 26px;
  position: relative;
  min-height: 380px;
}

.castingdesk-cornermark {
  position: absolute;
  width: 16px;
  height: 16px;
  border-top: 3px solid #D9A03C;
  border-left: 3px solid #D9A03C;
}

.castingdesk-cornermark.is-tl { top: 10px; left: 10px; }
.castingdesk-cornermark.is-tr { top: 10px; right: 10px; transform: rotate(90deg); }
.castingdesk-cornermark.is-bl { bottom: 10px; left: 10px; transform: rotate(270deg); }
.castingdesk-cornermark.is-br { bottom: 10px; right: 10px; transform: rotate(180deg); }

.bigslide {
  background-color: #FAF8EF;
  border: 1px solid #DEDDD2;
  padding: 16px;
  box-shadow: 0 4px 0 0 #DEDDD2;
  max-width: 520px;
  margin: 0 auto;
}

.bigslide-window {
  background-color: #E9EDEA;
  border: 1px solid #26333A;
  height: 240px;
  position: relative;
  overflow: hidden;
}

.nodewire {
  position: absolute;
  background-color: #3E6E8E;
}

.nodewire.is-h1 { left: 34px; top: 60px; width: 120px; height: 2px; }
.nodewire.is-h2 { left: 220px; top: 108px; width: 130px; height: 2px; }
.nodewire.is-h3 { left: 120px; top: 168px; width: 150px; height: 2px; }
.nodewire.is-v1 { left: 120px; top: 60px; width: 2px; height: 108px; }
.nodewire.is-v2 { left: 350px; top: 108px; width: 2px; height: 60px; }

.nodechip {
  position: absolute;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  border: 3px solid #3E6E8E;
  background-color: #FAF8EF;
}

.nodechip.is-a { left: 26px; top: 52px; }
.nodechip.is-b { left: 112px; top: 52px; }
.nodechip.is-c { left: 112px; top: 160px; }
.nodechip.is-d { left: 212px; top: 100px; }
.nodechip.is-e { left: 342px; top: 100px; }
.nodechip.is-f { left: 342px; top: 160px; }

.nodechip.is-core {
  left: 112px;
  top: 80px;
  width: 26px;
  height: 26px;
  background-color: #FAF8EF;
  border-width: 4px;
}

.bigslide-cap {
  margin-top: 12px;
  display: flex;
  justify-content: space-between;
  font-family: "Trebuchet MS", "Segoe UI", Helvetica, Arial, sans-serif;
  font-size: 11px;
  letter-spacing: 0.12em;
  color: #26333A;
}

.bigslide-cap span:last-child {
  color: #3E6E8E;
}

.castingdesk-loupe {
  position: absolute;
  right: 30px;
  bottom: 12px;
  width: 62px;
  height: 62px;
  z-index: 4;
}

.castingdesk-loupe-ring {
  position: absolute;
  inset: 0;
  border-radius: 50%;
  border: 5px solid #D9A03C;
  background-color: #FAF8EF;
}

.castingdesk-loupe-glass {
  position: absolute;
  inset: 12px;
  border-radius: 50%;
  background-color: #E9EDEA;
  border: 1px solid #3E6E8E;
}

.castingdesk-loupe-chain {
  position: absolute;
  right: 52px;
  bottom: 62px;
  width: 3px;
  height: 84px;
  background-color: #D9A03C;
  transform: rotate(24deg);
  transform-origin: bottom center;
}

.castingdesk-intro {
  padding: 12px 0 12px 34px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.castingdesk-head {
  font-size: 40px;
  font-weight: 700;
  color: #2A2E2B;
  margin: 0 0 18px 0;
  letter-spacing: 0.01em;
}

.castingdesk-head span {
  display: block;
}

.castingdesk-head .is-blue {
  color: #3E6E8E;
}

.castingdesk-lede {
  font-size: 16px;
  color: #2A2E2B;
  max-width: 44ch;
}

.castingdesk-foot {
  margin-top: 12px;
  padding-top: 16px;
  border-top: 1px solid #DEDDD2;
}

.castingdesk-link {
  font-family: "Trebuchet MS", "Segoe UI", Helvetica, Arial, sans-serif;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 0.04em;
  color: #3E6E8E;
  text-decoration: underline;
  text-underline-offset: 4px;
}

.castingdesk-link .arrow {
  display: inline-block;
  margin-left: 6px;
  color: #3E6E8E;
}

.castingdesk-link:hover {
  color: #26333A;
}

.castingdesk-link:hover .arrow {
  color: #26333A;
}

/* ------------------------------------------------------------
   General content sections
   ------------------------------------------------------------ */
.benchnote {
  padding: 44px 0;
  background-color: #F2F1EA;
}

.benchnote.is-cream {
  background-color: #FAF8EF;
}

.benchnote.is-grey {
  background-color: #DEDDD2;
}

.benchnote.is-slate {
  background-color: #26333A;
  color: #FAF8EF;
}

.benchnote.is-slate h2,
.benchnote.is-slate h3 {
  color: #FAF8EF;
}

.benchnote.is-slate a {
  color: #FAF8EF;
}

.eyebrow {
  font-family: "Trebuchet MS", "Segoe UI", Helvetica, Arial, sans-serif;
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #3E6E8E;
  display: block;
  margin-bottom: 10px;
}

.benchnote.is-slate .eyebrow {
  color: #D9A03C;
}

.section-title {
  font-size: 27px;
  margin-bottom: 14px;
}

.leadtwo {
  font-size: 17px;
  max-width: 70ch;
}

.twocol-uneven {
  display: grid;
  grid-template-columns: 58% 42%;
  gap: 32px;
}

.twocol-uneven.is-flip {
  grid-template-columns: 42% 58%;
}

.plainlist {
  list-style: none;
  padding: 0;
  margin: 0;
}

.plainlist li {
  padding: 10px 0 10px 26px;
  border-bottom: 1px solid #DEDDD2;
  position: relative;
}

.plainlist li::before {
  content: "";
  position: absolute;
  left: 4px;
  top: 18px;
  width: 8px;
  height: 8px;
  background-color: #3E6E8E;
}

.benchnote.is-slate .plainlist li {
  border-bottom: 1px solid #3E6E8E;
}

.benchnote.is-slate .plainlist li::before {
  background-color: #D9A03C;
}

/* content prose blocks */
.prose p {
  font-size: 16px;
  color: #2A2E2B;
}

.prose a {
  color: #3E6E8E;
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* ------------------------------------------------------------
   SLIDE TRAY ROTATION — carousel tray ring
   ------------------------------------------------------------ */
.trayring {
  padding: 48px 0 40px 0;
  background-color: #DEDDD2;
  position: relative;
  overflow-x: hidden;
}

.trayring-head {
  text-align: left;
  margin-bottom: 26px;
}

.trayellipse {
  position: relative;
  width: 100%;
  max-width: 1080px;
  margin: 0 auto;
  padding: 40px 0 46px 0;
}

.trayellipse-ring {
  position: absolute;
  left: 4%;
  right: 4%;
  top: 96px;
  height: 300px;
  border: 22px solid #26333A;
  border-radius: 50%;
  background-color: #F2F1EA;
  box-shadow: inset 0 0 0 14px #DEDDD2;
}

.traystalls {
  position: relative;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 22px;
  padding: 0 12px;
}

.stall {
  position: relative;
  min-height: 150px;
}

.stall-slot {
  background-color: #F2F1EA;
  border: 1px dashed #26333A;
  height: 100%;
  min-height: 150px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #3E6E8E;
  font-family: "Trebuchet MS", "Segoe UI", Helvetica, Arial, sans-serif;
  font-size: 11px;
  letter-spacing: 0.14em;
}

.stall.is-occupied {
  transform: rotate(-2deg);
}

.stall.is-occupied:nth-child(3) {
  transform: rotate(1.6deg);
}

.stall.is-occupied:nth-child(5) {
  transform: rotate(-1.2deg);
}

.stall.is-occupied:nth-child(7) {
  transform: rotate(2deg);
}

.slidecard {
  background-color: #FAF8EF;
  border: 1px solid #DEDDD2;
  box-shadow: 0 3px 0 0 #26333A;
  padding: 12px;
  position: relative;
  height: 100%;
  display: flex;
  flex-direction: column;
}

.slidecard::before,
.slidecard::after {
  content: "";
  position: absolute;
  width: 12px;
  height: 12px;
  border-top: 2px solid #D9A03C;
  border-left: 2px solid #D9A03C;
}

.slidecard::before { top: 5px; left: 5px; }
.slidecard::after { bottom: 5px; right: 5px; transform: rotate(180deg); }

.slidecard-body {
  flex: 1 1 auto;
  min-height: 96px;
  margin-bottom: 10px;
  position: relative;
}

.slidecard-cap {
  background-color: #26333A;
  color: #FAF8EF;
  margin: 0 -12px -12px -12px;
  padding: 8px 12px;
  font-family: "Trebuchet MS", "Segoe UI", Helvetica, Arial, sans-serif;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.02em;
}

.slidecard-cap a {
  color: #FAF8EF;
  text-decoration: none;
}

.slidecard-cap a:hover {
  color: #D9A03C;
}

/* card one: node diagram chip */
.chipnodes {
  position: relative;
  height: 96px;
}

.chipnodes .cwire {
  position: absolute;
  background-color: #3E6E8E;
}

.chipnodes .cw-a { left: 18px; top: 30px; width: 54px; height: 2px; }
.chipnodes .cw-b { left: 92px; top: 30px; width: 2px; height: 40px; }
.chipnodes .cw-c { left: 92px; top: 70px; width: 54px; height: 2px; }

.chipnodes .cn {
  position: absolute;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  border: 3px solid #3E6E8E;
  background-color: #FAF8EF;
}

.chipnodes .cn-a { left: 10px; top: 24px; }
.chipnodes .cn-b { left: 86px; top: 24px; }
.chipnodes .cn-c { left: 86px; top: 64px; }
.chipnodes .cn-d { left: 138px; top: 64px; }

/* card two: checklist */
.minicheck {
  list-style: none;
  padding: 0;
  margin: 0;
}

.minicheck li {
  font-size: 12px;
  padding: 5px 0 5px 20px;
  position: relative;
  color: #2A2E2B;
  border-bottom: 1px solid #DEDDD2;
}

.minicheck li::before {
  content: "";
  position: absolute;
  left: 2px;
  top: 11px;
  width: 9px;
  height: 9px;
  border: 2px solid #3E6E8E;
}

/* card three: big numeral */
.bignumeral {
  font-family: "Trebuchet MS", "Segoe UI", Helvetica, Arial, sans-serif;
  font-size: 58px;
  font-weight: 700;
  color: #3E6E8E;
  line-height: 1;
}

.bignumeral-sub {
  font-family: "Trebuchet MS", "Segoe UI", Helvetica, Arial, sans-serif;
  font-size: 11px;
  letter-spacing: 0.14em;
  color: #26333A;
  margin-top: 6px;
}

/* card four: slate footer band with stamp dot */
.slateband {
  background-color: #26333A;
  color: #FAF8EF;
  padding: 10px;
  font-family: "Trebuchet MS", "Segoe UI", Helvetica, Arial, sans-serif;
  font-size: 12px;
  display: flex;
  align-items: center;
  gap: 10px;
}

.stampdot {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background-color: #D9A03C;
  flex: 0 0 auto;
}

/* card five: two-line caption block */
.twoline {
  font-size: 13px;
  color: #2A2E2B;
  border-left: 3px solid #3E6E8E;
  padding-left: 10px;
  line-height: 1.5;
}

/* card six: bar gauge */
.bargauge {
  display: flex;
  gap: 6px;
  align-items: flex-end;
  height: 96px;
  padding-bottom: 8px;
}

.bargauge span {
  display: block;
  width: 16px;
  background-color: #3E6E8E;
}

.bargauge .bg1 { height: 34px; }
.bargauge .bg2 { height: 60px; }
.bargauge .bg3 { height: 88px; }

.trayring-foot {
  display: grid;
  grid-template-columns: 58% 42%;
  gap: 34px;
  margin-top: 26px;
}

.trayadvance {
  font-family: "Trebuchet MS", "Segoe UI", Helvetica, Arial, sans-serif;
  font-size: 12px;
  letter-spacing: 0.14em;
  color: #26333A;
  margin-top: 18px;
}

.trayadvance .arrowglyph {
  color: #D9A03C;
  font-weight: 700;
  margin-right: 6px;
}

/* ------------------------------------------------------------
   PUSH-FRAME COUNTER strip
   ------------------------------------------------------------ */
.pushframe {
  background-color: #26333A;
  color: #FAF8EF;
  padding: 20px 0;
}

.pushframe-inner {
  display: flex;
  align-items: center;
  gap: 26px;
  flex-wrap: wrap;
}

.pushframe-window {
  background-color: #1B252A;
  border: 2px solid #3E6E8E;
  padding: 8px 14px;
  display: flex;
  align-items: center;
  gap: 14px;
  font-family: "Trebuchet MS", "Segoe UI", Helvetica, Arial, sans-serif;
}

.pushframe-num {
  font-size: 22px;
  font-weight: 700;
  letter-spacing: 0.1em;
  color: #D9A03C;
}

.pushframe-arrow {
  color: #FAF8EF;
  font-size: 18px;
}

.pushframe-text {
  font-size: 15px;
  color: #FAF8EF;
  max-width: 62ch;
}

.pushframe-text a {
  color: #FAF8EF;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.pushframe-text a:hover {
  color: #D9A03C;
}

/* ------------------------------------------------------------
   FOOTER — SLIDE BOX BASE
   ------------------------------------------------------------ */
.slidebox {
  background-color: #DEDDD2;
  padding: 0;
  border-top: 6px solid #26333A;
}

.slidebox-lid {
  background-color: #FAF8EF;
  border-bottom: 8px solid #DEDDD2;
  position: relative;
  padding: 40px 0 34px 0;
}

.slidebox-label {
  max-width: 560px;
  margin: 0 auto;
  border: 1px dashed #26333A;
  padding: 20px 24px;
  text-align: center;
  background-color: #F2F1EA;
}

.slidebox-label h3 {
  font-size: 20px;
  margin-bottom: 6px;
}

.slidebox-label p {
  font-size: 14px;
  margin: 0;
  color: #2A2E2B;
}

.slidebox-tab {
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  background-color: #26333A;
  color: #FAF8EF;
  font-family: "Trebuchet MS", "Segoe UI", Helvetica, Arial, sans-serif;
  font-size: 10px;
  letter-spacing: 0.14em;
  padding: 10px 8px;
  writing-mode: vertical-rl;
}

.slidebox-corner {
  position: absolute;
  width: 14px;
  height: 14px;
  border-top: 3px solid #D9A03C;
  border-left: 3px solid #D9A03C;
}

.slidebox-corner.is-c1 { top: 12px; left: 12px; }
.slidebox-corner.is-c2 { top: 12px; right: 12px; transform: rotate(90deg); }
.slidebox-corner.is-c3 { bottom: 12px; left: 12px; transform: rotate(270deg); }
.slidebox-corner.is-c4 { bottom: 12px; right: 12px; transform: rotate(180deg); }

.slidebox-links {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: center;
  margin-top: 26px;
}

.footerchip {
  display: inline-block;
  background-color: #FAF8EF;
  border: 1px solid #DEDDD2;
  box-shadow: 0 2px 0 0 #26333A;
  padding: 8px 14px;
  font-family: "Trebuchet MS", "Segoe UI", Helvetica, Arial, sans-serif;
  font-size: 12px;
  letter-spacing: 0.04em;
  color: #2A2E2B;
  text-decoration: none;
}

.footerchip:hover {
  color: #3E6E8E;
}

.slidebox-base {
  background-color: #DEDDD2;
  padding: 20px 0;
}

.slidebox-baseinner {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 24px;
  align-items: center;
  justify-content: center;
  font-family: "Trebuchet MS", "Segoe UI", Helvetica, Arial, sans-serif;
  font-size: 13px;
  color: #26333A;
}

.slidebox-baseinner a {
  color: #26333A;
  text-decoration: none;
}

.slidebox-baseinner a:hover {
  color: #3E6E8E;
  text-decoration: underline;
}

.slidebox-cut {
  display: inline-block;
  width: 10px;
  height: 10px;
  background-color: #D9A03C;
  margin-right: 6px;
  vertical-align: middle;
}

/* ------------------------------------------------------------
   Cards / panels used on secondary pages
   ------------------------------------------------------------ */
.serviceblock {
  background-color: #FAF8EF;
  border: 1px solid #DEDDD2;
  border-left: 6px solid #3E6E8E;
  padding: 24px 26px;
  margin-bottom: 22px;
}

.serviceblock h3 {
  font-size: 20px;
  margin-bottom: 8px;
}

.serviceblock .serviceblurb {
  font-size: 15px;
}

.processlist {
  counter-reset: step;
  list-style: none;
  padding: 0;
  margin: 0;
}

.processlist li {
  counter-increment: step;
  position: relative;
  padding: 14px 0 14px 54px;
  border-bottom: 1px solid #DEDDD2;
}

.processlist li::before {
  content: counter(step);
  position: absolute;
  left: 0;
  top: 12px;
  width: 34px;
  height: 34px;
  background-color: #3E6E8E;
  color: #FAF8EF;
  font-family: "Trebuchet MS", "Segoe UI", Helvetica, Arial, sans-serif;
  font-size: 15px;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
}

.calltoaction {
  background-color: #26333A;
  color: #FAF8EF;
  padding: 40px 0;
}

.calltoaction h2 {
  color: #FAF8EF;
}

.calltoaction a.cta-link {
  color: #FAF8EF;
  font-family: "Trebuchet MS", "Segoe UI", Helvetica, Arial, sans-serif;
  font-size: 16px;
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 4px;
}

.calltoaction a.cta-link:hover {
  color: #D9A03C;
}

/* ------------------------------------------------------------
   Contact form
   ------------------------------------------------------------ */
.contactgrid {
  display: grid;
  grid-template-columns: 58% 42%;
  gap: 34px;
}

.fieldrow {
  margin-bottom: 16px;
}

.fieldrow label {
  display: block;
  font-family: "Trebuchet MS", "Segoe UI", Helvetica, Arial, sans-serif;
  font-size: 12px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #26333A;
  margin-bottom: 6px;
}

.fieldrow input,
.fieldrow textarea {
  width: 100%;
  font-family: Georgia, "Times New Roman", Times, serif;
  font-size: 15px;
  color: #2A2E2B;
  background-color: #FAF8EF;
  border: 1px solid #26333A;
  padding: 11px 12px;
}

.fieldrow input:focus,
.fieldrow textarea:focus {
  outline: 2px solid #3E6E8E;
  outline-offset: 1px;
}

.fieldrow textarea {
  min-height: 150px;
  resize: vertical;
}

.formsubmit {
  background-color: #3E6E8E;
  color: #FAF8EF;
  border: none;
  font-family: "Trebuchet MS", "Segoe UI", Helvetica, Arial, sans-serif;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.08em;
  padding: 12px 26px;
  cursor: pointer;
}

.formsubmit:hover {
  background-color: #26333A;
}

.formnote {
  font-size: 13px;
  color: #26333A;
  margin-top: 10px;
}

.contactdetail {
  background-color: #FAF8EF;
  border: 1px solid #DEDDD2;
  padding: 22px 24px;
  margin-bottom: 18px;
}

.contactdetail h3 {
  font-size: 16px;
  margin-bottom: 8px;
}

.contactdetail p {
  font-size: 15px;
  margin: 0;
}

.contactdetail a {
  color: #3E6E8E;
}

.hourslist {
  list-style: none;
  padding: 0;
  margin: 0;
  font-size: 15px;
}

.hourslist li {
  display: flex;
  justify-content: space-between;
  padding: 7px 0;
  border-bottom: 1px solid #DEDDD2;
}

.hourslist li span:last-child {
  color: #3E6E8E;
  font-family: "Trebuchet MS", "Segoe UI", Helvetica, Arial, sans-serif;
}

/* accordion FAQ */
.faqitem {
  border: 1px solid #DEDDD2;
  background-color: #FAF8EF;
  margin-bottom: 12px;
}

.faqtoggle {
  width: 100%;
  text-align: left;
  background-color: #FAF8EF;
  border: none;
  cursor: pointer;
  padding: 16px 18px;
  font-family: "Trebuchet MS", "Segoe UI", Helvetica, Arial, sans-serif;
  font-size: 15px;
  font-weight: 700;
  color: #2A2E2B;
  position: relative;
}

.faqtoggle:hover {
  color: #3E6E8E;
}

.faqtoggle::after {
  content: "+";
  position: absolute;
  right: 18px;
  top: 14px;
  color: #3E6E8E;
  font-size: 18px;
}

.faqitem.is-open .faqtoggle::after {
  content: "-";
}

.faqpanel {
  display: none;
  padding: 0 18px 16px 18px;
  font-size: 15px;
  color: #2A2E2B;
}

.faqitem.is-open .faqpanel {
  display: block;
}

/* ------------------------------------------------------------
   Scroll reveal (JS enhanced; safe without JS)
   ------------------------------------------------------------ */
.revealnow {
  transition: transform 600ms ease;
}

.revealarmed .revealnow {
  transform: translateY(18px);
}

.revealarmed .revealnow.is-shown {
  transform: translateY(0);
}

/* ------------------------------------------------------------
   Responsive
   ------------------------------------------------------------ */
@media (max-width: 900px) {
  .castingdesk-grid,
  .twocol-uneven,
  .twocol-uneven.is-flip,
  .trayring-foot,
  .contactgrid {
    grid-template-columns: 100%;
  }

  .castingdesk-intro {
    padding: 28px 0 0 0;
  }

  .traystalls {
    grid-template-columns: repeat(2, 1fr);
  }

  .trayellipse-ring {
    display: none;
  }
}

@media (max-width: 620px) {
  .slidegrid-toggle {
    display: inline-block;
  }

  .slidegrid-mounts {
    display: none;
  }

  .slidegrid-mounts.is-dropped {
    display: flex;
    flex-direction: column;
  }

  .mountlink,
  .mountlink:nth-child(odd),
  .mountlink:nth-child(even) {
    width: 100%;
    transform: none;
  }

  .traystalls {
    grid-template-columns: 100%;
  }

  .castingdesk-head {
    font-size: 31px;
  }
}
