/* ==========================================================================
   Pneuma Psyintegration LLC - kintsugi repair bench theme
   Palette:
     RICE-PAPER      #F5F1E8  body background (warm washi paper)
     SUMI-INK        #26262B  full-opacity text
     LACQUER-VERMILION #B4452C urushi lacquer red (accent)
     CHARCOAL-ROOM   #232020  wells and footer
     BOWL-CREAM      #FBF7EE  panels and ceramic vessels
     WABI-SAGE       #7E8A6E  tertiary touches
     KINTSU-GOLD     #B8912F  gold crack seams ONLY - never buttons / links / bands
   ========================================================================== */

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  padding: 0;
  font-family: Georgia, "Times New Roman", "Palatino Linotype", serif;
  font-size: 16px;
  line-height: 1.7;
  color: #26262B;
  background-color: #F5F1E8;
  overflow-x: hidden;
}

.tomobody-shell {
  width: 100%;
  overflow-x: hidden;
}

h1, h2, h3, h4, h5 {
  font-family: Georgia, "Times New Roman", serif;
  line-height: 1.25;
  color: #26262B;
  margin: 0 0 0.5em 0;
  letter-spacing: 0.01em;
}

p {
  margin: 0 0 1.05em 0;
}

a {
  color: #B4452C;
}

a:hover {
  color: #232020;
}

.tomowrap {
  max-width: 1180px;
  margin: 0 auto;
  padding: 0 24px;
}

/* ==========================================================================
   NAVIGATION - TOMOBAKO LID NAV
   ========================================================================== */

.tomohead {
  background-color: #F5F1E8;
  border-bottom: 3px solid #FBF7EE;
  padding: 22px 0 0 0;
}

.tomolidshelf {
  display: flex;
  align-items: flex-end;
  gap: 10px;
  max-width: 1180px;
  margin: 0 auto;
  padding: 0 24px 14px 24px;
  border-bottom: 2px solid #B8912F;
}

.tomolid {
  position: relative;
  background-color: #FBF7EE;
  border: 1px solid #E4DBC9;
  border-bottom: 3px solid #D8CDB6;
  border-radius: 3px 3px 2px 2px;
  box-shadow: 0 2px 0 #E4DBC9;
  padding: 12px 16px 14px 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  min-height: 58px;
}

.tomolid:hover {
  border-bottom-color: #B4452C;
}

.tomolid-label {
  font-size: 0.9rem;
  letter-spacing: 0.09em;
  text-transform: uppercase;
  color: #26262B;
  font-weight: bold;
}

.tomolid-active .tomolid-label {
  color: #B4452C;
}

.tomolid-brand {
  flex: 1 1 300px;
  justify-content: flex-start;
  gap: 12px;
  background-color: #FBF7EE;
  border-left: 4px solid #B4452C;
}

.tomoseal {
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background-color: #B4452C;
  border: 2px solid #FBF7EE;
  box-shadow: 0 0 0 1px #B4452C;
  flex: 0 0 auto;
}

.tomobrandtext {
  display: flex;
  flex-direction: column;
  line-height: 1.15;
}

.tomobrandname {
  font-size: 1.16rem;
  font-weight: bold;
  color: #26262B;
  letter-spacing: 0.02em;
}

.tomobrandsub {
  font-size: 0.72rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #7E8A6E;
}

.tomolid-w1 { flex: 0 0 108px; }
.tomolid-w2 { flex: 0 0 128px; }
.tomolid-w3 { flex: 0 0 118px; }
.tomolid-w4 { flex: 0 0 116px; }
.tomolid-w5 { flex: 0 0 104px; }

.tomoburger {
  display: none;
  width: 100%;
  max-width: 1180px;
  margin: 0 auto;
  padding: 12px 24px;
  background-color: #FBF7EE;
  border: none;
  border-bottom: 2px solid #D8CDB6;
  font-family: Georgia, serif;
  font-size: 0.95rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #26262B;
  text-align: left;
  cursor: pointer;
}

.tomoburger-mark {
  color: #B4452C;
  font-weight: bold;
}

/* ==========================================================================
   HERO - KINTSUGI BENCH HERO
   ========================================================================== */

.kintsbay {
  background-color: #F5F1E8;
  padding: 66px 0 0 0;
}

.kintshead {
  max-width: 1180px;
  margin: 0 auto;
  padding: 0 24px 54px 24px;
}

