@layer properties {
    @supports (((-webkit-hyphens: none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))) {
        *,:before,:after,::backdrop {
            --tw-rotate-x:initial;
            --tw-rotate-y: initial;
            --tw-rotate-z: initial;
            --tw-skew-x: initial;
            --tw-skew-y: initial;
            --tw-border-style: solid;
            --tw-font-weight: initial;
            --tw-outline-style: solid;
            --tw-blur: initial;
            --tw-brightness: initial;
            --tw-contrast: initial;
            --tw-grayscale: initial;
            --tw-hue-rotate: initial;
            --tw-invert: initial;
            --tw-opacity: initial;
            --tw-saturate: initial;
            --tw-sepia: initial;
            --tw-drop-shadow: initial;
            --tw-drop-shadow-color: initial;
            --tw-drop-shadow-alpha: 100%;
            --tw-drop-shadow-size: initial;
            --tw-backdrop-blur: initial;
            --tw-backdrop-brightness: initial;
            --tw-backdrop-contrast: initial;
            --tw-backdrop-grayscale: initial;
            --tw-backdrop-hue-rotate: initial;
            --tw-backdrop-invert: initial;
            --tw-backdrop-opacity: initial;
            --tw-backdrop-saturate: initial;
            --tw-backdrop-sepia: initial
        }
    }
}

@layer theme {
    :root,:host {
        --font-sans: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
        --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
        /* --color-blue-600:oklch(54.6% .245 262.881); */
        /* --color-gray-600:oklch(44.6% .03 256.802); */
        --spacing: .25rem;
        --text-2xl: 1.5rem;
        --text-2xl--line-height: calc(2 / 1.5);
        --text-3xl: 1.875rem;
        --text-3xl--line-height: 1.2;
        --font-weight-bold: 700;
        --radius-lg: .5rem;
        --radius-2xl: 1rem;
        --default-transition-duration: .15s;
        --default-transition-timing-function: cubic-bezier(.4, 0, .2, 1);
        --default-font-family: var(--font-sans);
        --default-mono-font-family: var(--font-mono);
        /* --color-gold:#c8a86b; */
        /* --color-obsidian:#0c0c0b; */
        /* --color-onyx:#141412; */
        /* --color-cream:#f7f2e8; */
        /* --color-parchment:#ede9e0; */
        --font-family-display: "Cormorant Garamond", "Georgia", serif;
        --font-family-sans: "DM Sans", system-ui, sans-serif
    }
}

