/* 2026 hotel supply capability standard, adapted from the 38-page English capability deck. */
.hsh-deck-section {
  --hsh-deck-ink: #17231f;
  --hsh-deck-body: #4c5a54;
  --hsh-deck-muted: #76817c;
  --hsh-deck-line: #ddd7cc;
  --hsh-deck-forest: #17352d;
  --hsh-deck-brass: #9a763c;
  --hsh-deck-paper: #f5f2eb;
  position: relative;
  padding: clamp(64px, 8vw, 104px) 0;
  border-top: 1px solid var(--hsh-deck-line);
  border-bottom: 1px solid var(--hsh-deck-line);
  color: var(--hsh-deck-body);
  background:
    radial-gradient(circle at 8% 0%, rgba(154, 118, 60, .08), transparent 30%),
    linear-gradient(180deg, #fbfaf7 0%, var(--hsh-deck-paper) 100%);
}
.hsh-deck-section *,
.hsh-deck-section *::before,
.hsh-deck-section *::after { box-sizing: border-box; }
.hsh-deck-shell { width: min(calc(100% - 48px), 1160px); margin: 0 auto; }
.hsh-deck-header {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(280px, .85fr);
  align-items: end;
  gap: 56px;
  margin-bottom: 34px;
  padding-bottom: 28px;
  border-bottom: 1px solid var(--hsh-deck-line);
}
.hsh-deck-kicker {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 15px;
  color: var(--hsh-deck-brass);
  font: 700 11px/1.4 Inter, "Segoe UI", Arial, sans-serif;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.hsh-deck-kicker::before { width: 30px; height: 1px; background: currentColor; content: ""; }
.hsh-deck-title {
  max-width: 760px;
  margin: 0;
  color: var(--hsh-deck-ink);
  font: 500 clamp(30px, 3vw, 46px)/1.12 Georgia, "Times New Roman", serif;
  letter-spacing: -.015em;
}
.hsh-deck-desc { max-width: 660px; margin: 0; color: var(--hsh-deck-body); font: 400 15px/1.8 Inter, "Segoe UI", Arial, sans-serif; }
.hsh-deck-metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-bottom: 24px;
  border: 1px solid var(--hsh-deck-line);
  background: rgba(255, 253, 249, .94);
}
.hsh-deck-metric { min-height: 150px; padding: 25px 24px; border-right: 1px solid var(--hsh-deck-line); }
.hsh-deck-metric:last-child { border-right: 0; }
.hsh-deck-metric strong { display: block; color: var(--hsh-deck-forest); font: 500 clamp(28px, 3vw, 42px)/1 Georgia, "Times New Roman", serif; }
.hsh-deck-metric span { display: block; margin-top: 14px; color: var(--hsh-deck-ink); font-size: 13px; font-weight: 700; line-height: 1.45; }
.hsh-deck-metric small { display: block; margin-top: 7px; color: var(--hsh-deck-muted); font-size: 11px; line-height: 1.6; }
.hsh-deck-table-wrap { overflow-x: auto; border: 1px solid var(--hsh-deck-line); background: rgba(255, 253, 249, .96); }
.hsh-deck-table { width: 100%; min-width: 760px; border-collapse: collapse; text-align: left; }
.hsh-deck-table th,
.hsh-deck-table td { padding: 16px 18px; border-right: 1px solid var(--hsh-deck-line); border-bottom: 1px solid var(--hsh-deck-line); vertical-align: top; }
.hsh-deck-table th:last-child,
.hsh-deck-table td:last-child { border-right: 0; }
.hsh-deck-table tbody tr:last-child td { border-bottom: 0; }
.hsh-deck-table th { color: var(--hsh-deck-ink); background: #eee9df; font-size: 10px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.hsh-deck-table td { color: var(--hsh-deck-body); font-size: 12px; line-height: 1.65; }
.hsh-deck-table td:first-child { color: var(--hsh-deck-ink); font-weight: 700; }
.hsh-deck-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 24px; }
.hsh-deck-button {
  display: inline-flex;
  min-height: 46px;
  padding: 0 18px;
  border: 1px solid var(--hsh-deck-brass);
  border-radius: 2px;
  align-items: center;
  justify-content: center;
  gap: 8px;
  color: #fff;
  background: var(--hsh-deck-brass);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .025em;
  text-decoration: none;
  transition: color .2s ease, border-color .2s ease, background-color .2s ease;
}
.hsh-deck-button:hover,
.hsh-deck-button:focus { border-color: var(--hsh-deck-forest); color: #fff; background: var(--hsh-deck-forest); }
.hsh-deck-button.is-outline { border-color: #cfc6b7; color: var(--hsh-deck-ink); background: transparent; }
.hsh-deck-button.is-outline:hover,
.hsh-deck-button.is-outline:focus { border-color: var(--hsh-deck-forest); color: #fff; background: var(--hsh-deck-forest); }
.hsh-deck-note { max-width: 860px; margin: 18px 0 0; color: var(--hsh-deck-muted); font-size: 11px; line-height: 1.7; }
.hsh-deck-section a:focus-visible { outline: 3px solid rgba(154, 118, 60, .48); outline-offset: 3px; }

/* Compact standalone pages used for project records and procurement FAQ. */
.hsh-cap-page { background: #fffdf9; }
.hsh-cap-hero { padding: clamp(80px, 10vw, 132px) 0 clamp(62px, 7vw, 92px); color: #fff; background: radial-gradient(circle at 14% 18%, rgba(185, 145, 82, .24), transparent 34%), linear-gradient(135deg, #0b1f19 0%, #17352d 68%, #102b23 100%); }
.hsh-cap-hero-grid { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(280px, .9fr); gap: 64px; align-items: end; }
.hsh-cap-hero .hsh-deck-kicker { color: #dfc69b; }
.hsh-cap-hero .hsh-deck-title { max-width: 780px; color: #fff; font-size: clamp(40px, 5vw, 64px); }
.hsh-cap-hero .hsh-deck-desc { max-width: 620px; color: #cbd4d0; }
.hsh-cap-hero-panel { padding: 28px; border: 1px solid rgba(255,255,255,.2); background: rgba(255,255,255,.06); }
.hsh-cap-hero-panel strong { display: block; color: #fff; font: 500 26px/1.2 Georgia, "Times New Roman", serif; }
.hsh-cap-hero-panel span { display: block; margin-top: 10px; color: #d2dad6; font-size: 12px; line-height: 1.7; }
.hsh-cap-section { padding: clamp(60px, 7vw, 88px) 0; }
.hsh-cap-section.is-soft { border-top: 1px solid #ded8ce; border-bottom: 1px solid #ded8ce; background: #f6f3ed; }
.hsh-cap-faq { display: grid; gap: 0; border-top: 1px solid #ded8ce; }
.hsh-cap-faq details { border-bottom: 1px solid #ded8ce; }
.hsh-cap-faq summary { position: relative; padding: 20px 44px 20px 0; color: #17231f; font-size: 15px; font-weight: 700; line-height: 1.55; cursor: pointer; list-style: none; }
.hsh-cap-faq summary::-webkit-details-marker { display: none; }
.hsh-cap-faq summary::after { position: absolute; top: 18px; right: 2px; color: #9a763c; content: "+"; font-size: 22px; font-weight: 400; }
.hsh-cap-faq details[open] summary::after { content: "−"; }
.hsh-cap-faq p { max-width: 820px; margin: 0; padding: 0 44px 22px 0; color: #59655f; font-size: 14px; line-height: 1.75; }

@media (max-width: 1023px) {
  .hsh-deck-header,
  .hsh-cap-hero-grid { grid-template-columns: 1fr; gap: 24px; }
  .hsh-deck-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .hsh-deck-metric:nth-child(2) { border-right: 0; }
  .hsh-deck-metric:nth-child(-n+2) { border-bottom: 1px solid var(--hsh-deck-line); }
}
@media (max-width: 640px) {
  .hsh-deck-shell { width: calc(100% - 32px); }
  .hsh-deck-metrics { grid-template-columns: 1fr; }
  .hsh-deck-metric,
  .hsh-deck-metric:nth-child(2) { min-height: 0; border-right: 0; border-bottom: 1px solid var(--hsh-deck-line); }
  .hsh-deck-metric:last-child { border-bottom: 0; }
  .hsh-deck-button { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  .hsh-deck-button { transition-duration: .01ms !important; }
}
