.lhg-page {
   max-width: var(--lh-max-content);
   margin: 0 auto;
   padding: 0;
}

.lhg-page-head {
   text-align: center;
   margin-bottom: 44px;
   padding-bottom: 36px;
   border-bottom: 1px solid var(--lh-border);
}

.lhg-page-title {
   font-family: var(--lh-font-serif);
   font-size: 40px;
   font-weight: 700;
   line-height: 1.22;
   margin: 14px 0 0;
   color: var(--lh-text-primary);
   letter-spacing: -0.018em;
}

.lhg-page-body {
   padding: 0;
}

.lhg-page-feature {
   max-width: 100%;
   padding: 0;
}

.lhg-page-body-flush {
   padding: 0;
}

@media (max-width: 767px) {
   .lhg-page-title {
      font-size: 28px;
   }

   .lhg-page-head {
      margin-bottom: 32px;
      padding-bottom: 24px;
   }
}

.lhg-hero {
   position: relative;
   padding: 120px var(--lh-pad-h) 96px;
   background: var(--lh-bg-paper);
   text-align: center;
   border-bottom: 1px solid var(--lh-border);
   overflow: hidden;
}

.lhg-hero::before {
   content: '';
   position: absolute;
   top: 32px;
   left: 50%;
   transform: translateX(-50%);
   width: 38px;
   height: 1.5px;
   background: var(--lh-accent-gold);
}

.lhg-hero-inner {
   max-width: var(--lh-max-content);
   margin: 0 auto;
}

.lhg-hero-kicker {
   display: inline-block;
   font-family: var(--lh-font-sans);
   font-size: 11px;
   font-weight: 600;
   letter-spacing: 0.22em;
   text-transform: uppercase;
   color: var(--lh-accent-gold);
   margin-bottom: 22px;
}

.lhg-hero-title {
   font-family: var(--lh-font-serif);
   font-size: 54px;
   font-weight: 700;
   line-height: 1.18;
   color: var(--lh-text-primary);
   margin: 0 0 22px;
   letter-spacing: -0.022em;
}

.lhg-hero-title em {
   font-style: italic;
   color: var(--lh-accent-wine);
}

.lhg-hero-tagline {
   font-family: var(--lh-font-body);
   font-size: 18px;
   line-height: 1.65;
   color: var(--lh-text-secondary);
   margin: 0;
   max-width: 660px;
   margin-left: auto;
   margin-right: auto;
}

.lhg-hero-dark {
   background: var(--lh-bg-dark);
   border-bottom: 0;
}

.lhg-hero-dark .lhg-hero-title {
   color: var(--lh-text-on-dark);
}

.lhg-hero-dark .lhg-hero-tagline {
   color: #c9beb0;
}

.lhg-section {
   padding: 88px var(--lh-pad-h);
   background: var(--lh-bg-paper);
}

.lhg-section-soft {
   background: var(--lh-bg-soft);
}

.lhg-section-wash {
   background: var(--lh-bg-wash);
}

.lhg-section-dark {
   background: var(--lh-bg-dark);
   color: var(--lh-text-on-dark);
}

.lhg-section-dark h2,
.lhg-section-dark h3 {
   color: var(--lh-text-on-dark);
}

.lhg-section-inner {
   max-width: var(--lh-max-content);
   margin: 0 auto;
}

.lhg-section-inner-wide {
   max-width: var(--lh-max-main);
}

.lhg-section-head {
   text-align: center;
   margin-bottom: 56px;
}

.lhg-section-head-left {
   text-align: left;
}

.lhg-section-eyebrow {
   display: inline-block;
   font-family: var(--lh-font-sans);
   font-size: 11px;
   font-weight: 600;
   letter-spacing: 0.2em;
   text-transform: uppercase;
   color: var(--lh-accent-gold);
   margin-bottom: 16px;
}

.lhg-section-title {
   font-family: var(--lh-font-serif);
   font-size: 36px;
   font-weight: 700;
   line-height: 1.25;
   color: var(--lh-text-primary);
   margin: 0 0 18px;
   letter-spacing: -0.018em;
}

.lhg-section-title em {
   font-style: italic;
   color: var(--lh-accent-wine);
}

.lhg-section-dark .lhg-section-title {
   color: var(--lh-text-on-dark);
}

.lhg-section-lead {
   font-family: var(--lh-font-body);
   font-size: 16.5px;
   line-height: 1.78;
   color: var(--lh-text-secondary);
   max-width: 680px;
   margin: 0 auto;
}

