.property-content { --property-line: #28404b; color: #edf6fa; padding: 0 0 12px; }
.property-content button { cursor: pointer; }
.property-content button, .property-content select, .property-content input { -webkit-tap-highlight-color: transparent; }
.property-content button:focus-visible, .property-content summary:focus-visible, .property-content input:focus-visible, .property-content select:focus-visible { outline: 2px solid #99e3ff; outline-offset: 3px; }
.tone-violet { --project-tint: #3a2b55; }
.tone-blue { --project-tint: #193d5b; }
.tone-teal { --project-tint: #164948; }
.tone-green { --project-tint: #30462e; }
.tone-rose { --project-tint: #543143; }
.property-media-feedback { padding: 0 12px; color: #e6ba91; font-size: 11px; line-height: 1.6; }
.property-cover { min-height: 199px; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; padding: 25px; background: radial-gradient(ellipse at 90% 10%, #aedfff12, transparent 62%), linear-gradient(135deg, var(--project-tint), #0d1c29); }
.property-cover::after { position: absolute; content: ''; width: 170px; height: 170px; border: 1px solid #ceeaff14; border-radius: 50%; right: -55px; bottom: -65px; box-shadow: 0 0 0 30px #c4dfff07, 0 0 0 65px #c4dfff03; }
.property-cover > span { font-size: 8px; letter-spacing: 2px; color: #adc1d5; }
.property-cover strong { margin-top: 10px; color: #e1f4ff; font-size: 39px; font-weight: 750; letter-spacing: -1px; }
.property-cover p { margin: 5px 0 18px; color: #bacfdf; font-size: 12px; }
.property-cover small { color: #94aec3; font-size: 9px; }
.property-highlights { display: flex; flex-wrap: wrap; gap: 5px; margin: 15px 0; }
.property-highlights span { padding: 5px 7px; border-radius: 6px; background: #24465655; color: #a8d9ea; font-size: 9px; }
.property-source-notes { margin: 5px 0 17px; border-top: 1px solid #293d4b; }
.property-source-notes summary { padding: 13px 0; color: #86a6bb; font-size: 10px; cursor: pointer; }
.property-source-notes ul { margin: 0 0 9px; padding-left: 17px; color: #9ab1c1; font-size: 10px; line-height: 1.9; }
.property-source-notes li { margin-bottom: 6px; }
.property-source-notes small { display: block; color: #6d8da2; font-size: 8px; line-height: 1.65; }
/* Project presentation shares the exact media/card/facts styles and gestures of opportunities. */
.property-showcase #service-scroll { overflow: hidden; padding: 0; gap: 0; }
.property-showcase .service-heading { min-height: 60px; }
.property-showcase .service-heading h2 { margin-top: 5px; font-size: 23px; letter-spacing: .5px; }
.property-showcase .service-type-badge { padding: 7px 10px; background: #111e29; font-size: 10px; font-variant-numeric: tabular-nums; }
.property-showcase .property-content { display: flex; flex: 1; min-height: 0; flex-direction: column; gap: 10px; overflow: hidden; padding: 0; }
.property-showcase #property-projects-panel { display: flex; flex: 1; min-height: 0; flex-direction: column; gap: 10px; overflow: hidden; }
.property-project-browser { touch-action: none; overscroll-behavior: contain; }
.property-detail { scroll-margin-top: 10px; }
.property-detail .property-cover { background: radial-gradient(ellipse at 90% 10%, #aedfff12, transparent 62%), linear-gradient(135deg, var(--project-tint), #0d1c29); }
.property-browse-row { flex: none; }
.property-project-description { margin: -6px 0 14px; color: #9eafbd; font-size: 11px; line-height: 1.8; }
.property-detail .property-source-notes { margin: 17px 0 0; }
.property-detail .opportunity-actions { margin-top: 16px; }
.property-report h5 { margin: 19px 0 9px; color: #bdd7e7; font-size: 11px; }
.property-client-start { margin-top: 21px; padding: 19px 15px 15px; border: 1px solid #366275; border-radius: 15px; background: radial-gradient(ellipse at 100% 0, #66caed17, transparent 75%), #142631; }
.property-client-start > span { color: #99b7c8; font-size: 10px; }
.property-client-start > strong { display: block; margin: 12px 0 9px; color: #bceeff; font-size: 31px; line-height: 1.2; font-variant-numeric: tabular-nums; }
.property-client-start > p { margin: 0; color: #7799ad; font-size: 10px; line-height: 1.7; }
.property-interest-button { margin-top: 13px; }
.property-owner-entry { display: flex; flex: none; align-items: center; justify-content: space-between; gap: 12px; width: 100%; min-height: 53px; padding: 11px 14px; border: 1px solid #345162; border-radius: 13px; background: #152633; color: #c3e6f8; text-align: left; }
.property-owner-entry b { display: block; font-size: 12px; }
.property-owner-entry small { display: block; margin-top: 4px; color: #819faf; font-size: 9px; }
.property-owner-entry > span:last-child { font-size: 23px; color: #8fd9fa; }
.property-owner-entry:focus-visible { outline: 2px solid #99e3ff; outline-offset: 3px; }
.property-financing-dialog { width: min(540px, calc(100% - 24px)); padding: 20px 18px; border: 1px solid #344c5b; border-radius: 21px; background: #101b25; color: #e7f1fa; overflow: auto; overscroll-behavior: contain; color-scheme: dark; }
.property-financing-dialog::backdrop { background: #03060bd9; }
.property-financing-dialog h2 { margin: 4px 0; font-size: 20px; }
.property-financing-dialog fieldset { margin: 0; padding: 0; border: 0; min-width: 0; }
.property-financing-dialog .modal-head { align-items: flex-start; gap: 12px; }
.property-financing-dialog h2 ty-lo { font-size: var(--ui-text); }
.property-financing-dialog input[type="file"] { width: 100%; min-width: 0; padding: 12px; border: 1px solid #34495d; border-radius: 10px; background: #0a1421; color: #bdd0df; font: inherit; font-size: var(--ui-text-small); }
.property-financing-dialog input::file-selector-button { margin-right: 10px; padding: 8px 12px; border: 1px solid #456183; border-radius: 7px; background: #13263b; color: #f3f7fa; font: inherit; }
.property-financing-dialog small { display: block; margin-top: 7px; color: #7896aa; font-size: 9px; line-height: 1.8; }
.property-financing-grid { margin-top: 18px; }
#property-financing-lease-fields { padding: 1px 12px 9px; border: 1px solid #2c4352; border-radius: 12px; }
.property-financing-dialog input[readonly] { color: #98b9cb; background: #162631; }
.property-financing-file-list { margin: 0 0 14px; padding-left: 17px; color: #8fb8ce; font-size: 10px; line-height: 1.9; overflow-wrap: anywhere; }
.property-financing-success { padding: 23px 0 4px; text-align: center; }
.property-financing-success > span { display: inline-grid; place-items: center; width: 47px; height: 47px; border: 1px solid #459980; border-radius: 50%; color: #92d7bf; font-size: 27px; }
.property-financing-success p { color: #9fb6c8; font-size: 12px; line-height: 1.8; }
.property-financing-success .property-primary { margin-top: 22px; }
.property-financing-dialog [disabled] { opacity: .65; cursor: wait; }
.property-field-number { flex: none; padding-top: 3px; color: #7f9bbb; font-size: .75rem; font-variant-numeric: tabular-nums; }
.property-simple-costs { margin: 0 0 12px; padding: 16px 12px 0; border: 1px solid #34495d; border-radius: 12px; background: #102137; }
.property-simple-costs h3 { margin: 0; color: #c4d2df; font-size: var(--ui-text-small); font-weight: 500; }
.property-upload-label { padding-top: 16px; border-top: 1px solid #34495d; }
.property-financing-file-list:empty { display: none; }
.property-financing-dialog .property-primary, .property-financing-dialog .property-secondary { min-height: 58px; justify-content: center; font-size: var(--ui-text); }
.property-financing-plan { padding-top: 14px; }
.property-financing-plan h3 { margin: 8px 0 10px; font-size: 24px; outline: none; }
#property-financing-plan-project { margin: 0 0 21px; color: #9db8c9; font-size: 13px; overflow-wrap: anywhere; }
.property-plan-card { margin: 11px 0; padding: 17px 15px; border: 1px solid #2c4f61; border-radius: 15px; background: #142733; }
.property-plan-card.is-customer { background: radial-gradient(ellipse at 95% 0, #57c8f020, transparent 75%), #193441; border-color: #4d89a0; }
.property-plan-card > div { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; color: #a9c9db; font-size: 12px; }
.property-plan-card b { color: #95e1fc; font-size: 21px; font-variant-numeric: tabular-nums; }
.property-plan-card > strong { display: block; margin: 13px 0 10px; color: #cdf1ff; font-size: clamp(25px, 7vw, 32px); font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.property-publication-note { margin: 17px 0; padding: 12px; border-radius: 10px; background: #20313c; color: #9fbbc9; font-size: 10px; line-height: 1.9; }
.property-plan-actions { display: grid; grid-template-columns: 1fr 2fr; align-items: stretch; gap: 9px; margin-top: 19px; }
.property-plan-actions .property-secondary { min-height: 48px; }
.property-project-image { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: contain; background: #081119; }
.property-cover strong { max-width: 100%; overflow-wrap: anywhere; font-size: clamp(24px, 6vw, 39px); display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.property-project-description { white-space: pre-line; overflow-wrap: anywhere; }
.property-report .opportunity-facts dd { overflow-wrap: anywhere; }
.property-financing-dialog textarea { resize: vertical; }
.property-report-images { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.property-report-images img { display: block; width: 100%; height: 110px; object-fit: cover; border-radius: 9px; }
.property-report-documents { display: grid; gap: 8px; }
.property-report-documents a { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 13px 11px; border: 1px solid #2b4554; border-radius: 10px; color: #b6dcee; font-size: 11px; text-decoration: none; }
.property-report-documents a span { min-width: 0; overflow-wrap: anywhere; }
.property-report-documents a b { color: #78c8ee; font-size: 17px; }
.property-showcase #property-project-feedback { flex: none; margin: 0 2px; font-size: 9px; }
.property-application-trap { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
@media (max-width: 350px) { .property-financing-grid { grid-template-columns: minmax(0, 1fr); } }
.property-primary { display: flex; align-items: center; justify-content: space-between; width: 100%; min-height: 48px; padding: 12px 15px; border: 1px solid #94e1ff; border-radius: 12px; background: linear-gradient(110deg, #a4e9ff, #59bce9); color: #072335; font-size: 12px; font-weight: 800; }
.property-primary > span { font-size: 19px; font-weight: 400; }
.property-field { min-width: 0; display: flex; flex-direction: column; gap: 8px; color: #b1c7d6; font-size: 10px; line-height: 1.55; }
.property-field input, .property-field select { width: 100%; min-width: 0; height: 48px; padding: 10px 12px; border: 1px solid #2d4b5d; border-radius: 10px; background: #0a141e; color: #e9f8ff; font-size: 14px; color-scheme: dark; }
.property-field input::placeholder { color: #57788e; font-size: 10px; }
.property-field select { font-size: 13px; }
.property-field small { color: #7696ab; font-size: 9px; line-height: 1.7; }
.property-feedback { margin: 12px 0; color: #f2c09c; font-size: 11px; line-height: 1.8; }
.property-result { margin-top: 25px; padding-top: 20px; border-top: 1px solid #41677b; scroll-margin-top: 65px; }
.property-result-note { margin: 12px 1px 20px; color: #7b9eb4; font-size: 9px; line-height: 1.9; }
.property-secondary { width: 100%; min-height: 43px; padding: 10px; border: 1px solid #335469; border-radius: 11px; background: #152b3b; color: #a5cde2; font-size: 11px; }
@media (max-width: 350px) { .property-field { grid-column: 1 / -1; } }
@media (prefers-reduced-motion: reduce) { .property-content *, .property-content *::before, .property-content *::after { scroll-behavior: auto !important; transition: none !important; } }
.property-report-download { display: block; margin: 12px 0; color: #9bdcf6; font-size: 12px; overflow-wrap: anywhere; }