@layer base {
    *,:after,:before,::backdrop {
        box-sizing: border-box;
        border: 0 solid;
        margin: 0;
        padding: 0
    }

    ::file-selector-button {
        box-sizing: border-box;
        border: 0 solid;
        margin: 0;
        padding: 0
    }

    html, :host {
        -webkit-text-size-adjust:100%;
        tab-size: 4;
        line-height: 1.5;
        scroll-behavior: smooth;
        font-family: var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");
        font-feature-settings: var(--default-font-feature-settings,normal);
        font-variation-settings: var(--default-font-variation-settings,normal);
        -webkit-tap-highlight-color: transparent
    }

    hr {
        height: 0;
        color: inherit;
        border-top-width: 1px
    }

    abbr[title] {
        -webkit-text-decoration:underline dotted;
        text-decoration: underline dotted
    }

    h1,h2,h3,h4,h5,h6 {
        font-size: inherit;
        font-weight: inherit
    }

    a {
        color: inherit;
        -webkit-text-decoration: inherit;
        text-decoration: inherit
    }

    b,strong {
        font-weight: bolder
    }

    code,kbd,samp,pre {
        font-family: var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);
        font-feature-settings: var(--default-mono-font-feature-settings,normal);
        font-variation-settings: var(--default-mono-font-variation-settings,normal);
        font-size: 1em
    }

    small {
        font-size: 80%
    }

    sub,sup {
        vertical-align: baseline;
        font-size: 75%;
        line-height: 0;
        position: relative
    }

    sub {
        bottom: -.25em
    }

    sup {
        top: -.5em
    }

    table {
        text-indent: 0;
        border-color: inherit;
        border-collapse: collapse
    }

    :-moz-focusring {
        outline: auto
    }

    progress {
        vertical-align: baseline
    }

    summary {
        display: list-item
    }

    ol,ul,menu {
        list-style: none
    }

    img,svg,video,canvas,audio,iframe,embed,object {
        display: block
    }

    img,video {
        max-width: 100%;
        height: auto
    }

    button,input,select,optgroup,textarea {
        font: inherit;
        font-feature-settings: inherit;
        font-variation-settings: inherit;
        letter-spacing: inherit;
        color: inherit;
        opacity: 1;
        background-color: #0000;
        border-radius: 0
    }

    ::file-selector-button {
        font: inherit;
        font-feature-settings: inherit;
        font-variation-settings: inherit;
        letter-spacing: inherit;
        color: inherit;
        opacity: 1;
        background-color: #0000;
        border-radius: 0
    }

    :where(select:is([multiple],[size])) optgroup {
        font-weight:bolder
    }

    :where(select:is([multiple],[size])) optgroup option {
        padding-inline-start:20px
    }

    ::file-selector-button {
        margin-inline-end:4px}

    ::placeholder {
        opacity: 1
    }

    @supports (not ((-webkit-appearance: -apple-pay-button))) or (contain-intrinsic-size:1px) {
        ::placeholder {
            color:currentColor
        }

        @supports (color: color-mix(in lab,red,red)) {
            ::placeholder {
                color:color-mix(in oklab,currentcolor 50%,transparent)
            }
        }
    }

    textarea {
        resize: vertical
    }

    ::-webkit-search-decoration {
        -webkit-appearance: none
    }

    ::-webkit-date-and-time-value {
        min-height: 1lh;
        text-align: inherit
    }

    ::-webkit-datetime-edit {
        display: inline-flex
    }

    ::-webkit-datetime-edit-fields-wrapper {
        padding: 0
    }

    ::-webkit-datetime-edit {
        padding-block:0}

    ::-webkit-datetime-edit-year-field {
        padding-block:0}

    ::-webkit-datetime-edit-month-field {
        padding-block:0}

    ::-webkit-datetime-edit-day-field {
        padding-block:0}

    ::-webkit-datetime-edit-hour-field {
        padding-block:0}

    ::-webkit-datetime-edit-minute-field {
        padding-block:0}

    ::-webkit-datetime-edit-second-field {
        padding-block:0}

    ::-webkit-datetime-edit-millisecond-field {
        padding-block:0}

    ::-webkit-datetime-edit-meridiem-field {
        padding-block:0}

    ::-webkit-calendar-picker-indicator {
        line-height: 1
    }

    :-moz-ui-invalid {
        box-shadow: none
    }

    button,input:where([type=button],[type=reset],[type=submit]) {
        appearance:button
    }

    ::file-selector-button {
        appearance: button
    }

    ::-webkit-inner-spin-button {
        height: auto
    }

    ::-webkit-outer-spin-button {
        height: auto
    }

    [hidden]:not([hidden="until-found"]) {
        display:none!important
    }
}

