.page-template-page-templatesleasing-details-php .site-content > .ast-container { max-width:none; padding:0; width:100%; }
.fc-leasing { --display:'proxima-sera',Georgia,serif; --accent:'Inter Tight','Helvetica Neue',Arial,sans-serif; --body:'proxima-nova',Arial,sans-serif; color:var(--ink); font-family:var(--body); }
.fc-leasing *, .fc-leasing *::before, .fc-leasing *::after { box-sizing:border-box; }
.fc-leasing h1, .fc-leasing h2 { margin:0; font-family:var(--display); font-weight:400; line-height:1em; }
.fc-leasing h1 em, .fc-leasing h1 b, .fc-leasing h2 em, .fc-leasing h2 b { color:var(--green); font-family:var(--accent); font-style:normal; font-weight:300; }
/* Both section heads on this page are the shared page header now (spacing
   "section") — see inc/page-header.php. The .fc-leasing__head rules that used
   to sit here are gone with them; .fc-leasing__lowbrow stays because the step
   cards and the preparation section still use it on their own. */
.fc-leasing__prep-content h2 em, .fc-leasing__prep-content h2 b { font-size:51px; }
/* Top padding matches the shared page header's own "page" spacing
   (page-header.css: 84px / 52px) so this "section"-spaced header opens with
   the same top gap as a "page"-spaced one like Contact's; bottom stays 110px
   for the step cards grid below. */
.fc-leasing__process { padding:84px 60px 110px; background:var(--mist); }
.fc-leasing__lowbrow { margin:0 0 18px; color:var(--green); font-size:11px; font-weight:600; letter-spacing:4px; text-transform:uppercase; }
.fc-leasing__steps { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; max-width:1280px; margin:auto; }
.fc-leasing__step { display:flex; flex-direction:column; min-height:320px; padding:36px 30px; background:#fff; border:1px solid var(--line); border-radius:18px; color:var(--ink); text-decoration:none; transition:transform .25s ease,box-shadow .25s ease; }
.fc-leasing__step:hover, .fc-leasing__step:focus-visible { transform:translateY(-4px); box-shadow:0 20px 44px rgba(31,36,25,.15); }
.fc-leasing__step:focus-visible { outline:2px solid var(--green); outline-offset:3px; }
.fc-leasing__step h2 { font-size:28px; }
.fc-leasing__step p { margin:14px 0; color:var(--warm-gray); font-size:15.5px; line-height:1.6; }
.fc-leasing__step-link { margin-top:auto; color:var(--ink); font-size:12px; font-weight:600; letter-spacing:1px; text-transform:uppercase; }
.fc-leasing__step-link span { display:inline-block; transition:transform .2s ease; }
.fc-leasing__step:hover .fc-leasing__step-link span { transform:translateX(4px); }
.fc-leasing__prep { display:grid; grid-template-columns:1fr 1fr; background:#fff; }
.fc-leasing__prep-image { min-height:620px; background-position:center; background-size:cover; }
.fc-leasing__prep-content { display:flex; flex-direction:column; justify-content:center; padding:88px 80px; }
.fc-leasing__prep-content h2 { font-size:54px; }
.fc-leasing__prep-content h2 + .fc-leasing__lowbrow { margin:20px 0 0; }
.fc-leasing__prep-copy { margin:22px 0 28px; color:var(--warm-gray); font-size:16px; line-height:1.75; }
.fc-leasing__prep-copy p { margin:0 0 16px; }
.fc-leasing__details { border-top:1px solid var(--line); }
.fc-leasing__details details { border-bottom:1px solid var(--line); }
.fc-leasing__details summary { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:18px 0; cursor:pointer; list-style:none; font:400 23px/1.25 var(--display); }
.fc-leasing__details summary::-webkit-details-marker { display:none; }
.fc-leasing__details summary span { position:relative; flex:0 0 auto; width:32px; height:32px; border-radius:50%; background:var(--ink); font-size:0; transition:transform .2s ease; }
/* The + is drawn as two bars rather than the text glyph, whose ink sits off the box center, so the 45deg turn lands on a centered x. */
.fc-leasing__details summary span::before, .fc-leasing__details summary span::after { content:""; position:absolute; top:50%; left:50%; width:12px; height:1px; margin:-0.5px 0 0 -6px; background:#fff; }
.fc-leasing__details summary span::after { transform:rotate(90deg); }
.fc-leasing__details details[open] summary span { transform:rotate(45deg); }
.fc-leasing__detail-text { display:grid; grid-template-rows:0fr; margin:0; opacity:0; transition:grid-template-rows .4s cubic-bezier(.4,0,.2,1),opacity .4s cubic-bezier(.4,0,.2,1),margin .4s cubic-bezier(.4,0,.2,1); }
.fc-leasing__detail-text > div { min-height:0; overflow:hidden; color:var(--warm-gray); font-size:14.5px; line-height:1.6; }
.fc-leasing__details details[open] .fc-leasing__detail-text { grid-template-rows:1fr; margin-bottom:20px; opacity:1; }
@media (prefers-reduced-motion: reduce) { .fc-leasing__detail-text { transition:opacity .2s ease; } }
.fc-leasing__listings { padding:110px 60px; background:var(--mist); }
.fc-leasing__listings #apfl-listings-container { box-sizing:border-box; max-width:1400px !important; margin:auto; padding:0 60px; }
.fc-leasing__listings .apfl-sl-wrapper { max-width:1280px; margin:auto; }
.fc-leasing__listings #apfl-listings-container .all-listings { max-height:900px; padding-right:12px; overflow-y:auto; scrollbar-width:thin; scrollbar-color:var(--green) var(--mist); }
.fc-leasing__listings #apfl-listings-container .all-listings::-webkit-scrollbar { width:8px; }
.fc-leasing__listings #apfl-listings-container .all-listings::-webkit-scrollbar-track { background:var(--mist); }
.fc-leasing__listings #apfl-listings-container .all-listings::-webkit-scrollbar-thumb { background:var(--green); border-radius:4px; }
.fc-leasing__listings #apfl-listings-container .all-listings::-webkit-scrollbar-thumb:hover { background:var(--ink); }
@media (max-width:1000px) { .fc-leasing__steps { grid-template-columns:repeat(2,minmax(0,1fr)); } .fc-leasing__prep-content { padding:70px 48px; } }
@media (max-width:760px) { .fc-leasing__process, .fc-leasing__listings { padding:78px 16px; } .fc-leasing__process { padding-top:52px; } .fc-leasing__prep-content h2 { font-size:41px; } .fc-leasing__prep-content h2 em, .fc-leasing__prep-content h2 b { font-size:39px; } .fc-leasing__steps { grid-template-columns:1fr; } .fc-leasing__step { min-height:240px; padding:32px 28px; } .fc-leasing__prep { grid-template-columns:1fr; } .fc-leasing__prep-image { min-height:330px; } .fc-leasing__prep-content { padding:62px 24px; } .fc-leasing__listings #apfl-listings-container { padding:0 16px; } .fc-leasing__listings #apfl-listings-container .all-listings { max-height:none; padding-right:0; overflow:visible; } }
