:root{--ink:#1f2831;--navy:#25364a;--gold:#b69a65;--cream:#f5f1e9;--paper:#fffdf9;--muted:#6f756f;--line:#ded8cd;--dark:#17202a;--success:#305d45}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--paper);line-height:1.55}img{max-width:100%;display:block}a{color:inherit}.wrap{width:min(1180px,92vw);margin:auto}
.topbar{background:var(--dark);color:#fff;text-align:center;padding:.55rem 1rem;font-size:.84rem;letter-spacing:.055em}.topbar a{color:#fff;text-decoration:none;font-weight:700}
header{position:sticky;top:0;z-index:20;background:rgba(255,253,249,.96);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}nav{display:flex;align-items:center;justify-content:space-between;min-height:82px;gap:1rem}.navlinks{display:flex;gap:1.25rem;align-items:center;font-size:.91rem}.navlinks a{text-decoration:none}.navlinks a:hover{color:var(--gold)}
.brand{text-align:center;text-decoration:none;line-height:1}.brand-mark{display:flex;align-items:center;justify-content:center;gap:.45rem;color:var(--gold);margin-bottom:.2rem}.brand-mark:before,.brand-mark:after{content:'';width:38px;height:1px;background:var(--gold)}.lamp{width:18px;height:22px;fill:none;stroke:var(--gold);stroke-width:1.6}.brand-main{font-family:Georgia,'Times New Roman',serif;font-size:1.38rem;letter-spacing:.16em}.brand-sub{font-size:.55rem;letter-spacing:.28em;margin-top:.35rem;color:#59636c}
.btn{display:inline-block;text-decoration:none;padding:.84rem 1.15rem;border:1px solid var(--navy);background:var(--navy);color:#fff;font-weight:700;font-size:.9rem;letter-spacing:.02em;cursor:pointer}.btn.alt{background:transparent;color:var(--navy)}.btn.gold{background:var(--gold);border-color:var(--gold);color:#fff}.btn:hover{filter:brightness(.95)}.button-row{display:flex;gap:.7rem;flex-wrap:wrap;margin-top:1.2rem}
.hero{min-height:76vh;display:grid;place-items:center;position:relative;background-size:cover;background-position:center}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,24,32,.78),rgba(15,24,32,.22))}.hero-content{position:relative;z-index:2;color:#fff;width:min(1180px,92vw)}.eyebrow{text-transform:uppercase;letter-spacing:.22em;font-size:.75rem;font-weight:700;color:#e6d6b6}.hero h1,.pagehero h1{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:clamp(3rem,7vw,6.2rem);line-height:.96;margin:.45rem 0 1rem}.hero p{font-size:clamp(1rem,2vw,1.28rem);max-width:650px}.hero-actions{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:1.5rem}.hero .btn.alt{border-color:#fff;color:#fff}
section{padding:76px 0}.section-title{font-family:Georgia,'Times New Roman',serif;font-size:clamp(2.2rem,4vw,3.5rem);font-weight:400;margin:0 0 1rem}.lede{font-size:1.12rem;max-width:780px;color:#4e585f}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:2.25rem;align-items:center}.grid2>img{width:100%;height:520px;object-fit:cover}.cards{display:grid;grid-template-columns:repeat(2,1fr);gap:1.25rem}.card{border:1px solid var(--line);background:#fff}.card-copy{padding:1.35rem}.card h3{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:1.8rem;margin:.1rem 0 .4rem}.card p{color:#596169}.card-img{height:335px;width:100%;object-fit:cover}.link{font-weight:700;text-decoration:none;color:var(--navy)}.link:after{content:' →'}
.band{background:var(--cream)}.darkband{background:var(--dark);color:#fff}.darkband .lede{color:#d5dbe0}.quote{font-family:Georgia,'Times New Roman',serif;font-size:clamp(2.1rem,4vw,4rem);line-height:1.1;max-width:900px;margin:0}.facts{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-top:2rem}.fact{border-top:1px solid var(--gold);padding-top:1rem}.fact strong{display:block;font-family:Georgia,'Times New Roman',serif;font-size:1.5rem;font-weight:400}.fact span{color:#657078;font-size:.92rem}
.gallery{display:grid;grid-template-columns:2fr 1fr 1fr;grid-auto-rows:260px;gap:.7rem}.gallery img{width:100%;height:100%;object-fit:cover}.gallery img:first-child{grid-row:span 2}.gallery img:nth-child(4){grid-column:span 2}
.amenities{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.amenity{padding:1.25rem 0;border-top:1px solid var(--line)}.amenity strong{display:block;margin-bottom:.25rem}.amenity span{color:#606970;font-size:.94rem}
.avail{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.unit{border:1px solid var(--line);padding:1.4rem;background:#fff}.unit-top{display:flex;justify-content:space-between;gap:1rem}.badge{font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;padding:.35rem .55rem;background:#eef2ed;color:#47564b;height:max-content}.unit h3{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:1.8rem;margin:.25rem 0}.meta{color:#5d666d;margin-bottom:.8rem}.note{font-size:.86rem;color:#71787d}.availability-callout{grid-column:1/-1;border:1px solid var(--line);padding:2rem;background:#fff}.availability-callout h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:2.4rem;margin:.2rem 0 .7rem}.availability-callout p{max-width:850px;color:#586169}
.pagehero{padding:105px 0 70px;background:var(--dark);color:#fff}.pagehero p{max-width:780px;color:#d9dfe2;font-size:1.08rem}.buildinghero{min-height:68vh;background-size:cover;background-position:center;position:relative;display:flex;align-items:end}.buildinghero:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(14,22,29,.87),rgba(14,22,29,.06) 70%)}.buildinghero .content{position:relative;z-index:2;color:#fff;padding-bottom:4rem}.building-name{font-family:Georgia,'Times New Roman',serif;font-size:clamp(3.5rem,7vw,6rem);font-weight:400;margin:.3rem 0}.building-sub{letter-spacing:.18em;text-transform:uppercase;font-size:.8rem}
.plan{background:#fff;border:1px solid var(--line);padding:1rem}.plan img{width:100%;height:auto}.historyline{border-left:1px solid var(--gold);padding-left:1.5rem}.historyline h3{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:1.7rem;margin:0 0 .35rem}.historyline p{margin:0 0 1.7rem;color:#606970}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.field{display:flex;flex-direction:column;gap:.35rem}.field.full{grid-column:1/-1}.field label{font-weight:700;font-size:.91rem}.field input,.field select,.field textarea{width:100%;padding:.82rem;border:1px solid #cfc8bd;background:#fff;font:inherit;color:var(--ink)}.field textarea{min-height:145px;resize:vertical}.form-note{font-size:.83rem;color:#666f75}.honeypot{position:absolute;left:-9999px}.contact-card{border:1px solid var(--line);background:#fff;padding:1.5rem}.contact-card h3{font-family:Georgia,'Times New Roman',serif;font-size:1.7rem;font-weight:400;margin-top:0}.success{border-left:4px solid var(--success);padding:1rem 1.2rem;background:#eef5f0}.error{border-left:4px solid #9b3a35;padding:1rem 1.2rem;background:#fff1ef}
footer{background:#111820;color:#dbe0e4;padding:48px 0 26px}.footergrid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:2rem}.footer-title{font-family:Georgia,'Times New Roman',serif;color:#fff;font-size:1.4rem}.footerlinks a{display:block;color:#dbe0e4;text-decoration:none;margin:.45rem 0}.fine{border-top:1px solid #34404a;margin-top:2rem;padding-top:1rem;color:#9ea7ad;font-size:.8rem}
.mobile-toggle{display:none;background:none;border:0;font-size:1.6rem}.skip{position:absolute;left:-9999px}.skip:focus{left:1rem;top:1rem;background:#fff;padding:.5rem;z-index:99}
@media(max-width:800px){.mobile-toggle{display:block}.navlinks{display:none;position:absolute;top:82px;left:0;right:0;background:var(--paper);padding:1.1rem 4vw;flex-direction:column;align-items:flex-start;border-bottom:1px solid var(--line)}.navlinks.open{display:flex}.brand-main{font-size:1rem}.brand-sub{font-size:.46rem}.hero{min-height:68vh}.grid2,.cards,.avail,.footergrid,.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.grid2>img{height:380px}.facts{grid-template-columns:1fr 1fr}.amenities{grid-template-columns:1fr 1fr}.gallery{grid-template-columns:1fr 1fr;grid-auto-rows:210px}.gallery img:first-child{grid-row:auto;grid-column:span 2}.gallery img:nth-child(4){grid-column:auto}.card-img{height:260px}section{padding:58px 0}}
@media(max-width:520px){.facts,.amenities{grid-template-columns:1fr}.gallery{grid-template-columns:1fr}.gallery img:first-child{grid-column:auto}.hero h1{font-size:3.15rem}.topbar{font-size:.75rem}.button-row .btn{width:100%;text-align:center}}

:root{--friendly:#2f614b;--warm:#c9963e}.goldtext{color:var(--warm)}.green{background:var(--friendly)!important;border-color:var(--friendly)!important}.center{text-align:center}.center .section-title{max-width:900px;margin-left:auto;margin-right:auto}.homehero{min-height:70vh}.homehero .hero-content{padding:3rem 0}.homehero h1{font-size:clamp(3rem,6vw,5.5rem)}.homehero h1 em{font-weight:400;color:#e2b35f}.hero-bullets{display:grid;gap:.48rem;font-size:1.05rem;max-width:700px}.hero-bullets.compact{font-size:1rem;gap:.35rem}.quickbar{padding:0;background:var(--navy);color:#fff}.quickgrid{display:grid;grid-template-columns:repeat(4,1fr)}.quickgrid>div{padding:1.15rem;border-right:1px solid #667487}.quickgrid b,.quickgrid span{display:block}.quickgrid span{font-size:.82rem;color:#dce2e7}.lifestyle-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:.7rem;margin-top:1.5rem}.lifestyle-grid a{text-decoration:none;border:1px solid var(--line);background:#fff;padding:1.25rem;min-height:145px;display:flex;flex-direction:column;justify-content:end;transition:.2s}.lifestyle-grid a:hover{transform:translateY(-3px);border-color:var(--gold)}.lifestyle-grid b{font-family:Georgia,serif;font-size:1.2rem}.lifestyle-grid span{font-size:.88rem;color:#657078;margin-top:.35rem}.dla{margin-top:1.5rem;border:1px solid #d9c9aa;background:#fbf4e7;padding:1.25rem 1.4rem;display:flex;align-items:center;justify-content:space-between;gap:1.5rem}.dla strong{font-family:Georgia,serif;font-size:1.35rem}.dla p{margin:.25rem 0 0;max-width:750px}.checklist{list-style:none;padding:0;margin:1rem 0 1.3rem}.checklist li{margin:.45rem 0;padding-left:1.25rem;position:relative}.checklist li:before{content:'✓';position:absolute;left:0;color:var(--warm);font-weight:800}.white{color:#fff!important;border-color:#fff!important}.tablewrap{overflow:auto;border:1px solid var(--line);margin-top:1.25rem}.unit-table{width:100%;border-collapse:collapse;background:#fff;font-size:.88rem}.unit-table th{background:var(--navy);color:#fff;padding:.8rem .65rem;text-align:left;white-space:nowrap}.unit-table td{padding:.72rem .65rem;border-bottom:1px solid var(--line);white-space:nowrap}.unit-table tr.available{background:#f1f7f2}.unit-table tr.available td:last-child{color:var(--success)}.unit-table tr.leased{color:#737b80}.lifestylehero{background:linear-gradient(110deg,#17202a,#2c4053)}.lifestyle-detail{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.lifestyle-detail article{border:1px solid var(--line);background:#fff;padding:1.5rem}.lifestyle-detail h2{font-family:Georgia,serif;font-weight:400;margin-top:0}.card-copy .btn{margin-top:.5rem}
@media(max-width:900px){.quickgrid{grid-template-columns:1fr 1fr}.lifestyle-grid{grid-template-columns:1fr 1fr}.lifestyle-detail{grid-template-columns:1fr}.dla{align-items:flex-start;flex-direction:column}}
@media(max-width:520px){.quickgrid,.lifestyle-grid{grid-template-columns:1fr}.homehero{min-height:76vh}.homehero .hero-content{padding:2rem 0}.hero-bullets{font-size:.95rem}.unit-table{font-size:.8rem}}
/* V4 visual refinements */
:root{--navy:#09243d;--gold:#c89131;--cream:#f7f2e9;--green:#274e3c;--ink:#142335}
.v4-hero{min-height:620px;display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,.55fr);background:var(--cream)}
.v4-hero-main{position:relative;background:url('images/hero-both.webp') center/cover no-repeat;display:flex;align-items:center;padding:52px 5vw;color:white}.v4-hero-main:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,25,45,.94) 0%,rgba(4,25,45,.78) 42%,rgba(4,25,45,.16) 76%,rgba(4,25,45,.02) 100%)}
.v4-hero-copy{position:relative;max-width:640px}.v4-hero h1{font-size:clamp(2.8rem,5vw,5rem);line-height:.96;margin:.15em 0}.v4-hero .script{display:block;color:#e2a843;font-family:Georgia,serif;font-style:italic;font-weight:400;font-size:.75em;line-height:1.1}.v4-kicker{letter-spacing:.16em;text-transform:uppercase;color:#f0c66e;font-weight:700}.v4-checks{display:grid;gap:10px;margin:22px 0;font-size:1.05rem}.v4-checks b:before{content:'✓';display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--gold);color:white;margin-right:9px}.v4-side{padding:28px;background:#fbfaf7;display:flex;flex-direction:column;justify-content:center}.v4-side h2{text-align:center;color:var(--navy);font-size:1.7rem}.v4-side h2 span{color:var(--gold)}.life-list{display:grid;gap:13px;margin:18px 0}.life-list div{display:grid;grid-template-columns:36px 1fr;gap:9px;align-items:center}.life-list strong{display:block;color:var(--navy)}.dla-card{background:var(--navy);color:white;padding:20px;border-radius:6px;text-align:center}.dla-card a{color:#fff}
.benefit-strip{display:grid;grid-template-columns:repeat(5,1fr);background:var(--navy);color:white}.benefit{padding:18px 14px;display:grid;grid-template-columns:42px 1fr;gap:10px;border-right:1px solid rgba(255,255,255,.2);align-items:center}.benefit svg{width:34px;height:34px;stroke:#e4b24f;fill:none;stroke-width:1.8}.benefit strong{display:block;font-size:.82rem}.benefit small{opacity:.85}
.v4-section{padding:38px max(24px,3vw)}.v4-title{text-align:center;color:var(--navy);letter-spacing:.12em;text-transform:uppercase}.v4-title span{color:var(--gold)}
.photo-tiles{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}.photo-tile{position:relative;aspect-ratio:1/1.05;border-radius:8px;overflow:hidden;background:#ddd}.photo-tile img{width:100%;height:100%;object-fit:cover}.photo-tile:after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(transparent,rgba(4,25,45,.88))}.photo-tile b{position:absolute;z-index:2;bottom:14px;left:12px;right:12px;color:white;text-align:center;font-size:.9rem}.photo-tile:nth-child(2n) img{object-position:center 40%}
.building-grid-v4{display:grid;grid-template-columns:1fr 1fr;gap:18px}.building-v4{display:grid;grid-template-columns:1fr 1.05fr;border:1px solid #ddd1be;border-radius:10px;overflow:hidden;background:white}.building-v4 .copy{padding:24px}.building-v4 img{width:100%;height:100%;object-fit:cover;min-height:330px}.building-v4 h2{font-family:Georgia,serif;color:var(--navy);font-size:2rem;margin:.1em 0}.building-v4.calvert h2{color:var(--green)}.compact-list{padding-left:0;list-style:none}.compact-list li{margin:8px 0}.compact-list li:before{content:'✓';color:var(--gold);font-weight:bold;margin-right:8px}
.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.gallery-grid a{display:block;overflow:hidden;border-radius:7px}.gallery-grid img{width:100%;height:220px;object-fit:cover;transition:.2s}.gallery-grid img:hover{transform:scale(1.025)}
.avail-wrap{overflow:auto;-webkit-overflow-scrolling:touch}.avail-v4{width:100%;border-collapse:collapse;background:white;min-width:780px}.avail-v4 th{background:#f1ece3;color:var(--navy);font-size:.75rem;text-transform:uppercase;letter-spacing:.04em}.avail-v4 th,.avail-v4 td{padding:11px 9px;border:1px solid #ded7ca;text-align:center}.avail-v4 td:first-child,.avail-v4 td:nth-child(2){font-weight:700}.status-available{color:#16733c;background:#e9f7ee;border-radius:999px;padding:4px 9px;white-space:nowrap}.status-leased{color:#68717a}.yes{color:#16733c;font-size:1.15rem}.availability-note{text-align:center;color:#65717c;margin:12px 0}.all-laundry{background:#eef5f1;border-left:4px solid var(--green);padding:15px 18px;margin:18px 0;font-weight:700;color:var(--green)}
@media(max-width:900px){.v4-hero{grid-template-columns:1fr}.v4-side{display:none}.benefit-strip{grid-template-columns:repeat(2,1fr)}.benefit:last-child{grid-column:1/-1}.photo-tiles{grid-template-columns:repeat(3,1fr)}.building-grid-v4{grid-template-columns:1fr}.gallery-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.v4-hero-main{min-height:600px;padding:38px 22px;background-position:58% center}.v4-hero-main:before{background:rgba(4,25,45,.73)}.v4-hero h1{font-size:2.75rem}.v4-checks{font-size:.95rem}.benefit-strip{grid-template-columns:1fr 1fr}.benefit{grid-template-columns:30px 1fr;padding:13px 9px}.benefit svg{width:25px}.photo-tiles{grid-template-columns:1fr 1fr}.building-v4{grid-template-columns:1fr}.building-v4 img{min-height:240px}.gallery-grid img{height:160px}.v4-section{padding:28px 16px}.nav-inner{padding-left:14px;padding-right:14px}.brand{max-width:220px}.btn{padding:12px 14px}.v4-hero-copy .button-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}.v4-hero-copy .button-row a{text-align:center;font-size:.86rem}}

/* V5 - mockup-forward visual system */
.mock-hero{min-height:560px;position:relative;background:url('images/hero-both.webp') center 44%/cover no-repeat;color:#fff;display:flex;align-items:center;padding:55px max(26px,3vw)}.mock-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,31,54,.96) 0%,rgba(5,31,54,.88) 31%,rgba(5,31,54,.42) 53%,rgba(5,31,54,.06) 78%)}.mock-hero-copy{position:relative;z-index:2;width:min(670px,70%)}.mock-hero h1{font-size:clamp(3rem,5.5vw,5.5rem);line-height:.92;margin:8px 0 15px;letter-spacing:.01em}.mock-hero h1 span{display:block;color:#e1a846;font-family:Georgia,serif;font-style:italic;font-weight:400;font-size:.72em;line-height:1.1;margin-top:5px}.hero-line{font-size:1.18rem}.hero-line strong{color:#e4b04e;letter-spacing:.04em}.mock-checks{display:grid;grid-template-columns:1fr 1fr;gap:10px 24px;margin:24px 0}.mock-checks b{position:relative;padding-left:28px}.mock-checks b:before{content:'✓';position:absolute;left:0;top:0;width:19px;height:19px;display:grid;place-items:center;border-radius:50%;background:var(--gold);color:#fff;font-size:.75rem}.mock-checks em{color:#f0c466;font-family:Georgia,serif;font-weight:400}.white-outline{background:transparent!important;border-color:#fff!important}.parking-badge{position:absolute;z-index:3;right:3vw;top:34px;background:rgba(7,35,60,.94);border:1px solid #d5a347;color:#fff;width:155px;padding:18px 12px;text-align:center;border-radius:12px}.parking-badge svg{width:42px;stroke:#e4b04e;fill:none;stroke-width:1.8;margin:0 auto 8px}.parking-badge strong,.parking-badge span{display:block}.parking-badge span{font-size:.7rem;margin-top:6px;color:#e8edf1}.v5-section{padding:38px max(22px,3vw)}.v5-section.soft{background:#f8f3ea}.v5-heading{text-align:center;letter-spacing:.15em;color:var(--navy);font-size:1.7rem;margin:0 0 22px}.v5-heading span{color:var(--gold)}.v5-heading.left{text-align:left;margin-bottom:5px}.lifestyle-photos,.lifestyle-page-photos{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}.life-photo{position:relative;height:180px;overflow:hidden;border-radius:8px;text-decoration:none;background:#ccc}.life-photo img{width:100%;height:100%;object-fit:cover;transition:.25s}.life-photo:after{content:"";position:absolute;inset:50% 0 0;background:linear-gradient(transparent,rgba(4,29,51,.9))}.life-photo span{position:absolute;z-index:2;left:8px;right:8px;bottom:11px;text-align:center;color:#fff;font-family:Georgia,serif;font-style:italic;font-size:1.05rem}.life-photo:hover img{transform:scale(1.04)}.life-photo:nth-child(2) img,.life-photo:nth-child(6) img{object-position:center 40%}.support-row{display:flex;justify-content:center;align-items:center;gap:16px;flex-wrap:wrap;margin-top:15px;font-size:.82rem;color:#40505e}.support-row strong{color:var(--navy)}.support-row a{color:var(--navy);font-weight:700}.building-showcase{display:grid;grid-template-columns:1fr 1fr;gap:16px}.building-card-v5{display:grid;grid-template-columns:.95fr 1.05fr;border:1px solid #ddcfba;background:white;border-radius:10px;overflow:hidden}.building-copy{padding:23px}.building-copy h2{font-family:Georgia,serif;font-weight:400;color:var(--navy);font-size:2rem;margin:0}.calvert-card .building-copy h2{color:var(--green)}.gold-checks{list-style:none;padding:0}.gold-checks li{margin:8px 0;padding-left:20px;position:relative}.gold-checks li:before{content:'✓';position:absolute;left:0;color:#c89131;font-weight:bold}.building-photo-stack{display:grid;grid-template-rows:1.35fr .65fr;gap:5px;background:#fff}.building-photo-stack img{width:100%;height:100%;object-fit:cover;min-height:0}.availability-head{display:flex;justify-content:space-between;gap:24px;align-items:end;margin-bottom:16px}.availability-head p{margin:0;color:#586875}.avail-v5{width:100%;border-collapse:collapse;background:#fff;min-width:900px}.avail-v5 th{background:#f1ece3;color:var(--navy);font-size:.69rem;text-transform:uppercase;letter-spacing:.04em}.avail-v5 th,.avail-v5 td{padding:9px 7px;border:1px solid #ded7ca;text-align:center}.avail-v5 td:first-child,.avail-v5 td:nth-child(2){font-weight:700}.unit-link{color:var(--navy);font-weight:800}.ask-link{display:inline-block;background:var(--gold);color:#fff;text-decoration:none;padding:5px 9px;border-radius:3px;font-size:.75rem;font-weight:800}.available-row{background:#f6fbf7}.leased-row{color:#68727b}.availability-foot{margin-top:12px;text-align:center;color:#4f5f6d}.closing{background:#09243d;color:white;text-align:center;padding:34px 20px}.closing h2{font-family:Georgia,serif;font-style:italic;color:#dda540;font-size:2.6rem;margin:0}.intro-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:34px;align-items:center}.intro-grid>img{width:100%;height:420px;object-fit:cover}.gallery-heading{max-width:840px;margin-bottom:18px}.gallery-v5{display:grid;grid-template-columns:repeat(5,1fr);grid-auto-rows:170px;gap:9px}.gallery-v5 a{overflow:hidden;border-radius:7px}.gallery-v5 img{width:100%;height:100%;object-fit:cover;transition:.25s}.gallery-v5 a:hover img{transform:scale(1.035)}.gallery-v5 a:nth-child(1){grid-column:span 2;grid-row:span 2}.gallery-v5 a:nth-child(4){grid-row:span 2}.gallery-v5 a:nth-child(7){grid-column:span 2}.v5-buildinghero:before{background:linear-gradient(90deg,rgba(10,29,45,.78),rgba(10,29,45,.18))}.lifestyle-photo-hero{min-height:430px;background:linear-gradient(90deg,rgba(6,31,54,.9),rgba(6,31,54,.25)),url('https://upload.wikimedia.org/wikipedia/commons/2/2d/Downtown_Lynchburg_zoomed_in.jpg') center/cover no-repeat;color:#fff;display:flex;align-items:center}.lifestyle-photo-hero h1{font-size:clamp(3rem,6vw,5rem);line-height:.95;margin:10px 0}.lifestyle-photo-hero h1 span{color:#e0a642}.lifestyle-photo-hero p{max-width:720px;font-size:1.15rem}.lifestyle-page-photos{grid-template-columns:repeat(3,1fr)}.lifestyle-page-photos .life-photo{height:280px}.dla-v5{margin-top:22px;background:var(--navy);color:white;padding:25px;display:flex;align-items:center;justify-content:space-between;gap:24px;border-radius:8px}.dla-v5 h2{margin:0;color:#fff}.dla-v5 p{margin:.45rem 0 0;max-width:760px}.destination-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.destination-grid article{background:#fff;border:1px solid #dfd6c9;padding:20px}.destination-grid h3{font-family:Georgia,serif;color:var(--navy);margin-top:0}.photo-credit{font-size:.76rem;color:#78838c;margin-top:18px;text-align:center}
@media(max-width:1000px){.mock-checks{grid-template-columns:1fr}.mock-hero-copy{width:min(650px,82%)}.lifestyle-photos{grid-template-columns:repeat(3,1fr)}.building-showcase{grid-template-columns:1fr}.gallery-v5{grid-template-columns:repeat(3,1fr)}.gallery-v5 a:nth-child(1),.gallery-v5 a:nth-child(4),.gallery-v5 a:nth-child(7){grid-column:auto;grid-row:auto}.destination-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.parking-badge{display:none}.mock-hero{min-height:680px;background-position:59% center;padding:38px 20px}.mock-hero:before{background:rgba(5,31,54,.73)}.mock-hero-copy{width:100%}.mock-hero h1{font-size:3.1rem}.mock-checks{gap:8px}.benefit-strip{grid-template-columns:1fr 1fr}.benefit:last-child{grid-column:1/-1}.lifestyle-photos{grid-template-columns:1fr 1fr}.life-photo{height:165px}.building-card-v5{grid-template-columns:1fr}.building-photo-stack{grid-template-columns:1.3fr .7fr;grid-template-rows:250px}.availability-head{align-items:flex-start;flex-direction:column}.availability-head .btn{width:100%;text-align:center}.intro-grid{grid-template-columns:1fr}.intro-grid>img{height:300px}.gallery-v5{grid-template-columns:1fr 1fr;grid-auto-rows:150px}.lifestyle-page-photos{grid-template-columns:1fr 1fr}.lifestyle-page-photos .life-photo{height:210px}.dla-v5{flex-direction:column;align-items:flex-start}.destination-grid{grid-template-columns:1fr}}
@media(max-width:430px){.mock-hero{min-height:700px;padding:30px 16px}.mock-hero h1{font-size:2.7rem}.mock-hero h1 span{font-size:.68em}.hero-line{font-size:1rem}.mock-checks{font-size:.91rem}.mock-hero .button-row{display:grid;grid-template-columns:1fr}.benefit-strip{grid-template-columns:1fr}.benefit:last-child{grid-column:auto}.lifestyle-photos,.lifestyle-page-photos{grid-template-columns:1fr 1fr;gap:7px}.life-photo,.lifestyle-page-photos .life-photo{height:145px}.life-photo span{font-size:.9rem}.building-photo-stack{grid-template-columns:1fr 1fr;grid-template-rows:190px}.gallery-v5{grid-template-columns:1fr 1fr;grid-auto-rows:130px}.v5-section{padding:28px 14px}.availability-foot{font-size:.86rem}.navlinks{top:82px}.brand-main{font-size:.98rem}}

/* V6 — mockup-faithful refinement */
.mock-hero{min-height:590px;background-position:center 45%;}
.mock-hero:before{background:linear-gradient(90deg,rgba(5,31,54,.92) 0%,rgba(5,31,54,.80) 32%,rgba(5,31,54,.30) 56%,rgba(5,31,54,.02) 80%)}
.mock-hero-copy{width:min(690px,62%)}
.lifestyle-home{padding-top:30px;padding-bottom:28px}
.lifestyle-photos{gap:12px;align-items:start}
.lifestyle-photos .life-photo,.lifestyle-page-photos .life-photo{height:auto;overflow:visible;background:transparent;border-radius:0;display:flex;flex-direction:column;gap:7px}
.lifestyle-photos .life-photo img{height:168px;border-radius:7px;box-shadow:0 2px 9px rgba(11,34,54,.10)}
.lifestyle-page-photos .life-photo img{height:285px;border-radius:8px;box-shadow:0 3px 12px rgba(11,34,54,.12)}
.life-photo:after{display:none}
.life-photo span{position:static;color:var(--navy);font-size:1.08rem;line-height:1.1;text-shadow:none;min-height:24px}
.life-photo:hover img{transform:translateY(-2px) scale(1.015)}
.support-row{border-top:1px solid #dcc8a7;padding-top:14px;margin-top:8px}
.building-photo-stack{grid-template-rows:1.28fr .72fr}
.building-photo-stack img:first-child{object-position:center 47%}
.parking-photo-band{margin:0;display:grid;grid-template-columns:1.25fr .75fr;background:var(--navy);color:#fff;min-height:270px}
.parking-photo-band img{width:100%;height:100%;max-height:330px;object-fit:cover;object-position:center 58%}
.parking-photo-band>div{padding:36px 42px;display:flex;flex-direction:column;justify-content:center}
.parking-photo-band span{color:#e5b45d;font-size:.79rem;font-weight:800;letter-spacing:.14em}
.parking-photo-band strong{font-family:Georgia,serif;font-size:2.2rem;font-weight:400;margin:6px 0 8px}
.parking-photo-band p{margin:0;color:#e8edf1;max-width:450px}
.gallery-v6{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:190px;gap:9px}
.gallery-v6 a{overflow:hidden;border-radius:7px;background:#ddd}
.gallery-v6 img{width:100%;height:100%;object-fit:cover;transition:.25s}
.gallery-v6 a:hover img{transform:scale(1.025)}
.gallery-v6 a:nth-child(1){grid-column:span 2;grid-row:span 2}
.gallery-v6 a:nth-child(2){grid-column:span 2}
.gallery-v6 a:nth-child(4){grid-row:span 2}
.gallery-v6 a:nth-child(7){grid-column:span 2}
.gallery-v6 a:nth-child(10){grid-column:span 2}
.lifestyle-detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.lifestyle-detail-grid article{background:#fff;border:1px solid #dfd6c9;padding:21px;border-radius:6px}
.lifestyle-detail-grid h3{font-family:Georgia,serif;color:var(--navy);font-size:1.35rem;margin:0 0 8px}
.lifestyle-detail-grid p{margin:0 0 12px;color:#546574}
.lifestyle-detail-grid a{font-weight:800;color:var(--gold-dark);text-decoration:none}
.lifestyle-detail-grid a:hover{text-decoration:underline}

@media(max-width:1000px){
  .mock-hero-copy{width:min(650px,76%)}
  .gallery-v6{grid-template-columns:repeat(3,1fr);grid-auto-rows:180px}
  .gallery-v6 a:nth-child(n){grid-column:auto;grid-row:auto}
  .gallery-v6 a:nth-child(1){grid-column:span 2;grid-row:span 2}
  .parking-photo-band{grid-template-columns:1.15fr .85fr}
  .lifestyle-detail-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:700px){
  .mock-hero{min-height:650px;background-position:62% center}
  .mock-hero-copy{width:100%}
  .mock-hero:before{background:linear-gradient(90deg,rgba(5,31,54,.90),rgba(5,31,54,.64))}
  .lifestyle-photos .life-photo img{height:170px}
  .lifestyle-page-photos .life-photo img{height:220px}
  .parking-photo-band{grid-template-columns:1fr}
  .parking-photo-band img{height:240px}
  .parking-photo-band>div{padding:27px 24px}
  .parking-photo-band strong{font-size:1.85rem}
  .gallery-v6{grid-template-columns:1fr 1fr;grid-auto-rows:160px}
  .gallery-v6 a:nth-child(n){grid-column:auto;grid-row:auto}
  .gallery-v6 a:first-child{grid-column:1/-1;grid-row:span 2}
  .lifestyle-detail-grid{grid-template-columns:1fr}
}
@media(max-width:430px){
  .mock-hero{min-height:690px;background-position:65% center}
  .mock-hero h1{font-size:2.55rem}
  .lifestyle-photos,.lifestyle-page-photos{grid-template-columns:1fr 1fr;gap:10px}
  .lifestyle-photos .life-photo img,.lifestyle-page-photos .life-photo img{height:135px}
  .life-photo span{font-size:.93rem;min-height:32px}
  .gallery-v6{grid-template-columns:1fr 1fr;grid-auto-rows:135px}
  .gallery-v6 a:first-child{grid-row:span 2}
  .parking-photo-band img{height:200px}
  .parking-photo-band>div{padding:22px 18px}
  .parking-photo-band strong{font-size:1.6rem}
  .avail-v5{min-width:790px}
}

/* V7 — cleaner property-first homepage */
.v7-hero{min-height:555px;position:relative;display:flex;align-items:center;background:url('images/gallery/hero-flowers-both.jpg') center 44%/cover no-repeat;color:#fff;padding:46px max(5vw,24px)}
.v7-hero:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,31,54,.72) 0%,rgba(5,31,54,.54) 34%,rgba(5,31,54,.15) 60%,rgba(5,31,54,0) 82%)}
.v7-hero-copy{position:relative;z-index:1;width:min(640px,55%)}
.v7-hero h1{font-family:Georgia,serif;font-weight:400;font-size:clamp(2.6rem,4.8vw,4.55rem);line-height:1.02;margin:12px 0 28px;text-shadow:0 2px 16px rgba(0,0,0,.22)}
.v7-hero h1 strong{display:block;color:#e3aa43;font-weight:600;font-size:.72em;line-height:1.08;margin-top:9px}
.v7-checks{grid-template-columns:1fr;max-width:570px;margin-bottom:22px}
.v7-checks b{font-size:1rem}
.v7-properties{padding:42px max(4vw,20px);background:#f7f4ee}
.v7-property-grid{max-width:1200px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:24px}
.v7-property-card{background:#fff;border:1px solid #e1d8cb;border-radius:8px;overflow:hidden;box-shadow:0 3px 14px rgba(11,34,54,.07)}
.v7-property-main{width:100%;height:390px;object-fit:cover;display:block}
.v7-property-card:first-child .v7-property-main{object-position:center 46%}
.v7-property-copy{padding:24px 26px 26px}
.v7-property-copy h2{font-family:Georgia,serif;font-weight:400;color:var(--navy);font-size:2.25rem;margin:0}
.v7-property-copy small{letter-spacing:.08em;color:#64727e}
.v7-property-copy .gold-checks{margin:18px 0 20px}
.v7-property-copy .btn{display:inline-block}
.v7-property-card.calvert-card h2{color:var(--green)}
.v7-parking{grid-template-columns:1.55fr .65fr;min-height:340px}
.v7-parking img{max-height:none;height:360px;object-position:center 50%}
.v7-parking>div{padding:38px 40px}
.v7-parking strong{font-size:2.35rem}
.v7-properties + .v7-parking + .lifestyle-home{padding-top:36px}
.gallery-v6 .parking-gallery{grid-column:span 2!important;grid-row:span 2!important}
.gallery-v6 .parking-gallery img{object-position:center 50%}
@media(max-width:900px){.v7-hero-copy{width:72%}.v7-property-grid{grid-template-columns:1fr}.v7-property-main{height:430px}.v7-parking{grid-template-columns:1.3fr .7fr}}
@media(max-width:700px){
 .v7-hero{min-height:610px;padding:30px 18px;align-items:flex-end;background-image:url('images/gallery/hero-flowers-both.jpg');background-position:center 62%}
 .v7-hero:before{background:linear-gradient(180deg,rgba(5,31,54,.05) 0%,rgba(5,31,54,.12) 35%,rgba(5,31,54,.72) 68%,rgba(5,31,54,.88) 100%)}
 .v7-hero-copy{width:100%;padding-bottom:8px}
 .v7-hero .v4-kicker{font-size:.72rem}
 .v7-hero h1{font-size:2.35rem;margin:8px 0 18px;line-height:1.02}
 .v7-hero h1 strong{font-size:.7em;margin-top:5px}
 .v7-checks{gap:6px;margin-bottom:14px}
 .v7-checks b{font-size:.88rem}
 .v7-hero .button-row{display:flex;gap:8px}.v7-hero .button-row .btn{font-size:.76rem;padding:10px 12px}
 .v7-properties{padding:28px 14px}.v7-property-grid{gap:18px}.v7-property-main{height:310px}.v7-property-copy{padding:20px}.v7-property-copy h2{font-size:1.9rem}
 .v7-parking{grid-template-columns:1fr}.v7-parking img{height:300px}.v7-parking>div{padding:24px 20px}.v7-parking strong{font-size:1.8rem}
 .gallery-v6 .parking-gallery{grid-column:1/-1!important;grid-row:span 2!important}
}
@media(max-width:430px){
 .v7-hero{min-height:620px;background-position:50% 62%}
 .v7-hero h1{font-size:2.12rem}.v7-checks b{font-size:.84rem}.v7-property-main{height:255px}.v7-parking img{height:260px}
}

/* V9 final-polish refinements */
@media(min-width:901px){
  .v7-hero h1{margin-bottom:40px}
  .v7-checks{margin-top:4px}
  .v7-parking{grid-template-columns:1.9fr .6fr;min-height:390px}
  .v7-parking img{height:410px;object-fit:cover;object-position:center 42%}
  .v7-parking>div{padding:38px 34px}
}
@media(max-width:700px){.v7-hero h1{margin-bottom:27px}}

/* =========================
   V10 HERO + PARKING POLISH
   ========================= */
/* Desktop: use the same flowers / Church Street photo as mobile, but zoomed
   farther out and moved to the right so the buildings are not hidden by copy. */
@media (min-width:1100px){
  .v7-hero{
    min-height:720px;
    background-color:#071f36;
    background-image:url('images/gallery/hero-flowers-both.jpg');
    background-repeat:no-repeat;
    background-size:auto clamp(880px,65vw,1250px);
    background-position:right 53%;
    padding-left:max(5vw,32px);
    padding-right:0;
  }
  .v7-hero:before{
    background:linear-gradient(90deg,
      rgba(5,31,54,.98) 0%,
      rgba(5,31,54,.96) 27%,
      rgba(5,31,54,.82) 39%,
      rgba(5,31,54,.38) 49%,
      rgba(5,31,54,.08) 58%,
      rgba(5,31,54,0) 67%);
  }
  .v7-hero-copy{width:min(590px,43%)}
}
/* Medium screens keep the same photo with a slightly wider reveal. */
@media (min-width:701px) and (max-width:1099px){
  .v7-hero{
    min-height:650px;
    background-image:url('images/gallery/hero-flowers-both.jpg');
    background-position:60% 58%;
  }
}
/* Parking: this file is deliberately cropped to remove excess sky and show
   more of the actual parking field on larger screens. */
@media (min-width:901px){
  .v7-parking{grid-template-columns:1.8fr .7fr;min-height:430px}
  .v7-parking img{height:430px;object-fit:cover;object-position:center center}
}

/* =========================
   V11 — BLENDED FULL-WIDTH HERO
   Uses the real Church Street flowers/street-sign photograph throughout.
   Desktop receives a feathered wide treatment: atmosphere behind the copy,
   clean building detail toward the right, with no hard navy/photo seam.
   Mobile retains the V10 composition that already worked well.
   ========================= */
@media (min-width:701px){
  .v7-hero{
    min-height:650px;
    background-color:#071f36;
    background-image:url('images/gallery/hero-v11-blended.jpg');
    background-size:cover;
    background-position:center center;
    background-repeat:no-repeat;
    padding:50px max(5vw,32px);
  }
  .v7-hero:before{
    background:linear-gradient(90deg,
      rgba(5,31,54,.70) 0%,
      rgba(5,31,54,.60) 24%,
      rgba(5,31,54,.42) 39%,
      rgba(5,31,54,.14) 55%,
      rgba(5,31,54,.03) 72%,
      rgba(5,31,54,.12) 100%);
  }
  .v7-hero-copy{width:min(650px,48%)}
}
@media (min-width:1100px){
  .v7-hero{
    min-height:690px;
    background-image:url('images/gallery/hero-v11-blended.jpg');
    background-size:cover;
    background-position:center center;
    padding-left:max(5vw,44px);
    padding-right:max(3vw,28px);
  }
  .v7-hero:before{
    background:linear-gradient(90deg,
      rgba(5,31,54,.74) 0%,
      rgba(5,31,54,.66) 22%,
      rgba(5,31,54,.46) 37%,
      rgba(5,31,54,.18) 51%,
      rgba(5,31,54,.03) 69%,
      rgba(5,31,54,.10) 100%);
  }
  .v7-hero-copy{width:min(670px,46%)}
}
@media (max-width:700px){
  .v7-hero{
    background-image:url('images/gallery/hero-flowers-both.jpg');
  }
}

/* =========================
   V12 — SOFT OPACITY-GRADIENT HERO
   The original real Church Street photo remains crisp; CSS overlay creates
   a smooth left-to-right blend rather than baking a blur into the image.
   Desktop composition favors the front facades and shifts the less-attractive
   side of 801 toward the far-right edge. Mobile keeps the proven V10 framing.
   ========================= */
@media (min-width:701px){
  .v7-hero{
    min-height:650px;
    background-color:#071f36;
    background-image:url('images/gallery/hero-flowers-both.jpg');
    background-repeat:no-repeat;
    background-size:cover;
    background-position:64% 56%;
    padding:50px max(5vw,32px);
    overflow:hidden;
  }
  .v7-hero:before{
    content:'';
    position:absolute;
    inset:0;
    background:
      linear-gradient(90deg,
        rgba(5,31,54,.92) 0%,
        rgba(5,31,54,.88) 22%,
        rgba(5,31,54,.70) 36%,
        rgba(5,31,54,.42) 48%,
        rgba(5,31,54,.16) 59%,
        rgba(5,31,54,.04) 70%,
        rgba(5,31,54,.02) 82%,
        rgba(5,31,54,.16) 100%);
  }
  .v7-hero-copy{width:min(650px,47%)}
}

@media (min-width:1100px){
  .v7-hero{
    min-height:690px;
    /* Slightly zoomed-out vs V11 and shifted right to emphasize the fronts. */
    background-size:cover;
    background-position:66% 55%;
    padding-left:max(5vw,44px);
    padding-right:max(3vw,28px);
  }
  .v7-hero:before{
    background:
      linear-gradient(90deg,
        rgba(5,31,54,.94) 0%,
        rgba(5,31,54,.90) 20%,
        rgba(5,31,54,.72) 34%,
        rgba(5,31,54,.44) 46%,
        rgba(5,31,54,.18) 57%,
        rgba(5,31,54,.05) 68%,
        rgba(5,31,54,.02) 82%,
        rgba(5,31,54,.14) 100%);
  }
  .v7-hero-copy{width:min(670px,45%)}
}

@media (min-width:1450px){
  .v7-hero{
    /* Wide laptop/desktop: keep more flowers and Church Street context while
       nudging the side wall farther right. */
    background-position:68% 56%;
  }
}

@media (max-width:700px){
  .v7-hero{
    background-image:url('images/gallery/hero-flowers-both.jpg');
    background-position:50% 62%;
  }
}

/* =========================
   V13 — DESKTOP HERO: NATURAL WIDE PHOTO SCALE
   Desktop/laptop no longer forces the portrait mobile hero into a wide
   cover box (the source of V12's excessive zoom). Instead it uses the real
   landscape streetscape photo and a smooth navy opacity overlay. Mobile
   continues to use the flowers / Church Street sign composition unchanged.
   ========================= */
@media (min-width:701px){
  .v7-hero{
    min-height:620px;
    background-color:#071f36;
    background-image:url('images/gallery/both-buildings-wide.jpg');
    background-repeat:no-repeat;
    background-size:cover;
    background-position:58% 52%;
    padding:46px max(5vw,32px);
    overflow:hidden;
  }
  .v7-hero:before{
    content:'';
    position:absolute;
    inset:0;
    background:linear-gradient(90deg,
      rgba(5,31,54,.96) 0%,
      rgba(5,31,54,.92) 18%,
      rgba(5,31,54,.78) 31%,
      rgba(5,31,54,.54) 43%,
      rgba(5,31,54,.28) 53%,
      rgba(5,31,54,.10) 63%,
      rgba(5,31,54,.02) 76%,
      rgba(5,31,54,.04) 100%);
  }
  .v7-hero-copy{width:min(650px,47%)}
}
@media (min-width:1100px){
  .v7-hero{
    min-height:650px;
    background-size:cover;
    background-position:61% 51%;
    padding-left:max(5vw,44px);
    padding-right:max(3vw,28px);
  }
  .v7-hero-copy{width:min(670px,45%)}
}
@media (min-width:1450px){
  .v7-hero{
    min-height:660px;
    background-position:64% 51%;
  }
}
@media (max-width:700px){
  .v7-hero{
    background-image:url('images/gallery/hero-flowers-both.jpg');
    background-position:50% 62%;
  }
}

/* =========================
   V14 — DESKTOP HERO MATCHES MOBILE COMPOSITION
   Uses the SAME flowers / Church & Eighth sign photograph as mobile.
   The desktop image is scaled by height instead of cover, preventing the
   aggressive zoom/crop seen in V12/V13. A navy base and soft transparent
   overlay create a seamless wide-screen extension behind the copy.
   ========================= */
@media (min-width:701px){
  .v7-hero{
    min-height:690px;
    background-color:#071f36;
    background-image:url('images/gallery/hero-flowers-both.jpg');
    background-repeat:no-repeat;
    /* Scale from hero HEIGHT, not viewport WIDTH: preserves mobile-like framing. */
    background-size:auto 136%;
    background-position:right 53%;
    padding:48px max(5vw,40px);
    overflow:hidden;
  }
  .v7-hero:before{
    content:'';
    position:absolute;
    inset:0;
    /* Mobile-style dark transparency over the photograph, with only a mild
       extra boost on the copy side for legibility—no visible split line. */
    background:
      linear-gradient(90deg,
        rgba(5,31,54,.90) 0%,
        rgba(5,31,54,.86) 24%,
        rgba(5,31,54,.72) 39%,
        rgba(5,31,54,.54) 52%,
        rgba(5,31,54,.42) 66%,
        rgba(5,31,54,.36) 100%);
  }
  .v7-hero-copy{width:min(680px,47%)}
}
@media (min-width:1100px){
  .v7-hero{
    min-height:700px;
    background-size:auto 140%;
    background-position:right 52%;
    padding-left:max(5vw,54px);
  }
  .v7-hero-copy{width:min(690px,46%)}
}
@media (min-width:1450px){
  .v7-hero{
    min-height:710px;
    background-size:auto 144%;
    background-position:right 52%;
  }
}
/* Keep the proven mobile treatment exactly as-is. */
@media (max-width:700px){
  .v7-hero{
    background-image:url('images/gallery/hero-flowers-both.jpg');
    background-size:cover;
    background-position:50% 62%;
  }
}

/* =========================
   V15 — TRUE WIDE-SCREEN VERSION OF THE MOBILE HERO
   Desktop now uses a dedicated wide composite derived from the SAME real
   Church/Eighth/flowers photograph used on mobile. This avoids the portrait
   source being forced into a wide viewport and eliminates the old hard split.
   The photo spans the entire hero; a uniform navy transparency sits over the
   whole image, with only a gentle extra darkening behind the copy.
   ========================= */
@media (min-width:701px){
  .v7-hero{
    min-height:650px;
    background-color:#071f36;
    background-image:url('images/gallery/hero-v15-desktop.jpg');
    background-repeat:no-repeat;
    background-size:cover;
    background-position:center center;
    padding:48px max(5vw,40px);
    overflow:hidden;
  }
  .v7-hero:before{
    content:'';
    position:absolute;
    inset:0;
    background:
      linear-gradient(90deg,
        rgba(5,31,54,.38) 0%,
        rgba(5,31,54,.28) 34%,
        rgba(5,31,54,.14) 56%,
        rgba(5,31,54,.08) 100%),
      rgba(5,31,54,.34);
  }
  .v7-hero-copy{width:min(690px,47%)}
}
@media (min-width:1100px){
  .v7-hero{
    min-height:670px;
    background-position:center 50%;
    padding-left:max(5vw,54px);
  }
  .v7-hero-copy{width:min(700px,46%)}
}
@media (min-width:1450px){
  .v7-hero{
    min-height:680px;
    background-position:center 50%;
  }
}
/* Preserve the mobile hero exactly as approved. */
@media (max-width:700px){
  .v7-hero{
    background-image:url('images/gallery/hero-flowers-both.jpg');
    background-size:cover;
    background-position:50% 62%;
  }
}

/* =========================
   V16 — DESKTOP HERO REFINEMENT
   Builds on V15: same real Church/Eighth/flowers photo, but the sharp photo
   begins farther left, the center transition is cleaner, and the navy overlay
   is closer to the approved mobile treatment: consistent transparency across
   the entire hero with only gentle extra darkening behind the copy.
   ========================= */
@media (min-width:701px){
  .v7-hero{
    background-image:url('images/gallery/hero-v16-desktop.jpg');
    background-size:cover;
    background-position:center center;
  }
  .v7-hero:before{
    background:
      linear-gradient(90deg,
        rgba(5,31,54,.20) 0%,
        rgba(5,31,54,.12) 32%,
        rgba(5,31,54,.05) 52%,
        rgba(5,31,54,0) 72%),
      rgba(5,31,54,.27);
  }
}
@media (min-width:1100px){
  .v7-hero{background-position:48% center;}
}
/* Mobile remains exactly as previously approved. */
@media (max-width:700px){
  .v7-hero{
    background-image:url('images/gallery/hero-flowers-both.jpg');
    background-size:cover;
    background-position:50% 62%;
  }
}

/* =========================
   V17 — CLEAN CRISP DESKTOP HERO
   Matches the approved mockup's treatment: one real, crisp property photo
   across the full hero with a smooth navy gradient from the left. No baked
   blur, no duplicated side panels, and no hard split. Mobile remains unchanged.
   ========================= */
@media (min-width:701px){
  .v7-hero{
    min-height:650px;
    background-color:#071f36;
    background-image:url('images/gallery/both-buildings-wide.jpg');
    background-repeat:no-repeat;
    background-size:cover;
    background-position:center 53%;
    padding:48px max(5vw,40px);
    overflow:hidden;
  }
  .v7-hero:before{
    content:'';
    position:absolute;
    inset:0;
    background:linear-gradient(90deg,
      rgba(5,31,54,.96) 0%,
      rgba(5,31,54,.90) 20%,
      rgba(5,31,54,.72) 35%,
      rgba(5,31,54,.46) 49%,
      rgba(5,31,54,.22) 62%,
      rgba(5,31,54,.10) 76%,
      rgba(5,31,54,.08) 100%);
  }
  .v7-hero-copy{width:min(690px,47%)}
}
@media (min-width:1100px){
  .v7-hero{
    min-height:670px;
    background-position:center 54%;
    padding-left:max(5vw,54px);
  }
  .v7-hero-copy{width:min(700px,46%)}
}
@media (min-width:1450px){
  .v7-hero{min-height:680px;background-position:center 54%;}
}
@media (max-width:700px){
  .v7-hero{
    background-image:url('images/gallery/hero-flowers-both.jpg');
    background-size:cover;
    background-position:50% 62%;
  }
}

/* =========================
   V18 — MOBILE-COMPOSITION DESKTOP HERO
   Desktop now uses the exact same approved portrait hero photograph as mobile.
   Crucially, it is NOT background-size:cover on desktop. The image is sized by
   height and anchored right so the sky, Eighth/Church signs, 801 frontage,
   intersection and flowers stay in the frame. A long navy gradient conceals
   the portrait image's left boundary beneath the copy instead of cropping it.
   ========================= */
@media (min-width:701px){
  .v7-hero{
    min-height:700px;
    background-color:#071f36;
    background-image:url('images/gallery/hero-flowers-both.jpg');
    background-repeat:no-repeat;
    background-size:auto 108%;
    background-position:right 58%;
    padding:48px max(5vw,40px);
    overflow:hidden;
  }
  .v7-hero:before{
    content:'';
    position:absolute;
    inset:0;
    background:linear-gradient(90deg,
      rgba(5,31,54,1) 0%,
      rgba(5,31,54,.98) 28%,
      rgba(5,31,54,.92) 43%,
      rgba(5,31,54,.70) 55%,
      rgba(5,31,54,.38) 65%,
      rgba(5,31,54,.20) 74%,
      rgba(5,31,54,.16) 100%);
  }
  .v7-hero-copy{width:min(690px,47%)}
}
@media (min-width:1100px){
  .v7-hero{
    min-height:720px;
    background-size:auto 108%;
    background-position:right 58%;
    padding-left:max(5vw,54px);
  }
  .v7-hero-copy{width:min(700px,46%)}
}
@media (min-width:1450px){
  .v7-hero{
    min-height:740px;
    background-size:auto 108%;
    background-position:right 58%;
  }
}
/* Preserve the already-approved mobile hero exactly. */
@media (max-width:700px){
  .v7-hero{
    min-height:620px;
    background-image:url('images/gallery/hero-flowers-both.jpg');
    background-size:cover;
    background-position:50% 62%;
  }
}

/* =========================
   V19 — FEATHERED MOBILE-COMPOSITION DESKTOP HERO
   Preserve V18's approved portrait-photo scale/position, but render it as a
   right-side pseudo-layer with a wide alpha feather. This removes the visible
   vertical image edge while retaining the sky, street signs, 801, intersection
   and flowers. Mobile remains unchanged.
   ========================= */
@media (min-width:701px){
  .v7-hero{
    min-height:700px;
    background:#071f36;
    background-image:none;
    padding:48px max(5vw,40px);
    overflow:hidden;
  }
  .v7-hero:after{
    content:'';
    position:absolute;
    z-index:0;
    top:-4%;
    right:0;
    width:46.1%;
    height:108%;
    background:url('images/gallery/hero-flowers-both.jpg') no-repeat right 58%;
    background-size:auto 100%;
    -webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.08) 7%,rgba(0,0,0,.28) 17%,rgba(0,0,0,.58) 30%,rgba(0,0,0,.84) 43%,#000 58%);
    mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.08) 7%,rgba(0,0,0,.28) 17%,rgba(0,0,0,.58) 30%,rgba(0,0,0,.84) 43%,#000 58%);
    pointer-events:none;
  }
  .v7-hero:before{
    content:'';
    position:absolute;
    z-index:1;
    inset:0;
    background:linear-gradient(90deg,
      rgba(5,31,54,0) 0%,
      rgba(5,31,54,0) 48%,
      rgba(5,31,54,.05) 60%,
      rgba(5,31,54,.10) 76%,
      rgba(5,31,54,.13) 100%);
    pointer-events:none;
  }
  .v7-hero-copy{position:relative;z-index:2;width:min(690px,47%)}
}
@media (min-width:1100px){
  .v7-hero{min-height:720px;padding-left:max(5vw,54px)}
  .v7-hero:after{top:-4%;height:108%;width:46.1%;background-position:right 58%;}
  .v7-hero-copy{width:min(700px,46%)}
}
@media (min-width:1450px){
  .v7-hero{min-height:740px}
  .v7-hero:after{top:-4%;height:108%;width:46.1%;background-position:right 58%;}
}
/* Preserve the approved mobile hero exactly. */
@media (max-width:700px){
  .v7-hero{
    min-height:620px;
    background-image:url('images/gallery/hero-flowers-both.jpg');
    background-size:cover;
    background-position:50% 62%;
  }
  .v7-hero:after{content:none;display:none;}
}

/* =========================
   V20 — EXTENDED PHOTO UNDER NAVY
   Keep the V18/V19 portrait photo at the same scale and right-side position,
   but add a dark photographic underlayer extending well beneath the navy copy
   area. The foreground portrait is feathered into that underlayer, eliminating
   the hard navy|photo seam. Mobile remains unchanged.
   ========================= */
@media (min-width:701px){
  .v7-hero{
    min-height:700px;
    background-color:#071f36;
    background-image:url('images/gallery/hero-flowers-both.jpg');
    background-repeat:no-repeat;
    background-size:cover;
    background-position:center 52%;
    padding:48px max(5vw,40px);
    overflow:hidden;
  }
  /* Broad navy veil over the photographic underlayer: nearly solid behind
     copy, then progressively transparent toward the right. */
  .v7-hero:before{
    content:'';
    position:absolute;
    z-index:1;
    inset:0;
    background:linear-gradient(90deg,
      rgba(5,31,54,.99) 0%,
      rgba(5,31,54,.98) 27%,
      rgba(5,31,54,.94) 39%,
      rgba(5,31,54,.82) 49%,
      rgba(5,31,54,.60) 58%,
      rgba(5,31,54,.34) 67%,
      rgba(5,31,54,.16) 76%,
      rgba(5,31,54,.10) 100%);
    pointer-events:none;
  }
  /* Exact V18/V19 portrait framing on the right, with a much wider feather
     so it merges into the photo already living beneath the navy. */
  .v7-hero:after{
    content:'';
    position:absolute;
    z-index:0;
    top:-4%;
    right:0;
    width:54%;
    height:108%;
    background:url('images/gallery/hero-flowers-both.jpg') no-repeat right 58%;
    background-size:auto 100%;
    -webkit-mask-image:linear-gradient(90deg,
      transparent 0%,
      rgba(0,0,0,.05) 10%,
      rgba(0,0,0,.18) 22%,
      rgba(0,0,0,.42) 35%,
      rgba(0,0,0,.70) 48%,
      rgba(0,0,0,.90) 60%,
      #000 72%);
    mask-image:linear-gradient(90deg,
      transparent 0%,
      rgba(0,0,0,.05) 10%,
      rgba(0,0,0,.18) 22%,
      rgba(0,0,0,.42) 35%,
      rgba(0,0,0,.70) 48%,
      rgba(0,0,0,.90) 60%,
      #000 72%);
    pointer-events:none;
  }
  .v7-hero-copy{position:relative;z-index:2;width:min(690px,47%)}
}
@media (min-width:1100px){
  .v7-hero{min-height:720px;padding-left:max(5vw,54px);background-position:center 52%;}
  .v7-hero:after{top:-4%;height:108%;width:54%;background-position:right 58%;}
  .v7-hero-copy{width:min(700px,46%)}
}
@media (min-width:1450px){
  .v7-hero{min-height:740px;background-position:center 52%;}
  .v7-hero:after{top:-4%;height:108%;width:54%;background-position:right 58%;}
}
/* Preserve the approved mobile hero exactly. */
@media (max-width:700px){
  .v7-hero{
    min-height:620px;
    background-image:url('images/gallery/hero-flowers-both.jpg');
    background-size:cover;
    background-position:50% 62%;
  }
  .v7-hero:after{content:none;display:none;}
}

/* =========================
   V21 — SINGLE-PHOTO DESKTOP HERO
   Removes V20's duplicate photographic underlayer (the visible "801 ghost").
   Desktop now uses ONE copy of the approved flowers/street-sign photo only.
   The photo keeps the V18/V19 vertical scale and right anchoring, while its
   actual left edge is softly masked into solid navy. Mobile remains unchanged.
   ========================= */
@media (min-width:701px){
  .v7-hero{
    min-height:700px;
    background:#071f36;
    background-image:none;
    padding:48px max(5vw,40px);
    overflow:hidden;
  }
  .v7-hero:before{
    content:'';
    position:absolute;
    z-index:1;
    inset:0;
    background:linear-gradient(90deg,
      rgba(5,31,54,.16) 0%,
      rgba(5,31,54,.12) 42%,
      rgba(5,31,54,.07) 58%,
      rgba(5,31,54,.03) 72%,
      rgba(5,31,54,0) 86%);
    pointer-events:none;
  }
  .v7-hero:after{
    content:'';
    position:absolute;
    z-index:0;
    top:-4%;
    right:0;
    width:100%;
    height:108%;
    background:url('images/gallery/hero-flowers-both.jpg') no-repeat right 58%;
    background-size:auto 100%;
    -webkit-mask-image:linear-gradient(90deg,
      transparent 0%,
      transparent 55%,
      rgba(0,0,0,.04) 59%,
      rgba(0,0,0,.14) 63%,
      rgba(0,0,0,.32) 67%,
      rgba(0,0,0,.56) 71%,
      rgba(0,0,0,.78) 75%,
      rgba(0,0,0,.93) 79%,
      #000 83%);
    mask-image:linear-gradient(90deg,
      transparent 0%,
      transparent 55%,
      rgba(0,0,0,.04) 59%,
      rgba(0,0,0,.14) 63%,
      rgba(0,0,0,.32) 67%,
      rgba(0,0,0,.56) 71%,
      rgba(0,0,0,.78) 75%,
      rgba(0,0,0,.93) 79%,
      #000 83%);
    pointer-events:none;
  }
  .v7-hero-copy{position:relative;z-index:2;width:min(690px,47%)}
}
@media (min-width:1100px){
  .v7-hero{min-height:720px;padding-left:max(5vw,54px)}
  .v7-hero:after{top:-4%;height:108%;background-position:right 58%;}
  .v7-hero-copy{width:min(700px,46%)}
}
@media (min-width:1450px){
  .v7-hero{min-height:740px}
  .v7-hero:after{top:-4%;height:108%;background-position:right 58%;}
}
@media (max-width:700px){
  .v7-hero{
    min-height:620px;
    background-image:url('images/gallery/hero-flowers-both.jpg');
    background-size:cover;
    background-position:50% 62%;
  }
  .v7-hero:after{content:none;display:none;}
}

/* =========================
   V22 — SINGLE-PHOTO FEATHER FIX
   Keep the exact V21/V18/V19 right-side framing, but make the *same single*
   portrait photo emerge from navy gradually. No second photo layer, no ghost,
   no blur, no duplicated 801. The mask is tuned so the actual left edge of the
   portrait begins almost invisible and reaches full opacity smoothly.
   Mobile remains unchanged.
   ========================= */
@media (min-width:701px){
  .v7-hero{
    min-height:700px;
    background:#071f36;
    background-image:none;
    padding:48px max(5vw,40px);
    overflow:hidden;
  }
  /* Only a subtle navy wash over the far-right image for cohesion. */
  .v7-hero:before{
    content:'';
    position:absolute;
    z-index:1;
    inset:0;
    background:linear-gradient(90deg,
      rgba(5,31,54,0) 0%,
      rgba(5,31,54,0) 62%,
      rgba(5,31,54,.035) 74%,
      rgba(5,31,54,.055) 88%,
      rgba(5,31,54,.07) 100%);
    pointer-events:none;
  }
  /* ONE photograph only. At the point where the portrait itself actually
     begins on a wide desktop, opacity is near zero, then ramps gently to 100%.
     This removes the vertical navy|photo seam without revealing a second 801. */
  .v7-hero:after{
    content:'';
    position:absolute;
    z-index:0;
    top:-4%;
    right:0;
    width:100%;
    height:108%;
    background:url('images/gallery/hero-flowers-both.jpg') no-repeat right 58%;
    background-size:auto 100%;
    -webkit-mask-image:linear-gradient(90deg,
      transparent 0%,
      transparent 66%,
      rgba(0,0,0,.02) 69%,
      rgba(0,0,0,.08) 72%,
      rgba(0,0,0,.20) 75%,
      rgba(0,0,0,.38) 78%,
      rgba(0,0,0,.60) 81%,
      rgba(0,0,0,.80) 84%,
      rgba(0,0,0,.94) 87%,
      #000 90%);
    mask-image:linear-gradient(90deg,
      transparent 0%,
      transparent 66%,
      rgba(0,0,0,.02) 69%,
      rgba(0,0,0,.08) 72%,
      rgba(0,0,0,.20) 75%,
      rgba(0,0,0,.38) 78%,
      rgba(0,0,0,.60) 81%,
      rgba(0,0,0,.80) 84%,
      rgba(0,0,0,.94) 87%,
      #000 90%);
    pointer-events:none;
  }
  .v7-hero-copy{position:relative;z-index:2;width:min(690px,47%)}
}
@media (min-width:1100px){
  .v7-hero{min-height:720px;padding-left:max(5vw,54px)}
  .v7-hero:after{top:-4%;height:108%;background-position:right 58%;}
  .v7-hero-copy{width:min(700px,46%)}
}
@media (min-width:1450px){
  .v7-hero{min-height:740px}
  .v7-hero:after{top:-4%;height:108%;background-position:right 58%;}
}
@media (max-width:700px){
  .v7-hero{
    min-height:620px;
    background-image:url('images/gallery/hero-flowers-both.jpg');
    background-size:cover;
    background-position:50% 62%;
  }
  .v7-hero:after{content:none;display:none;}
}

/* =========================
   V23 — APPROVED DESKTOP MOCKUP TARGET
   One real hero photo only. The portrait is allowed to extend farther left,
   and its SAME layer is feathered over a much wider distance so the navy
   begins transitioning earlier. No duplicate/ghost image and no blur layer.
   Mobile remains exactly as approved.
   ========================= */
@media (min-width:701px){
  .v7-hero{
    min-height:700px;
    background:#071f36;
    background-image:none;
    padding:48px max(5vw,40px);
    overflow:hidden;
  }
  .v7-hero:before{
    content:'';
    position:absolute;
    z-index:1;
    inset:0;
    background:linear-gradient(90deg,
      rgba(7,31,54,.18) 0%,
      rgba(7,31,54,.12) 32%,
      rgba(7,31,54,.07) 48%,
      rgba(7,31,54,.025) 64%,
      rgba(7,31,54,0) 78%);
    pointer-events:none;
  }
  .v7-hero:after{
    content:'';
    position:absolute;
    z-index:0;
    top:-13%;
    right:0;
    width:100%;
    height:126%;
    background:url('images/gallery/hero-flowers-both.jpg') no-repeat right 58%;
    background-size:auto 100%;
    -webkit-mask-image:linear-gradient(90deg,
      transparent 0%,
      transparent 48%,
      rgba(0,0,0,.025) 52%,
      rgba(0,0,0,.07) 56%,
      rgba(0,0,0,.15) 60%,
      rgba(0,0,0,.28) 64%,
      rgba(0,0,0,.45) 68%,
      rgba(0,0,0,.64) 72%,
      rgba(0,0,0,.80) 76%,
      rgba(0,0,0,.92) 80%,
      #000 84%);
    mask-image:linear-gradient(90deg,
      transparent 0%,
      transparent 48%,
      rgba(0,0,0,.025) 52%,
      rgba(0,0,0,.07) 56%,
      rgba(0,0,0,.15) 60%,
      rgba(0,0,0,.28) 64%,
      rgba(0,0,0,.45) 68%,
      rgba(0,0,0,.64) 72%,
      rgba(0,0,0,.80) 76%,
      rgba(0,0,0,.92) 80%,
      #000 84%);
    pointer-events:none;
  }
  .v7-hero-copy{position:relative;z-index:2;width:min(690px,47%)}
}
@media (min-width:1100px){
  .v7-hero{min-height:720px;padding-left:max(5vw,54px)}
  .v7-hero:after{top:-13%;height:126%;background-position:right 58%;}
  .v7-hero-copy{width:min(700px,46%)}
}
@media (min-width:1450px){
  .v7-hero{min-height:740px}
  .v7-hero:after{top:-13%;height:126%;background-position:right 58%;}
}
@media (max-width:700px){
  .v7-hero{
    min-height:620px;
    background-image:url('images/gallery/hero-flowers-both.jpg');
    background-size:cover;
    background-position:50% 62%;
  }
  .v7-hero:after{content:none;display:none;}
}

/* =========================
   V24 — FINAL DESKTOP HERO REFINEMENT
   Based on approved V23. Desktop-only: shift the single hero photo slightly
   left and complete the navy-to-photo blend sooner. No scale/crop/height/text
   changes. Mobile remains unchanged.
   ========================= */
@media (min-width:701px){
  .v7-hero:before{
    background:linear-gradient(90deg,
      rgba(7,31,54,.18) 0%,
      rgba(7,31,54,.12) 28%,
      rgba(7,31,54,.07) 43%,
      rgba(7,31,54,.025) 57%,
      rgba(7,31,54,0) 70%);
  }
  .v7-hero:after{
    right:2.5%;
    width:100%;
    -webkit-mask-image:linear-gradient(90deg,
      transparent 0%,
      transparent 42%,
      rgba(0,0,0,.025) 46%,
      rgba(0,0,0,.08) 50%,
      rgba(0,0,0,.18) 54%,
      rgba(0,0,0,.34) 58%,
      rgba(0,0,0,.52) 62%,
      rgba(0,0,0,.70) 66%,
      rgba(0,0,0,.84) 70%,
      rgba(0,0,0,.94) 74%,
      #000 78%);
    mask-image:linear-gradient(90deg,
      transparent 0%,
      transparent 42%,
      rgba(0,0,0,.025) 46%,
      rgba(0,0,0,.08) 50%,
      rgba(0,0,0,.18) 54%,
      rgba(0,0,0,.34) 58%,
      rgba(0,0,0,.52) 62%,
      rgba(0,0,0,.70) 66%,
      rgba(0,0,0,.84) 70%,
      rgba(0,0,0,.94) 74%,
      #000 78%);
  }
}
@media (max-width:700px){
  .v7-hero:after{content:none;display:none;}
}