@layer components;@layer utilities {
    .absolute {
        position: absolute
    }

    .fixed {
        position: fixed
    }

    .relative {
        position: relative
    }

    .static {
        position: static
    }

    .start {
        inset-inline-start: var(--spacing)
    }

    .mb-2 {
        margin-bottom: calc(var(--spacing) * 2)
    }

    .mb-4 {
        margin-bottom: calc(var(--spacing) * 4)
    }

    .mb-6 {
        margin-bottom: calc(var(--spacing) * 6)
    }

    .block {
        display: block
    }

    .flex {
        display: flex
    }

    .grid {
        display: grid
    }

    .hidden {
        display: none
    }

    .inline {
        display: inline
    }

    .inline-block {
        display: inline-block
    }

    .w-full {
        width: 100%
    }

    .transform {
        transform: var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)
    }

    .resize {
        resize: both
    }

    .flex-col {
        flex-direction: column
    }

    .items-center {
        align-items: center
    }

    .justify-between {
        justify-content: space-between
    }

    .gap-8 {
        gap: calc(var(--spacing) * 8)
    }

    .rounded-2xl {
        border-radius: var(--radius-2xl)
    }

    .rounded-lg {
        border-radius: var(--radius-lg)
    }

    .border {
        border-style: var(--tw-border-style);
        border-width: 1px
    }

    .object-cover {
        object-fit: cover
    }

    .p-5 {
        padding: calc(var(--spacing) * 5)
    }

    .p-8 {
        padding: calc(var(--spacing) * 8)
    }

    .px-6 {
        padding-inline:calc(var(--spacing) * 6)}

    .py-2 {
        padding-block: calc(var(--spacing) * 2)
    }

    .pb-20 {
        padding-bottom: calc(var(--spacing) * 20)
    }

    .text-2xl {
        font-size: var(--text-2xl);
        line-height: var(--tw-leading,var(--text-2xl--line-height))
    }

    .text-3xl {
        font-size: var(--text-3xl);
        line-height: var(--tw-leading,var(--text-3xl--line-height))
    }

    .font-bold {
        --tw-font-weight: var(--font-weight-bold);
        font-weight: var(--font-weight-bold)
    }

    .text-blue-600 {
        color: var(--color-blue-600)
    }

    .text-gray-600 {
        color: var(--color-gray-600)
    }

    .capitalize {
        text-transform: capitalize
    }

    .uppercase {
        text-transform: uppercase
    }

    .italic {
        font-style: italic
    }

    .opacity-0 {
        opacity: 0
    }

    .outline {
        outline-style: var(--tw-outline-style);
        outline-width: 1px
    }

    .filter {
        filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)
    }

    .backdrop-filter {
        -webkit-backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);
        backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)
    }

    .transition {
        transition-property: color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;
        transition-timing-function: var(--tw-ease,var(--default-transition-timing-function));
        transition-duration: var(--tw-duration,var(--default-transition-duration))
    }

    .delay-200 {
        transition-delay: .2s
    }

    .delay-400 {
        transition-delay: .4s
    }

    .delay-700 {
        transition-delay: .7s
    }

    @media(min-width: 40rem) {
        .sm\:grid-cols-2 {
            grid-template-columns:repeat(2,minmax(0,1fr))
        }

        .sm\:grid-cols-5 {
            grid-template-columns: repeat(5,minmax(0,1fr))
        }
    }

    @media(min-width: 48rem) {
        .md\:w-\[45\%\] {
            width:45%
        }

        .md\:w-\[55\%\] {
            width: 55%
        }

        .md\:flex-row {
            flex-direction: row
        }
    }

    @media(min-width: 64rem) {
        .lg\:flex {
            display:flex
        }

        .lg\:hidden {
            display: none
        }

        .lg\:grid-cols-2 {
            grid-template-columns: repeat(2,minmax(0,1fr))
        }

        .lg\:grid-cols-3 {
            grid-template-columns: repeat(3,minmax(0,1fr))
        }

        .lg\:grid-cols-4 {
            grid-template-columns: repeat(4,minmax(0,1fr))
        }

        .lg\:grid-cols-5 {
            grid-template-columns: repeat(5,minmax(0,1fr))
        }

        .lg\:grid-cols-12 {
            grid-template-columns: repeat(12,minmax(0,1fr))
        }

        .lg\:flex-row {
            flex-direction: row
        }

        .lg\:items-center {
            align-items: center
        }

        .lg\:justify-between {
            justify-content: space-between
        }

        .lg\:px-12 {
            padding-inline:calc(var(--spacing) * 12)}

        .lg\: pb-24 {
            padding-bottom:calc(var(--spacing) * 24)
        }

        .lg\:pb-28 {
            padding-bottom: calc(var(--spacing) * 28)
        }

        .lg\:\[direction\:rtl\] {
            direction: rtl
        }
    }
}

* {
    box-sizing: border-box
}

html {
    scroll-behavior: smooth;
    scroll-padding-top: 110px;
}

@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }
}
body {
    font-family: var(--font-family-sans);
    color: #ede9e0;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    background-color: #0c0c0b;
    margin: 0;
    overflow-x: hidden;
}

main {
    width: 100%;
    overflow-x: hidden;
}

img,
svg,
video,
canvas {
    max-width: 100%;
    height: auto;
}

.hero-section {
    min-height: 100svh;
    width: 100%;
    overflow: hidden;
}

