.halcyon-project-case { --halcyon-ink: #101d27; --halcyon-ink-soft: #43515e; --halcyon-paper: #f6f3ed; --halcyon-gold: #b89048; --halcyon-gold-bright: #f8c433; --halcyon-rule: #d8d2c8; background: #fff; color: var(--halcyon-ink); }
body.halcyon-project-case-page .realfactory-page-title-wrap { display: none !important; }
.halcyon-project-case *, .halcyon-project-case *::before, .halcyon-project-case *::after { box-sizing: border-box; }
.halcyon-project-case ::selection { background: var(--halcyon-gold); color: var(--halcyon-ink); }
.halcyon-project-case__container { margin: 0 auto; max-width: 1240px; padding-left: 28px; padding-right: 28px; }
.halcyon-project-case__hero { background: var(--halcyon-ink); color: #fff; isolation: isolate; min-height: min(720px, 72vw); overflow: hidden; position: relative; }
.halcyon-project-case__hero-image, .halcyon-project-case__hero-image img, .halcyon-project-case__hero-scrim { height: 100%; inset: 0; position: absolute; width: 100%; }
.halcyon-project-case__hero-image { z-index: 0; }
.halcyon-project-case__hero-image img { object-fit: cover; object-position: center; }
.halcyon-project-case__hero-scrim { background: linear-gradient(90deg, rgba(10, 19, 28, .91) 0%, rgba(10, 19, 28, .72) 35%, rgba(10, 19, 28, .12) 74%, rgba(10, 19, 28, .18) 100%); z-index: 1; }
.halcyon-project-case__hero-content { display: flex; flex-direction: column; justify-content: flex-end; min-height: min(720px, 72vw); padding-bottom: clamp(58px, 7vw, 100px); padding-top: 190px; position: relative; z-index: 2; }
.halcyon-project-case h1, .halcyon-project-case h2 { color: inherit; font-family: inherit; }
.halcyon-project-case h1 { font-size: clamp(52px, 6.8vw, 94px); font-weight: 700; letter-spacing: -.04em; line-height: .96; margin: 0; max-width: 820px; }
.halcyon-project-case__hero-identity { color: var(--halcyon-gold-bright); font-size: 13px; font-weight: 800; letter-spacing: .07em; line-height: 1.4; margin: 19px 0 0; text-transform: uppercase; }
.halcyon-project-case__hero-identity span { color: rgba(255, 255, 255, .72); padding: 0 5px; }
.halcyon-project-case__hero-intro { color: rgba(255, 255, 255, .9); font-size: clamp(16px, 1.45vw, 20px); line-height: 1.58; margin: 18px 0 0; max-width: 55ch; }
.halcyon-project-case__hero-facts { align-items: center; color: #fff; display: flex; flex-wrap: wrap; font-size: clamp(14px, 1.2vw, 17px); font-weight: 700; gap: 10px 0; list-style: none; margin: 24px 0 26px; padding: 0; }
.halcyon-project-case__hero-facts li { align-items: center; display: inline-flex; }
.halcyon-project-case__hero-facts li:not(:last-child)::after { background: var(--halcyon-gold-bright); border-radius: 50%; content: ''; height: 4px; margin: 0 13px; width: 4px; }
.halcyon-project-case__button { align-self: flex-start; background: transparent; border: 1px solid var(--halcyon-gold-bright); color: var(--halcyon-gold-bright) !important; display: inline-flex; font-size: 13px; font-weight: 800; letter-spacing: .045em; padding: 17px 22px; text-decoration: none; text-transform: uppercase; transition: background-color .2s ease-out, color .2s ease-out, transform .2s ease-out; }
.halcyon-project-case__button:hover, .halcyon-project-case__button:focus-visible { background: var(--halcyon-gold-bright); color: var(--halcyon-ink) !important; transform: translateY(-2px); }
.halcyon-project-case__button:focus-visible, .halcyon-project-case__text-link:focus-visible, .halcyon-project-case .halcyon-project-reference-3d-model__launch:focus-visible { outline: 3px solid #fff; outline-offset: 4px; }
.halcyon-project-case__chapter-nav { background: #fff; border-bottom: 1px solid var(--halcyon-rule); }
.halcyon-project-case__chapter-nav .halcyon-project-case__container { align-items: center; display: flex; gap: clamp(18px, 3.2vw, 44px); justify-content: center; min-height: 64px; }
.halcyon-project-case__chapter-nav a { color: var(--halcyon-ink); font-size: 13px; font-weight: 800; letter-spacing: .05em; padding: 21px 0 18px; position: relative; text-decoration: none; text-transform: uppercase; }
.halcyon-project-case__chapter-nav a:first-child::after { background: var(--halcyon-gold); bottom: 0; content: ''; height: 2px; left: 0; position: absolute; right: 0; }
.halcyon-project-case__chapter-nav a:hover, .halcyon-project-case__chapter-nav a:focus-visible { color: #775400; }
.halcyon-project-case__chapter-nav span { color: #9e9689; }
.halcyon-project-case__section { padding: clamp(72px, 8.5vw, 124px) 0; }
.halcyon-project-case__heading { max-width: 650px; }
.halcyon-project-case h2 { font-size: clamp(36px, 4.2vw, 60px); letter-spacing: -.032em; line-height: 1.04; margin: 0 0 18px; }
.halcyon-project-case__heading p, .halcyon-project-case__closing p { color: #536272; font-size: 18px; line-height: 1.7; margin: 0; max-width: 56ch; }
.halcyon-project-case__exteriors { padding-bottom: clamp(64px, 6.5vw, 92px); padding-top: clamp(58px, 6.2vw, 86px); }
.halcyon-project-case__exteriors .halcyon-project-case__heading { max-width: 900px; }
.halcyon-project-case__exteriors .halcyon-project-case__heading h2,
.halcyon-project-case__structure .halcyon-native-project-reference__section-heading h2 { font-size: clamp(34px, 3.1vw, 48px); letter-spacing: -.028em; line-height: 1.08; margin-bottom: 14px; max-width: 34ch; }
.halcyon-project-case__exteriors .halcyon-project-case__heading p,
.halcyon-project-case__structure .halcyon-native-project-reference__section-heading p { max-width: 72ch; }
.halcyon-project-case__exterior-comparison { margin-top: 44px; }
.halcyon-project-case__exterior-comparison figure { background: #e8ebed; margin: 0; overflow: hidden; }
.halcyon-project-case__exterior-feature img { aspect-ratio: 2.15; display: block; height: auto; object-fit: cover; width: 100%; }
.halcyon-project-case__exterior-comparison img { transition: transform .5s cubic-bezier(.2, .8, .2, 1); }
.halcyon-project-case__exterior-comparison figure:hover img { transform: scale(1.018); }
.halcyon-project-case__exterior-comparison figcaption { color: var(--halcyon-ink); font-size: 12px; font-weight: 800; letter-spacing: .055em; padding: 15px 18px 16px; text-transform: uppercase; }
.halcyon-project-case__exterior-grid { display: grid; gap: 18px; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 18px; }
.halcyon-project-case__exterior-grid img { aspect-ratio: 1.58; display: block; height: auto; object-fit: cover; width: 100%; }
.halcyon-project-case__structure { background: var(--halcyon-ink); color: #fff; padding: clamp(64px, 6.5vw, 90px) 0; }
.halcyon-project-case__structure .halcyon-native-project-reference__section { border: 0; margin: 0; padding: 0; }
.halcyon-project-case__structure .halcyon-native-project-reference__section-heading { max-width: 900px; }
.halcyon-project-case__structure .halcyon-native-project-reference__section-heading h2 { color: #fff; }
.halcyon-project-case__structure .halcyon-native-project-reference__section-heading p { color: #d3dce5; font-size: 18px; line-height: 1.7; margin: 0; }
.halcyon-project-case__structure .halcyon-project-reference-3d-model { border-top: 0; }
.halcyon-project-case__structure .halcyon-project-reference-3d-model__controls { margin-top: 26px; }
.halcyon-project-case__structure .halcyon-project-reference-3d-model__launch { background: var(--halcyon-gold-bright); color: var(--halcyon-ink); }
.halcyon-project-case__structure .halcyon-project-reference-3d-model__launch:hover, .halcyon-project-case__structure .halcyon-project-reference-3d-model__launch:focus-visible { background: #fff0af; }
.halcyon-project-case__structure .halcyon-project-reference-3d-model__status, .halcyon-project-case__structure .halcyon-project-reference-3d-model__disclosure { color: #d3dce5; }
.halcyon-project-case__structure .halcyon-project-reference-3d-model__stage { background: #101b27; border-color: rgba(255, 255, 255, .24); margin-top: 30px; }
.halcyon-project-case__structure .halcyon-project-reference-3d-model__presentation { border-color: rgba(255, 255, 255, .24); }
.halcyon-project-case__structure .halcyon-project-reference-3d-model__presentation .halcyon-project-reference-3d-model__stage { margin-top: 0; }
.halcyon-project-case__structure .halcyon-project-reference-3d-model__stage:empty::after { color: #d3dce5; }
.halcyon-project-case__structure .halcyon-project-reference-3d-model__stage model-viewer { background: radial-gradient(circle at 50% 35%, #334b61 0%, #172433 58%, #0f1923 100%); }
.halcyon-project-case__structure .halcyon-project-reference-3d-model__disclosure { border-left: 1px solid var(--halcyon-gold-bright); padding-left: 16px; }
.halcyon-project-case__layout { background: var(--halcyon-paper); }
.halcyon-project-case__layout-grid { align-items: center; display: grid; gap: clamp(42px, 7vw, 120px); grid-template-columns: minmax(0, .72fr) minmax(360px, 1fr); }
.halcyon-project-case__layout-facts { border-bottom: 1px solid var(--halcyon-rule); border-top: 1px solid var(--halcyon-rule); list-style: none; margin: 32px 0 28px; padding: 0; }
.halcyon-project-case__layout-facts li { border-top: 1px solid var(--halcyon-rule); color: var(--halcyon-ink); font-size: clamp(17px, 1.7vw, 23px); font-weight: 600; padding: 11px 0; }
.halcyon-project-case__layout-facts li:first-child { border-top: 0; font-size: clamp(29px, 3vw, 44px); letter-spacing: -.03em; padding-top: 15px; }
.halcyon-project-case__plan { background: #fff; box-shadow: 0 18px 48px rgba(16, 29, 39, .13); margin: 0; padding: clamp(12px, 2vw, 24px); }
.halcyon-project-case__plan img { display: block; height: auto; width: 100%; }
.halcyon-project-case__plan-switcher { min-width: 0; }
.halcyon-project-case__plan-tabs { align-items: stretch; background: rgba(255, 255, 255, .72); border: 1px solid var(--halcyon-rule); display: inline-flex; gap: 4px; margin: 0 0 20px; padding: 4px; width: fit-content; }
.halcyon-project-case__plan-tab { align-items: center; background: transparent; border: 1px solid transparent; color: var(--halcyon-ink-soft); cursor: pointer; display: inline-flex; font: inherit; font-size: 14px; font-weight: 800; justify-content: center; letter-spacing: .045em; line-height: 1; margin: 0; min-height: 48px; min-width: 82px; padding: 12px 20px; text-transform: uppercase; transition: background-color .18s ease-out, border-color .18s ease-out, color .18s ease-out; }
@media (hover: hover) { .halcyon-project-case__plan-tab:hover { background: rgba(184, 144, 72, .14); border-color: rgba(184, 144, 72, .46); color: #765b00; } }
.halcyon-project-case__plan-tab.is-active, .halcyon-project-case__plan-tab[aria-selected="true"] { background: var(--halcyon-gold); border-color: #9d7738; color: var(--halcyon-ink); }
.halcyon-project-case__plan-tab:focus-visible { outline: 3px solid var(--halcyon-gold-bright); outline-offset: 3px; }
.halcyon-project-case__plan-switcher.is-ready [data-floor-plan-panel][aria-hidden="true"] { display: none; }
.halcyon-project-case__closing { background: var(--halcyon-ink); color: #fff; padding: clamp(46px, 5.7vw, 76px) 0; }
.halcyon-project-case__closing-inner { align-items: center; display: flex; gap: 36px; justify-content: space-between; }
.halcyon-project-case__closing p { color: rgba(255, 255, 255, .74); }
.halcyon-project-case__button--outline { flex: 0 0 auto; }
.halcyon-project-case-listing { background: #fff; padding: clamp(42px, 5vw, 76px) 0 16px; }
.halcyon-project-case-listing__container { margin: 0 auto; max-width: 1240px; padding: 0 28px; }
.halcyon-project-case-listing__grid { display: grid; gap: 30px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.halcyon-project-case-listing__card { background: #fff; min-width: 0; }
.halcyon-project-case-listing__image-link { background: #e8ebed; display: block; overflow: hidden; position: relative; }
.halcyon-project-case-listing__image-link img { aspect-ratio: 1.9; display: block; height: auto; object-fit: cover; transition: transform .4s cubic-bezier(.2, .8, .2, 1); width: 100%; }
.halcyon-project-case-listing__image-overlay { background: rgba(23, 36, 51, 0); inset: 0; position: absolute; transition: background-color .25s ease-out; }
.halcyon-project-case-listing__image-link:hover img, .halcyon-project-case-listing__image-link:focus-visible img { transform: scale(1.025); }
.halcyon-project-case-listing__image-link:hover .halcyon-project-case-listing__image-overlay, .halcyon-project-case-listing__image-link:focus-visible .halcyon-project-case-listing__image-overlay { background: rgba(23, 36, 51, .15); }
.halcyon-project-case-listing__image-link:focus-visible, .halcyon-project-case-listing__content a:focus-visible { outline: 3px solid var(--halcyon-gold); outline-offset: 4px; }
.halcyon-project-case-listing__content { padding: 20px 2px 4px; }
.halcyon-project-case-listing__content h2 { color: var(--halcyon-ink); font-size: clamp(25px, 2.25vw, 34px); letter-spacing: -.025em; line-height: 1.08; margin: 0; }
.halcyon-project-case-listing__content h2 a { color: inherit; text-decoration: none; }
.halcyon-project-case-listing__content h2 a:hover { color: #765b00; }
.halcyon-project-case-listing__identity { color: #8a641e; font-size: 12px; font-weight: 800; letter-spacing: .055em; line-height: 1.5; margin: 10px 0 0; text-transform: uppercase; }
.halcyon-project-case-listing__identity span { color: #9e9689; padding: 0 4px; }
.halcyon-project-case-listing__facts { color: #536272; display: flex; flex-wrap: wrap; font-size: 14px; gap: 8px 13px; list-style: none; margin: 13px 0 0; padding: 0; }
.halcyon-project-case-listing__facts li { align-items: center; display: flex; }
.halcyon-project-case-listing__facts li:not(:last-child)::after { background: #c4a346; content: ''; display: inline-block; height: 4px; margin-left: 13px; width: 4px; }

@media (min-width: 1100px) {
  .halcyon-project-case__exteriors .halcyon-project-case__heading,
  .halcyon-project-case__structure .halcyon-native-project-reference__section-heading { max-width: none; }
  .halcyon-project-case__exteriors .halcyon-project-case__heading h2,
  .halcyon-project-case__structure .halcyon-native-project-reference__section-heading h2 { font-size: clamp(32px, 2.45vw, 40px); line-height: 1.1; max-width: none; overflow-wrap: anywhere; white-space: normal; }
}
@media (min-width: 1200px) { .halcyon-project-case__hero-content { padding-top: 220px; } }
@media (max-width: 900px) { .halcyon-project-case__hero, .halcyon-project-case__hero-content { min-height: 630px; } .halcyon-project-case__layout-grid { grid-template-columns: 1fr; } .halcyon-project-case__plan { max-width: 700px; } }
@media (max-width: 700px) { .halcyon-project-case__container, .halcyon-project-case-listing__container { padding-left: 24px; padding-right: 24px; } .halcyon-project-case__hero, .halcyon-project-case__hero-content { min-height: 580px; } .halcyon-project-case__hero-content { padding-bottom: 54px; padding-top: 160px; } .halcyon-project-case__hero-scrim { background: linear-gradient(180deg, rgba(10, 19, 28, .2), rgba(10, 19, 28, .88) 72%, rgba(10, 19, 28, .96)); } .halcyon-project-case__hero-identity { font-size: 11px; margin-top: 16px; } .halcyon-project-case__hero-intro { font-size: 16px; line-height: 1.52; margin-top: 14px; } .halcyon-project-case__hero-facts { font-size: 14px; margin: 18px 0 24px; } .halcyon-project-case__hero-facts li:not(:last-child)::after { margin: 0 9px; } .halcyon-project-case__chapter-nav .halcyon-project-case__container { gap: 14px; justify-content: flex-start; overflow-x: auto; } .halcyon-project-case__chapter-nav a { flex: 0 0 auto; font-size: 11px; } .halcyon-project-case__exterior-grid, .halcyon-project-case-listing__grid { grid-template-columns: 1fr; } .halcyon-project-case__exterior-feature img { aspect-ratio: 1.28; } .halcyon-project-case__exterior-grid { gap: 16px; margin-top: 16px; } .halcyon-project-case__exterior-grid img { aspect-ratio: 1.4; } .halcyon-project-case__section, .halcyon-project-case__structure { padding: 70px 0; } .halcyon-project-case__exteriors { padding-bottom: 62px; padding-top: 62px; } .halcyon-project-case__exteriors .halcyon-project-case__heading h2, .halcyon-project-case__structure .halcyon-native-project-reference__section-heading h2 { font-size: 34px; line-height: 1.1; } .halcyon-project-case h2 { font-size: 36px; } .halcyon-project-case__heading p, .halcyon-project-case__closing p, .halcyon-project-case__structure .halcyon-native-project-reference__section-heading p { font-size: 16px; } .halcyon-project-case__layout-grid { gap: 38px; } .halcyon-project-case__plan-tabs { display: flex; width: 100%; } .halcyon-project-case__plan-tab { flex: 1 1 0; min-width: 0; padding-left: 12px; padding-right: 12px; } .halcyon-project-case__closing-inner { align-items: stretch; flex-direction: column; } .halcyon-project-case__button--outline { justify-content: center; text-align: center; } }