.lhg-section-head-left .lhg-section-lead {
   margin-left: 0;
}

.lhg-section-dark .lhg-section-lead {
   color: #c9beb0;
}

.lhg-prose {
   font-family: var(--lh-font-body);
   font-size: 16px;
   line-height: 1.85;
   color: var(--lh-text-primary);
   max-width: var(--lh-max-narrow);
   margin: 0 auto;
}

.lhg-prose p {
   margin: 0 0 22px;
}

.lhg-prose p:last-child {
   margin-bottom: 0;
}

.lhg-prose strong {
   color: var(--lh-text-primary);
   font-weight: 700;
}

.lhg-prose em {
   font-style: italic;
   color: var(--lh-accent-wine);
}

.lhg-section-dark .lhg-prose {
   color: #c9beb0;
}

.lhg-pair {
   display: grid;
   grid-template-columns: 1.1fr 1fr;
   gap: 64px;
   align-items: start;
}

.lhg-pair-reverse {
   grid-template-columns: 1fr 1.1fr;
}

.lhg-pair-reverse .lhg-pair-text {
   order: 2;
}

.lhg-pair-text {
   font-family: var(--lh-font-body);
   font-size: 16px;
   line-height: 1.85;
   color: var(--lh-text-secondary);
}

.lhg-pair-text p {
   margin: 0 0 20px;
}

.lhg-pair-text p:last-child {
   margin-bottom: 0;
}

.lhg-pair-visual {
   background: var(--lh-bg-soft);
   padding: 44px 38px;
   border: 1px solid var(--lh-border);
   position: relative;
}

.lhg-pair-visual::before {
   content: '';
   position: absolute;
   top: -1px;
   left: 0;
   width: 60px;
   height: 3px;
   background: var(--lh-accent-gold);
}

.lhg-pair-visual-eyebrow {
   font-family: var(--lh-font-sans);
   font-size: 11px;
   font-weight: 600;
   letter-spacing: 0.18em;
   text-transform: uppercase;
   color: var(--lh-accent-gold);
   margin: 0 0 16px;
   display: block;
}

.lhg-pair-visual-title {
   font-family: var(--lh-font-serif);
   font-size: 22px;
   font-weight: 600;
   color: var(--lh-text-primary);
   margin: 0 0 18px;
   line-height: 1.4;
}

.lhg-pair-visual-list {
   list-style: none;
   margin: 0;
   padding: 0;
   font-family: var(--lh-font-body);
   font-size: 14.5px;
   line-height: 1.78;
   color: var(--lh-text-secondary);
}

.lhg-pair-visual-list li {
   padding-left: 22px;
   position: relative;
   margin-bottom: 10px;
}

.lhg-pair-visual-list li::before {
   content: '';
   position: absolute;
   left: 0;
   top: 11px;
   width: 12px;
   height: 1.5px;
   background: var(--lh-accent-gold);
}

.lhg-feature-grid {
   display: grid;
   grid-template-columns: repeat(3, minmax(0, 1fr));
   gap: 40px 36px;
}

.lhg-feature {
   padding: 0;
}

.lhg-feature-icon {
   width: 44px;
   height: 44px;
   margin-bottom: 22px;
   color: var(--lh-accent-gold);
   display: inline-flex;
   align-items: center;
   justify-content: center;
   border: 1px solid var(--lh-accent-gold);
   font-family: var(--lh-font-serif);
   font-size: 18px;
   font-weight: 600;
}

.lhg-feature-title {
   font-family: var(--lh-font-serif);
   font-size: 20px;
   font-weight: 600;
   color: var(--lh-text-primary);
   margin: 0 0 14px;
   line-height: 1.4;
}

.lhg-feature-body {
   font-family: var(--lh-font-body);
   font-size: 14.5px;
   line-height: 1.78;
   color: var(--lh-text-secondary);
   margin: 0;
}

.lhg-section-dark .lhg-feature-title {
   color: var(--lh-text-on-dark);
}

.lhg-section-dark .lhg-feature-body {
   color: #c9beb0;
}

.lhg-room-list {
   display: flex;
   flex-direction: column;
   gap: 56px;
}

.lhg-room {
   display: grid;
   grid-template-columns: 1fr 280px;
   gap: 48px;
   padding-bottom: 56px;
   border-bottom: 1px solid var(--lh-border);
}

