/* Tân Gia Huy Projects. Container spacing remains under Elementor control. */
.tgh-project.tgh-project {
  --tgh-project-green: #124d40;
  --tgh-project-deep: #0b3028;
  --tgh-project-gold: #e9c46a;
  --tgh-project-text: #58645e;
  --tgh-project-cream: #f6f3ed;
  --tgh-project-line: #e8e3d9;
  box-sizing: border-box;
  display: block;
  width: 100%;
  min-width: 0;
  max-width: none;
  margin: 0;
  padding: 0;
  color: var(--tgh-project-text);
  font-family: Roboto, Arial, sans-serif;
  font-size: 15px;
  font-style: normal;
  font-weight: 400;
  line-height: 1.6;
  text-align: left;
}
.tgh-project.tgh-project *,
.tgh-project.tgh-project *::before,
.tgh-project.tgh-project *::after { box-sizing: border-box; }
.tgh-project.tgh-project .tgh-project__section-title,
.tgh-project.tgh-project .tgh-project__overview-title,
.tgh-project.tgh-project .tgh-project__cta-title {
  margin: 0 0 20px;
  padding: 0;
  color: var(--tgh-project-green);
  font-family: Roboto, Arial, sans-serif;
  font-size: 30px;
  font-style: normal;
  font-weight: 600;
  line-height: 1.25;
  letter-spacing: normal;
  text-transform: none;
}
.tgh-project.tgh-project .tgh-project__single-stack { display: grid; gap: 40px; }
.tgh-project.tgh-project .tgh-project__lead { display: grid; gap: 0; min-width: 0; }
.tgh-project.tgh-project .tgh-project__hero {
  position: relative;
  isolation: isolate;
  z-index: 0;
  display: flex;
  align-items: flex-end;
  min-height: 260px;
  overflow: hidden;
  background: var(--tgh-project-green);
}
.tgh-project.tgh-project .tgh-project__hero--image { min-height: clamp(340px, 43vw, 650px); }
.tgh-project.tgh-project .tgh-project__hero-image {
  position: absolute;
  inset: 0;
  display: block;
  width: 100% !important;
  height: 100% !important;
  max-width: none;
  margin: 0;
  object-fit: cover;
  object-position: center;
}
.tgh-project.tgh-project .tgh-project__hero-content { position: relative; z-index: 1; width: 100%; min-width: 0; padding: clamp(24px, 4vw, 56px); color: #fff; pointer-events: none; overflow-wrap: anywhere; }
.tgh-project.tgh-project .tgh-project__hero--image .tgh-project__hero-content,
.tgh-project.tgh-project .tgh-project__hero--video .tgh-project__hero-content { padding-top: clamp(70px, 9vw, 150px); background: linear-gradient(0deg, rgba(5,35,28,.96) 0%, rgba(9,51,41,.86) 42%, rgba(18,77,64,.42) 76%, rgba(18,77,64,0) 100%); }
.tgh-project.tgh-project .tgh-project__hero-title { max-width: 1000px; margin: 0; padding: 0; color: #fff; font-family: Roboto, Arial, sans-serif; font-size: clamp(30px, 4.1vw, 54px); font-weight: 600; line-height: 1.15; letter-spacing: normal; text-transform: none; text-shadow: 0 2px 12px rgba(0,20,15,.35); }
.tgh-project.tgh-project .tgh-project__hero-subtitle { max-width: 850px; margin: 12px 0 0; padding: 0; font: 400 17px/1.6 Roboto, Arial, sans-serif; color: #fff; text-shadow: 0 1px 6px rgba(0,20,15,.5); }
.tgh-project.tgh-project .tgh-project__breadcrumbs { margin: 0 0 14px; padding: 0; color: #fff; font: 400 14px/1.6 Roboto, Arial, sans-serif; text-transform: none; letter-spacing: normal; text-shadow: 0 1px 6px rgba(0,20,15,.5); }
.tgh-project.tgh-project .tgh-project__breadcrumbs ol { display: flex; flex-wrap: wrap; gap: 4px 10px; margin: 0; padding: 0; list-style: none; }
.tgh-project.tgh-project .tgh-project__breadcrumbs li { display: inline-flex; align-items: baseline; gap: 10px; min-width: 0; margin: 0; padding: 0; list-style: none; color: #fff; }
.tgh-project.tgh-project .tgh-project__breadcrumbs ol::before,
.tgh-project.tgh-project .tgh-project__breadcrumbs ol::after,
.tgh-project.tgh-project .tgh-project__breadcrumbs li::before,
.tgh-project.tgh-project .tgh-project__breadcrumbs li::after { content: none; }
.tgh-project.tgh-project .tgh-project__breadcrumbs a,
.tgh-project.tgh-project .tgh-project__breadcrumbs a:visited { color: #fff; text-decoration: none; pointer-events: auto; }
.tgh-project.tgh-project .tgh-project__breadcrumbs a:hover { color: #fff; text-decoration: underline; text-underline-offset: 3px; }
.tgh-project.tgh-project .tgh-project__breadcrumbs a:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }
.tgh-project.tgh-project .tgh-project__breadcrumb-separator { opacity: .75; flex: 0 0 auto; }
.tgh-project.tgh-project .tgh-project__facts { display: grid; grid-template-columns: repeat(var(--tgh-fact-count,4),minmax(0,1fr)); margin: 0; padding: 20px 0; background: var(--tgh-project-cream); }
.tgh-project.tgh-project .tgh-project__fact { min-width: 0; margin: 0; padding: 0 24px; border-left: 1px solid var(--tgh-project-line); }
.tgh-project.tgh-project .tgh-project__fact:first-child { border-left: 0; }
.tgh-project.tgh-project .tgh-project__fact dt { margin: 0 0 5px; padding: 0; color: var(--tgh-project-green); font: 500 15px/1.5 Roboto, Arial, sans-serif; }
.tgh-project.tgh-project .tgh-project__fact dd { margin: 0; padding: 0; font: 400 15px/1.6 Roboto, Arial, sans-serif; overflow-wrap: anywhere; }
.tgh-project.tgh-project .tgh-project__overview-layout { display: grid; gap: 32px; min-width: 0; align-items: start; }
.tgh-project.tgh-project .tgh-project__overview-layout--two { grid-template-columns: minmax(0,1.6fr) minmax(0,1fr); gap: 48px; }
.tgh-project.tgh-project .tgh-project__richtext { margin: 0; padding: 0; font: 400 15px/1.7 Roboto, Arial, sans-serif; overflow-wrap: anywhere; }
.tgh-project.tgh-project .tgh-project__richtext p { margin: 0 0 16px; padding: 0; font: inherit; color: inherit; }
.tgh-project.tgh-project .tgh-project__richtext > :first-child { margin-top: 0; }
.tgh-project.tgh-project .tgh-project__richtext > :last-child { margin-bottom: 0; }
.tgh-project.tgh-project .tgh-project__richtext a { color: var(--tgh-project-green); text-underline-offset: 3px; }
.tgh-project.tgh-project .tgh-project__richtext img { max-width: 100%; height: auto; }
.tgh-project.tgh-project .tgh-project__solutions-panel { padding: 26px; background: var(--tgh-project-cream); border-radius: 6px; }
.tgh-project.tgh-project .tgh-project__solutions-panel .tgh-project__section-title { font-size: 22px; }
.tgh-project.tgh-project .tgh-project__solutions,
.tgh-project.tgh-project .tgh-project__products,
.tgh-project.tgh-project .tgh-project__related { display: grid; gap: 24px; width: 100%; margin: 0; padding: 0; border: 0; list-style: none; }
.tgh-project.tgh-project .tgh-project__solutions { gap: 20px; }
.tgh-project.tgh-project .tgh-project__solution { display: grid; grid-template-columns: 28px minmax(0,1fr); gap: 14px; margin: 0; padding: 0; list-style: none; }
.tgh-project.tgh-project .tgh-project__solution-icon { display: block; width: 28px; height: 28px; fill: none; stroke: #9c814e; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.tgh-project.tgh-project .tgh-project__solution-copy h3 { margin: 0 0 5px; padding: 0; color: var(--tgh-project-green); font: 600 16px/1.45 Roboto, Arial, sans-serif; text-transform: none; letter-spacing: normal; }
.tgh-project.tgh-project .tgh-project__solution-copy p { margin: 0; padding: 0; font: 400 15px/1.6 Roboto, Arial, sans-serif; color: inherit; }
.tgh-project.tgh-project .tgh-project__spaces { display: grid; gap: 32px; }
.tgh-project.tgh-project .tgh-project__room { min-width: 0; margin: 0; padding: 0; }
.tgh-project.tgh-project .tgh-project__room-title { margin: 0 0 12px; padding: 0; color: var(--tgh-project-green); font: 600 18px/1.5 Roboto, Arial, sans-serif; text-transform: none; letter-spacing: normal; }
.tgh-project.tgh-project .tgh-project__room-number { color: #8d774e; font-weight: 500; }
.tgh-project.tgh-project .tgh-project__room-gallery { display: grid; grid-template-columns: minmax(0,20fr) minmax(0,9fr); gap: 12px 16px; align-items: start; }
.tgh-project.tgh-project .tgh-project__room-figure--main { grid-column: 1 / -1; grid-row: 1; }
.tgh-project.tgh-project .tgh-project__room-gallery--two .tgh-project__room-figure--main { grid-column: 1; }
.tgh-project.tgh-project .tgh-project__room-gallery--two .tgh-project__room-figure--detail { grid-column: 2; grid-row: 1; }
.tgh-project.tgh-project .tgh-project__room--detail-only .tgh-project__room-figure--detail { grid-column: 1; grid-row: 1; }
.tgh-project.tgh-project .tgh-project__room-figure { position: relative; display: block; width: 100%; min-width: 0; min-height: 0; aspect-ratio: 20/9; margin: 0; padding: 0; overflow: hidden; background: var(--tgh-project-cream); border-radius: 4px; }
.tgh-project.tgh-project .tgh-project__room-figure--detail { aspect-ratio: 1/1; }
.tgh-project.tgh-project .tgh-project__room--detail-only .tgh-project__room-figure--detail { max-width: 320px; }
.tgh-project.tgh-project .tgh-project__room-image { position: absolute; inset: 0; display: block; width: 100% !important; height: 100% !important; max-width: none; margin: 0; padding: 0; object-fit: cover; object-position: center; }
.tgh-project.tgh-project .tgh-project__room-description { grid-column: 1; grid-row: 2; width: 92%; min-width: 0; margin: 0; padding: 0; color: inherit; font: 400 15px/1.6 Roboto, Arial, sans-serif; overflow-wrap: anywhere; }
.tgh-project.tgh-project .tgh-project__room-links { grid-column: 2; grid-row: 2; display: flex; min-width: 0; justify-content: flex-end; flex-wrap: wrap; gap: 10px 20px; }
.tgh-project.tgh-project .tgh-project__room-link,
.tgh-project.tgh-project .tgh-project__text-link { display: inline-flex; align-items: center; gap: 8px; max-width: 100%; color: var(--tgh-project-green); font: 500 15px/1.55 Roboto, Arial, sans-serif; text-decoration: none; text-transform: none; letter-spacing: normal; }
.tgh-project.tgh-project .tgh-project__room-link:hover,
.tgh-project.tgh-project .tgh-project__text-link:hover { color: var(--tgh-project-deep); }
.tgh-project.tgh-project .tgh-project__products { grid-template-columns: repeat(4,minmax(0,1fr)); }
.tgh-project.tgh-project .tgh-project__product,
.tgh-project.tgh-project .tgh-project__related-item { display: block; min-width: 0; margin: 0; padding: 0; border: 0; background: none; list-style: none; box-shadow: none; }
.tgh-project.tgh-project .tgh-project__solutions::before,
.tgh-project.tgh-project .tgh-project__solutions::after,
.tgh-project.tgh-project .tgh-project__products::before,
.tgh-project.tgh-project .tgh-project__products::after,
.tgh-project.tgh-project .tgh-project__related::before,
.tgh-project.tgh-project .tgh-project__related::after,
.tgh-project.tgh-project .tgh-project__solution::before,
.tgh-project.tgh-project .tgh-project__solution::after,
.tgh-project.tgh-project .tgh-project__product::before,
.tgh-project.tgh-project .tgh-project__product::after,
.tgh-project.tgh-project .tgh-project__related-item::before,
.tgh-project.tgh-project .tgh-project__related-item::after { content: none; }
.tgh-project.tgh-project .tgh-project__solution::marker,
.tgh-project.tgh-project .tgh-project__product::marker,
.tgh-project.tgh-project .tgh-project__related-item::marker { content: ''; }
.tgh-project.tgh-project .tgh-project__product-card,
.tgh-project.tgh-project .tgh-project__related-card { display: block; min-width: 0; margin: 0; padding: 0; border: 0; background: none; color: var(--tgh-project-green); font-family: Roboto, Arial, sans-serif; font-size: 15px; font-weight: 400; line-height: 1.55; text-decoration: none; box-shadow: none; }
.tgh-project.tgh-project .tgh-project__product-media,
.tgh-project.tgh-project .tgh-project__related-media { position: relative; display: block; width: 100%; aspect-ratio: 1/1; overflow: hidden; border-radius: 4px; background: var(--tgh-project-cream); transition: transform .25s ease,box-shadow .25s ease; }
.tgh-project.tgh-project .tgh-project__product-image,
.tgh-project.tgh-project .tgh-project__related-image { position: absolute; inset: 0; display: block; width: 100% !important; height: 100% !important; max-width: none; margin: 0; padding: 0; object-fit: cover; transition: transform .25s ease; }
.tgh-project.tgh-project .tgh-project__placeholder { position: absolute; inset: 0; display: block; background: linear-gradient(135deg,#f7f4ee,#e6e1d7); }
.tgh-project.tgh-project .tgh-project__placeholder::before { position: absolute; top: 50%; left: 50%; width: 28%; aspect-ratio: 1; border: 1px solid rgba(18,77,64,.16); transform: translate(-50%,-50%) rotate(45deg); content: ''; }
.tgh-project.tgh-project .tgh-project__product-name { display: block; margin-top: 10px; color: var(--tgh-project-green); font: 500 15px/1.5 Roboto, Arial, sans-serif; overflow-wrap: anywhere; }
.tgh-project.tgh-project .tgh-project__product-more { display: inline-flex; align-items: center; gap: 8px; margin-top: 5px; color: var(--tgh-project-text); font: 400 15px/1.5 Roboto, Arial, sans-serif; }
.tgh-project.tgh-project .tgh-project__arrow { display: inline-block; flex: 0 0 auto; color: inherit; font-size: 18px; line-height: 1; transition: transform .2s ease; }
/* Room/category links and recommended products share the same arrow interaction.
   Remove decoration on the anchor too: an ancestor underline crosses its children. */
.tgh-project.tgh-project .tgh-project__room-link,
.tgh-project.tgh-project .tgh-project__text-link,
.tgh-project.tgh-project .tgh-project__product-card,
.tgh-project.tgh-project .tgh-project__product-card .tgh-project__product-name,
.tgh-project.tgh-project .tgh-project__product-card .tgh-project__product-more,
.tgh-project.tgh-project .tgh-project__room-link .tgh-project__arrow,
.tgh-project.tgh-project .tgh-project__text-link .tgh-project__arrow,
.tgh-project.tgh-project .tgh-project__product-card .tgh-project__arrow {
  text-decoration: none !important;
  border-bottom: 0;
  box-shadow: none;
}
.tgh-project.tgh-project .tgh-project__room-link .tgh-project__arrow,
.tgh-project.tgh-project .tgh-project__text-link .tgh-project__arrow,
.tgh-project.tgh-project .tgh-project__product-card .tgh-project__arrow {
  transform: translate(0,0) rotate(0deg);
  transform-origin: center;
}
.tgh-project.tgh-project .tgh-project__room-link:hover .tgh-project__arrow,
.tgh-project.tgh-project .tgh-project__room-link:focus-visible .tgh-project__arrow,
.tgh-project.tgh-project .tgh-project__text-link:hover .tgh-project__arrow,
.tgh-project.tgh-project .tgh-project__text-link:focus-visible .tgh-project__arrow,
.tgh-project.tgh-project .tgh-project__product-card:hover .tgh-project__arrow,
.tgh-project.tgh-project .tgh-project__product-card:focus-visible .tgh-project__arrow {
  transform: translate(2px,-3px) rotate(-30deg);
}
.tgh-project.tgh-project .tgh-project__cta { display: grid; grid-template-columns: minmax(0,1fr); overflow: hidden; background: var(--tgh-project-cream); border-radius: 5px; }
.tgh-project.tgh-project .tgh-project__cta--image { grid-template-columns: minmax(0,1.15fr) minmax(0,1fr); }
.tgh-project.tgh-project .tgh-project__cta-copy { align-self: center; min-width: 0; padding: 32px; }
.tgh-project.tgh-project .tgh-project__cta-title { margin-bottom: 12px; }
.tgh-project.tgh-project .tgh-project__cta-text { margin: 0; padding: 0; color: inherit; font: 400 15px/1.6 Roboto, Arial, sans-serif; }
.tgh-project.tgh-project .tgh-project__cta-links { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 20px; }
.tgh-project.tgh-project .tgh-project__button { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 44px; max-width: 100%; margin: 0; padding: 10px 18px; border: 1px solid var(--tgh-project-green); border-radius: 3px; background: var(--tgh-project-green); color: #fff; font: 500 15px/1.55 Roboto, Arial, sans-serif; text-align: center; text-decoration: none; text-transform: none; letter-spacing: normal; box-shadow: none; transform: none; transition: background-color .2s ease,color .2s ease,border-color .2s ease; }
.tgh-project.tgh-project .tgh-project__button--outline { background: transparent; color: var(--tgh-project-green); }
.tgh-project.tgh-project .tgh-project__button:hover { border-color: var(--tgh-project-gold); background: var(--tgh-project-gold); color: var(--tgh-project-deep); text-decoration: none; transform: none; }
.tgh-project.tgh-project .tgh-project__button:hover .tgh-project__arrow { transform: translate(3px,-3px) rotate(-45deg); }
.tgh-project.tgh-project .tgh-project__cta-visual { position: relative; min-height: 260px; }
.tgh-project.tgh-project .tgh-project__cta-image { position: absolute; inset: 0; display: block; width: 100% !important; height: 100% !important; max-width: none; object-fit: cover; }
.tgh-project.tgh-project .tgh-project__related-top { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 12px 24px; margin-bottom: 20px; }
.tgh-project.tgh-project .tgh-project__related-top .tgh-project__section-title { margin-bottom: 0; }
.tgh-project.tgh-project .tgh-project__related { grid-template-columns: repeat(3,minmax(0,1fr)); }
.tgh-project.tgh-project .tgh-project__related-media { aspect-ratio: 16/10; }
.tgh-project.tgh-project .tgh-project__related-name { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin-top: 10px; color: var(--tgh-project-green); font: 600 16px/1.5 Roboto, Arial, sans-serif; }
.tgh-project.tgh-project .tgh-project__related-subtitle { display: block; margin-top: 4px; color: var(--tgh-project-text); font: 400 15px/1.55 Roboto, Arial, sans-serif; }
.tgh-project.tgh-project .tgh-project__related-card,
.tgh-project.tgh-project .tgh-project__related-card:hover,
.tgh-project.tgh-project .tgh-project__related-card:focus-visible,
.tgh-project.tgh-project .tgh-project__related-card .tgh-project__related-name,
.tgh-project.tgh-project .tgh-project__related-card .tgh-project__arrow { text-decoration: none !important; border-bottom: 0; box-shadow: none; }
.tgh-project.tgh-project .tgh-project__related-title { min-width: 0; overflow-wrap: anywhere; }
.tgh-project.tgh-project .tgh-project__related-card:hover .tgh-project__arrow,
.tgh-project.tgh-project .tgh-project__related-card:focus-visible .tgh-project__arrow { transform: translate(2px,-3px) rotate(-25deg); }
.tgh-project.tgh-project a:focus-visible { outline: 2px solid var(--tgh-project-green); outline-offset: 4px; }
@media (hover:hover) and (pointer:fine) {
  .tgh-project.tgh-project .tgh-project__product-card:hover .tgh-project__product-media,
  .tgh-project.tgh-project .tgh-project__related-card:hover .tgh-project__related-media { transform: translateY(-4px) scale(1.015); box-shadow: 0 8px 20px rgba(18,77,64,.10); }
  .tgh-project.tgh-project .tgh-project__product-card:hover .tgh-project__product-image,
  .tgh-project.tgh-project .tgh-project__related-card:hover .tgh-project__related-image { transform: scale(1.04); }
}
@media (max-width:1024px) {
  .tgh-project.tgh-project .tgh-project__products { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; }
  .tgh-project.tgh-project .tgh-project__overview-layout--two { gap: 28px; }
  .tgh-project.tgh-project .tgh-project__facts { grid-template-columns: repeat(2,minmax(0,1fr)); row-gap: 20px; }
  .tgh-project.tgh-project .tgh-project__fact { padding: 0 16px; }
  .tgh-project.tgh-project .tgh-project__fact:nth-child(odd) { border-left: 0; }
  .tgh-project.tgh-project .tgh-project__fact:last-child:nth-child(odd) { grid-column: 1 / -1; }
  .tgh-project.tgh-project .tgh-project__cta-copy { padding: 24px; }
}
@media (max-width:767px) {
  .tgh-project.tgh-project .tgh-project__single-stack { gap: 30px; }
  .tgh-project.tgh-project .tgh-project__section-title,
  .tgh-project.tgh-project .tgh-project__overview-title,
  .tgh-project.tgh-project .tgh-project__cta-title { font-size: 26px; }
  .tgh-project.tgh-project .tgh-project__hero { min-height: 210px; }
  .tgh-project.tgh-project .tgh-project__hero--image { min-height: 350px; }
  .tgh-project.tgh-project .tgh-project__hero-content { padding: 22px; }
  .tgh-project.tgh-project .tgh-project__hero-subtitle { font-size: 15px; }
  .tgh-project.tgh-project .tgh-project__facts { grid-template-columns: repeat(2,minmax(0,1fr)); row-gap: 20px; }
  .tgh-project.tgh-project .tgh-project__fact:nth-child(odd) { border-left: 0; }
  .tgh-project.tgh-project .tgh-project__overview-layout--two { grid-template-columns: minmax(0,1fr); }
  .tgh-project.tgh-project .tgh-project__solutions-panel { padding: 22px; }
  .tgh-project.tgh-project .tgh-project__room-gallery { display: flex; flex-direction: column; gap: 12px; }
  .tgh-project.tgh-project .tgh-project__room-gallery > * { flex: 0 0 auto; }
  .tgh-project.tgh-project .tgh-project__room-gallery > .tgh-project__room-links { width: 100%; }
  .tgh-project.tgh-project .tgh-project__room-figure--detail { max-width: 240px; }
  .tgh-project.tgh-project .tgh-project__room-description { width: 95%; }
  .tgh-project.tgh-project .tgh-project__room-links { grid-column: 1; justify-content: flex-start; }
  .tgh-project.tgh-project .tgh-project__products { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
  .tgh-project.tgh-project .tgh-project__cta--image { grid-template-columns: minmax(0,1fr); }
  .tgh-project.tgh-project .tgh-project__cta-copy { padding: 22px; }
  .tgh-project.tgh-project .tgh-project__cta-visual { min-height: 220px; }
  .tgh-project.tgh-project .tgh-project__related { grid-template-columns: minmax(0,1fr); gap: 22px; }
}
@media (prefers-reduced-motion:reduce) {
  .tgh-project.tgh-project .tgh-project__product-media,
  .tgh-project.tgh-project .tgh-project__related-media,
  .tgh-project.tgh-project .tgh-project__product-image,
  .tgh-project.tgh-project .tgh-project__related-image,
  .tgh-project.tgh-project .tgh-project__arrow,
  .tgh-project.tgh-project .tgh-project__button { transition: none; }
  .tgh-project.tgh-project .tgh-project__product-card:hover .tgh-project__product-media,
  .tgh-project.tgh-project .tgh-project__related-card:hover .tgh-project__related-media,
  .tgh-project.tgh-project .tgh-project__product-card:hover .tgh-project__product-image,
  .tgh-project.tgh-project .tgh-project__related-card:hover .tgh-project__related-image,
  .tgh-project.tgh-project .tgh-project__button:hover .tgh-project__arrow,
  .tgh-project.tgh-project .tgh-project__room-link:hover .tgh-project__arrow,
  .tgh-project.tgh-project .tgh-project__room-link:focus-visible .tgh-project__arrow,
  .tgh-project.tgh-project .tgh-project__text-link:hover .tgh-project__arrow,
  .tgh-project.tgh-project .tgh-project__text-link:focus-visible .tgh-project__arrow,
  .tgh-project.tgh-project .tgh-project__product-card:hover .tgh-project__arrow,
  .tgh-project.tgh-project .tgh-project__product-card:focus-visible .tgh-project__arrow,
  .tgh-project.tgh-project .tgh-project__related-card:hover .tgh-project__arrow,
  .tgh-project.tgh-project .tgh-project__related-card:focus-visible .tgh-project__arrow { transform: none; }
}

/* Tablet keeps the existing media proportions; desktop/mobile overrides follow. */
.tgh-project.tgh-project .tgh-project__hero--video { display: grid; grid-template-columns: minmax(0,1fr); min-height: 0; }
.tgh-project.tgh-project .tgh-project__hero-video { grid-area: 1 / 1; position: relative; align-self: stretch; width: 100%; min-height: 100%; aspect-ratio: 16 / 9; background: #101915; }
.tgh-project.tgh-project .tgh-project__hero-video video { position: absolute; inset: 0; display: block; width: 100%; height: 100%; max-width: none; border: 0; object-fit: cover; }
.tgh-project.tgh-project .tgh-project__hero--video .tgh-project__hero-content { grid-area: 1 / 1; align-self: end; }
/* No native/player interaction chrome on background videos. */
.tgh-project.tgh-project .tgh-project__hero-video video { pointer-events: none; }
@media (min-width:1025px) {
  .tgh-project.tgh-project .tgh-project__hero--image,
  .tgh-project.tgh-project .tgh-project__hero--video { display: flex; align-items: flex-end; height: 60vh; min-height: 0; }
  .tgh-project.tgh-project .tgh-project__hero--video .tgh-project__hero-video { position: absolute; inset: 0; height: 100%; min-height: 0; aspect-ratio: auto; }
  .tgh-project.tgh-project .tgh-project__hero-content { padding: 68px clamp(24px,4vw,56px) 28px; }
  .tgh-project.tgh-project .tgh-project__hero--image .tgh-project__hero-content,
  .tgh-project.tgh-project .tgh-project__hero--video .tgh-project__hero-content { padding-top: 68px; }
  .tgh-project.tgh-project .tgh-project__hero-title { font-size: clamp(28px,3vw,40px); }
  .tgh-project.tgh-project .tgh-project__hero-subtitle { font-size: 15px; margin-top: 8px; }
  .tgh-project.tgh-project .tgh-project__breadcrumbs { font-size: 13px; margin-bottom: 10px; }
}
@media (max-width:767px) {
  .tgh-project.tgh-project .tgh-project__hero,
  .tgh-project.tgh-project .tgh-project__hero--image,
  .tgh-project.tgh-project .tgh-project__hero--video { display: block; height: auto; min-height: 0; background: #fff; }
  .tgh-project.tgh-project .tgh-project__hero-image { position: relative; inset: auto; width: 100% !important; height: auto !important; aspect-ratio: 16/9; object-fit: cover; }
  .tgh-project.tgh-project .tgh-project__hero--video .tgh-project__hero-video { position: relative; inset: auto; height: auto; min-height: 0; aspect-ratio: 16/9; }
  .tgh-project.tgh-project .tgh-project__hero-content,
  .tgh-project.tgh-project .tgh-project__hero--image .tgh-project__hero-content,
  .tgh-project.tgh-project .tgh-project__hero--video .tgh-project__hero-content { position: relative; grid-area: auto; padding: 18px 20px 24px; background: none; color: var(--tgh-project-green); pointer-events: auto; }
  .tgh-project.tgh-project .tgh-project__hero-title { color: var(--tgh-project-green); font-size: 26px; line-height: 1.25; text-shadow: none; }
  .tgh-project.tgh-project .tgh-project__hero-subtitle { color: var(--tgh-project-text); font-size: 15px; margin-top: 8px; text-shadow: none; }
  .tgh-project.tgh-project .tgh-project__breadcrumbs { font-size: 12px; color: var(--tgh-project-green); margin-bottom: 10px; text-shadow: none; }
  .tgh-project.tgh-project .tgh-project__breadcrumbs li,
  .tgh-project.tgh-project .tgh-project__breadcrumbs a,
  .tgh-project.tgh-project .tgh-project__breadcrumbs a:visited,
  .tgh-project.tgh-project .tgh-project__breadcrumbs a:hover { color: var(--tgh-project-green); }
  .tgh-project.tgh-project .tgh-project__breadcrumbs a:focus-visible { outline-color: var(--tgh-project-green); }
}
.tgh-project.tgh-project .tgh-project__richtext h2,
.tgh-project.tgh-project .tgh-project__richtext h3,
.tgh-project.tgh-project .tgh-project__richtext h4 { margin: 28px 0 12px; color: var(--tgh-project-green); font-family: inherit; font-weight: 600; line-height: 1.35; }
.tgh-project.tgh-project .tgh-project__richtext h2 { font-size: clamp(24px, 3vw, 30px); }
.tgh-project.tgh-project .tgh-project__richtext h3 { font-size: 22px; }
.tgh-project.tgh-project .tgh-project__richtext h4 { font-size: 18px; }
.tgh-project.tgh-project .tgh-project__richtext ul,
.tgh-project.tgh-project .tgh-project__richtext ol { margin: 0 0 16px; padding-left: 24px; }
.tgh-project.tgh-project .tgh-project__richtext table { display: block; max-width: 100%; overflow-x: auto; border-collapse: collapse; }
.tgh-project.tgh-project .tgh-project__richtext th,
.tgh-project.tgh-project .tgh-project__richtext td { padding: 10px; border: 1px solid var(--tgh-project-line); }
.tgh-project.tgh-project .tgh-project__richtext figure,
.tgh-project.tgh-project .tgh-project__richtext .wp-caption { max-width: 100%; margin: 20px 0; }
.tgh-project.tgh-project .tgh-project__richtext > :first-child { margin-top: 0; }

/* v1.4.0 — standalone project listing. No outer title, width limit or padding. */
.tgh-project.tgh-project--grid .tgh-project__listing { width:100%; min-width:0; margin:0; padding:0; scroll-margin-top:100px; }
.tgh-project.tgh-project--grid .tgh-project__grid-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px 24px; list-style:none; margin:0; padding:0; }
.tgh-project.tgh-project--grid .tgh-project__grid-item { display:block; min-width:0; margin:0; padding:0; list-style:none; }
.tgh-project.tgh-project--grid .tgh-project__grid-card,
.tgh-project.tgh-project--grid .tgh-project__grid-card:visited,
.tgh-project.tgh-project--grid .tgh-project__grid-card:hover,
.tgh-project.tgh-project--grid .tgh-project__grid-card:focus-visible { display:block; width:100%; margin:0; padding:0; color:var(--tgh-project-green); background:transparent; border:0; border-radius:0; box-shadow:none; text-decoration:none!important; }
.tgh-project.tgh-project--grid .tgh-project__grid-media { position:relative; display:block; width:100%; aspect-ratio:2/1; overflow:hidden; background:var(--tgh-project-cream); }
.tgh-project.tgh-project--grid .tgh-project__grid-image { position:absolute; inset:0; display:block; width:100%!important; height:100%!important; max-width:none; margin:0; padding:0; border:0; border-radius:0; object-fit:cover; object-position:center; transition:transform .35s ease; }
.tgh-project.tgh-project--grid .tgh-project__grid-placeholder { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; background:linear-gradient(135deg,#f6f3ed,#e4e7df); color:#76897c; font:500 13px/1.5 Roboto,Arial,sans-serif; letter-spacing:2px; }
.tgh-project.tgh-project--grid .tgh-project__grid-details { display:grid; grid-template-columns:minmax(0,1fr) 28px; align-items:center; column-gap:18px; padding:12px 8px 0; }
.tgh-project.tgh-project--grid .tgh-project__grid-copy { min-width:0; }
.tgh-project.tgh-project--grid .tgh-project__grid-title { display:block; margin:0; padding:0; border:0; color:var(--tgh-project-green); font:600 20px/1.35 Roboto,Arial,sans-serif!important; letter-spacing:0; text-transform:none; overflow-wrap:anywhere; text-decoration:none!important; }
.tgh-project.tgh-project--grid .tgh-project__grid-location { display:block; margin:4px 0 0; padding:0; color:var(--tgh-project-text); font:400 15px/1.55 Roboto,Arial,sans-serif; letter-spacing:0; text-transform:none; overflow-wrap:anywhere; text-decoration:none!important; }
.tgh-project.tgh-project--grid .tgh-project__grid-arrow { display:block; width:24px; height:24px; flex-shrink:0; margin:0; padding:0; color:inherit; border:0; border-bottom:0!important; box-shadow:none!important; text-decoration:none!important; transform:rotate(0deg); transform-origin:center; transition:transform .22s ease; }
.tgh-project.tgh-project--grid .tgh-project__grid-card:hover .tgh-project__grid-arrow,
.tgh-project.tgh-project--grid .tgh-project__grid-card:focus-visible .tgh-project__grid-arrow,
.tgh-project.tgh-project--grid .tgh-project__grid-more:hover .tgh-project__grid-arrow,
.tgh-project.tgh-project--grid .tgh-project__grid-more:focus-visible .tgh-project__grid-arrow { transform:translate(1px,-2px) rotate(-30deg); }
.tgh-project.tgh-project--grid .tgh-project__grid-card:focus-visible { outline:2px solid var(--tgh-project-green); outline-offset:4px; }
.tgh-project.tgh-project--grid .tgh-project__grid-actions { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:16px; margin:28px 0 0; padding:0; }
.tgh-project.tgh-project--grid .tgh-project__grid-actions:empty { display:none; }
.tgh-project.tgh-project--grid .tgh-project__grid-more,
.tgh-project.tgh-project--grid .tgh-project__grid-more:visited { display:inline-flex; align-items:center; justify-content:center; gap:20px; min-height:44px; min-width:210px; padding:10px 20px; border:1px solid var(--tgh-project-green); border-radius:0; background:#fff; color:var(--tgh-project-green); font:500 15px/1.5 Roboto,Arial,sans-serif; text-decoration:none!important; box-shadow:none; transition:background .2s,color .2s,border-color .2s; }
.tgh-project.tgh-project--grid .tgh-project__grid-more:hover,
.tgh-project.tgh-project--grid .tgh-project__grid-more:focus-visible { background:var(--tgh-project-gold); color:var(--tgh-project-deep); border-color:var(--tgh-project-gold); }
.tgh-project.tgh-project--grid .tgh-project__grid-more[aria-disabled=true] { opacity:.65; cursor:wait; }
.tgh-project.tgh-project--grid .tgh-project__grid-back { color:var(--tgh-project-green); font:500 15px/1.5 Roboto,Arial,sans-serif; text-underline-offset:4px; }
.tgh-project.tgh-project--grid .tgh-project__grid-status { margin:12px 0 0; padding:0; color:var(--tgh-project-text); font:400 14px/1.5 Roboto,Arial,sans-serif; text-align:center; }
.tgh-project.tgh-project--grid .tgh-project__grid-status:empty { display:none; }
.tgh-project.tgh-project--grid .tgh-project__grid-empty { margin:0; padding:20px; background:var(--tgh-project-cream); font:400 15px/1.6 Roboto,Arial,sans-serif; }
@media (hover:hover) and (pointer:fine) {
 .tgh-project.tgh-project--grid .tgh-project__grid-card:hover .tgh-project__grid-image { transform:scale(1.025); }
}
@media (max-width:1024px) {
 .tgh-project.tgh-project--grid .tgh-project__grid-list { gap:24px 20px; }
 .tgh-project.tgh-project--grid .tgh-project__grid-title { font-size:19px!important; }
}
@media (max-width:767px) {
 .tgh-project.tgh-project--grid .tgh-project__grid-list { grid-template-columns:minmax(0,1fr); gap:24px; }
 .tgh-project.tgh-project--grid .tgh-project__grid-details { padding:10px 4px 0; gap:12px; }
 .tgh-project.tgh-project--grid .tgh-project__grid-actions { margin-top:24px; }
}
@media (prefers-reduced-motion:reduce) {
 .tgh-project.tgh-project--grid .tgh-project__grid-arrow,
 .tgh-project.tgh-project--grid .tgh-project__grid-image,
 .tgh-project.tgh-project--grid .tgh-project__grid-more { transition:none!important; }
 .tgh-project.tgh-project--grid .tgh-project__grid-card:hover .tgh-project__grid-arrow,
 .tgh-project.tgh-project--grid .tgh-project__grid-card:focus-visible .tgh-project__grid-arrow,
 .tgh-project.tgh-project--grid .tgh-project__grid-more:hover .tgh-project__grid-arrow,
 .tgh-project.tgh-project--grid .tgh-project__grid-more:focus-visible .tgh-project__grid-arrow,
 .tgh-project.tgh-project--grid .tgh-project__grid-card:hover .tgh-project__grid-image { transform:none!important; }
}

/* Uploaded Hero backgrounds remain inside the banner, below the measured header. */
.tgh-project.tgh-project--hero { position:relative; z-index:0; padding-top:var(--tgh-project-header-gap,0px); }
.tgh-project.tgh-project .tgh-project__hero-video { overflow:hidden; }
.tgh-project.tgh-project .tgh-project__hero-video video { opacity:0; }
.tgh-project.tgh-project .tgh-project__hero--video-ready .tgh-project__hero-video video { opacity:1; }
.tgh-project.tgh-project .tgh-project__hero--video-ready .tgh-project__hero-video .tgh-project__hero-image { visibility:hidden; }

/* v1.4.10 — Single project body copy: Roboto 16px at every viewport width.
   Target each shortcode wrapper: Elementor templates may not use --single.
   Keep heading sizes, arrow/icon sizes, weights and line heights unchanged. */
html body.single-tgh_project .tgh-project:not(.tgh-project--grid) {
  font-family: Roboto, Arial, sans-serif !important;
  font-size: 16px !important;
}
html body.single-tgh_project .tgh-project:not(.tgh-project--grid) :is(
  .tgh-project__hero-subtitle,
  .tgh-project__breadcrumbs,
  .tgh-project__breadcrumbs li,
  .tgh-project__breadcrumbs a,
  .tgh-project__breadcrumbs span,
  .tgh-project__fact dt,
  .tgh-project__fact dd,
  .tgh-project__richtext,
  .tgh-project__solution-copy > p,
  .tgh-project__room-description,
  .tgh-project__room-link,
  .tgh-project__text-link,
  .tgh-project__product-card,
  .tgh-project__product-name,
  .tgh-project__product-more,
  .tgh-project__cta-text,
  .tgh-project__button,
  .tgh-project__related-card,
  .tgh-project__related-name,
  .tgh-project__related-title,
  .tgh-project__related-subtitle
) {
  font-family: Roboto, Arial, sans-serif !important;
  font-size: 16px !important;
}
/* Normalize pasted body formatting without shrinking text inside headings.
   Do not change icon fonts, SVG content or superscript/subscript sizing. */
html body.single-tgh_project .tgh-project:not(.tgh-project--grid)
.tgh-project__richtext :is(
  p, div, ul, ol, li, dl, dt, dd, table, thead, tbody, tfoot, tr, td, th,
  caption, blockquote, figcaption, span, a, strong, b, em, i, u, s, del,
  ins, mark, font, small, cite, abbr
):not(:is(h1, h2, h3, h4, h5, h6, sup, sub) *):not(:is(
  .tgh-project__arrow,
  .fa, .fas, .far, .fab, .fal, .fad, .fat, .fak, .eicon,
  [class*="fa-"], [class*="eicon-"],
  svg *, .tgh-project__arrow *, [class*="fa-"] *, [class*="eicon-"] *
)) {
  font-family: Roboto, Arial, sans-serif !important;
  font-size: 16px !important;
}

/* 1.4.14: Center content videos at every viewport width. */
.tgh-project.tgh-project--content .tgh-project__richtext :is(.tgh-project__youtube, .tgh-project__facebook) {
  margin-left: auto !important;
  margin-right: auto !important;
}
.tgh-project.tgh-project--content .tgh-project__richtext video {
  display: block;
  max-width: 100%;
  height: auto;
  margin-left: auto !important;
  margin-right: auto !important;
  float: none !important;
}