.kintshead-kicker {
  font-size: 0.78rem;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: #7E8A6E;
  margin-bottom: 20px;
}

.kintshead-line {
  font-size: 3.35rem;
  line-height: 1.08;
  margin: 0 0 0.12em 0;
  letter-spacing: -0.01em;
}

.kintshead-gold {
  color: #B4452C;
}

.kintshead-copy {
  max-width: 720px;
  font-size: 1.08rem;
  margin-top: 26px;
  color: #26262B;
}

.kintsbench {
  background-color: #232020;
  padding: 52px 0 62px 0;
}

.kintsbench-inner {
  max-width: 1180px;
  margin: 0 auto;
  padding: 0 24px;
  display: grid;
  grid-template-columns: 1fr 1.15fr 1fr;
  gap: 40px;
  align-items: end;
}

.kintsbench-col {
  position: relative;
}

.benchpad {
  height: 14px;
  background-color: #3A3433;
  border-radius: 3px;
  margin-top: 18px;
  border-top: 2px solid #4A4240;
}

.benchlabel {
  font-size: 0.72rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: #F5F1E8;
  margin-bottom: 16px;
  display: block;
}

.bowlbig {
  width: 230px;
  height: 132px;
  margin: 0 auto;
  position: relative;
  background-color: #FBF7EE;
  border-radius: 0 0 120px 120px;
  border: 3px solid #D8CDB6;
  border-top: 14px solid #EFE7D6;
  overflow: hidden;
}

.bowlbig-vein {
  position: absolute;
  background-color: #B8912F;
  z-index: 3;
}

.bowlbig-v1 {
  width: 4px;
  height: 120px;
  top: 6px;
  left: 74px;
  transform: rotate(20deg);
}

.bowlbig-v2 {
  width: 3px;
  height: 96px;
  top: 30px;
  left: 138px;
  transform: rotate(-14deg);
}

.bowlbig-v3 {
  width: 3px;
  height: 70px;
  top: 10px;
  left: 172px;
  transform: rotate(32deg);
}

.bowlbig-seam {
  position: absolute;
  width: 6px;
  height: 6px;
  background-color: #B8912F;
  border-radius: 50%;
  top: 58px;
  left: 72px;
  z-index: 4;
}

.bowlbig-seam2 {
  position: absolute;
  width: 5px;
  height: 5px;
  background-color: #B8912F;
  border-radius: 50%;
  top: 76px;
  left: 136px;
  z-index: 4;
}

.shardtray {
  background-color: #2E2A29;
  border: 2px solid #474040;
  border-radius: 4px;
  padding: 22px 20px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}

.shard {
  height: 54px;
  background-color: #FBF7EE;
  border: 2px solid #D8CDB6;
  position: relative;
}

.shard::after {
  content: "";
  position: absolute;
  right: -2px;
  top: -2px;
  bottom: -2px;
  width: 5px;
  background-color: #B8912F;
}

.shard-a { border-radius: 40px 4px 4px 40px; clip-path: polygon(0 0, 76% 0, 100% 50%, 76% 100%, 0 100%); }
.shard-b { border-radius: 4px 40px 40px 4px; clip-path: polygon(24% 0, 100% 0, 100% 100%, 24% 100%, 0 50%); }
.shard-c { border-radius: 4px; clip-path: polygon(0 0, 100% 0, 78% 100%, 0 100%); }
.shard-d { border-radius: 4px; clip-path: polygon(22% 0, 100% 0, 100% 100%, 0 100%, 0 34%); }
.shard-e { border-radius: 4px; clip-path: polygon(0 0, 78% 0, 100% 34%, 100% 100%, 0 100%); }
.shard-f { border-radius: 40px; clip-path: polygon(50% 0, 100% 50%, 50% 100%, 0 50%); }

.benchright {
  display: flex;
  flex-direction: column;
  gap: 18px;
}

.manualbook {
  background-color: #FBF7EE;
  border: 2px solid #D8CDB6;
  border-radius: 3px;
  padding: 14px 16px;
  box-shadow: 6px 6px 0 #3A3433;
}

.manualbook-title {
  font-size: 0.78rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #B4452C;
  margin-bottom: 8px;
  font-weight: bold;
}