.lhg-room:last-child {
   border-bottom: 0;
   padding-bottom: 0;
}

.lhg-room-eyebrow {
   font-family: var(--lh-font-sans);
   font-size: 11px;
   font-weight: 600;
   letter-spacing: 0.16em;
   text-transform: uppercase;
   color: var(--lh-accent-gold);
   margin-bottom: 12px;
   display: block;
}

.lhg-room-name {
   font-family: var(--lh-font-serif);
   font-size: 28px;
   font-weight: 600;
   color: var(--lh-text-primary);
   margin: 0 0 16px;
   line-height: 1.3;
   letter-spacing: -0.012em;
}

.lhg-room-body {
   font-family: var(--lh-font-body);
   font-size: 15.5px;
   line-height: 1.8;
   color: var(--lh-text-secondary);
}

.lhg-room-body p {
   margin: 0 0 16px;
}

.lhg-room-spec {
   background: var(--lh-bg-soft);
   padding: 28px 26px;
   border: 1px solid var(--lh-border);
   align-self: start;
}

.lhg-room-spec-title {
   font-family: var(--lh-font-sans);
   font-size: 11px;
   font-weight: 600;
   letter-spacing: 0.16em;
   text-transform: uppercase;
   color: var(--lh-accent-gold);
   margin: 0 0 16px;
}

.lhg-room-spec-list {
   list-style: none;
   margin: 0;
   padding: 0;
   font-family: var(--lh-font-body);
   font-size: 13.5px;
   line-height: 1.75;
}

.lhg-room-spec-list li {
   display: flex;
   justify-content: space-between;
   gap: 14px;
   padding: 7px 0;
   border-bottom: 1px solid var(--lh-border-soft);
   color: var(--lh-text-secondary);
}

.lhg-room-spec-list li:last-child {
   border-bottom: 0;
}

.lhg-room-spec-list li strong {
   color: var(--lh-text-primary);
   font-weight: 600;
   font-size: 13px;
}

.lhg-stat-row {
   display: grid;
   grid-template-columns: repeat(4, minmax(0, 1fr));
   gap: 0;
   border-top: 1px solid var(--lh-border);
   border-bottom: 1px solid var(--lh-border);
}

.lhg-stat {
   padding: 36px 22px;
   text-align: center;
   border-right: 1px solid var(--lh-border);
}

.lhg-stat:last-child {
   border-right: 0;
}

.lhg-stat-figure {
   font-family: var(--lh-font-serif);
   font-size: 38px;
   font-weight: 700;
   color: var(--lh-accent-wine);
   margin: 0 0 8px;
   line-height: 1;
   letter-spacing: -0.012em;
}

.lhg-stat-label {
   font-family: var(--lh-font-sans);
   font-size: 11px;
   font-weight: 600;
   letter-spacing: 0.16em;
   text-transform: uppercase;
   color: var(--lh-text-muted);
   margin: 0;
}

.lhg-quote {
   max-width: 760px;
   margin: 0 auto;
   text-align: center;
   padding: 12px 24px;
}

.lhg-quote-mark {
   font-family: var(--lh-font-serif);
   font-size: 60px;
   font-weight: 700;
   line-height: 0.6;
   color: var(--lh-accent-gold);
   margin: 0 0 22px;
}

.lhg-quote-text {
   font-family: var(--lh-font-serif);
   font-size: 24px;
   font-style: italic;
   font-weight: 400;
   line-height: 1.55;
   color: var(--lh-text-primary);
   margin: 0 0 22px;
}

.lhg-quote-attr {
   font-family: var(--lh-font-sans);
   font-size: 12px;
   font-weight: 600;
   letter-spacing: 0.14em;
   text-transform: uppercase;
   color: var(--lh-text-muted);
   margin: 0;
}

.lhg-cta-card {
   max-width: var(--lh-max-content);
   margin: 0 auto;
   padding: 56px 48px;
   background: var(--lh-bg-dark);
   border: 1px solid var(--lh-accent-gold);
   text-align: center;
}

.lhg-cta-eyebrow {
   font-family: var(--lh-font-sans);
   font-size: 11px;
   font-weight: 600;
   letter-spacing: 0.2em;
   text-transform: uppercase;
   color: var(--lh-accent-gold);
   margin: 0 0 18px;
   display: block;
}