.hero-section .hero-inner {
    width: min(100%, 1400px) !important;
    padding: 0 clamp(1.25rem, 4vw, 3rem) clamp(3rem, 8vw, 7rem) !important;
}

.hero-section .hero-inner > div {
    max-width: min(100%, 780px);
}

.hero-section .hero-inner h1 {
    font-size: clamp(2.25rem, 7vw, 4.5rem) !important;
    max-width: 100% !important;
}

.hero-section .hero-inner p {
    font-size: clamp(0.95rem, 1.5vw, 1.0625rem) !important;
    max-width: min(100%, 480px) !important;
}

.hero-section .hero-inner .btn-gold,
.hero-section .hero-inner .btn-outline {
    min-width: min(100%, 14rem);
}

.project-card-link {
    display: block;
    width: 100%;
    min-width: 0;
}

p {
    font-family: var(--font-family-sans);
    font-weight: 300;
    line-height: 1.7;
    color: inherit;
}

.header-nav {
    display: none;
    margin-left: 0.3rem;
    justify-content: center;
    align-items: center;
    gap: 0.9rem !important;
    flex: 1 1 auto;
}

.header-menu-toggle {
    display: none;
}

.header-menu-toggle:hover,
.header-menu-toggle:focus,
.header-menu-toggle:focus-visible,
.header-menu-toggle:active {
    box-shadow: none !important;
    background: transparent !important;
    transform: none !important;
    outline: none !important;
    filter: none !important;
}

.header-cta {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    white-space: nowrap;
    font-size: clamp(8px, 0.9vw, 10px) !important;
    padding: clamp(7px, 0.9vw, 9px) clamp(12px, 1.2vw, 18px) !important;
}

header > div[style*="display:flex;align-items:center;justify-content:space-between;height:92px"] > div[style*="display:flex;align-items:center;gap:0.75rem"] {
    display: flex !important;
    align-items: center !important;
    gap: clamp(0.45rem, 1vw, 0.75rem) !important;
    flex-shrink: 0 !important;
    margin-left: auto !important;
    white-space: nowrap !important;
}

header > div[style*="display:flex;align-items:center;justify-content:space-between;height:92px"] > div[style*="display:flex;align-items:center;gap:0.75rem"] > span,
header > div[style*="display:flex;align-items:center;justify-content:space-between;height:92px"] > div[style*="display:flex;align-items:center;gap:0.75rem"] > a {
    white-space: nowrap !important;
    flex-shrink: 0 !important;
}

header > div[style*="display:flex;align-items:center;justify-content:space-between;height:92px"] > div[style*="display:flex;align-items:center;gap:0.75rem"] > span {
    font-size: clamp(8px, 0.85vw, 10px) !important;
    padding: 0.45rem 0.65rem !important;
}

.header-nav-link {
    position: relative;
    font-size: clamp(9px, 0.8vw, 11px) !important;
    letter-spacing: 0.16em !important;
    white-space: nowrap;
}

.header-logo,
header a > img[alt*="logo"],
header img[alt*="Waypoint Builders logo"] {
    height: clamp(56px, 6vw, 112px);
    width: auto;
    max-width: 100%;
    display: block;
    flex-shrink: 1;
    object-fit: contain;
    margin-top: 0;
}

header > div[style*="height:92px"] {
    padding-top: 0.2rem !important;
    padding-bottom: 0.2rem !important;
}

.header-nav-link:hover,
.header-nav-link:focus-visible {
    color: #E5C77A !important;
    border-bottom-color: rgba(229, 199, 122, 0.7) !important;
    padding-bottom: 4px;
}

footer > div[style*="max-width:1400px"] {
    max-width: 1100px !important;
}

footer > div[style*="display:grid;grid-template-columns:minmax(280px, 1.1fr) minmax(280px, 0.9fr);gap:2rem;align-items:center;margin-bottom:3rem"] {
    grid-template-columns: minmax(0, 1fr) !important;
    justify-items: center !important;
    text-align: center !important;
}

footer > div > div[style*="display:flex;flex-direction:column;align-items:center;text-align:center;gap:0.85rem;padding:1rem 0"] {
    align-items: center !important;
    text-align: center !important;
    max-width: 560px !important;
}