.manualbook-lines {
  height: 46px;
  background-image: repeating-linear-gradient(to bottom, #D8CDB6 0, #D8CDB6 1px, #FBF7EE 1px, #FBF7EE 12px);
  border-top: 1px solid #E4DBC9;
}

.lacquerpot {
  width: 76px;
  height: 54px;
  background-color: #232020;
  border-radius: 0 0 34px 34px;
  border: 3px solid #B4452C;
  position: relative;
  margin-left: 6px;
}

.lacquerpot::before {
  content: "";
  position: absolute;
  top: -9px;
  left: -6px;
  right: -6px;
  height: 10px;
  background-color: #B4452C;
  border-radius: 50%;
}

.lacquerbrush {
  position: absolute;
  width: 92px;
  height: 7px;
  background-color: #FBF7EE;
  border-radius: 4px;
  top: 12px;
  left: 40px;
  transform: rotate(-12deg);
}

.lacquerbrush::after {
  content: "";
  position: absolute;
  right: -16px;
  top: -3px;
  width: 18px;
  height: 13px;
  background-color: #B4452C;
  border-radius: 0 8px 8px 0;
}

.teacupstand {
  display: flex;
  align-items: flex-end;
  gap: 10px;
}

.teacup {
  width: 58px;
  height: 46px;
  background-color: #FBF7EE;
  border-radius: 4px 4px 40px 40px;
  border: 3px solid #D8CDB6;
  position: relative;
}

.teacup-vein {
  position: absolute;
  width: 3px;
  height: 40px;
  background-color: #B8912F;
  top: 3px;
  left: 24px;
  transform: rotate(18deg);
}

.standlow {
  width: 40px;
  height: 22px;
  background-color: #3A3433;
  border-top: 2px solid #4A4240;
}

.kintsctas {
  max-width: 1180px;
  margin: 34px auto 0 auto;
  padding: 0 24px;
  display: flex;
  gap: 20px;
  align-items: center;
}

.plaqueprimary {
  display: inline-block;
  background-color: #B4452C;
  color: #FBF7EE;
  text-decoration: none;
  padding: 15px 34px;
  font-size: 0.92rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  border-radius: 2px;
  border-bottom: 4px solid #8A3220;
  box-shadow: 4px 4px 0 #141212;
  transform: translateY(0);
}

.plaqueprimary:hover {
  background-color: #8A3220;
  color: #FBF7EE;
}

.plaquesecondary {
  display: inline-block;
  background-color: #232020;
  color: #F5F1E8;
  text-decoration: none;
  padding: 15px 34px;
  font-size: 0.92rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  border: 2px solid #F5F1E8;
  border-radius: 2px;
  transform: translateY(14px);
}

.plaquesecondary:hover {
  color: #B8912F;
  border-color: #B8912F;
}

/* ==========================================================================
   SECTIONS - general
   ========================================================================== */

.seclight {
  background-color: #F5F1E8;
  padding: 72px 0;
}

.secbowl {
  background-color: #FBF7EE;
  padding: 72px 0;
  border-top: 1px solid #E4DBC9;
  border-bottom: 1px solid #E4DBC9;
}

.sechead {
  max-width: 780px;
  margin: 0 0 42px 0;
}

.sechead-kicker {
  font-size: 0.74rem;
  letter-spacing: 0.26em;
  text-transform: uppercase;
  color: #B4452C;
  margin-bottom: 14px;
}

.sechead-title {
  font-size: 2.35rem;
}

.sechead-copy {
  font-size: 1.02rem;
  margin-top: 16px;
}

.lede-body p {
  font-size: 1.02rem;
  max-width: 900px;
}

/* ==========================================================================
   MENDING SHELF VESSELS
   ========================================================================== */

.mendshelf {
  background-color: #F5F1E8;
  padding: 74px 0 60px 0;
}

.mendshelf-inner {
  max-width: 1180px;
  margin: 0 auto;
  padding: 0 24px;
}

.vesselshelf {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 18px;
  padding: 26px 16px 0 16px;
  position: relative;
}

.vesselshelf::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 16px;
  background-color: #6E4A38;
  border-bottom: 4px solid #4B3327;
  border-radius: 2px;
}

.bracket {
  position: absolute;
  bottom: -40px;
  width: 16px;
  height: 40px;
  background-color: #232020;
}

.bracket-l { left: 60px; }
.bracket-r { right: 60px; }

.vesselunit {
  position: relative;
  width: 15.5%;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-bottom: 16px;
  z-index: 2;
}

