.info-page { background: #fff; }
.info-page .site-header { color: #fff; }
.info-hero { position: relative; display: grid; place-items: center; min-height: 628px; padding: 150px 24px 95px; color: #fff; text-align: center; background: #6e6259 center / cover no-repeat; isolation: isolate; }
.info-hero::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(28,22,17,.55), rgba(28,22,17,.28) 45%, rgba(28,22,17,.48)); }
.info-page[data-page="consultation"] .info-hero { background-image: url("images/spaces/04-consulting-clean.jpg"); background-position: center 54%; }
.info-page[data-page="events"] .info-hero { background-image: url("images/spaces/09-reception-wide.jpg"); background-position: center 52%; }
.info-page[data-page="membership"] .info-hero { background-image: url("images/spaces/03-waiting-lounge.jpg"); background-position: center 51%; }
.info-hero-copy { width: min(100%, 940px); }
.info-hero-copy > p:first-child { font-family: Pretendard, sans-serif; font-size: 20px; font-weight: 500; line-height: 36px; }
.info-hero h1 { margin-top: 15px; font-size: clamp(42px, 4.1vw, 68px); font-weight: 700; letter-spacing: -.045em; line-height: 1.12; }
.info-hero-copy > p:last-child { margin-top: 31px; font-size: clamp(18px, 1.5vw, 24px); font-weight: 500; line-height: 1.5; }
.info-section { padding: 130px 0 150px; }
.info-eyebrow { color: #81766d; font-family: Aboreto, Georgia, serif; font-size: 19px; font-weight: 400; line-height: 1.4; letter-spacing: .03em; }
.info-heading { text-align: center; }
.info-heading h2 { margin-top: 30px; color: #241b15; font-size: clamp(32px, 2.5vw, 40px); font-weight: 700; line-height: 1.18; letter-spacing: -.04em; }
.info-heading > p:last-child { margin-top: 30px; color: #4d433c; font-size: clamp(17px, 1.35vw, 24px); line-height: 1.45; }
.info-consultation { background: #f6f2ec; }
.info-page[data-page="consultation"] .info-section { padding-inline: clamp(20px, 4vw, 80px); }
.contact-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; margin-top: 88px; }
.contact-card { position: relative; display: flex; flex-direction: column; min-height: 365px; padding: 32px 36px 40px; border: 1px solid #ded6ce; background: #fff; transition: transform .25s, box-shadow .25s, border-color .25s; }
.contact-card:hover, .contact-card:focus-visible { transform: translateY(-6px); border-color: #9f8b78; box-shadow: 0 18px 42px rgba(35,26,17,.09); }
.contact-number { color: #a18f80; font-family: Aboreto, Georgia, serif; font-size: 28px; }
.contact-card-body { display: flex; flex-direction: column; gap: 18px; margin-top: auto; padding-right: 24px; }
.contact-card-body strong { font-size: 28px; font-weight: 650; }
.contact-card-body > span { color: #665a50; font-size: 17px; line-height: 1.55; }
.contact-arrow { position: absolute; right: 36px; bottom: 39px; font-size: 26px; }
.visit-section { background: #fff; }
.visit-layout { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(70px, 8vw, 150px); align-items: center; }
.visit-photo { height: 620px; overflow: hidden; background: #e9e2da; }
.visit-photo img { width: 100%; height: 100%; object-fit: cover; }
.visit-copy h2 { margin-top: 28px; font-size: 40px; letter-spacing: -.04em; }
.visit-copy dl { margin: 66px 0 0; border-top: 1px solid #a99e94; }
.visit-copy dl > div { display: grid; grid-template-columns: 135px 1fr; gap: 18px; padding: 19px 0; border-bottom: 1px solid #ded8d1; font-size: 17px; line-height: 1.5; }
.visit-copy dt { color: #655a50; font-weight: 600; }
.visit-copy dd { margin: 0; }
.visit-copy dd span { margin-left: 8px; color: #8a7563; font-size: 14px; }
.visit-note { margin-top: 17px; color: #746960; font-size: 15px; }
.info-text-link { display: inline-flex; align-items: center; gap: 42px; margin-top: 48px; padding-bottom: 10px; border-bottom: 1px solid #3e3027; font-size: 16px; font-weight: 600; }
.info-text-link span, .info-solid-link span { font-size: 20px; }
.events-section { background: #f7f3ed; }
.featured-event { display: grid; grid-template-columns: minmax(330px, 500px) minmax(0, 1fr); gap: clamp(60px, 8vw, 150px); align-items: center; margin-top: 90px; padding: 70px; background: #fff; }
.event-poster-crop { position: relative; width: 100%; aspect-ratio: 466 / 583; overflow: hidden; background: #9c8a7d; }
.event-poster-crop img { position: absolute; top: -4.12%; left: -2.15%; width: 104.3%; max-width: none; }
.featured-event-copy h3 { margin-top: 27px; font-size: clamp(31px, 2.7vw, 46px); font-weight: 700; line-height: 1.3; letter-spacing: -.04em; }
.event-date { margin-top: 34px; padding-bottom: 26px; border-bottom: 1px solid #c9bfb5; color: #806d5d; font-family: Aboreto, Georgia, serif; font-size: 18px; }
.featured-event-copy > p:not(.info-eyebrow):not(.event-date) { margin-top: 35px; color: #51463d; font-size: 19px; line-height: 1.7; }
.info-solid-link { display: inline-flex; align-items: center; justify-content: space-between; gap: 60px; min-width: 205px; margin-top: 44px; padding: 17px 21px; color: #fff; background: #2c1f17; font-size: 16px; font-weight: 600; transition: background .2s; }
.info-solid-link:hover { background: #5c4637; }
.event-placeholder-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; margin-top: 25px; }
.event-placeholder-grid article { min-height: 245px; padding: 32px 38px; border: 1px solid #ded6cd; background: #fff; }
.event-placeholder-grid article span { color: #908275; font-family: Aboreto, Georgia, serif; font-size: 15px; }
.event-placeholder-grid h3 { margin-top: 47px; font-size: 25px; }
.event-placeholder-grid p { margin-top: 12px; color: #766b61; font-size: 16px; }
.membership-section { background: #f6f2ec; }
.membership-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr); gap: clamp(60px, 8vw, 150px); align-items: center; }
.membership-copy h2 { margin-top: 31px; font-size: clamp(35px, 3vw, 50px); line-height: 1.25; letter-spacing: -.045em; }
.membership-copy > p:not(.info-eyebrow) { max-width: 520px; margin-top: 35px; color: #51463d; font-size: 19px; line-height: 1.7; }
.membership-divider { width: 100%; height: 1px; margin-top: 54px; background: #c7bcb0; }
.membership-copy .membership-divider + p { margin-top: 33px; }
.membership-photo { min-height: 660px; overflow: hidden; background: #e2d9ce; }
.membership-photo img { width: 100%; height: 660px; object-fit: cover; }
.info-page .site-footer { height: auto; }
@media (max-width: 1050px) {
  .info-hero { min-height: 510px; padding-top: 125px; }
  .info-section { padding: 90px 0 105px; }
  .contact-grid { gap: 14px; margin-top: 65px; }
  .contact-card { min-height: 310px; padding: 26px; }
  .contact-card-body strong { font-size: 23px; }
  .contact-card-body > span { font-size: 15px; }
  .contact-arrow { right: 25px; bottom: 25px; }
  .visit-layout, .membership-layout { gap: 50px; }
  .visit-photo, .membership-photo, .membership-photo img { height: 520px; min-height: 0; }
  .featured-event { grid-template-columns: minmax(260px, .85fr) 1fr; gap: 40px; padding: 40px; }
}
@media (max-width: 700px) {
  .info-hero { min-height: 440px; padding: 102px 20px 65px; }
  .info-hero-copy > p:first-child { font-size: 14px; line-height: 1.4; }
  .info-hero h1 { margin-top: 14px; font-size: 40px; }
  .info-hero-copy > p:last-child { margin-top: 22px; font-size: 16px; }
  .info-section { padding: 76px 0 88px; }
  .info-eyebrow { font-size: 15px; }
  .info-heading h2 { margin-top: 20px; font-size: 28px; }
  .info-heading > p:last-child { margin-top: 18px; font-size: 15px; }
  .contact-grid, .event-placeholder-grid, .visit-layout, .membership-layout, .featured-event { grid-template-columns: 1fr; }
  .contact-grid { margin-top: 45px; }
  .contact-card { min-height: 205px; padding: 22px; }
  .contact-number { font-size: 21px; }
  .contact-card-body { gap: 8px; padding-right: 18px; }
  .contact-card-body strong { font-size: 21px; }
  .contact-card-body > span { font-size: 14px; }
  .visit-layout, .membership-layout { gap: 42px; }
  .visit-photo { height: 330px; }
  .visit-copy h2 { margin-top: 16px; font-size: 30px; }
  .visit-copy dl { margin-top: 32px; }
  .visit-copy dl > div { grid-template-columns: 92px 1fr; gap: 10px; padding: 14px 0; font-size: 14px; }
  .visit-copy dd span { display: block; margin-left: 0; }
  .visit-note { font-size: 13px; }
  .info-text-link { margin-top: 34px; font-size: 14px; }
  .featured-event { gap: 30px; margin-top: 45px; padding: 20px; }
  .event-poster-crop { width: min(100%, 420px); margin-inline: auto; }
  .featured-event-copy { padding: 6px 4px 18px; }
  .featured-event-copy h3 { margin-top: 16px; font-size: 30px; }
  .event-date { margin-top: 20px; padding-bottom: 18px; font-size: 13px; }
  .featured-event-copy > p:not(.info-eyebrow):not(.event-date) { margin-top: 23px; font-size: 15px; }
  .info-solid-link { margin-top: 30px; min-width: 185px; padding: 14px 18px; font-size: 14px; }
  .event-placeholder-grid { gap: 12px; margin-top: 12px; }
  .event-placeholder-grid article { min-height: 170px; padding: 24px; }
  .event-placeholder-grid h3 { margin-top: 25px; font-size: 20px; }
  .event-placeholder-grid p { font-size: 14px; }
  .membership-copy h2 { margin-top: 18px; font-size: 32px; }
  .membership-copy > p:not(.info-eyebrow) { margin-top: 24px; font-size: 15px; }
  .membership-divider { margin-top: 34px; }
  .membership-photo, .membership-photo img { height: 370px; }
}
