/* Villa covers, founder identity and the private partner calendar. */
.villa-card>.villa-cover-video{display:block;width:100%;height:230px;object-fit:cover;background:#102b23}
.villa-card>img{display:block;width:100%;height:230px;object-fit:cover}
.villa-card .villa-card-link{display:block}
.villa-video-editor{margin-top:28px;padding-top:24px;border-top:1px solid #dde5df}
.villa-video-editor .photo-preview video{width:100%;height:170px;object-fit:cover;background:#142d26;border-radius:12px}
.photo-preview figcaption>button{font-size:12px;min-height:38px;margin:0 0 10px;width:100%}
.photo-preview figcaption .field{margin-top:6px}
.founder-card{position:relative;isolation:isolate;display:flex;align-items:center;gap:32px;padding:40px 44px;margin:48px 0 20px;border:1px solid #355b4e;border-radius:24px;background:linear-gradient(120deg,#122e26,#214839);color:#edf3ee;overflow:hidden;text-align:left}
.founder-portrait{position:relative;z-index:1;flex:0 0 152px;width:152px;height:152px;border-radius:50%;padding:6px;border:1px solid #cabb8c;background:#ffffff0a}
.founder-portrait img{display:block;width:100%;height:100%;border-radius:50%;object-fit:cover;object-position:50% 30%}
.founder-copy{position:relative;z-index:1;min-width:0}.founder-eyebrow{display:block;font-size:10px;font-weight:600;letter-spacing:2px;color:#d6c591;line-height:1.7}
.founder-copy h2{font:400 clamp(29px,3vw,40px)/1.2 Georgia,serif;letter-spacing:-.6px;margin:9px 0;color:#fff}
.founder-role{display:inline-block;font-size:12px;color:#e9d59e;border:1px solid #baab774d;padding:4px 12px;border-radius:20px}
.founder-copy p{font-size:14px;line-height:1.8;margin:16px 0 8px;color:#d3e0d6}.founder-location{font-size:12px;letter-spacing:.4px;color:#b4c7bb}
.founder-monogram{position:absolute;right:18px;bottom:-26px;z-index:0;font:170px Georgia,serif;letter-spacing:-15px;color:#ffffff05;pointer-events:none}
.partner-calendar{overflow:hidden;padding:28px}.partner-calendar>header{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:24px}.partner-calendar header h2{font-size:28px;margin:6px 0}.partner-calendar header p{color:#6a7c70;font-size:14px}.partner-calendar header .field{width:260px;max-width:100%}
.partner-calendar-nav{display:flex;align-items:center;justify-content:space-between;padding:16px 0;border-top:1px solid #e4eae4}.partner-calendar-nav h3{font-size:21px}.partner-calendar-nav button{min-width:44px;min-height:44px}
.partner-calendar-legend{display:flex;gap:18px;flex-wrap:wrap;font-size:12px;color:#5f746a;margin:8px 0 20px}.partner-calendar-legend span:before{content:'';display:inline-block;width:8px;height:8px;border-radius:50%;background:#1a654b;margin-right:6px}.partner-calendar-legend .synced:before{background:#6c74b2}.partner-calendar-legend .blocked:before{background:#a19b85}
.partner-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px}.partner-calendar-grid>small{text-align:center;padding:0 0 9px;font-size:12px;color:#7a877e}.partner-calendar-day{display:flex;flex-direction:column;gap:13px;min-height:84px;border:1px solid #e9eee8;border-radius:12px;padding:12px;background:#fbfcfa;min-width:0}.partner-calendar-day b{font-size:15px}.partner-calendar-day span{font-size:11px;overflow:hidden;text-overflow:ellipsis}.partner-calendar-day.reserved{background:#e1efe7;border-color:#bdd6c6;color:#22543d}.partner-calendar-day.synced{background:#eeeff9;border-color:#d4d8ef;color:#565f99}.partner-calendar-day.blocked{background:#f3f0e7;border-color:#e5decb;color:#817450}.partner-calendar-day.is-today{outline:2px solid #23583f;outline-offset:1px}.partner-calendar-day.past{opacity:.42}.partner-calendar>.tiny{margin:18px 0 0;line-height:1.6}
.partner-date-list{margin:30px 0}.partner-date-list>h3{font-size:23px;margin-bottom:16px}.partner-date-list article{display:flex;gap:14px;align-items:center;border-bottom:1px solid #e1e8df;padding:16px 4px}.partner-date-list b{font-size:15px}.partner-date-list small{display:block;margin-top:5px;color:#6d7f72;font-size:12px}.partner-date-dot{width:10px;height:10px;flex:0 0 10px;border-radius:50%;background:#387456}.partner-date-dot.synced{background:#8189bc}.partner-date-dot.blocked{background:#a19b85}
.reserved-date-bubble{position:sticky;bottom:12px;z-index:5;max-width:350px;width:fit-content;margin:12px auto 0;padding:12px 18px;border-radius:24px;background:#193d30;color:white;text-align:center;font-size:14px;box-shadow:0 8px 28px #152e2940;animation:reservation-bubble .18s ease-out}.stay-calendar-grid [aria-disabled=true]{background:#f2eee9;color:#9b8271;cursor:not-allowed}.date-tile[role=button]{cursor:pointer}.date-tile[role=button]:focus-visible{outline:2px solid #244f3c;outline-offset:3px}
@keyframes reservation-bubble{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:700px){.founder-card{padding:28px 24px;gap:24px;flex-direction:column;align-items:flex-start;margin-top:32px}.founder-portrait{width:116px;height:116px;flex-basis:116px}.founder-copy h2{font-size:33px}.founder-copy p{font-size:13px}.founder-eyebrow{font-size:9px;letter-spacing:1.6px}.founder-monogram{font-size:140px}.partner-calendar{padding:17px 12px}.partner-calendar>header{flex-direction:column;align-items:stretch;gap:15px}.partner-calendar header .field{width:100%}.partner-calendar header h2{font-size:24px}.partner-calendar-grid{gap:4px}.partner-calendar-day{min-height:65px;padding:8px 4px;border-radius:7px;gap:9px;text-align:center}.partner-calendar-day b{font-size:14px}.partner-calendar-day span{font-size:9px}.partner-calendar-grid>small{font-size:10px}.partner-calendar-nav h3{font-size:18px}.partner-calendar-legend{gap:12px;font-size:11px}.villa-card>.villa-cover-video,.villa-card>img{height:220px}}
@media(prefers-reduced-motion:reduce){.reserved-date-bubble{animation:none}}