.lhg-cta-title {
   font-family: var(--lh-font-serif);
   font-size: 32px;
   font-weight: 700;
   color: var(--lh-text-on-dark);
   margin: 0 0 18px;
   line-height: 1.28;
}

.lhg-cta-body {
   font-family: var(--lh-font-body);
   font-size: 16px;
   line-height: 1.75;
   color: #c9beb0;
   margin: 0 0 32px;
   max-width: 580px;
   margin-left: auto;
   margin-right: auto;
}

.lhg-cta-button {
   display: inline-block;
   padding: 14px 38px;
   font-family: var(--lh-font-sans);
   font-size: 12px;
   font-weight: 600;
   letter-spacing: 0.16em;
   text-transform: uppercase;
   color: var(--lh-text-primary);
   background: var(--lh-accent-gold);
   border: 1px solid var(--lh-accent-gold);
   text-decoration: none;
   transition: background var(--lh-trans), border-color var(--lh-trans);
}

.lhg-cta-button:hover {
   background: var(--lh-accent-gold-soft);
   border-color: var(--lh-accent-gold-soft);
   color: var(--lh-text-primary);
}

.lhg-info-box {
   padding: 32px 36px;
   background: var(--lh-bg-soft);
   border: 1px solid var(--lh-border);
   border-left: 3px solid var(--lh-accent-gold);
   margin: 32px 0;
}

.lhg-info-box-title {
   font-family: var(--lh-font-sans);
   font-size: 11px;
   font-weight: 600;
   letter-spacing: 0.16em;
   text-transform: uppercase;
   color: var(--lh-accent-gold);
   margin: 0 0 14px;
}

.lhg-info-box-body {
   font-family: var(--lh-font-body);
   font-size: 15px;
   line-height: 1.78;
   color: var(--lh-text-secondary);
   margin: 0;
}

.lhg-info-box-body p {
   margin: 0 0 14px;
}

.lhg-info-box-body p:last-child {
   margin-bottom: 0;
}

.lhg-step-list {
   counter-reset: lhg-step;
   list-style: none;
   margin: 0;
   padding: 0;
   display: flex;
   flex-direction: column;
   gap: 28px;
}

.lhg-step {
   counter-increment: lhg-step;
   display: grid;
   grid-template-columns: 56px 1fr;
   gap: 24px;
   align-items: start;
}

.lhg-step::before {
   content: counter(lhg-step, decimal-leading-zero);
   font-family: var(--lh-font-serif);
   font-size: 28px;
   font-weight: 700;
   color: var(--lh-accent-gold);
   line-height: 1;
   padding-top: 4px;
}

.lhg-step-title {
   font-family: var(--lh-font-serif);
   font-size: 19px;
   font-weight: 600;
   color: var(--lh-text-primary);
   margin: 0 0 8px;
   line-height: 1.4;
}

.lhg-step-body {
   font-family: var(--lh-font-body);
   font-size: 14.5px;
   line-height: 1.78;
   color: var(--lh-text-secondary);
   margin: 0;
}

.lhg-divider {
   max-width: 60px;
   margin: 64px auto;
   height: 1.5px;
   background: var(--lh-accent-gold);
   border: 0;
}

.lhg-divider-soft {
   max-width: 100%;
   height: 1px;
   background: var(--lh-border);
}

.lhg-list-feature {
   list-style: none;
   margin: 0;
   padding: 0;
   display: grid;
   grid-template-columns: repeat(2, minmax(0, 1fr));
   gap: 18px 36px;
}

.lhg-list-feature li {
   font-family: var(--lh-font-body);
   font-size: 14.5px;
   line-height: 1.7;
   color: var(--lh-text-secondary);
   padding-left: 22px;
   position: relative;
}

.lhg-list-feature li::before {
   content: '';
   position: absolute;
   left: 0;
   top: 11px;
   width: 12px;
   height: 1.5px;
   background: var(--lh-accent-gold);
}

.lhg-privacy {
   max-width: var(--lh-max-narrow);
   margin: 0 auto;
   padding: 0;
}

.lhg-privacy-intro {
   font-family: var(--lh-font-body);
   font-size: 15.5px;
   line-height: 1.85;
   color: var(--lh-text-secondary);
   margin: 0 0 18px;
}

.lhg-privacy-article {
   margin: 44px 0 28px;
}

