/* Site frame and homepage composition; controls use components.css. */
.preview-bar { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 4px 20px; padding: 4px 20px; background: var(--brand-soft); color: #704559; font-size: var(--text-xs); }
.preview-bar a { display: inline-flex; align-items: center; min-height: 32px; text-decoration: underline; text-underline-offset: 4px; }
.site-header { position: sticky; top: 0; z-index: 20; background: rgb(255 253 250 / 98%); border-bottom: 1px solid var(--border); }
.header-inner { display: flex; align-items: center; justify-content: space-between; min-height: 88px; gap: 24px; }
.brand { display: flex; align-items: center; gap: 17px; flex-shrink: 0; }.brand img { width: 111px; height: 44px; object-fit: contain; }.brand span { max-width: 105px; padding-left: 17px; border-left: 1px solid var(--border); font-size: 10px; letter-spacing: .13em; line-height: 1.7; }
.site-navigation { display: flex; align-items: center; gap: 24px; font-size: var(--text-sm); }.site-navigation a { white-space: nowrap; display: inline-flex; align-items: center; min-height: 44px; }.site-navigation [aria-current="page"] { color: var(--brand); text-decoration: underline; text-underline-offset: 8px; }.site-navigation [data-chat-summary][aria-current="page"] { text-decoration: none; }.site-navigation [data-chat-summary][aria-current="page"]>.chat-nav-label { text-decoration: underline; text-underline-offset: 8px; }.site-navigation .login-link { border: 1px solid var(--brand); color: var(--brand); padding: 8px 17px; border-radius: var(--radius-pill); }.menu-toggle { display: none; }
.hero { position: relative; min-height: 600px; overflow: hidden; background: #f2e8e3; }.hero-photo { position: absolute; inset: 0 0 0 39%; overflow: hidden; }.hero-photo img { width: 100%; height: 100%; object-fit: cover; object-position: 57% 43%; }.hero-photo::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg,#f2e8e3,rgb(242 232 227 / 16%) 26%,transparent 60%); }.hero-inner { position: relative; min-height: 600px; display: flex; align-items: center; }.hero-copy { width: 58%; padding-block: 64px; z-index: 1; }.eyebrow { font-size: var(--text-xs); letter-spacing: .16em; font-weight: 650; color: var(--brand); margin-bottom: 16px; }.hero h1 { font-size: clamp(2.5rem,4.4vw,3.5rem); line-height: 1.45; letter-spacing: .05em; margin-bottom: 24px; }.hero h1 span { color: var(--brand); }.hero-description { font-size: var(--text-base); line-height: 2; color: #62515b; margin-bottom: 28px; }.hero-footnote { color: var(--text-muted); font-size: var(--text-xs); margin-top: 20px; }.hero-caption { position: absolute; right: 32px; bottom: 20px; padding: 3px 8px; font-size: var(--text-xs); letter-spacing: .1em; color: #fff; background: rgb(41 36 43 / 55%); border-radius: 3px; }
.intro-strip { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 24px 0; border-bottom: 1px solid var(--border); font-size: var(--text-sm); }.intro-strip>span { font-size: var(--text-lg); font-weight: 600; letter-spacing: .05em; }.intro-strip p { color: var(--text-muted); }.intro-strip i { font-style: normal; color: var(--text-muted); margin-inline: 12px; }.intro-strip>a { color: var(--brand); min-height: 44px; display: inline-flex; align-items: center; }
.section { padding-top: 72px; }.section-heading { display: flex; justify-content: space-between; gap: 24px; align-items: flex-end; margin-bottom: 28px; }.section-heading .eyebrow { margin-bottom: 8px; }.section-heading h2 span { font-size: var(--text-sm); font-weight: 400; color: var(--text-muted); display: inline-block; margin-left: 20px; vertical-align: middle; }
.renter-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 24px; }.renter-card { min-width: 0; }.renter-photo { display: block; position: relative; aspect-ratio: 4/4.7; background: linear-gradient(135deg,#eee0e3,#f7efec); overflow: hidden; border-radius: var(--radius-md); }.renter-photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .3s; }.renter-photo:hover img { transform: scale(1.025); }.avatar-placeholder { position: absolute; inset: 0; display: grid; place-items: center; font-family: var(--font-accent); font-size: 80px; color: #bd7291; }.video-label { position: absolute; bottom: 12px; left: 12px; background: rgb(255 253 250 / 96%); border-radius: var(--radius-pill); font-size: var(--text-xs); padding: 3px 10px; }.renter-details { padding: 16px 1px 6px; }.renter-title { display: flex; align-items: baseline; gap: 10px; }.renter-title h3 { font-size: var(--text-lg); overflow-wrap: anywhere; }.renter-title>span { font-size: var(--text-xs); color: var(--text-muted); white-space: nowrap; }.renter-location { font-size: var(--text-sm); color: var(--text-muted); margin-top: 4px; min-height: 25px; overflow-wrap: anywhere; }.renter-services { font-size: var(--text-sm); color: var(--text-muted); margin-top: 8px; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; min-height: 49px; }.renter-bottom { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 4px 8px; border-top: 1px solid var(--border); margin-top: 12px; padding-top: 8px; font-size: var(--text-sm); }.renter-bottom strong { font-size: var(--text-base); font-weight: 650; }.renter-bottom small { font-size: var(--text-xs); color: var(--text-muted); }.renter-bottom>a { color: var(--brand); white-space: nowrap; min-height: 44px; display: flex; align-items: center; font-size: var(--text-sm); }
.community-feature { display: grid; grid-template-columns: 1fr 1fr; margin-top: 76px; border-radius: var(--radius-lg); overflow: hidden; background: #f5ece6; }.community-art { position: relative; min-height: 350px; display: flex; align-items: center; justify-content: center; background: #efd6dc; color: #9c3d61; overflow: hidden; }.community-art::before,.community-art::after { content: ""; position: absolute; width: 275px; height: 275px; border: 1px solid #b88094; border-radius: 50%; transform: rotate(-25deg) scaleX(.6); }.community-art::after { transform: rotate(25deg) scaleX(.6); }.community-art>span { font: 78px/.9 var(--font-accent); position: relative; z-index: 1; }.community-art em { font-weight: 400; }.community-art i { position: absolute; right: 19%; top: 18%; font-size: 37px; transform: rotate(15deg); font-style: normal; }.community-copy { padding: 48px; }.community-copy h2 { font-size: clamp(1.5rem,2.4vw,2rem); letter-spacing: .04em; }.community-copy>p:not(.eyebrow) { color: var(--text-muted); margin-block: 20px; }
.discovery-search { display: none; gap: 20px; align-items: flex-end; background: var(--surface-soft); border: 1px solid var(--border); border-radius: var(--radius-md); padding: 28px; margin-bottom: 18px; }.discovery-search.is-ready,noscript .discovery-search { display: flex; }.discovery-search label { flex: 1; min-width: 0; font-size: var(--text-sm); font-weight: 650; }.discovery-search select { display: block; width: 100%; margin-top: 8px; border: 1px solid var(--input-border); background: var(--surface); border-radius: var(--radius-sm); padding: 10px 12px; font-size: var(--text-base); min-height: 48px; color: var(--text); }.discovery-search .button { min-width: 150px; }.reset-search { font-size: var(--text-sm); color: var(--text-muted); padding: 11px 0; min-height: 48px; display: flex; align-items: center; }.result-note { color: var(--text-muted); font-size: var(--text-sm); margin-bottom: 24px; }.discovery-more { display: flex; justify-content: center; margin-block: 32px 8px; }
.invite-feature { position: relative; overflow: hidden; display: flex; align-items: center; justify-content: space-between; gap: 32px; margin-block: 72px 80px; padding: 48px 56px; border: 1px solid #d9b0c0; background: var(--brand-soft); border-radius: var(--radius-lg); }.invite-feature h2 { letter-spacing: .04em; }.invite-feature p:not(.eyebrow) { color: var(--text-muted); margin-top: 18px; }.invite-actions { display: flex; align-items: center; flex-direction: column; gap: 12px; position: relative; z-index: 1; }.invite-flower { position: absolute; font-size: 230px; right: 210px; top: -95px; color: #eddae1; line-height: 1; pointer-events: none; }
.site-footer { border-top: 1px solid var(--border); background: #f6f1ee; }.footer-main { display: grid; grid-template-columns: 1.25fr 1fr 1fr; gap: 56px; padding-block: 48px; }.footer-main p { font-size: var(--text-sm); color: var(--text-muted); margin-top: 20px; line-height: 1.9; }.footer-main nav { display: grid; grid-template-columns: 1fr 1fr; align-content: start; gap: 0 24px; font-size: var(--text-sm); }.footer-main nav a { min-height: 44px; display: flex; align-items: center; }.footer-note strong { font-size: var(--text-lg); font-weight: 600; }.footer-note>p { margin-top: 10px; }.footer-note>a { font-size: var(--text-sm); display: inline-flex; align-items: center; min-height: 44px; margin-top: 12px; color: var(--brand); }.footer-bottom { display: flex; justify-content: space-between; gap: 20px; padding-block: 20px; border-top: 1px solid var(--border); color: var(--text-muted); font-size: var(--text-xs); }.footer-bottom span { letter-spacing: .1em; }
@media(min-width:1600px) { .hero-photo img { object-position: 50% 42%; } }
@media(max-width:1100px) { .brand span { display: none; }.site-navigation { gap: 20px; }.hero,.hero-inner { min-height: 540px; }.renter-grid { gap: 20px; }.community-copy { padding: 36px; }.invite-feature { padding: 36px; }.footer-main { gap: 32px; } }
@media(max-width:800px) { .preview-bar { column-gap: 12px; }.header-inner { min-height: 72px; flex-wrap: wrap; gap: 0; }.brand img { width: 95px; height: 38px; }.menu-toggle { border: 0; background: transparent; color: var(--brand); font-size: var(--text-sm); padding: 12px 0; min-height: 44px; }.site-header[data-enhanced] .menu-toggle { display: block; }.site-navigation { width: 100%; display: grid; grid-template-columns: 1fr 1fr; gap: 0 16px; padding: 8px 0 20px; max-height: calc(100dvh - 120px); overflow-y: auto; }.site-header[data-enhanced] .site-navigation { display: none; }.site-header .header-inner.menu-open .site-navigation { display: grid; }.site-navigation a { padding: 12px 8px; min-height: 48px; }.site-navigation .login-link { justify-content: center; margin-top: 8px; }.hero,.hero-inner { min-height: 510px; }.hero-photo { left: 30%; }.hero-photo::after { background: linear-gradient(90deg,#f2e8e3,rgb(242 232 227 / 70%) 30%,rgb(242 232 227 / 4%) 80%); }.hero-copy { width: 72%; padding-block: 48px; }.hero h1 { font-size: 44px; }.hero-caption { display: none; }.intro-strip { flex-wrap: wrap; gap: 8px 16px; padding-block: 20px; }.section { padding-top: 48px; }.section-heading { gap: 16px; margin-bottom: 24px; }.section-heading h2 span { display: block; margin-left: 0; margin-top: 8px; }.section-heading .text-link { gap: 8px; flex-shrink: 0; }.renter-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 28px 20px; }.community-feature { margin-top: 48px; }.community-art { min-height: 320px; }.community-art>span { font-size: 64px; }.community-copy { padding: 32px 24px; }.community-copy>p:not(.eyebrow) { font-size: var(--text-sm); }.discovery-search { padding: 24px; gap: 16px; flex-wrap: wrap; }.discovery-search label { flex: 1 1 calc(50% - 16px); }.discovery-search .button { flex: 1; min-width: 0; }.reset-search { padding-inline: 12px; }.invite-feature { margin-block: 48px; padding: 32px; gap: 24px; }.invite-feature h2 { font-size: 26px; }.invite-actions .button { padding-inline: 16px; white-space: nowrap; font-size: var(--text-sm); }.invite-flower { right: 140px; font-size: 170px; top: -60px; }.footer-main { grid-template-columns: 1fr 1fr; gap: 32px; padding-block: 36px; }.footer-main .brand span { display: block; }.footer-note { display: none; }.footer-bottom span { display: none; } }
@media(max-width:480px) { .preview-bar { padding-inline: 12px; }.preview-bar>span { font-size: 12px; }.hero,.hero-inner { min-height: 650px; }.hero-photo { inset: 0 0 auto 0; height: 300px; }.hero-photo img { object-position: 55% 44%; }.hero-photo::after { background: linear-gradient(0deg,#f2e8e3,rgb(242 232 227 / 2%) 45%); }.hero-inner { align-items: flex-end; }.hero-copy { width: 100%; padding: 275px 0 36px; }.hero h1 { font-size: 38px; line-height: 1.4; margin-bottom: 16px; }.hero-description { font-size: var(--text-sm); margin-bottom: 24px; }.hero-footnote { margin-top: 16px; }.hero .eyebrow { font-size: 12px; letter-spacing: .08em; }.intro-strip { display: grid; grid-template-columns: 1fr; }.intro-strip p { font-size: var(--text-sm); }.intro-strip i { margin-inline: 5px; }.intro-strip>a { justify-self: start; }.section-heading { align-items: flex-start; flex-direction: column; gap: 8px; }.section-heading h2 { font-size: 25px; }.eyebrow { letter-spacing: .08em; }.renter-grid { gap: 24px 14px; }.renter-title { gap: 6px; flex-wrap: wrap; }.renter-title h3 { font-size: var(--text-base); }.renter-location { font-size: var(--text-xs); }.renter-services { font-size: var(--text-xs); min-height: 42px; }.renter-bottom { align-items: flex-start; flex-direction: column; gap: 0; margin-top: 8px; padding-top: 8px; }.renter-bottom strong { font-size: var(--text-sm); }.renter-bottom>a { font-size: var(--text-sm); }.renter-photo { aspect-ratio: 4/5; }.video-label { left: 6px; bottom: 8px; padding: 3px 8px; }.community-feature { grid-template-columns: 1fr; }.community-art { min-height: 230px; }.community-art>span { font-size: 72px; }.community-art::before,.community-art::after { width: 230px; height: 230px; }.community-art i { right: 24%; top: 17%; }.community-copy { padding: 28px; }.community-copy h2 { font-size: 26px; }.discovery-search { padding: 20px; }.discovery-search label { flex-basis: 100%; }.result-note { font-size: var(--text-xs); }.invite-feature { display: block; padding: 28px; }.invite-feature p:not(.eyebrow) { font-size: var(--text-sm); }.invite-actions { align-items: flex-start; margin-top: 24px; }.invite-flower { right: -45px; top: auto; bottom: -55px; font-size: 200px; }.footer-main { grid-template-columns: 1fr; gap: 24px; }.footer-main>div>p { margin-top: 16px; }.footer-main nav { border-top: 1px solid var(--border); padding-top: 16px; }.footer-bottom { font-size: var(--text-xs); padding-block: 16px; }.brand span { max-width: 110px; } }

/* Keep the complete mobile header visible after scrolling or dialog dismissal. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
@media(max-width:800px){body{padding-top:73px}.site-header{position:fixed;inset:0 0 auto;width:100%}.site-header .header-inner{min-height:72px}.site-header .menu-toggle,.site-header[data-enhanced] .menu-toggle{display:inline-flex;align-items:center;justify-content:center;flex:0 0 44px;width:44px;height:44px;min-height:44px;padding:10px;white-space:nowrap}.menu-toggle svg{display:block;flex-shrink:0}.site-header .site-navigation{order:4;flex-basis:100%;min-width:0}}
