.recap-page{--forest:#2b4f1a;--fmid:#3d6b28;--flt:#5a8f3c;--gold:#e8a020;--goldlt:#f5c355;--goldpale:#fef3d8;--mist:#edf5e6;--cream:#fdfaf4;--sand:#e8d5b8;--brown:#5c3d2e;--text:#2a2018;--textmid:#4a3828;--textlt:#7a6858;--border:#d8c9b0;background:var(--cream);color:var(--text);min-height:100vh;font-family:DM Sans,sans-serif}.recap-nav{z-index:50;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#2b4f1af2;border-bottom:1px solid #ffffff14;position:fixed;top:0;left:0;right:0}.recap-nav-inner{justify-content:space-between;align-items:center;gap:24px;max-width:1200px;height:68px;margin:0 auto;padding:0 28px;display:flex}.recap-nav-logo{flex-shrink:0;align-items:center;gap:12px;text-decoration:none;display:flex}.recap-nav-logo img{object-fit:contain;width:40px;height:40px}.recap-nav-logo-text{flex-direction:column;line-height:1.2;display:flex}.recap-nav-logo-sub{letter-spacing:.28em;text-transform:uppercase;color:#ffffff80;font-size:9px}.recap-nav-logo-main{color:#fff;font-family:Playfair Display,serif;font-size:17px;font-style:italic;font-weight:700}.recap-nav-links{flex:1;justify-content:center;align-items:center;gap:4px;display:flex}.recap-nav-links a{color:#ffffffb8;white-space:nowrap;border-radius:8px;padding:7px 13px;font-size:13px;font-weight:500;text-decoration:none;transition:color .18s,background .18s}.recap-nav-links a:hover{color:#fff;background:#ffffff1a}.recap-back-btn{color:#ffffffd9;white-space:nowrap;background:0 0;border:1px solid #ffffff59;border-radius:40px;flex-shrink:0;align-items:center;gap:7px;padding:8px 18px;font-size:13px;font-weight:500;text-decoration:none;transition:border-color .2s,color .2s,background .2s;display:inline-flex}.recap-back-btn:hover{color:#fff;background:#ffffff14;border-color:#ffffffb3}@media (max-width:860px){.recap-nav-links,.recap-back-btn{display:none}}@media (max-width:480px){.recap-nav-logo-text{display:none}}.recap-page{--mob-top:68px;--mob-bg:#2b4f1af7;--mob-cta:var(--gold);--mob-cta-color:var(--forest)}.recap-page .mob-menu a{color:#fffc}.recap-hero{background:linear-gradient(160deg,#22481f 0%,#1b3a1f 60%);border-bottom:1px solid #ffffff0f;padding:140px 32px 80px}.recap-hero-inner{text-align:center;max-width:760px;margin:0 auto}.recap-eyebrow{letter-spacing:.14em;text-transform:uppercase;color:var(--goldlt);background:#f5c3551a;border:1px solid #f5c3554d;border-radius:999px;margin-bottom:20px;padding:6px 18px;font-size:12px;font-weight:600;display:inline-block}.recap-h1{color:#fff;margin-bottom:20px;font-family:Playfair Display,serif;font-size:clamp(32px,5vw,54px);font-weight:900;line-height:1.15}.recap-h1 em{color:var(--goldlt);font-style:italic}.recap-hero-sub{color:#ffffffbf;max-width:580px;margin:0 auto 40px;font-size:18px;line-height:1.7}.recap-stats{background:#ffffff14;border:1px solid #ffffff1f;border-radius:16px;flex-wrap:wrap;justify-content:center;align-items:center;gap:24px;padding:20px 32px;display:inline-flex}.recap-stat{text-align:center}.recap-stat-val{color:var(--goldlt);justify-content:center;align-items:center;gap:6px;font-family:Playfair Display,serif;font-size:24px;font-weight:700;display:flex}.recap-stat-label{color:#ffffff8c;margin-top:4px;font-size:12px}.recap-stat-sep{background:#ffffff26;width:1px;height:40px}.recap-section{padding:72px 32px}.recap-mist-bg{background:var(--mist)}.recap-inner{max-width:900px;margin:0 auto}.recap-section-label{letter-spacing:.32em;text-transform:uppercase;color:var(--flt);align-items:center;gap:10px;margin-bottom:12px;font-size:10px;font-weight:600;display:flex}.recap-section-label:before{content:"";background:var(--flt);width:20px;height:1.5px;display:block}.recap-page h2{color:var(--forest);margin-bottom:32px;font-family:Playfair Display,serif;font-size:clamp(26px,3.5vw,38px);font-weight:800;line-height:1.2}.recap-page h2 em{color:var(--flt);font-style:italic}.recap-writeup{color:var(--textmid);max-width:700px;font-size:17px;line-height:1.85}.recap-form-intro{color:var(--textlt);margin-bottom:36px;font-size:16px;line-height:1.7}.recap-empty{border:1.5px dashed var(--sand);color:var(--textlt);text-align:center;border-radius:16px;flex-direction:column;align-items:center;gap:14px;padding:56px 24px;font-size:15px;display:flex}.recap-gallery-sub{color:var(--textlt);max-width:560px;margin-top:-16px;margin-bottom:36px;font-size:16px;line-height:1.6}.gallery-grid{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}@media (max-width:760px){.gallery-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width:520px){.gallery-grid{grid-template-columns:repeat(2,1fr)}}.gallery-cell{aspect-ratio:4/3;background:var(--sand);border:1px solid var(--border);cursor:pointer;border-radius:10px;position:relative;overflow:hidden}.gallery-cell-btn{appearance:none;padding:0;display:block}.gallery-cell img{object-fit:cover;width:100%;height:100%;transition:transform .35s;display:block}.gallery-cell:hover img{transform:scale(1.04)}.gallery-credit{color:#ffffffe6;background:linear-gradient(#0000,#0000008c);padding:6px 10px;font-size:11px;position:absolute;bottom:0;left:0;right:0}.recap-empty a{color:var(--flt);text-underline-offset:2px;font-weight:600;text-decoration:underline}.gallery-load-more{border:1.5px solid var(--border);color:var(--textmid);cursor:pointer;background:0 0;border-radius:40px;margin:24px auto 0;padding:11px 28px;font-family:inherit;font-size:14px;font-weight:600;transition:border-color .2s,color .2s,background .2s;display:block}.gallery-load-more:hover{border-color:var(--flt);color:var(--forest);background:var(--mist)}.gallery-view-all{text-align:center;margin-top:24px}.gallery-view-all-link{color:var(--flt);border:1.5px solid var(--flt);border-radius:40px;align-items:center;gap:8px;padding:10px 22px;font-size:14px;font-weight:600;text-decoration:none;transition:background .2s,color .2s;display:inline-flex}.gallery-view-all-link:hover{background:var(--flt);color:#fff}.gallery-pagination{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;margin-top:40px;display:flex}.pg-pages{align-items:center;gap:4px;display:flex}.pg-num,.pg-btn{border:1.5px solid var(--border);min-width:38px;height:38px;color:var(--textmid);background:#fff;border-radius:8px;justify-content:center;align-items:center;padding:0 12px;font-size:14px;font-weight:500;text-decoration:none;transition:background .18s,color .18s,border-color .18s;display:inline-flex}.pg-num:hover,.pg-btn:hover{border-color:var(--flt);color:var(--forest);background:var(--mist)}.pg-num.pg-active{background:var(--forest);border-color:var(--forest);color:#fff;font-weight:700}.pg-btn{padding:0 16px;font-size:13px}.pg-disabled{opacity:.35;pointer-events:none;cursor:default}.pg-ellipsis{color:var(--textlt);padding:0 4px;font-size:14px}.gallery-page-info{color:var(--textlt);text-align:center;margin-top:16px;font-size:13px}.lb-overlay{z-index:1000;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0a1208eb;justify-content:center;align-items:center;padding:20px;animation:.18s lb-fade-in;display:flex;position:fixed;inset:0}@keyframes lb-fade-in{0%{opacity:0}to{opacity:1}}.lb-inner{flex-direction:column;align-items:center;max-width:min(90vw,1100px);max-height:90vh;display:flex;position:relative}.lb-img{object-fit:contain;border-radius:8px;max-width:100%;max-height:calc(90vh - 56px);animation:.2s lb-scale-in;display:block;box-shadow:0 24px 80px #0009}@keyframes lb-scale-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.lb-close{color:#fff;cursor:pointer;z-index:1001;background:#ffffff1f;border:1px solid #fff3;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;transition:background .18s;display:flex;position:fixed;top:20px;right:24px}.lb-close:hover{background:#ffffff38}.lb-nav{color:#fff;cursor:pointer;z-index:1001;background:#ffffff1f;border:1px solid #fff3;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;transition:background .18s;display:flex;position:fixed;top:50%;transform:translateY(-50%)}.lb-nav:hover{background:#ffffff38}.lb-prev{left:20px}.lb-next{right:20px}.lb-caption{justify-content:space-between;align-items:center;gap:16px;width:100%;margin-top:14px;padding:0 4px;display:flex}.lb-credit{color:#ffffffa6;font-size:13px}.lb-counter{color:#ffffff73;margin-left:auto;font-size:13px}@media (max-width:520px){.lb-prev{left:8px}.lb-next{right:8px}.lb-nav{width:38px;height:38px}}.star-display{align-items:center;gap:2px;display:inline-flex}.star-filled{color:var(--gold)}.star-empty{color:var(--sand)}.avg-rating-block{border:1.5px solid var(--sand);background:#fff;border-radius:14px;align-items:center;gap:20px;width:fit-content;margin-bottom:36px;padding:20px 28px;display:flex;box-shadow:0 4px 20px #2b4f1a0f}.avg-rating-val{color:var(--forest);font-family:Playfair Display,serif;font-size:48px;font-weight:900;line-height:1}.avg-rating-right{flex-direction:column;gap:6px;display:flex}.avg-rating-count{color:var(--textlt);font-size:13px}.reviews-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;display:grid}.review-card{border:1.5px solid var(--sand);background:#fff;border-radius:14px;flex-direction:column;gap:12px;padding:24px;transition:border-color .2s,box-shadow .2s;display:flex;box-shadow:0 2px 12px #2b4f1a0d}.review-card:hover{border-color:var(--flt);box-shadow:0 6px 24px #2b4f1a1a}.review-card-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.review-card-name{color:var(--textlt);font-size:13px;font-weight:600}.review-favourite{color:var(--textmid);align-items:flex-start;gap:8px;font-size:15px;line-height:1.6;display:flex}.review-heart{color:var(--gold);flex-shrink:0;margin-top:3px}.review-comment{color:var(--textlt);border-top:1px solid var(--border);padding-top:8px;font-size:13px;line-height:1.6}.review-form{flex-direction:column;gap:24px;max-width:600px;display:flex}.rf-group{flex-direction:column;gap:8px;display:flex}.rf-label{letter-spacing:.08em;text-transform:uppercase;color:var(--textmid);font-size:12px;font-weight:600}.rf-optional{color:var(--textlt);text-transform:none;letter-spacing:0;font-size:12px;font-weight:400}.req{color:#c0392b}.rf-input,.rf-textarea{border:1.5px solid var(--sand);color:var(--text);resize:vertical;background:#fff;border-radius:10px;width:100%;padding:13px 16px;font-family:inherit;font-size:15px;transition:border-color .2s,box-shadow .2s}.rf-input::placeholder,.rf-textarea::placeholder{color:var(--textlt);opacity:.6}.rf-input:focus,.rf-textarea:focus{border-color:var(--flt);outline:none;box-shadow:0 0 0 3px #5a8f3c1f}.rf-hint{color:var(--textlt);font-size:12px}.rf-error{color:#c0392b;font-size:13px}.rf-file-hidden{display:none}.star-row{align-items:center;gap:4px;display:flex}.star-btn{cursor:pointer;color:inherit;background:0 0;border:none;padding:4px;line-height:0;transition:transform .15s}.star-btn:hover{transform:scale(1.15)}.star-hint-label{color:var(--fmid);margin-left:8px;font-size:13px;font-weight:500}.photo-grid{flex-wrap:wrap;gap:10px;margin-bottom:12px;display:flex}.photo-thumb{border:1.5px solid var(--sand);border-radius:8px;flex-shrink:0;width:88px;height:88px;position:relative;overflow:hidden}.photo-thumb img{object-fit:cover;width:100%;height:100%}.photo-thumb-remove{cursor:pointer;color:#fff;background:#0000008c;border:none;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;padding:0;transition:background .15s;display:flex;position:absolute;top:4px;right:4px}.photo-thumb-remove:hover{background:#c0392b}.photo-upload-btn{border:1.5px dashed var(--sand);color:var(--textmid);cursor:pointer;background:#fff;border-radius:10px;align-items:center;gap:8px;width:fit-content;padding:10px 18px;font-family:inherit;font-size:14px;transition:background .2s,border-color .2s,color .2s;display:inline-flex}.photo-upload-btn:hover{background:var(--mist);border-color:var(--flt);color:var(--forest)}.photo-preview-wrap{flex-direction:column;gap:10px;width:fit-content;display:flex}.photo-preview{border:1.5px solid var(--sand);object-fit:cover;border-radius:10px;max-width:240px}.photo-remove-btn{color:var(--textlt);cursor:pointer;background:0 0;border:none;align-items:center;gap:5px;padding:0;font-family:inherit;font-size:12px;transition:color .2s;display:inline-flex}.photo-remove-btn:hover{color:#c0392b}.rf-submit{background:var(--forest);border:2px solid var(--forest);color:#fff;cursor:pointer;border-radius:50px;align-items:center;gap:10px;width:fit-content;padding:14px 28px;font-family:inherit;font-size:15px;font-weight:600;transition:background .2s,border-color .2s,transform .15s,box-shadow .2s;display:inline-flex;box-shadow:0 6px 24px #2b4f1a40}.rf-submit:hover:not(:disabled){background:var(--fmid);border-color:var(--fmid);transform:translateY(-1px);box-shadow:0 10px 30px #2b4f1a4d}.rf-submit:disabled{opacity:.6;cursor:not-allowed}.review-success{border:1.5px solid var(--sand);text-align:center;background:#fff;border-radius:16px;flex-direction:column;align-items:center;gap:16px;max-width:480px;padding:40px 36px;display:flex;box-shadow:0 8px 32px #2b4f1a14}.review-success-icon{background:var(--mist);width:64px;height:64px;color:var(--forest);border:1.5px solid #2b4f1a33;border-radius:50%;justify-content:center;align-items:center;display:flex}.review-success h3{color:var(--forest);font-family:Playfair Display,serif;font-size:22px;font-weight:700}.review-success p{color:var(--textmid);font-size:15px;line-height:1.7}.recap-footer{background:var(--forest);text-align:center;color:#ffffff8c;border-top:1px solid #ffffff14;flex-direction:column;align-items:center;gap:4px;padding:48px 32px 40px;font-size:14px;display:flex}.recap-footer-logo{align-items:center;gap:10px;margin-bottom:8px;text-decoration:none;display:flex}.recap-footer-logo img{object-fit:contain;width:36px;height:36px}.recap-footer-brand{color:#fff;font-family:Playfair Display,serif;font-size:16px;font-style:italic;font-weight:700}.recap-footer-sep{background:#ffffff26;width:40px;height:1px;margin:14px auto}.recap-footer a{color:var(--goldlt);text-decoration:none;transition:opacity .2s}.recap-footer a:hover{opacity:.75}.recap-footer .designed-by{color:#ffffff8c;align-items:center;gap:6px;font-size:11px;text-decoration:none;display:inline-flex}.recap-footer .designed-by img{object-fit:contain;opacity:.6;width:14px;height:14px}.recap-footer .designed-by:hover{color:#ffffffd9}.recap-footer .designed-by:hover img{opacity:.9}@media (max-width:640px){.recap-hero{padding:110px 20px 60px}.recap-section{padding:56px 20px}.recap-nav-inner{padding:0 20px}.avg-rating-block{padding:16px 20px}.recap-stats{gap:16px;padding:16px 20px}}
