/* Villu Realty — small additions for interior pages (builds on style.css) */
.hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0;}
.field input:invalid:not(:placeholder-shown):not(:focus){border-color:#B3261E;}
.form-success.error{border-color:#B3261E;background:#fdf3f2;}
.grid>*{min-width:0;}
.todo{color:var(--slate);font-style:italic;}
.partner-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;}
@media(max-width:620px){.partner-grid{grid-template-columns:1fr;}}
.partner{border:1px solid var(--line-light);padding:18px 20px;}
.partner h4{font-size:.98rem;margin-bottom:.25em;}
.partner p{font-size:.86rem;color:var(--slate);margin:0;}
.table-scroll{overflow-x:auto;}
.resource-table td:first-child{font-weight:600;white-space:nowrap;}
.doc-panel .doc-top{display:block;background:var(--ink);color:var(--white);border-color:var(--ink);margin-bottom:18px;text-align:center;font-weight:600;}
.doc-panel .doc-top:hover{background:var(--champagne-deep);border-color:var(--champagne-deep);color:var(--ink);}
.doc-panel .doc-ext{font-size:.7rem;font-weight:700;letter-spacing:.06em;color:var(--champagne-deep);}
.portal-top{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:28px;}
.btn-small{padding:9px 16px;font-size:.8rem;}
.policy-strip strong{color:var(--ink);}
.rule-list{padding-left:0;}
.rule-list li{position:relative;padding:8px 0 8px 22px;font-size:.92rem;color:var(--slate);border-bottom:1px solid var(--line-light);}
.rule-list li::before{content:"";position:absolute;left:0;top:17px;width:8px;height:8px;background:var(--champagne-deep);}
.accordion-panel .rule-list{padding:0 4px 20px;}
.page-hero .eyebrow,.section-head .eyebrow{margin-left:auto;margin-right:auto;text-align:center;}

/* ===== Listing cards (same design as home page) ===== */
.vf-card{background:#fff;border:1px solid #d9d4cc;border-radius:8px;overflow:hidden}
.vf-card img{width:100%;height:180px;object-fit:cover;display:block;background:var(--stone)}
.vf-card .b{padding:14px}
.vf-tag{display:inline-block;background:#efe6d0;color:#7d611a;font-size:.72rem;padding:2px 8px;border-radius:10px;margin-bottom:6px;font-weight:700}
.vf-price{font-size:1.25rem;font-weight:700;color:#7d611a}
.vf-addr{margin:4px 0 2px;font-weight:700}
.vf-sub{font-size:.85rem;color:#777}
.vf-facts{display:flex;margin-top:12px;padding-top:12px;border-top:1px solid #d9d4cc;text-align:center}
.vf-facts div{flex:1}
.vf-facts strong{display:block;font-size:1.05rem}
.vf-facts span{font-size:.72rem;color:#777;text-transform:uppercase}
.vf-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:22px}
.vf-empty{grid-column:1/-1;padding:40px;text-align:center;background:#fff;border-radius:8px;border:1px solid #d9d4cc}
.list-page{background:#f4f1ec;padding:44px 0 70px;min-height:70vh}
.list-bar{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;background:#fff;border:1px solid #d9d4cc;border-radius:8px;padding:18px;margin-bottom:22px}
.list-bar .f{display:flex;flex-direction:column;gap:5px;flex:1 1 140px;min-width:120px}
.list-bar label{font-size:.74rem;font-weight:700;color:var(--slate);letter-spacing:.03em}
.list-bar select{padding:10px;border:1px solid #bbb;border-radius:5px;background:linear-gradient(#fff,#ececec);font-size:.92rem}
.list-bar button{padding:11px 22px;border:0;border-radius:5px;background:linear-gradient(#c09a36,#94711f);color:#fff;font-size:.95rem}
.list-title{font-size:1.4rem;margin:0 0 16px}

/* ===== Premium: About & Contact ===== */
.lux-hero{position:relative;background:var(--ink) center/cover no-repeat;color:#fff;padding:120px 0 110px;text-align:left;overflow:hidden}
.lux-hero::before{content:"";position:absolute;inset:0;background:linear-gradient(100deg,rgba(14,13,12,.94) 35%,rgba(14,13,12,.55))}
.lux-hero .wrap{position:relative;z-index:1}
.lux-hero .eyebrow{color:var(--champagne);letter-spacing:.2em;font-size:.78rem;display:block;margin-bottom:18px}
.lux-hero h1{color:#fff;font-size:clamp(2.4rem,5.4vw,4.2rem);max-width:15ch;margin:0 0 .4em;font-weight:500}
.lux-hero h1 em{font-style:normal;color:var(--champagne)}
.lux-hero p{color:rgba(255,255,255,.82);font-size:1.12rem;max-width:52ch}
.lux-rule{width:64px;height:2px;background:var(--champagne);margin:0 0 26px}
.lux-stats{display:grid;grid-template-columns:repeat(4,1fr);background:var(--ink);border-top:1px solid #2a2822}
.lux-stats div{padding:34px 24px;border-right:1px solid #2a2822;text-align:center}
.lux-stats div:last-child{border-right:0}
.lux-stats strong{display:block;font-family:var(--serif);font-size:1.35rem;color:var(--champagne);margin-bottom:4px}
.lux-stats span{font-size:.8rem;color:#b9b6ac;letter-spacing:.04em}
@media(max-width:800px){.lux-stats{grid-template-columns:1fr 1fr}.lux-stats div{border-bottom:1px solid #2a2822}.lux-hero{padding:90px 0 70px}}
.lux-section{padding:90px 0}
.lux-split{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center}
@media(max-width:860px){.lux-split{grid-template-columns:1fr;gap:36px}.lux-section{padding:60px 0}}
.lux-split h2{font-size:clamp(1.8rem,3.2vw,2.5rem);font-weight:500;max-width:16ch}
.lux-split p{color:var(--slate);font-size:1.02rem}
.lux-photo{aspect-ratio:4/5;background:var(--stone);position:relative}
.lux-photo img{width:100%;height:100%;object-fit:cover}
.lux-photo::after{content:"";position:absolute;inset:18px -18px -18px 18px;border:1px solid var(--champagne-deep);z-index:-1}
.lux-values{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border:1px solid var(--line-light)}
.lux-values div{padding:42px 34px;border-right:1px solid var(--line-light)}
.lux-values div:last-child{border-right:0}
.lux-values .n{font-family:var(--serif);font-size:.85rem;color:var(--champagne-deep);letter-spacing:.14em;display:block;margin-bottom:18px}
.lux-values h3{font-size:1.2rem;margin-bottom:.5em}
.lux-values p{color:var(--slate);font-size:.94rem;margin:0}
@media(max-width:800px){.lux-values{grid-template-columns:1fr}.lux-values div{border-right:0;border-bottom:1px solid var(--line-light)}}
.lux-leaders{display:grid;grid-template-columns:1fr 1fr;gap:28px}
@media(max-width:700px){.lux-leaders{grid-template-columns:1fr}}
.lux-leader{border:1px solid var(--line-light);padding:34px;display:flex;flex-direction:column;gap:6px;transition:border-color .2s,box-shadow .2s}
.lux-leader:hover{border-color:var(--champagne-deep);box-shadow:0 12px 30px rgba(14,13,12,.08)}
.lux-leader h3{font-size:1.3rem;margin:0}
.lux-leader .role{color:var(--champagne-deep);font-weight:600;font-size:.88rem}
.lux-leader p{color:var(--slate);font-size:.94rem;margin:8px 0 14px}
.lux-leader a.more{font-weight:600;font-size:.88rem;margin-top:auto}
.lux-band{background:var(--ink);color:#fff;padding:70px 0}
.lux-band .wrap{display:flex;justify-content:space-between;align-items:center;gap:32px;flex-wrap:wrap}
.lux-band h2{color:#fff;font-weight:500;margin:0 0 .3em;font-size:clamp(1.6rem,3vw,2.2rem)}
.lux-band p{color:#c9c6be;margin:0;max-width:56ch}

.contact-lux{display:grid;grid-template-columns:5fr 7fr;margin-top:-60px;position:relative;z-index:2;box-shadow:0 30px 70px rgba(14,13,12,.18)}
@media(max-width:900px){.contact-lux{grid-template-columns:1fr;margin-top:-30px}}
.contact-info{background:var(--ink);color:#d8d5cc;padding:56px 44px}
.contact-info h2{color:#fff;font-weight:500;font-size:1.7rem}
.contact-info .row{padding:18px 0;border-bottom:1px solid #2a2822}
.contact-info .row:last-of-type{border-bottom:0}
.contact-info .k{display:block;font-size:.72rem;letter-spacing:.16em;color:var(--champagne);font-weight:600;margin-bottom:6px}
.contact-info a:hover{color:var(--champagne)}
.contact-form{background:#fff;padding:56px 48px}
@media(max-width:600px){.contact-info,.contact-form{padding:36px 24px}}
.contact-form h2{font-weight:500;font-size:1.7rem}
.contact-form .field input,.contact-form .field textarea,.contact-form .field select{border:0;border-bottom:1px solid #cfcac0;padding:12px 2px;background:transparent}
.contact-form .field input:focus,.contact-form .field textarea:focus,.contact-form .field select:focus{outline:0;border-bottom-color:var(--ink)}
.map-wide{height:380px;margin-top:70px;border-top:1px solid var(--line-light)}
.map-wide iframe{width:100%;height:100%;border:0;filter:grayscale(.85) contrast(1.05)}