footer > div > div[style*="padding:1.4rem 1.5rem;border:1px solid rgba(200, 168, 107, 0.16);background:linear-gradient(135deg, rgba(255,255,255,0.03), rgba(200, 168, 107, 0.04));box-shadow:inset 0 1px 0 rgba(255,255,255,0.03)"] {
    max-width: 520px !important;
    width: 100% !important;
    margin: 0 auto !important;
}

footer > div > div[style*="display:flex;flex-wrap:wrap;gap:0.75rem;align-items:center;justify-content:space-between"] {
    justify-content: center !important;
    text-align: center !important;
}

button,
button[type="button"],
button[type="submit"],
button[type="reset"],
input[type="button"],
input[type="submit"],
input[type="reset"],
.btn-gold,
.btn-outline,
.ownership-button,
.project-card-toggle {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
}

@media (min-width: 1024px) {
    .header-nav {
        display: flex !important;
        margin-left: 0.35rem;
        gap: 0.7rem !important;
        align-items: center !important;
        flex: 1 1 auto;
        justify-content: center;
    }

    .header-menu-toggle {
        display: none !important;
    }

    .header-cta {
        display: inline-flex;
        align-items: center;
        justify-content: center;
    }
}

@media (max-width: 1023px) {
    main > *:first-child {
        padding-top: calc(5.5rem + 1rem) !important;
    }

    header > div[style*="display:flex;align-items:center;justify-content:space-between;height:92px"] > div[style*="display:flex;align-items:center;gap:0.75rem"] {
        gap: 0.5rem !important;
        margin-left: auto !important;
    }

    .header-nav {
        display: none;
        flex-direction: column;
        align-items: flex-start;
        gap: 1rem;
        position: absolute;
        top: calc(100% + 0.75rem);
        right: 1.5rem;
        padding: 1rem 1.25rem;
        border: 1px solid rgba(164, 130, 64, 0.2);
        border-radius: 14px;
        background: rgba(12, 12, 11, 0.96);
        box-shadow: 0 12px 30px rgba(0, 0, 0, 0.25);
    }

    .header-nav.mobile-open {
        display: flex;
    }

    .header-menu-toggle {
        display: flex;
    }
}

@media (max-width: 1023px) {
    header > div[style*="padding:0 3rem"] {
        padding-inline: 1.5rem !important;
        height: 84px !important;
    }

    .header-nav-link {
        font-size: clamp(8px, 1.1vw, 10px) !important;
    }

    header > div[style*="display:flex;align-items:center;justify-content:space-between;height:92px"] > div[style*="display:flex;align-items:center;gap:0.75rem"] {
        gap: 0.45rem !important;
    }
}

@media (max-width: 768px) {
    header > div[style*="padding:0 3rem"] {
        padding-inline: 1.25rem !important;
        height: 78px !important;
    }

    header > div[style*="display:flex;align-items:center;justify-content:space-between;height:92px"] > div[style*="display:flex;align-items:center;gap:0.75rem"] {
        gap: 0.35rem !important;
    }

    .header-nav-link {
        font-size: clamp(8px, 2.2vw, 9px) !important;
    }

    .header-cta {
        padding: 6px 10px !important;
        font-size: 7.5px !important;
    }

    header > div[style*="display:flex;align-items:center;justify-content:space-between;height:92px"] > div[style*="display:flex;align-items:center;gap:0.75rem"] > span {
        padding: 0.35rem 0.5rem !important;
        font-size: 7.5px !important;
    }

    .header-menu-toggle {
        width: 44px;
        height: 44px;
        justify-content: center;
    }

    .btn-gold,
    .btn-outline {
        width: 100%;
        justify-content: center;
        padding: 0.95rem 1rem;
    }

    [style*="display:grid;grid-template-columns:minmax(280px, 1.1fr) minmax(280px, 0.9fr);gap:2rem;align-items:center;margin-bottom:3rem"] {
        grid-template-columns: 1fr !important;
        gap: 1.25rem !important;
    }

    [style*="grid-template-columns:repeat(3, 1fr);gap:1.5rem"] {
        grid-template-columns: 1fr !important;
        gap: 1.25rem !important;
    }

    [style*="padding:0 3rem 7rem"],
    [style*="padding:0 3rem"] {
        padding-left: 1.25rem !important;
        padding-right: 1.25rem !important;
    }

    [style*="padding:4rem 3rem"] {
        padding: 3rem 1.25rem !important;
    }

    [style*="padding:100px 0"] {
        padding: 4rem 0 !important;
    }

    [style*="padding:clamp(5rem, 10vw, 10rem) 3rem"] {
        padding: 4rem 1.25rem !important;
    }

    [style*="grid-template-columns:1.05fr 0.95fr"] {
        grid-template-columns: 1fr !important;
    }

    [style*="grid-template-columns:repeat(2, 1fr)"] {
        grid-template-columns: 1fr !important;
    }

    [style*="display:grid;grid-template-columns:1fr 1fr;gap:1rem"] {
        grid-template-columns: 1fr !important;
    }

    [style*="display:flex;gap:1rem;flex-wrap:wrap"] {
        flex-direction: column;
        align-items: stretch;
    }

    [style*="display:flex;gap:1rem;flex-wrap:wrap"] > a {
        width: 100%;
        justify-content: center;
    }

    .project-card {
        min-height: clamp(220px, 60vw, 320px) !important;
        height: clamp(220px, 60vw, 320px) !important;
    }

    .project-card.is-open {
        min-height: 640px !important;
    }

    .project-card-gallery {
        inset: 4rem 1rem 1rem 1rem;
        grid-template-columns: 1fr;
    }
}

