.value-campaign-page { background:#0a1118; }
.value-campaign { max-width:1440px; margin:auto; padding:124px 5% 30px; }
.value-campaign [hidden] { display:none!important; }
.campaign-topline { display:flex; justify-content:space-between; align-items:center; gap:20px; }
.campaign-topline>span { color:#93a7b4; font-size:10px; line-height:1.7; letter-spacing:.12em; }
.campaign-progress { margin:30px 0 55px; border-top:1px solid #d3e5ef24; border-bottom:1px solid #d3e5ef24; }
.campaign-progress ol { display:flex; justify-content:space-between; list-style:none; padding:0; margin:0; gap:18px; }
.campaign-progress li { padding:20px 0; font-size:14px; color:#8ca2b2; }
.campaign-progress li span { color:#7d97a8; font-size:11px; margin-right:12px; }
.campaign-progress li[aria-current] { color:#edf6f9; }
.campaign-progress li[aria-current] span { color:#b6e1e7; }
.campaign-entry { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr); align-items:center; gap:7%; padding-bottom:55px; }
.campaign-entry-copy { min-width:0; position:relative; z-index:1; }
.value-campaign h1 { font:clamp(56px,6.6vw,94px)/1.06 var(--serif); letter-spacing:-.05em; font-weight:400; margin:25px 0; }
.value-campaign h1 em,.value-campaign h2 em { font-style:normal; color:#b9b4d8; }
.campaign-lead { color:#c1d1dc; font-size:20px; line-height:1.8; margin:28px 0; }
.campaign-architecture { margin:0; min-width:0; position:relative; height:620px; border-radius:160px 25px 25px 25px; overflow:hidden; border:1px solid #c4dbe33a; box-shadow:0 30px 100px #0007; }
.campaign-architecture img { display:block; height:100%; width:100%; object-fit:cover; object-position:52% 50%; }
.campaign-architecture::after { content:''; position:absolute; inset:0; background:linear-gradient(180deg,transparent 45%,#07121aeb); pointer-events:none; }
.campaign-architecture figcaption { position:absolute; bottom:30px; left:26px; right:22px; z-index:1; font-size:11px; letter-spacing:.11em; line-height:1.7; color:#edf5f8; }
.campaign-architecture small { display:block; margin-top:12px; font-size:10px; color:#bacbd6; letter-spacing:.03em; }
.value-campaign fieldset { border:0; padding:0; margin:0; min-width:0; }
.value-campaign label { display:block; font-size:14px; line-height:1.6; color:#d4e1e8; }
.value-campaign input,.value-campaign select { display:block; width:100%; min-width:0; min-height:56px; margin-top:10px; padding:15px 16px; border:1px solid #b7d2e149; border-radius:13px; background:#b7d2e10a; color:#eff7fa; font:16px/1.5 var(--sans); }
.value-campaign select option { color:#ecf4f7; background:#172632; }
.value-campaign input::placeholder { color:#8da3b2; }
.value-campaign input:focus-visible,.value-campaign select:focus-visible { outline:2px solid #b9e1e7; outline-offset:3px; }
.campaign-search-row { display:flex; flex-direction:column; align-items:stretch; gap:13px; margin-bottom:18px; }
.campaign-search-row .button { justify-content:space-between; }
.campaign-fine { font:13px/1.8 var(--sans); color:#98aebb; }
.campaign-fine a,.campaign-map-caption a { text-decoration:underline; text-underline-offset:4px; }
.campaign-status { color:#ccdee6; font-size:14px; line-height:1.8; margin:18px 0 8px; }
.campaign-manual-form { padding:22px; margin-top:20px; border:1px solid #abcbdc3d; border-radius:16px; background:#d5e6ed08; }
.campaign-manual-form .button { width:100%; justify-content:space-between; }
.campaign-matches { list-style:none; margin:0; max-height:18rem; overflow-y:auto; overscroll-behavior:contain; padding:0; border:1px solid #abcbdc4d; border-radius:15px; background:#15232f; }
.campaign-matches [role=option] { text-align:left; color:#e4f0f4; padding:17px 18px; min-height:56px; display:block; width:100%; font:16px/1.6 var(--sans); border-bottom:1px solid #b6d1df2b; cursor:pointer; }
.campaign-matches li:last-child { border-bottom:0; }
.campaign-matches [role=option]:hover,.campaign-matches [aria-selected=true],.campaign-matches [role=option]:focus-visible { background:#d3edf219; }
.campaign-fallback { margin-top:22px; }
.campaign-property-heading { display:flex; align-items:end; justify-content:space-between; gap:30px; margin-bottom:26px; }
.value-campaign h2 { font:clamp(36px,4.2vw,57px)/1.14 var(--serif); letter-spacing:-.04em; font-weight:400; margin:20px 0; }
.campaign-selected { font-size:21px; line-height:1.6; color:#e6f0f5; margin-bottom:8px; overflow-wrap:anywhere; }
.campaign-property-heading .text-button { flex-shrink:0; }
.campaign-map-stage { position:relative; padding:0; background:none; border:0; border-radius:0; box-shadow:none; }
.campaign-map { position:relative; height:550px; overflow:hidden; background:transparent; }
.is-located-map .campaign-map { -webkit-mask-image:linear-gradient(to bottom,transparent,#000 7%,#000 93%,transparent),linear-gradient(to right,transparent,#000 4%,#000 96%,transparent); mask-image:linear-gradient(to bottom,transparent,#000 7%,#000 93%,transparent),linear-gradient(to right,transparent,#000 4%,#000 96%,transparent); -webkit-mask-composite:source-in; mask-composite:intersect; }
.campaign-map-stage:not(.is-located-map) .campaign-map { border:1px solid #c6e0eb30; border-radius:24px; }
.campaign-map iframe { border:0; display:block; width:100%; height:100%; background:#14232d; pointer-events:none; }
.campaign-map-label { position:absolute; top:28px; left:28px; right:28px; width:fit-content; max-width:calc(100% - 56px); padding:17px 20px; border:1px solid #d6e9ef66; border-radius:16px; backdrop-filter:blur(18px); background:#15232fe6; pointer-events:none; }
.campaign-map-label span { display:block; font-size:9px; color:#c0d4dd; letter-spacing:.13em; }
.campaign-map-label strong { display:block; font-size:14px; line-height:1.5; font-weight:400; margin-top:7px; }
.campaign-map-caption { display:flex; justify-content:space-between; gap:25px; align-items:start; margin:17px 10px 27px; color:#9bb2bf; font-size:12px; line-height:1.7; }
.campaign-map-caption p { max-width:750px; margin:0; }
.campaign-map-caption .text-button { white-space:nowrap; padding-top:0; min-height:48px; font-size:12px; }
.campaign-map-unavailable { height:100%; display:flex; align-items:center; justify-content:center; flex-direction:column; gap:15px; text-align:center; padding:100px 25px 40px; color:#b5cbd6; font-size:17px; line-height:1.7; background:radial-gradient(ellipse at center,#b5d3dc12,transparent 70%); }
.campaign-map-unavailable strong { font:34px/1.2 var(--serif); font-weight:400; color:#dceaf0; }
.campaign-data-note { display:grid; grid-template-columns:minmax(0,.65fr) minmax(0,1fr); gap:9%; padding:26px 0; border-block:1px solid #c9dfe72b; }
.campaign-data-note p { color:#a6bdcb; font-size:15px; line-height:1.8; margin:10px 0 0; }
.campaign-data-note>p { margin:0; }
.campaign-map-next { display:flex; align-items:center; justify-content:space-between; gap:30px; margin:35px 0 50px; }
.campaign-map-next h3 { font:31px/1.2 var(--serif); font-weight:400; margin:0 0 14px; }
.campaign-map-next p { color:#a6bdcb; font-size:16px; line-height:1.8; max-width:570px; margin:0; }
.campaign-map-next .button { flex-shrink:0; }
.campaign-contact { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:9%; padding:70px 0 40px; }
.campaign-contact>div>p:not(.eyebrow):not(.campaign-fine) { font-size:19px; line-height:1.8; color:#bdcfd9; }
.campaign-contact h2 { font-size:clamp(48px,5vw,74px); }
.campaign-contact-form { padding:32px; border:1px solid #c3dbe543; border-radius:24px; background:linear-gradient(135deg,#b1d0de12,#b1d0de06); }
.campaign-contact-fields { display:grid; gap:22px; margin-bottom:22px; }
.campaign-notice { margin:23px 0; padding:18px; background:#bdd9e60a; border-left:2px solid #a8cbd6; color:#c5d7e0; font-size:14px; line-height:1.8; }
.campaign-contact-form .button { width:100%; justify-content:space-between; }
.campaign-contact-form a { display:block; margin-top:20px; min-height:48px; }
.campaign-outline { padding:60px 0 30px; max-width:900px; }
.campaign-outline>p:not(.eyebrow) { font-size:17px; line-height:1.8; color:#b5cbd7; }
.campaign-outline dl { margin:30px 0; padding:0; border-top:1px solid #c6dde740; }
.campaign-outline dl>div { display:grid; grid-template-columns:180px minmax(0,1fr); gap:25px; border-bottom:1px solid #c6dde72b; padding:17px 0; }
.campaign-outline dt { color:#8faab9; font-size:13px; line-height:1.7; }
.campaign-outline dd { color:#d7e7ee; font-size:16px; line-height:1.7; margin:0; overflow-wrap:anywhere; }
.campaign-outline-actions { display:flex; gap:24px; flex-wrap:wrap; align-items:center; }
.campaign-footer { display:flex; justify-content:space-between; flex-wrap:wrap; align-items:center; gap:20px; padding-top:35px; margin-top:35px; border-top:1px solid #c9dfe72b; color:#8ca8b8; font-size:12px; line-height:1.7; }
.campaign-footer>span { font-size:10px; letter-spacing:.1em; }
.value-campaign :is(h2,h1):focus { outline:0; }
.value-campaign h2[tabindex] { scroll-margin-top:0; }
.value-campaign .button { min-height:56px; font-size:15px; }
.value-campaign .text-button { min-height:48px; }
@media(max-width:1050px) { .campaign-entry { gap:5%; } .campaign-architecture { height:580px; border-top-left-radius:100px; } .campaign-map-next { align-items:start; flex-direction:column; } .campaign-contact { gap:6%; } }
@media(max-width:760px) { .value-campaign { padding:115px 22px 28px; } .campaign-topline { align-items:start; gap:12px; } .campaign-topline>span { max-width:125px; text-align:right; font-size:9px; } .campaign-progress { margin:22px 0 35px; } .campaign-progress ol { gap:13px; } .campaign-progress li { font-size:11px; line-height:1.5; padding:16px 0; flex:1; } .campaign-progress li span { display:block; margin:0 0 6px; font-size:10px; } .campaign-entry { grid-template-columns:1fr; gap:36px; } .value-campaign h1 { font-size:clamp(51px,13vw,76px); } .campaign-lead { font-size:18px; } .campaign-architecture { height:310px; border-radius:80px 22px 22px 22px; } .campaign-architecture img { object-position:50% 58%; } .campaign-property-heading { display:block; } .campaign-property-heading .text-button { margin-top:8px; } .value-campaign h2 { font-size:37px; } .campaign-selected { font-size:18px; } .campaign-map-stage { margin-inline:-8px; } .campaign-map { height:430px; } .campaign-map-label { top:20px; left:20px; right:20px; max-width:calc(100% - 40px); padding:14px; } .campaign-map-caption { display:block; margin-inline:0; } .campaign-map-caption .text-button { margin-top:9px; } .campaign-data-note { grid-template-columns:1fr; gap:15px; } .campaign-map-next { gap:24px; } .campaign-map-next h3 { font-size:29px; } .campaign-map-next .button { width:100%; justify-content:space-between; } .campaign-contact { grid-template-columns:1fr; gap:30px; padding-top:45px; } .campaign-contact h2 { font-size:50px; } .campaign-contact-form { padding:23px; border-radius:21px; } .campaign-outline dl>div { grid-template-columns:1fr; gap:8px; } .campaign-outline-actions { align-items:stretch; flex-direction:column; } .campaign-outline-actions .button { justify-content:space-between; } }
