:root{--navy:#11283b;--gold:#d69b31;--teal:#17867b;--paper:#f5f2ec;--red:#9d342c}
*{box-sizing:border-box}
.directory-cover{display:block!important;padding:0!important;background:#e6ede6!important;aspect-ratio:16/9;overflow:hidden;border-radius:14px;margin-bottom:20px}
.directory-cover img,.directory-cover video{display:block;width:100%;height:100%;object-fit:cover;pointer-events:none}
body{margin:0;background:var(--paper);color:var(--navy);font:16px/1.55 system-ui,-apple-system,sans-serif}
header{height:76px;padding:0 clamp(18px,5vw,70px);display:flex;align-items:center;justify-content:space-between;background:white;border-bottom:1px solid #ddd}
header img{width:190px;height:auto}
nav{display:flex;gap:22px}
a{color:inherit}
main{max-width:1240px;margin:auto;padding:clamp(28px,5vw,70px) clamp(16px,4vw,48px)}
.event-hero{max-width:820px;margin-bottom:40px}
.event-hero span{font-size:.75rem;font-weight:800;letter-spacing:.18em;color:var(--teal)}
h1{font:700 clamp(2.3rem,7vw,5.7rem)/.98 Georgia,serif;margin:.18em 0}
h2{font:700 clamp(1.5rem,4vw,2.35rem)/1.1 Georgia,serif}
.event-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px}
.event-card,.plan-panel,.selector,.gate{background:#fff;border:1px solid #ddd;border-radius:18px;padding:24px}
.event-card strong{display:block;font-size:1.35rem}
.event-card .counts{display:flex;gap:12px;margin:20px 0;color:#52606b}
.event-card a,.plan-panel>a,button{display:inline-block;background:var(--navy);color:white;border:0;border-radius:10px;padding:12px 18px;font-weight:750;text-decoration:none;cursor:pointer}
.notice{background:#fff3d8;border-left:5px solid var(--gold);padding:16px 18px;margin:28px 0}
.plan-panel>div:first-child{display:flex;justify-content:space-between;gap:20px;align-items:start}
.plan-panel object{width:100%;height:min(70vh,780px);margin-top:20px;border:1px solid #ccd3d8;border-radius:10px}
.selector{margin-top:22px}
.selector>div:first-child{display:flex;justify-content:space-between;gap:20px;align-items:end}
.selector input,.gate input,dialog input{width:100%;padding:13px;border:1px solid #9ba7af;border-radius:9px;font:inherit}
.selector>input{max-width:300px;margin:15px 0}
.plot-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(76px,1fr));gap:9px;max-height:60vh;overflow:auto}
.plot{background:#e7f5ef!important;color:#174b3e!important;border:1px solid #8bc0ad!important;padding:12px 7px!important}
.plot.booked{background:#e5e7eb!important;color:#374151!important;border-color:#9ca3af!important}
.plot small{display:block;margin-top:2px;font-size:8px;font-weight:900;letter-spacing:.04em}
.key{display:inline-block;width:13px;height:13px;border-radius:3px;margin-left:10px}
.key.available{background:#e7f5ef}
.key.booked{background:#9ca3af}
dialog{width:min(92vw,460px);border:0;border-radius:18px;padding:28px;box-shadow:0 24px 90px #0005}
dialog::backdrop{background:#071925aa}
.close{float:right;background:transparent;color:var(--navy);font-size:24px;padding:0}
dialog label{display:block;margin:14px 0;font-weight:700}
dialog small{display:block;margin-top:12px}
.plot-status{display:inline-flex;margin:4px 0 12px;padding:8px 14px;border-radius:999px;font-size:.76rem;font-weight:850;letter-spacing:.05em}
.plot-status.open{background:#dcf4e8;color:#16835b}
.plot-status.requested{background:#e5e7eb;color:#374151}
.plot-status.sold{background:#374151;color:#fff}
.plot-survey{margin:8px 0 0;color:var(--gold);font-weight:850;letter-spacing:.12em;text-transform:uppercase}
#plotDialog{width:min(94vw,790px)}
#plotDialog h2{margin:.25em 0}
.plot-details-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:20px 0}
.plot-details-grid>div{padding:15px;border:1px solid #d6dbde;border-radius:15px;background:#fff}
.plot-details-grid small{margin:0;color:#6b7475;font-size:.72rem;font-weight:800;letter-spacing:.08em}
.plot-details-grid strong{display:block;margin-top:5px;color:#174b3e;font-size:1.05rem}
#reservePlot{width:100%}
.error{color:var(--red)}
.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,30px);opacity:0;background:#10283b;color:#fff;padding:12px 18px;border-radius:10px;transition:.2s}
.toast.show{opacity:1;transform:translate(-50%,0)}
.floating-wa{position:fixed;right:18px;bottom:18px;background:#147a50;color:#fff;border-radius:999px;padding:12px 17px;text-decoration:none;font-weight:800;box-shadow:0 8px 24px #0003}
footer{padding:26px;text-align:center;background:#10283b;color:#fff}
@media(max-width:700px){
  header{height:auto;padding:14px 16px;align-items:flex-start}
  header img{width:150px}
  nav{flex-direction:column;gap:3px;text-align:right;font-size:.85rem}
  .plan-panel{padding:14px}
  .plan-panel object{height:62vh}
  .selector>div:first-child{display:block}
  .floating-wa span{display:none}
  .plot-grid{grid-template-columns:repeat(4,1fr)}
  .plot-details-grid{grid-template-columns:repeat(2,1fr);gap:8px}
  .plot-details-grid>div{padding:12px}
  #plotDialog{padding:22px}
}

.event-detail-cover{position:relative;aspect-ratio:16/9;max-height:520px;margin:-14px 0 34px;overflow:hidden;border-radius:22px;background:#dfe8e1;box-shadow:0 20px 54px #0b263522}.event-detail-cover img,.event-detail-cover video{display:block;width:100%;height:100%;object-fit:cover}@media(max-width:700px){.event-detail-cover{margin-top:-8px;border-radius:16px}}