@media (max-width: 640px) {
    .header-nav {
        left: 1.25rem;
        right: 1.25rem;
        width: auto;
    }

    [style*="padding:0 3rem 7rem"],
    [style*="padding:0 3rem"] {
        padding-bottom: 3rem !important;
    }
}

@keyframes marquee {
    0% {
        transform: translate(0)
    }

    to {
        transform: translate(-50%)
    }
}

@keyframes fadeUp {
    0% {
        opacity: 0;
        transform: translateY(24px)
    }

    to {
        opacity: 1;
        transform: translateY(0)
    }
}

@keyframes fadeIn {
    0% {
        opacity: 0
    }

    to {
        opacity: 1
    }
}

@keyframes scaleIn {
    0% {
        opacity: 0;
        transform: scale(.96)
    }

    to {
        opacity: 1;
        transform: scale(1)
    }
}

.animate-marquee {
    animation: 40s linear infinite marquee;
    padding: 0.15rem 0;
}

.animate-marquee span {
    font-weight: 500;
    text-shadow: 0 0 16px rgba(255, 255, 255, 0.12);
}

.animate-marquee span:nth-child(odd) {
    color: rgba(200, 168, 107, 0.56) !important;
}

.animate-marquee span:nth-child(even) {
    color: rgba(250, 242, 229, 0.36) !important;
}

.project-marquee span {
    opacity: 0.9;
    text-shadow: 0 0 7px rgba(255, 255, 255, 0.02);
}

.project-marquee span:nth-child(odd) {
    color: rgba(200, 168, 107, 0.48) !important;
}

.project-marquee span:nth-child(even) {
    color: rgba(250, 242, 229, 0.32) !important;
}

.animate-fade-up {
    animation: .9s cubic-bezier(.22,1,.36,1) forwards fadeUp;
}

.animate-fade-in {
    animation: 1.2s forwards fadeIn
}

.delay-100 {
    animation-delay: .1s
}

.delay-200 {
    animation-delay: .2s
}

.delay-300 {
    animation-delay: .3s
}

.delay-400 {
    animation-delay: .4s
}

.delay-500 {
    animation-delay: .5s
}

.delay-600 {
    animation-delay: .6s
}

.delay-700 {
    animation-delay: .7s
}

.opacity-0 {
    opacity: 0
}

.project-card:hover .project-overlay {
    opacity: 1
}

.project-card:hover .project-img {
    transform: scale(1.06)
}

.project-card {
    display: block;
    width: 100% !important;
    height: clamp(240px, 42vw, 400px) !important;
    min-height: clamp(240px, 42vw, 400px) !important;
    aspect-ratio: 4 / 3;
    text-decoration: none;
    color: inherit;
}