.feltpad {
  width: 74%;
  height: 8px;
  background-color: #7E8A6E;
  border-radius: 4px;
  margin-top: 8px;
}

.vessel {
  background-color: #FBF7EE;
  border: 3px solid #D8CDB6;
  position: relative;
  overflow: hidden;
}

.vessel-bowl {
  width: 100%;
  height: 74px;
  border-radius: 0 0 70px 70px;
  border-top-width: 8px;
  border-top-color: #EFE7D6;
}

.vessel-vase {
  width: 62%;
  height: 116px;
  border-radius: 30px 30px 14px 14px;
}

.vessel-jar {
  width: 86%;
  height: 94px;
  border-radius: 10px 10px 40px 40px;
}

.vessel-cup {
  width: 58%;
  height: 66px;
  border-radius: 4px 4px 40px 40px;
}

.vessel-plate {
  width: 100%;
  height: 26px;
  border-radius: 60px 60px 10px 10px;
  border-top-width: 6px;
  border-top-color: #EFE7D6;
}

.vessel-teapot {
  width: 90%;
  height: 80px;
  border-radius: 50% 50% 38px 38px;
  border-top-width: 7px;
  border-top-color: #EFE7D6;
}

.vessel-teapot::after {
  content: "";
  position: absolute;
  right: 6px;
  top: 16px;
  width: 26px;
  height: 12px;
  border: 3px solid #D8CDB6;
  border-left: none;
  border-radius: 0 12px 12px 0;
}

.vessel-vein {
  position: absolute;
  background-color: #B8912F;
}

.vv1 { width: 3px; height: 70px; top: 4px; left: 40%; transform: rotate(16deg); }
.vv2 { width: 3px; height: 52px; top: 22px; left: 66%; transform: rotate(-22deg); }
.vv3 { width: 3px; height: 60px; top: 6px; left: 30%; transform: rotate(28deg); }

.vessel-seal {
  position: absolute;
  top: -10px;
  right: -8px;
  font-size: 0.5rem;
  letter-spacing: 0.1em;
  background-color: #B4452C;
  color: #FBF7EE;
  padding: 3px 6px;
  border-radius: 2px;
  text-transform: uppercase;
  font-weight: bold;
  z-index: 5;
}

.vessel-stamp {
  position: absolute;
  bottom: -6px;
  left: -6px;
  font-size: 0.6rem;
  color: #B8912F;
  font-weight: bold;
  z-index: 5;
}

.vessel-shelfspot {
  height: 26px;
}

.vessellabel {
  background-color: #FBF7EE;
  border: 1px solid #D8CDB6;
  border-left: 4px solid #B4452C;
  padding: 14px 14px 16px 14px;
  margin-top: 20px;
  width: 100%;
  position: relative;
  z-index: 3;
  box-shadow: 3px 3px 0 #E4DBC9;
}

.vessellabel-tag {
  font-size: 0.68rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #7E8A6E;
  display: block;
  margin-bottom: 6px;
}

.vessellabel-name {
  font-size: 1.08rem;
  margin: 0 0 8px 0;
  color: #26262B;
}

.vessellabel-name a {
  color: #26262B;
  text-decoration: none;
}

.vessellabel-name a:hover {
  color: #B4452C;
}

.vessellabel-copy {
  font-size: 0.9rem;
  margin: 0;
  color: #26262B;
}

/* ==========================================================================
   GOLD SEAM ACCENT STRIP
   ========================================================================== */

.goldseamstrip {
  background-color: #232020;
  padding: 26px 0;
}

.goldseamstrip-inner {
  max-width: 1180px;
  margin: 0 auto;
  padding: 0 24px;
  display: flex;
  align-items: center;
  gap: 22px;
  flex-wrap: wrap;
}

.goldseam-icon {
  flex: 0 0 auto;
  width: 46px;
  height: 26px;
  position: relative;
}

.goldseam-icon span {
  position: absolute;
  height: 3px;
  width: 20px;
  background-color: #B8912F;
}

.goldseam-icon span:nth-child(1) { top: 0; left: 0; transform: rotate(28deg); }
.goldseam-icon span:nth-child(2) { top: 10px; left: 13px; transform: rotate(-28deg); }
.goldseam-icon span:nth-child(3) { top: 20px; left: 26px; transform: rotate(28deg); }

.goldseam-text {
  color: #F5F1E8;
  font-size: 1rem;
  margin: 0;
  flex: 1 1 400px;
}

