@font-face{font-family:Montserrat;src:url('./Montserrat.ttf') format('truetype');font-display:swap}
:root{--ink:#1a1a1a;--muted:#5f6368;--stone:#f4f4f2;--line:#e3e3df;--red:#b40202;--red-dark:#8e0101;--white:#fff;--max:1240px;--radius:3px;--shadow:0 16px 44px rgba(26,26,26,.12)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--white);font:16px/1.55 Montserrat,Arial,sans-serif}body.modal-open{overflow:hidden}button,input,select{font:inherit}button,a{transition:.18s ease}a{color:inherit}.wrap{width:min(var(--max),calc(100% - 40px));margin:auto}.eyebrow{margin:0 0 10px;color:var(--red);font-size:.78rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase}.section{padding:72px 0}.section.alt{background:var(--stone)}h1,h2,h3,p{margin-top:0}h1{margin-bottom:8px;font-size:clamp(2rem,4vw,3.55rem);line-height:1.02;letter-spacing:-.045em}h2{font-size:clamp(1.7rem,3vw,2.65rem);line-height:1.08;letter-spacing:-.035em}h3{line-height:1.25}.topline{background:var(--ink);color:#fff;font-size:.78rem;text-align:center;padding:7px 16px;letter-spacing:.06em;text-transform:uppercase}.site-header{position:sticky;top:0;z-index:30;background:rgba(255,255,255,.97);border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}.nav{min-height:74px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{text-decoration:none;font-weight:900;font-size:1.28rem;letter-spacing:-.04em}.brand span{color:var(--red)}.brand small{display:block;font-size:.55rem;color:var(--muted);letter-spacing:.12em;text-transform:uppercase}.navlinks{display:flex;align-items:center;gap:25px;font-size:.86rem;font-weight:700}.navlinks a{text-decoration:none}.navlinks a:hover{color:var(--red)}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 20px;border:1px solid var(--ink);border-radius:var(--radius);background:var(--ink);color:#fff;text-decoration:none;font-size:.82rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;cursor:pointer}.btn:hover{background:#333}.btn.red{background:var(--red);border-color:var(--red)}.btn.red:hover{background:var(--red-dark)}.btn.ghost{background:#fff;color:var(--ink)}.btn.ghost:hover{border-color:var(--red);color:var(--red)}
.hero{padding:28px 0 40px}.crumbs{margin-bottom:18px;color:var(--muted);font-size:.82rem}.crumbs a{color:var(--red)}.photo-mosaic{height:min(61vw,580px);min-height:430px;display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:1fr 1fr;gap:8px;border-radius:var(--radius);overflow:hidden;position:relative;background:var(--stone)}.tile{border:0;padding:0;overflow:hidden;cursor:pointer;background:#ddd}.tile:first-child{grid-row:1/3}.tile img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .45s ease}.tile:hover img{transform:scale(1.025)}.view-photos{position:absolute;right:18px;bottom:18px;box-shadow:0 8px 25px rgba(0,0,0,.18)}.listing-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:30px;align-items:end;padding:32px 0 0}.status{display:inline-flex;align-items:center;gap:8px;margin-bottom:13px;padding:7px 10px;border-radius:999px;background:#fbeaea;color:var(--red-dark);font-size:.72rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.status:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--red)}.address{color:var(--muted);font-size:1.05rem}.price{text-align:right}.price strong{display:block;font-size:clamp(2rem,3.4vw,3.1rem);letter-spacing:-.045em}.price span{color:var(--muted);font-size:.8rem}.facts{display:grid;grid-template-columns:repeat(6,1fr);margin-top:28px;border:1px solid var(--line);border-radius:var(--radius);background:#fff}.fact{padding:19px 16px;border-right:1px solid var(--line);text-align:center}.fact:last-child{border-right:0}.fact b{display:block;font-size:1.2rem}.fact span{color:var(--muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.06em}
.story-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:72px}.lead{font-size:1.2rem;line-height:1.7}.highlights{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:30px}.highlight{padding:20px;border-left:4px solid var(--red);background:var(--stone)}.highlight b{display:block;margin-bottom:3px}.highlight span{font-size:.88rem;color:var(--muted)}.contact-card{position:sticky;top:110px;align-self:start;border:1px solid var(--line);border-top:5px solid var(--red);padding:28px;box-shadow:var(--shadow)}.contact-card h3{font-size:1.35rem}.contact-card p{color:var(--muted);font-size:.92rem}.contact-actions{display:grid;gap:10px}.contact-meta{margin-top:20px;padding-top:18px;border-top:1px solid var(--line);font-size:.83rem;line-height:1.8}
.video-tour-grid{display:grid;grid-template-columns:minmax(280px,430px) minmax(0,1fr);align-items:center;gap:clamp(28px,5vw,68px)}.video-shell{position:relative;aspect-ratio:9/16;max-width:430px;width:100%;margin:0 auto;background:#111;box-shadow:var(--shadow);overflow:hidden;border-radius:var(--radius)}.video-shell video{width:100%;height:100%;object-fit:contain;display:block;background:#111}.video-tour-copy{max-width:620px}.video-tour-copy .btn{margin-top:12px}.video-note{margin:14px 0 0;color:var(--muted);font-size:.86rem}.updates{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.update{background:#fff;border:1px solid var(--line);padding:22px}.update-year{display:block;color:var(--red);font-size:1.45rem;font-weight:900;letter-spacing:-.03em}.update h3{margin:4px 0 8px;font-size:1rem}.update p{margin:0;color:var(--muted);font-size:.86rem}.fine{font-size:.78rem;color:var(--muted);margin-top:16px}
@media(max-width:760px){.video-tour-grid{grid-template-columns:1fr}.video-shell{max-width:360px}.video-tour-copy{text-align:left}}
.calc-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.7fr);gap:28px}.calc-panel,.result-panel{border:1px solid var(--line);padding:30px;background:#fff}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:17px}.field label{display:block;margin-bottom:6px;font-size:.77rem;font-weight:800;text-transform:uppercase;letter-spacing:.055em}.input-wrap{display:flex;align-items:center;border:1px solid #cacac5;background:#fff}.input-wrap span{padding-left:13px;color:var(--muted)}.input-wrap input,.field select{width:100%;min-height:47px;border:0;background:transparent;padding:10px 13px;color:var(--ink)}.field select{border:1px solid #cacac5}.input-wrap input:focus,.field select:focus{outline:2px solid var(--red);outline-offset:1px}.result-panel{background:var(--ink);color:#fff}.result-panel .eyebrow{color:#ff6d6d}.payment{margin:8px 0 3px;font-size:clamp(2.8rem,5vw,4.6rem);font-weight:900;letter-spacing:-.06em}.payment small{font-size:.95rem;letter-spacing:0}.breakdown{margin:25px 0;border-top:1px solid #444}.row{display:flex;justify-content:space-between;gap:20px;padding:11px 0;border-bottom:1px solid #444;font-size:.88rem}.cash{margin-top:24px;padding:17px;background:#292929;border-left:4px solid var(--red)}.cash b{display:block;font-size:1.5rem}.disclaimer{font-size:.72rem;color:#bcbcbc;margin:18px 0 0}
.community{display:grid;grid-template-columns:1fr 1fr;gap:45px;align-items:center}.community img{width:100%;display:block}.community ul{padding-left:20px}.community li{margin:10px 0}.footer{background:#111;color:#fff;padding:42px 0}.footer-grid{display:grid;grid-template-columns:1fr auto;gap:30px;align-items:end}.footer a{color:#fff}.footer p{margin:6px 0;color:#c6c6c6;font-size:.8rem}.footer .brand small{color:#bbb}.legal{text-align:right;font-size:.72rem;color:#aaa}
.modal{position:fixed;inset:0;z-index:80;background:rgba(8,8,8,.96);display:none;grid-template-rows:auto 1fr auto;color:#fff}.modal.open{display:grid}.modal-top{display:flex;align-items:center;justify-content:space-between;padding:18px 22px}.modal-title{font-weight:800}.icon-btn{width:44px;height:44px;border:1px solid #666;background:#1c1c1c;color:#fff;cursor:pointer;font-size:1.4rem}.modal-stage{min-height:0;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:18px;padding:0 18px}.modal-stage img{max-width:100%;max-height:calc(100vh - 155px);margin:auto;display:block;object-fit:contain}.modal-caption{text-align:center;padding:16px;color:#ddd}.skip{position:absolute;left:-999px}.skip:focus{left:10px;top:10px;z-index:100;background:#fff;padding:10px}
@media(max-width:900px){.navlinks>a:not(.btn){display:none}.photo-mosaic{grid-template-columns:2fr 1fr;height:64vw}.tile:nth-of-type(n+4){display:none}.facts{grid-template-columns:repeat(3,1fr)}.fact:nth-child(3){border-right:0}.fact:nth-child(-n+3){border-bottom:1px solid var(--line)}.story-grid,.calc-grid,.community{grid-template-columns:1fr;gap:35px}.contact-card{position:static}.updates{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:1fr}.legal{text-align:left}}
@media(max-width:620px){.wrap{width:min(100% - 26px,var(--max))}.topline{font-size:.67rem}.nav{min-height:64px}.brand{font-size:1.08rem}.nav .btn{min-height:40px;padding:0 13px;font-size:.7rem}.hero{padding-top:14px}.crumbs{display:none}.photo-mosaic{width:calc(100% + 26px);margin-left:-13px;height:64vw;min-height:290px;grid-template-columns:1fr}.tile:first-child{grid-row:auto}.tile:not(:first-child){display:none}.view-photos{right:12px;bottom:12px}.listing-head{grid-template-columns:1fr;gap:14px}.price{text-align:left}.facts{grid-template-columns:repeat(2,1fr)}.fact:nth-child(odd){border-right:1px solid var(--line)}.fact:nth-child(even){border-right:0}.fact:nth-child(-n+4){border-bottom:1px solid var(--line)}.section{padding:54px 0}.highlights,.updates,.form-grid{grid-template-columns:1fr}.calc-panel,.result-panel{padding:22px}.modal-stage{grid-template-columns:1fr;padding:0 8px}.modal-stage .icon-btn{position:absolute;top:50%;z-index:2}.modal-stage .prev{left:8px}.modal-stage .next{right:8px}}
.location-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:28px;align-items:stretch;margin-top:30px}.map-shell{min-height:390px;overflow:hidden;border:1px solid var(--line);background:#ddd}.map-shell iframe{width:100%;height:100%;min-height:390px;border:0;display:block}.location-copy{display:flex;flex-direction:column;justify-content:center;padding:30px;background:#fff;border-top:5px solid var(--red);box-shadow:var(--shadow)}.location-copy h3{font-size:1.5rem}.location-copy p{color:var(--muted)}.location-copy .btn{align-self:flex-start}.resource-intro{display:flex;justify-content:space-between;gap:40px;align-items:end;margin:54px 0 20px}.resource-intro h3{margin:0;font-size:1.35rem}.resource-intro p{max-width:570px;margin:0;color:var(--muted);font-size:.88rem}.resource-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.resource-card{display:flex;flex-direction:column;min-height:150px;padding:20px;border:1px solid var(--line);background:#fff;text-decoration:none}.resource-card:hover{border-color:var(--red);box-shadow:0 9px 24px rgba(26,26,26,.08);transform:translateY(-2px)}.resource-card b{margin:8px 0 6px;font-size:1rem}.resource-card small{color:var(--muted);font-size:.78rem;line-height:1.5}.resource-type{color:var(--red);font-size:.67rem;font-weight:900;letter-spacing:.09em;text-transform:uppercase}
.inquiry-dialog{width:min(680px,calc(100% - 28px));max-height:calc(100vh - 28px);overflow:auto;margin:auto;padding:0;border:0;border-top:6px solid var(--red);border-radius:var(--radius);background:#fff;color:var(--ink);box-shadow:0 25px 80px rgba(0,0,0,.35)}.inquiry-dialog::backdrop{background:rgba(10,10,10,.72);backdrop-filter:blur(4px)}.dialog-head{display:flex;justify-content:space-between;gap:20px;align-items:start;padding:28px 30px 0}.dialog-head h2{margin-bottom:0;font-size:2rem}.dialog-close{flex:0 0 44px;width:44px;height:44px;border:1px solid var(--line);background:#fff;color:var(--ink);font-size:1.5rem;cursor:pointer}.dialog-close:hover{border-color:var(--red);color:var(--red)}.dialog-copy{padding:0 30px;color:var(--muted);font-size:.9rem}.inquiry-dialog form{padding:0 30px 30px}.inquiry-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.form-field.full{grid-column:1/-1}.form-field label{display:block;margin-bottom:6px;font-size:.75rem;font-weight:800;letter-spacing:.055em;text-transform:uppercase}.form-field label span{font-weight:500;color:var(--muted);text-transform:none;letter-spacing:0}.form-field input,.form-field textarea{width:100%;border:1px solid #cacac5;border-radius:0;background:#fff;padding:12px 13px;color:var(--ink);font:inherit}.form-field input{min-height:48px}.form-field textarea{resize:vertical}.form-field input:focus,.form-field textarea:focus{outline:2px solid var(--red);outline-offset:1px}.dialog-submit{width:100%;margin-top:20px}.form-note,.form-status{margin:11px 0 0;color:var(--muted);font-size:.72rem;text-align:center}.form-status{color:var(--red-dark);font-weight:700}
@media(max-width:900px){.resource-grid{grid-template-columns:repeat(2,1fr)}.location-grid{grid-template-columns:1fr}.resource-intro{display:block}.resource-intro p{margin-top:8px}}
@media(max-width:620px){.resource-grid,.inquiry-grid{grid-template-columns:1fr}.form-field.full{grid-column:auto}.resource-card{min-height:0}.map-shell,.map-shell iframe{min-height:320px}.dialog-head{padding:22px 20px 0}.dialog-copy{padding:0 20px}.inquiry-dialog form{padding:0 20px 22px}.dialog-head h2{font-size:1.55rem}}
.location-copy small{display:block;margin-top:18px;color:var(--muted);font-size:.7rem;line-height:1.5}.annville-resources{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:20px;margin-top:42px}.guide-panel,.official-panel{padding:28px}.guide-panel{background:#fff;border:1px solid var(--line)}.resource-heading{display:flex;justify-content:space-between;gap:24px;align-items:end;margin-bottom:20px}.resource-heading .eyebrow,.resource-heading h3{margin-bottom:0}.guide-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.guide-grid a{display:flex;flex-direction:column;min-height:160px;padding:22px;background:#fff;text-decoration:none}.guide-grid a:hover{background:#fafafa}.guide-grid b{font-size:1rem}.guide-grid span{margin:7px 0 16px;color:var(--muted);font-size:.8rem;line-height:1.45}.guide-grid strong{margin-top:auto;color:var(--red);font-size:.74rem;text-transform:uppercase;letter-spacing:.05em}.official-panel{background:var(--ink);color:#fff}.official-panel .eyebrow{color:#ff7272}.official-panel h3{margin-bottom:17px;font-size:1.2rem}.official-links{display:grid;border-top:1px solid #484848}.official-links a{display:flex;justify-content:space-between;gap:14px;padding:12px 0;border-bottom:1px solid #484848;color:#fff;text-decoration:none;font-size:.84rem}.official-links a:hover{color:#ff8080}.market-link{display:block;margin-top:22px;color:#fff;font-size:.76rem;font-weight:800;line-height:1.5;text-transform:uppercase;letter-spacing:.045em}.market-link:hover{color:#ff8080}
@media(max-width:900px){.annville-resources{grid-template-columns:1fr}.resource-heading{display:block}.resource-heading h3{margin-top:5px}}
@media(max-width:620px){.guide-grid{grid-template-columns:1fr}.guide-grid a{min-height:135px}.guide-panel,.official-panel{padding:20px}}
.honey{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important}.form-note a{color:inherit}.dialog-submit[disabled]{cursor:wait;opacity:.65}.inquiry-success{padding:20px 30px 34px;text-align:center}.success-mark{display:grid;place-items:center;width:58px;height:58px;margin:0 auto 18px;border-radius:50%;background:#eaf5ea;color:#176b20;font-size:1.8rem;font-weight:900}.inquiry-success h3{font-size:1.4rem}.inquiry-success p{max-width:480px;margin:0 auto 22px;color:var(--muted)}

/* Keep the tour request form as a compact, centered card across browsers. */
dialog.inquiry-dialog{box-sizing:border-box;width:min(640px,calc(100vw - 32px));max-width:640px;max-height:calc(100dvh - 32px);margin:auto;padding:0;overflow:auto;border:0;border-top:6px solid var(--red);border-radius:18px;background:#fff;color:var(--ink);box-shadow:0 28px 80px rgba(0,0,0,.34)}
dialog.inquiry-dialog[open]{display:block}
dialog.inquiry-dialog::backdrop{background:rgba(10,10,10,.72);backdrop-filter:blur(3px)}
.inquiry-dialog .dialog-head{position:relative;display:block;padding:26px 78px 0 28px}
.inquiry-dialog .dialog-head h2{margin:5px 0 0;font-size:clamp(1.75rem,4vw,2.25rem);line-height:1.05}
.inquiry-dialog .dialog-close{position:absolute;top:20px;right:22px;display:grid;place-items:center;width:42px;height:42px;margin:0;padding:0;border:1px solid #d6d6d6;border-radius:50%;background:#f7f7f7;color:#111;font:700 1.35rem/1 Arial,sans-serif;cursor:pointer}
.inquiry-dialog .dialog-copy{margin:0;padding:14px 28px 0;color:var(--muted);font-size:.92rem;line-height:1.5}
.inquiry-dialog form{display:block;padding:22px 28px 28px}
.inquiry-dialog .inquiry-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:15px 16px}
.inquiry-dialog .form-field{display:block;min-width:0}
.inquiry-dialog .form-field.full{grid-column:1/-1}
.inquiry-dialog .form-field label{display:block;margin:0 0 7px;color:#242424;font-size:.78rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}
.inquiry-dialog .form-field input,.inquiry-dialog .form-field textarea{display:block;box-sizing:border-box;width:100%;min-width:0;margin:0;padding:12px 13px;border:1px solid #c8c8c8;border-radius:8px;background:#fff;color:#111;font:inherit}
.inquiry-dialog .form-field textarea{min-height:92px;resize:vertical}
.inquiry-dialog .dialog-submit{width:100%;margin-top:18px;justify-content:center}
.inquiry-dialog .form-note{margin:12px 0 0;font-size:.72rem;line-height:1.45;color:#666}
@media(max-width:620px){dialog.inquiry-dialog{width:calc(100vw - 18px);max-height:calc(100dvh - 18px);border-radius:14px}.inquiry-dialog .dialog-head{padding:22px 68px 0 20px}.inquiry-dialog .dialog-close{top:16px;right:16px;width:40px;height:40px}.inquiry-dialog .dialog-copy{padding:12px 20px 0}.inquiry-dialog form{padding:18px 20px 22px}.inquiry-dialog .inquiry-grid{grid-template-columns:1fr;gap:13px}.inquiry-dialog .form-field.full{grid-column:auto}}

/* AnnvilleHomes site shell */
.site-header .container,.site-footer .container{width:min(1240px,calc(100% - 40px));margin:auto}
.site-header{position:sticky;top:0;z-index:60;background:rgba(255,255,255,.96);border-bottom:1px solid var(--line);box-shadow:0 4px 18px rgba(0,0,0,.04);backdrop-filter:blur(12px)}
.site-header__inner{min-height:86px;display:flex;align-items:center;gap:28px}
.site-brand-lockup{flex:0 0 auto;display:flex;flex-direction:column;align-items:flex-start}
.site-brand{display:flex;align-items:center;gap:10px;text-decoration:none;text-transform:uppercase;line-height:1}
.annville-corporate-mark{position:relative;display:block;width:34px;height:28px;border:3px solid #777;border-top:0}
.annville-corporate-mark:before,.annville-corporate-mark:after{content:"";position:absolute;bottom:14px;width:23px;height:3px;background:#777}
.annville-corporate-mark:before{left:-4px;transform:rotate(-36deg);transform-origin:left center}.annville-corporate-mark:after{right:-4px;transform:rotate(36deg);transform-origin:right center}
.annville-corporate-mark span{position:absolute;right:2px;bottom:0;width:13px;height:13px;background:var(--red)}
.site-brand__name{font-size:1.27rem;letter-spacing:.025em}.site-brand__name strong{color:var(--red);font-weight:900}.site-brand__name>span{font-weight:700}
.site-brand__endorsement{margin:5px 0 0 44px;color:var(--red);font-size:.58rem;font-weight:800;letter-spacing:.1em;text-decoration:none;text-transform:uppercase}
.primary-nav{margin-left:auto}.nav-groups{display:flex;align-items:center;gap:5px;margin:0;padding:0;list-style:none}.nav-group{position:relative}.nav-group details{position:relative}.nav-group summary{display:flex;align-items:center;gap:5px;padding:12px 11px;cursor:pointer;font-size:.82rem;font-weight:800;list-style:none}.nav-group summary::-webkit-details-marker{display:none}.nav-group summary:hover,.nav-group details[open]>summary{color:var(--red)}
.nav-dropdown{position:absolute;top:100%;left:0;z-index:70;width:240px;margin:0;padding:9px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);list-style:none}.nav-dropdown a{display:block;padding:9px 10px;text-decoration:none;font-size:.78rem;font-weight:650}.nav-dropdown a:hover{background:var(--stone);color:var(--red)}
.header-ctas{display:flex;gap:8px}.header-ctas .btn{min-height:42px;padding:0 15px;font-size:.69rem}.btn--primary{background:var(--red);border-color:var(--red)}.btn--primary:hover{background:var(--red-dark)}.btn--secondary{background:#fff;color:var(--ink)}.btn--secondary:hover{border-color:var(--red);color:var(--red)}.nav-toggle{display:none;min-height:42px;padding:0 15px;border:1px solid var(--ink);background:#fff;color:var(--ink);font:800 .72rem/1 Montserrat,Arial,sans-serif;letter-spacing:.05em;text-transform:uppercase}
.site-footer{padding:74px 0 28px;background:#111;color:#fff}.site-footer .footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:64px;align-items:start}.footer-brand img{display:block;width:min(230px,100%);height:auto;margin-bottom:22px}.site-footer p,.site-footer li{color:#c8c8c8;font-size:.79rem;line-height:1.75}.site-footer a{color:#fff}.footer-social{display:flex;flex-wrap:wrap;gap:18px;margin-top:18px}.footer-social a{font-size:.75rem;font-weight:800;text-decoration:none;text-transform:uppercase}.footer-col h3{margin:0 0 17px;color:#fff;font-size:.82rem;letter-spacing:.08em;text-transform:uppercase}.footer-col ul{margin:0;padding:0;list-style:none}.footer-col li{margin:0 0 6px}.footer-bottom{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-top:50px;padding-top:24px;border-top:1px solid #373737}.footer-legal{max-width:850px;margin:0}.eho{display:flex;align-items:center;gap:8px;white-space:nowrap;color:#c8c8c8;font-size:.68rem}.eho svg{width:22px;height:22px;fill:#fff}

@media(max-width:980px){.site-header__inner{flex-wrap:wrap;gap:14px;padding:12px 0}.nav-toggle{display:inline-flex;align-items:center;justify-content:center;margin-left:auto}.primary-nav{display:none;order:4;width:100%;margin:0}.site-header.is-open .primary-nav{display:block}.nav-groups{display:grid;grid-template-columns:repeat(3,1fr);align-items:start}.nav-group summary{justify-content:space-between;border:1px solid var(--line)}.nav-dropdown{position:static;width:100%;box-shadow:none;border-top:0}.site-footer .footer-grid{grid-template-columns:1.3fr 1fr;gap:44px}.site-footer .footer-col:last-child{grid-column:1/-1}.site-footer .footer-col:last-child ul{columns:3;column-gap:32px}}
@media(max-width:700px){.topline{position:relative;z-index:61}.site-header .container,.site-footer .container{width:min(100% - 30px,1240px)}.site-header__inner{min-height:72px}.site-brand__name{font-size:1.05rem}.site-brand__endorsement{margin-left:40px;font-size:.5rem}.annville-corporate-mark{width:30px;height:24px}.annville-corporate-mark:before,.annville-corporate-mark:after{width:20px;bottom:12px}.annville-corporate-mark span{width:11px;height:11px}.header-ctas{display:none}.nav-groups{grid-template-columns:1fr}.nav-group summary{padding:13px 12px}.nav-dropdown{padding:4px 9px}.site-footer{padding-top:54px;padding-bottom:88px}.site-footer .footer-grid{grid-template-columns:1fr;gap:34px}.site-footer .footer-col:last-child{grid-column:auto}.site-footer .footer-col:last-child ul{columns:2;column-gap:22px}.footer-bottom{display:block;margin-top:34px}.eho{margin-top:16px;white-space:normal}}

/* Preserve the full front exterior on phones instead of cropping it square. */
@media(max-width:620px){.photo-mosaic{height:auto;min-height:0;aspect-ratio:3/2;grid-template-rows:1fr}.photo-mosaic .tile:first-child,.photo-mosaic .tile:first-child picture{display:block;width:100%;height:100%}.photo-mosaic .tile:first-child img{object-fit:cover;object-position:center center}.modal-stage img{width:100%;height:auto;max-height:72dvh}.view-photos{max-width:calc(100% - 24px);white-space:normal;text-align:center}}

/* Match the primary AnnvilleHomes theme shell and announcement bar. */
.listing-alert{position:relative;z-index:70;display:flex;align-items:center;justify-content:center;gap:12px;min-height:36px;padding:8px 20px;background:#111;color:#fff;text-align:center;text-decoration:none;font-size:.72rem;line-height:1.35;letter-spacing:.055em;text-transform:uppercase}
.listing-alert span{font-weight:850}.listing-alert strong{font-weight:600;color:#fff}.listing-alert:hover,.listing-alert:focus-visible{background:#2a2a2a}.listing-alert:focus-visible{outline:3px solid #fff;outline-offset:-4px}
.site-header{position:sticky;top:0;z-index:60;background:rgba(255,255,255,.94);border-bottom:1px solid var(--line);box-shadow:0 8px 28px rgba(17,17,17,.055);backdrop-filter:saturate(140%) blur(14px)}
.site-header__inner{min-height:86px;display:flex;align-items:center;justify-content:flex-start;gap:clamp(10px,1.5vw,20px);padding:0 48px}
.site-brand-lockup{flex:0 0 auto;margin-right:auto;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;line-height:1}
.site-brand{display:flex;align-items:center;gap:0;text-decoration:none;line-height:1}
.annville-corporate-mark{display:none}
.site-brand__name{display:inline-flex;align-items:baseline;gap:.32em;color:var(--ink);font-size:1.45rem;line-height:.95;letter-spacing:-.035em;text-transform:uppercase;white-space:nowrap}
.site-brand__name strong{color:var(--ink);font-weight:800}.site-brand__name>span{font-weight:400}
.site-brand__endorsement{display:flex;align-items:center;gap:10px;margin:.45rem 0 0;color:var(--muted);font-size:.58rem;font-weight:600;letter-spacing:.16em;text-decoration:none;text-transform:uppercase;white-space:nowrap}
.site-brand__endorsement:before{content:"";width:64px;height:2px;flex:0 0 64px;background:var(--red)}
.primary-nav{margin-left:0}.nav-groups{gap:3px}.nav-group summary{gap:7px;min-height:44px;padding:10px 12px;border:1px solid transparent;border-radius:999px;background:transparent;color:var(--ink);font-size:.78rem;font-weight:700;line-height:1;letter-spacing:.045em;text-transform:uppercase}
.nav-group summary:hover{background:var(--stone)}.nav-group details[open]>summary{background:#111;color:#fff}
@media(max-width:980px){.site-header__inner{padding-top:12px;padding-bottom:12px}.site-brand-lockup{margin-right:0}.primary-nav{margin-left:0}}
@media(max-width:700px){.listing-alert{flex-direction:column;gap:2px;padding:9px 14px;font-size:.64rem;letter-spacing:.035em}.site-header__inner{min-height:72px;padding-left:0;padding-right:0}.site-brand__name{font-size:1.05rem;gap:.28em}.site-brand__endorsement{gap:7px;margin-top:.35rem;font-size:.46rem;letter-spacing:.1em}.site-brand__endorsement:before{width:28px;flex-basis:28px}}

.site-footer{padding:96px 0 32px;background:#111;color:rgba(255,255,255,.68);font-size:.95rem}
.site-footer .container{width:100%;max-width:1240px;margin-inline:auto;padding-inline:clamp(20px,5vw,48px)}
.site-footer .footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:clamp(32px,6vw,72px);align-items:start;margin-bottom:64px}
.footer-brand img{display:block;width:auto;height:104px;padding:14px 18px;margin-bottom:16px;background:#fff;border-radius:var(--radius)}
.site-footer p,.site-footer li{color:rgba(255,255,255,.55);font-size:.95rem;line-height:1.65}.site-footer a{color:#fff;text-decoration:none}.site-footer a:hover{text-decoration:underline;text-decoration-color:#fff}
.footer-brand p{color:rgba(255,255,255,.55)}.footer-social{display:flex;gap:16px;margin-top:16px}.footer-social a{font-size:.75rem;font-weight:800;text-decoration:none;text-transform:uppercase}
.footer-col h3{margin:0 0 16px;color:#fff;font-size:.7rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase}.footer-col ul{margin:0;padding:0;list-style:none}.footer-col li{margin:0 0 12px}
.footer-bottom{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;margin-top:0;padding-top:24px;border-top:1px solid rgba(255,255,255,.18)}.footer-legal{max-width:none;margin:0;color:rgba(255,255,255,.55)!important;font-size:.78rem!important}.eho{display:inline-flex;align-items:center;gap:8px;white-space:normal;color:rgba(255,255,255,.55);font-size:.7rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.eho svg{width:20px;height:20px;fill:currentColor}
@media(max-width:900px){.site-footer .footer-grid{grid-template-columns:1fr}.site-footer .footer-col:last-child{grid-column:auto}.site-footer .footer-col:last-child ul{columns:auto}}
@media(max-width:560px){.footer-bottom{flex-direction:column;align-items:flex-start}}