.project-card[style*="min-height:240px"] {
    height: 400px !important;
    min-height: 400px !important;
}

.project-img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .8s cubic-bezier(.22,1,.36,1)
}

.project-overlay {
    opacity: 0;
    transition: opacity .5s
}

.project-card-toggle {
    position: absolute;
    top: 1.25rem;
    right: 1.25rem;
    z-index: 4;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border-radius: 999px;
    border: 1px solid rgba(255,255,255,0.18);
    background: rgba(12,12,11,0.55);
    color: #f7efe1;
    cursor: pointer;
    backdrop-filter: blur(10px);
    transition: background .3s ease, transform .3s ease;
}

.project-card-toggle:hover {
    background: rgba(200,168,107,0.2);
    transform: translateY(-1px);
}

.project-card.is-open .project-card-toggle {
    background: rgba(200,168,107,0.24);
}

.project-card {
    transition: min-height .4s ease, transform .3s ease;
}

.project-card.is-open {
    min-height: 760px !important;
}

.project-card-gallery {
    position: absolute;
    inset: 4.5rem 1.25rem 1.25rem 1.25rem;
    z-index: 3;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem;
    max-height: 0;
    overflow: hidden;
    opacity: 0;
    transition: max-height .4s ease, opacity .3s ease, transform .3s ease;
    transform: translateY(12px);
    padding: 0.25rem;
}

.project-card.is-open .project-card-gallery {
    max-height: 640px;
    opacity: 1;
    transform: translateY(0);
}

.project-card-gallery img {
    width: 100%;
    height: 100%;
    min-height: 180px;
    object-fit: cover;
    border-radius: 12px;
    border: 1px solid rgba(255,255,255,0.12);
    background: rgba(12,12,11,0.35);
    transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;
    cursor: pointer;
}

.project-card-gallery img:hover {
    transform: scale(1.03);
    box-shadow: 0 12px 28px rgba(0,0,0,0.28);
    border-color: rgba(200,168,107,0.45);
}

@media (max-width: 768px) {
    .hero-section {
        min-height: 100svh;
        padding-top: clamp(4.25rem, 12vw, 6rem);
    }

    .hero-section .hero-inner {
        padding-bottom: 3rem;
    }

    .hero-section .hero-inner h1 {
        margin-bottom: 1.25rem;
    }

    .hero-section .hero-inner p {
        margin-bottom: 2rem;
    }

    .hero-section .hero-inner .btn-gold,
    .hero-section .hero-inner .btn-outline {
        width: 100%;
        justify-content: center;
    }

    .project-card {
        min-height: clamp(220px, 60vw, 320px) !important;
        height: clamp(220px, 60vw, 320px) !important;
        aspect-ratio: 4 / 3 !important;
    }

    .project-card[style*="min-height:240px"] {
        min-height: clamp(180px, 48vw, 240px) !important;
        aspect-ratio: 4 / 3 !important;
    }
}

button,
.btn-gold,
.btn-outline,
.header-cta,
.ownership-button,
.project-card-toggle {
    transition: background-color .3s ease, border-color .3s ease, color .3s ease, box-shadow .3s ease, transform .2s ease, filter .3s ease;
}

.btn-gold:hover,
.btn-gold:focus-visible,
.btn-outline:hover,
.btn-outline:focus-visible,
.header-cta:hover,
.header-cta:focus-visible,
.ownership-button:hover,
.ownership-button:focus-visible,
.project-card-toggle:hover,
.project-card-toggle:focus-visible {
    box-shadow: 0 0 0 1px rgba(229, 199, 122, 0.18), 0 0 22px rgba(229, 199, 122, 0.24);
    transform: translateY(-1px);
}

.btn-gold {
    color: #0c0c0b;
    font-family: var(--font-family-sans);
    letter-spacing: .18em;
    text-transform: uppercase;
    background: #c8a86b;
    align-items: center;
    gap: .5rem;
    padding: 1rem 2rem;
    font-size: .75rem;
    font-weight: 500;
    text-decoration: none;
    display: inline-flex
}

.btn-gold:hover,
.btn-gold:focus-visible {
    background: #e0c48a;
    box-shadow: 0 0 0 1px rgba(229, 199, 122, 0.18), 0 0 22px rgba(229, 199, 122, 0.24);
    transform: translateY(-1px)
}