.sprig {
  flex: 0 0 auto;
  position: relative;
  width: 34px;
  height: 34px;
}

.sprig span {
  position: absolute;
  background-color: #7E8A6E;
  border-radius: 50%;
}

.sprig span:nth-child(1) { width: 10px; height: 18px; top: 0; left: 14px; border-radius: 50% 50% 0 0; }
.sprig span:nth-child(2) { width: 10px; height: 18px; top: 12px; left: 2px; transform: rotate(-40deg); border-radius: 50% 0 50% 50%; }
.sprig span:nth-child(3) { width: 10px; height: 18px; top: 12px; right: 2px; transform: rotate(40deg); border-radius: 0 50% 50% 50%; }

/* ==========================================================================
   PROSE / PAGE CONTENT BLOCKS
   ========================================================================== */

.articlelede {
  border-left: 5px solid #B8912F;
  padding: 4px 0 4px 22px;
  margin: 0 0 34px 0;
  font-size: 1.1rem;
  color: #26262B;
}

.prosegrid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 34px 44px;
  margin-top: 34px;
}

.proseblock {
  border-top: 3px solid #B4452C;
  padding-top: 18px;
}

.proseblock h3 {
  font-size: 1.3rem;
  margin-bottom: 10px;
}

.proseblock p {
  font-size: 0.98rem;
  margin-bottom: 0.8em;
}

.proseblock a {
  font-weight: bold;
}

.servicefeed {
  margin-top: 20px;
}

.servicefeed-item {
  border-top: 1px solid #D8CDB6;
  padding: 30px 0;
  display: grid;
  grid-template-columns: 220px 1fr;
  gap: 34px;
  align-items: start;
}

.servicefeed-item:last-child {
  border-bottom: 1px solid #D8CDB6;
}

.servicefeed-name {
  font-size: 1.32rem;
  margin: 0 0 10px 0;
}

.servicefeed-tag {
  font-size: 0.7rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #7E8A6E;
  display: block;
  margin-bottom: 10px;
}

.servicefeed-body p {
  margin-bottom: 0.9em;
  font-size: 0.98rem;
}

.vesselmark {
  width: 84px;
  height: 54px;
  background-color: #FBF7EE;
  border: 3px solid #D8CDB6;
  border-top-width: 8px;
  border-top-color: #EFE7D6;
  border-radius: 0 0 54px 54px;
  position: relative;
  margin-bottom: 18px;
}

.vesselmark-vein {
  position: absolute;
  width: 3px;
  height: 46px;
  background-color: #B8912F;
  top: 2px;
  left: 30px;
  transform: rotate(20deg);
}

.processlist {
  list-style: none;
  margin: 24px 0 0 0;
  padding: 0;
  counter-reset: stepcount;
}

.processlist-item {
  position: relative;
  padding: 18px 0 18px 66px;
  border-bottom: 1px dashed #D8CDB6;
  counter-increment: stepcount;
}

.processlist-item::before {
  content: "0" counter(stepcount);
  position: absolute;
  left: 0;
  top: 16px;
  font-size: 1.5rem;
  color: #B8912F;
  font-weight: bold;
}

.processlist-item h4 {
  font-size: 1.14rem;
  margin-bottom: 6px;
}

.processlist-item p {
  margin: 0;
  font-size: 0.96rem;
}

.ctabowl {
  margin-top: 44px;
  background-color: #232020;
  border-radius: 4px;
  padding: 40px 38px;
  border-left: 6px solid #B4452C;
}

.ctabowl h3 {
  color: #F5F1E8;
  font-size: 1.6rem;
  margin-bottom: 12px;
}

.ctabowl p {
  color: #F5F1E8;
  max-width: 720px;
}

.ctabowl a.plaqueprimary {
  margin-top: 10px;
}

/* ==========================================================================
   CONTACT PAGE
   ========================================================================== */

.contactgrid {
  display: grid;
  grid-template-columns: 1.35fr 1fr;
  gap: 44px;
  margin-top: 30px;
  align-items: start;
}

.contactform {
  background-color: #FBF7EE;
  border: 1px solid #D8CDB6;
  border-top: 5px solid #B4452C;
  padding: 32px 30px;
  border-radius: 3px;
}

.formrow {
  margin-bottom: 18px;
}

.formrow label {
  display: block;
  font-size: 0.76rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #26262B;
  margin-bottom: 7px;
  font-weight: bold;
}