.lhg-privacy-article-title {
   font-family: var(--lh-font-serif);
   font-size: 22px;
   font-weight: 600;
   color: var(--lh-text-primary);
   margin: 0 0 16px;
   line-height: 1.4;
   padding-bottom: 12px;
   border-bottom: 1px solid var(--lh-border);
}

.lhg-privacy-article p {
   font-family: var(--lh-font-body);
   font-size: 15px;
   line-height: 1.85;
   color: var(--lh-text-secondary);
   margin: 0 0 16px;
}

.lhg-privacy-article ul {
   list-style: none;
   padding: 20px 26px;
   background: var(--lh-bg-soft);
   border: 1px solid var(--lh-border);
   margin: 18px 0;
}

.lhg-privacy-article ul li {
   font-family: var(--lh-font-body);
   font-size: 14.5px;
   line-height: 1.75;
   color: var(--lh-text-secondary);
   padding-left: 20px;
   position: relative;
   margin-bottom: 9px;
}

.lhg-privacy-article ul li:last-child {
   margin-bottom: 0;
}

.lhg-privacy-article ul li::before {
   content: '◇';
   position: absolute;
   left: 0;
   color: var(--lh-accent-gold);
   font-size: 11px;
   top: 4px;
}

.lhg-privacy-officer {
   margin: 32px 0;
   padding: 28px 32px;
   background: var(--lh-bg-dark);
   color: var(--lh-text-on-dark);
   border: 1px solid var(--lh-accent-gold);
}

.lhg-privacy-officer-title {
   font-family: var(--lh-font-sans);
   font-size: 11px;
   font-weight: 600;
   letter-spacing: 0.16em;
   text-transform: uppercase;
   color: var(--lh-accent-gold);
   margin: 0 0 14px;
   display: block;
}

.lhg-privacy-officer-list {
   list-style: none;
   margin: 0;
   padding: 0;
}

.lhg-privacy-officer-list li {
   font-family: var(--lh-font-body);
   font-size: 14.5px;
   line-height: 1.7;
   color: #c9beb0;
   margin-bottom: 8px;
}

.lhg-privacy-officer-list li strong {
   color: var(--lh-text-on-dark);
   font-weight: 600;
}

.lhg-privacy-effective {
   text-align: center;
   margin-top: 48px;
   padding-top: 28px;
   border-top: 1px solid var(--lh-border);
   font-family: var(--lh-font-serif);
   font-size: 15px;
   font-style: italic;
   color: var(--lh-accent-wine);
}

@media (max-width: 1023px) {
   .lhg-hero {
      padding: 92px var(--lh-pad-h) 76px;
   }

   .lhg-hero-title {
      font-size: 42px;
   }

   .lhg-section {
      padding: 68px var(--lh-pad-h);
   }

   .lhg-section-title {
      font-size: 30px;
   }

   .lhg-pair,
   .lhg-pair-reverse {
      grid-template-columns: 1fr;
      gap: 36px;
   }

   .lhg-pair-reverse .lhg-pair-text {
      order: 1;
   }

   .lhg-feature-grid {
      grid-template-columns: repeat(2, minmax(0, 1fr));
   }

   .lhg-room {
      grid-template-columns: 1fr;
      gap: 28px;
   }

   .lhg-stat-row {
      grid-template-columns: repeat(2, minmax(0, 1fr));
   }

   .lhg-stat {
      border-bottom: 1px solid var(--lh-border);
   }

   .lhg-stat:nth-child(2) {
      border-right: 0;
   }

   .lhg-stat:nth-last-child(-n+2) {
      border-bottom: 0;
   }
}

@media (max-width: 767px) {
   .lhg-hero {
      padding: 72px var(--lh-pad-h-mobile) 56px;
   }

   .lhg-hero-title {
      font-size: 30px;
   }

   .lhg-hero-tagline {
      font-size: 15.5px;
   }

   .lhg-section {
      padding: 52px var(--lh-pad-h-mobile);
   }

   .lhg-section-title {
      font-size: 24px;
   }

   .lhg-feature-grid {
      grid-template-columns: 1fr;
      gap: 32px;
   }

   .lhg-pair-visual {
      padding: 32px 26px;
   }

   .lhg-stat-figure {
      font-size: 30px;
   }

   .lhg-cta-card {
      padding: 40px 28px;
   }

   .lhg-cta-title {
      font-size: 24px;
   }

   .lhg-list-feature {
      grid-template-columns: 1fr;
   }

   .lhg-privacy-article-title {
      font-size: 19px;
   }
}