.btn-outline {
    color: #c8a86b;
    font-family: var(--font-family-sans);
    letter-spacing: .18em;
    text-transform: uppercase;
    border: 1px solid #c8a86b66;
    align-items: center;
    gap: .5rem;
    padding: 1rem 2rem;
    font-size: .75rem;
    font-weight: 500;
    text-decoration: none;
    display: inline-flex
}

.btn-outline:hover,
.btn-outline:focus-visible {
    background: #c8a86b0f;
    border-color: #c8a86b;
    box-shadow: 0 0 0 1px rgba(229, 199, 122, 0.18), 0 0 22px rgba(229, 199, 122, 0.24);
    transform: translateY(-1px)
}

.section-label {
    letter-spacing: 0.45em;
    text-transform: uppercase;
    color: #c8a86b;
    font-size: .65rem;
    font-family: var(--font-family-sans);
    align-items: center;
    gap: .75rem;
    margin-bottom: 1.5rem;
    font-weight: 500;
    display: inline-flex
}

.section-label:before {
    content: "";
    background: #c8a86b;
    width: 32px;
    height: 1px;
    display: block
}

.divider-gold {
    background: linear-gradient(90deg,#0000,#c8a86b4d,#0000);
    width: 100%;
    height: 1px
}

.noise-overlay:after {
    content: "";
    pointer-events: none;
    opacity: .35;
    z-index: 1;
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.04'/%3E%3C/svg%3E");
    position: absolute;
    inset: 0
}

input:focus,textarea:focus,select:focus {
    border-color: #c8a86b80;
    outline: none
}

@property --tw-rotate-x {
    syntax: "*";
    inherits: false
}

@property --tw-rotate-y {
    syntax: "*";
    inherits: false
}

@property --tw-rotate-z {
    syntax: "*";
    inherits: false
}

@property --tw-skew-x {
    syntax: "*";
    inherits: false
}

@property --tw-skew-y {
    syntax: "*";
    inherits: false
}

@property --tw-border-style {
    syntax: "*";
    inherits: false;
    initial-value: solid
}

@property --tw-font-weight {
    syntax: "*";
    inherits: false
}

@property --tw-outline-style {
    syntax: "*";
    inherits: false;
    initial-value: solid
}

@property --tw-blur {
    syntax: "*";
    inherits: false
}

@property --tw-brightness {
    syntax: "*";
    inherits: false
}

@property --tw-contrast {
    syntax: "*";
    inherits: false
}

@property --tw-grayscale {
    syntax: "*";
    inherits: false
}

@property --tw-hue-rotate {
    syntax: "*";
    inherits: false
}

@property --tw-invert {
    syntax: "*";
    inherits: false
}

@property --tw-opacity {
    syntax: "*";
    inherits: false
}

@property --tw-saturate {
    syntax: "*";
    inherits: false
}

@property --tw-sepia {
    syntax: "*";
    inherits: false
}

@property --tw-drop-shadow {
    syntax: "*";
    inherits: false
}

@property --tw-drop-shadow-color {
    syntax: "*";
    inherits: false
}

@property --tw-drop-shadow-alpha {
    syntax: "<percentage>";
    inherits: false;
    initial-value: 100%
}

@property --tw-drop-shadow-size {
    syntax: "*";
    inherits: false
}

@property --tw-backdrop-blur {
    syntax: "*";
    inherits: false
}

@property --tw-backdrop-brightness {
    syntax: "*";
    inherits: false
}

@property --tw-backdrop-contrast {
    syntax: "*";
    inherits: false
}

@property --tw-backdrop-grayscale {
    syntax: "*";
    inherits: false
}

@property --tw-backdrop-hue-rotate {
    syntax: "*";
    inherits: false
}

@property --tw-backdrop-invert {
    syntax: "*";
    inherits: false
}

@property --tw-backdrop-opacity {
    syntax: "*";
    inherits: false
}

@property --tw-backdrop-saturate {
    syntax: "*";
    inherits: false
}

@property --tw-backdrop-sepia {
    syntax: "*";
    inherits: false
}