.formrow input,
.formrow textarea {
  width: 100%;
  font-family: Georgia, serif;
  font-size: 1rem;
  color: #26262B;
  background-color: #F5F1E8;
  border: 2px solid #D8CDB6;
  border-radius: 2px;
  padding: 12px 13px;
}

.formrow input:focus,
.formrow textarea:focus {
  outline: none;
  border-color: #B4452C;
}

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

.formnote {
  font-size: 0.84rem;
  color: #26262B;
  margin-top: 14px;
}

.formstatus {
  margin-top: 14px;
  font-size: 0.9rem;
  font-weight: bold;
  color: #B4452C;
}

.contactaside {
  display: flex;
  flex-direction: column;
  gap: 22px;
}

.infocard {
  background-color: #FBF7EE;
  border: 1px solid #D8CDB6;
  border-left: 5px solid #7E8A6E;
  padding: 22px 22px;
  border-radius: 3px;
}

.infocard h3 {
  font-size: 1.08rem;
  margin-bottom: 10px;
}

.infocard p {
  margin: 0 0 6px 0;
  font-size: 0.96rem;
}

.infocard a {
  color: #B4452C;
  font-weight: bold;
  text-decoration: none;
}

.infocard a:hover {
  text-decoration: underline;
}

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

.hourslist li {
  display: flex;
  justify-content: space-between;
  font-size: 0.94rem;
  padding: 6px 0;
  border-bottom: 1px dashed #E4DBC9;
}

.faqlist {
  margin-top: 24px;
}

.faqhead {
  margin-top: 56px;
}

.faqitem {
  border-bottom: 1px solid #D8CDB6;
}

.faqitem-button {
  width: 100%;
  text-align: left;
  background-color: transparent;
  border: none;
  font-family: Georgia, serif;
  font-size: 1.06rem;
  color: #26262B;
  padding: 20px 40px 20px 0;
  cursor: pointer;
  position: relative;
}

.faqitem-button:hover {
  color: #B4452C;
}

.faqitem-button::after {
  content: "+";
  position: absolute;
  right: 8px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 1.4rem;
  color: #B4452C;
}

.faqitem-open .faqitem-button::after {
  content: "-";
}

.faqitem-panel {
  max-height: 0;
  overflow: hidden;
  transition: max-height 260ms ease;
}

.faqitem-open .faqitem-panel {
  max-height: 400px;
}

.faqitem-panel p {
  margin: 0 0 20px 0;
  font-size: 0.96rem;
  padding-right: 30px;
}

/* ==========================================================================
   FOOTER - TOMOBAKO STORAGE FOOTER
   ========================================================================== */

.tomobay {
  background-color: #232020;
  padding: 58px 0 0 0;
}

.tomobay-inner {
  max-width: 1180px;
  margin: 0 auto;
  padding: 0 24px;
  display: grid;
  grid-template-columns: 260px 1.2fr 200px;
  gap: 40px;
  align-items: start;
}

.tomobox {
  background-color: #3A3433;
  border: 3px solid #6E4A38;
  border-radius: 3px;
  padding: 16px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}

.tomobox-cell {
  background-color: #2A2625;
  border: 2px solid #4A4240;
  border-radius: 2px;
  min-height: 58px;
  position: relative;
}

.tomobox-brush {
  width: 6px;
  height: 40px;
  background-color: #B8912F;
  position: absolute;
  top: 8px;
  left: 10px;
  border-radius: 3px;
}

.tomobox-brush2 {
  width: 6px;
  height: 40px;
  background-color: #FBF7EE;
  position: absolute;
  top: 8px;
  left: 22px;
  border-radius: 3px;
}

.tomobox-pot {
  width: 30px;
  height: 22px;
  background-color: #B4452C;
  border-radius: 0 0 14px 14px;
  position: absolute;
  bottom: 8px;
  left: 14px;
}

.tomobox-powder {
  width: 34px;
  height: 8px;
  background-color: #B8912F;
  border-radius: 4px;
  position: absolute;
  bottom: 14px;
  left: 10px;
}

.tomobox-powder2 {
  width: 34px;
  height: 8px;
  background-color: #B8912F;
  border-radius: 4px;
  position: absolute;
  bottom: 26px;
  left: 10px;
}

.tomobay-main {
  display: grid;
  grid-template-columns: 1fr 150px;
  gap: 30px;
  align-items: start;
}

.tomobay-blurb {
  color: #F5F1E8;
}

.tomobay-brand {
  font-size: 1.3rem;
  font-weight: bold;
  color: #F5F1E8;
  display: block;
  margin-bottom: 6px;
}

.tomobay-brandsub {
  font-size: 0.72rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: #B8912F;
  display: block;
  margin-bottom: 14px;
}

.tomobay-blurb p {
  color: #F5F1E8;
  font-size: 0.94rem;
  margin-bottom: 0.8em;
}

.kakejiku {
  background-color: #FBF7EE;
  border: 3px solid #6E4A38;
  border-radius: 2px;
  padding: 18px 10px 26px 10px;
  text-align: center;
  min-height: 170px;
}

.kakejiku-rod {
  width: 100%;
  height: 8px;
  background-color: #B8912F;
  border-radius: 4px;
  margin-bottom: 14px;
}

.kakejiku-text {
  font-size: 0.82rem;
  color: #26262B;
  line-height: 1.6;
}

.tomostand {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.tomostand-title {
  font-size: 0.7rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: #7E8A6E;
  margin-bottom: 4px;
}

.tomostand-link {
  display: block;
  background-color: #FBF7EE;
  color: #26262B;
  text-decoration: none;
  font-size: 0.88rem;
  padding: 10px 14px;
  border-left: 4px solid #B4452C;
  border-radius: 2px;
}

.tomostand-link:hover {
  background-color: #EFE7D6;
  color: #B4452C;
}

.tomobay-strip {
  border-top: 1px solid #4A4240;
  margin-top: 46px;
  padding: 20px 0 26px 0;
}

.tomobay-strip-inner {
  max-width: 1180px;
  margin: 0 auto;
  padding: 0 24px;
  display: flex;
  flex-wrap: wrap;
  gap: 10px 30px;
  align-items: center;
  color: #F5F1E8;
  font-size: 0.86rem;
}

.tomobay-strip-inner a {
  color: #F5F1E8;
  text-decoration: none;
}

.tomobay-strip-inner a:hover {
  color: #B8912F;
}

.stripbrush {
  width: 6px;
  height: 18px;
  background-color: #B8912F;
  border-radius: 3px;
  display: inline-block;
  vertical-align: middle;
  margin-right: 6px;
}

/* ==========================================================================
   SCROLL REVEAL  (safe without JS: noscript default visible)
   ========================================================================== */

/* Text stays fully opaque at all times; reveal animates position only. */
.revealable {
  transition: transform 480ms ease;
}

.js-on .revealable {
  transform: translateY(14px);
}

.js-on .revealable.revealed {
  transform: translateY(0);
}

/* ==========================================================================
   RESPONSIVE
   ========================================================================== */

@media (max-width: 980px) {
  .kintshead-line { font-size: 2.6rem; }
  .kintsbench-inner { grid-template-columns: 1fr; gap: 34px; }
  .bowlbig { width: 200px; }
  .prosegrid { grid-template-columns: 1fr; }
  .servicefeed-item { grid-template-columns: 1fr; gap: 14px; }
  .contactgrid { grid-template-columns: 1fr; }
  .tomobay-inner { grid-template-columns: 1fr; }
  .tomobay-main { grid-template-columns: 1fr; }
  .kakejiku { max-width: 240px; }
}

@media (max-width: 760px) {
  .tomolidshelf { display: none; }
  .tomolidshelf-open { display: flex; flex-direction: column; align-items: stretch; }
  .tomoburger { display: block; }
  .tomolid { flex: 1 1 auto; }
  .vesselshelf { flex-direction: column; align-items: stretch; gap: 4px; }
  .vesselunit { width: 100%; flex-direction: row; gap: 20px; align-items: flex-start; padding-bottom: 22px; }
  .feltpad { display: none; }
  .vessel-stack { flex: 0 0 120px; }
  .vessellabel { margin-top: 0; }
  .vesselshelf::after { display: none; }
  .bracket { display: none; }
  .kintshead-line { font-size: 2.05rem; }
  .sechead-title { font-size: 1.85rem; }
  .kintsctas { flex-direction: column; align-items: stretch; }
  .plaques secondary { transform: none; }
  .plaquesecondary { transform: none; text-align: center; }
  .plaqueprimary { text-align: center; }
  .tomobay-strip-inner { flex-direction: column; align-items: flex-start; }
}
