@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Space+Grotesk:wght@400;500;600;700&display=swap');
:root{--paper:#e8e6d8;--ink:#292e20;--olive:#747b55;--line:#c6c6b5;--white:#f8f7ef;--warn:#a04f2f}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif;font-size:16px;line-height:1.55}a{color:inherit;text-underline-offset:5px}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.5;cursor:wait}a,button,input,select,textarea{outline-offset:4px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--olive)}.site-header{display:flex;justify-content:space-between;align-items:center;padding:20px 4.5%;border-bottom:1px solid var(--line)}.wordmark{font-size:34px;font-weight:600;letter-spacing:-2px;line-height:1;text-decoration:none}.wordmark span{display:block;font-size:8px;letter-spacing:4px;margin-top:8px;text-align:center}nav{display:flex;align-items:center;gap:35px}nav a{text-decoration:none;font-size:14px}.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;background:var(--ink);color:var(--paper);border:1px solid var(--ink);border-radius:3px;padding:14px 24px;text-decoration:none;font-weight:600}.button:hover{background:#424a33}.button.small{padding:10px 17px}.button.light{background:var(--paper);color:var(--ink)}.hero{display:grid;grid-template-columns:1.15fr 1fr;min-height:680px}.hero-copy{padding:55px 8% 35px}.eyebrow{font-size:11px;letter-spacing:2px;font-weight:600}.hero h1{font:400 clamp(28px,3.3vw,52px)/1.1 'Space Grotesk',sans-serif;letter-spacing:-2px;margin:35px 0 10px}.brand-crop{position:relative;width:100%;aspect-ratio:2.75;overflow:hidden;margin:20px 0 40px}.brand-crop img{position:absolute;width:148%;max-width:none;left:-27%;top:-262%}.hero-bottom{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:18px}.hero-bottom p{font-size:14px}.circle-link{width:48px;height:48px;border:1px solid var(--ink);border-radius:50%;display:grid;place-items:center;font-size:25px;text-decoration:none}.hero-image{position:relative;overflow:hidden;max-height:780px}.hero-image>img{width:100%;height:100%;object-fit:cover}.image-tag{position:absolute;bottom:28px;left:28px;background:var(--paper);padding:8px 13px;font-size:10px;letter-spacing:2px}.ticker{background:var(--ink);color:var(--paper);display:flex;justify-content:space-around;gap:25px;overflow:hidden;padding:17px 20px;white-space:nowrap;font-size:12px;letter-spacing:3px}.ticker i{font-size:20px;line-height:1}.section{padding:80px 6%}.section-head{display:flex;align-items:center;justify-content:space-between;gap:20px}.section-head>a,.section-head>span{font-size:13px}h2{font:500 clamp(38px,5vw,66px)/1.05 'Space Grotesk',sans-serif;letter-spacing:-3px;margin:15px 0 30px}h3{font:500 24px/1.2 'Space Grotesk',sans-serif;margin:0 0 25px}.empty{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:35px 0;width:100%;color:#62674f}.event-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.event-grid>.empty{grid-column:1/-1}.event-card{border:1px solid var(--line);background:var(--white);overflow:hidden}.event-card img{width:100%;height:280px;object-fit:cover}.event-card .body{padding:24px}.event-card h3{margin:12px 0}.event-card p{white-space:pre-line}.date-tag{font-size:11px;text-transform:uppercase;letter-spacing:1px}.reservation-section{background:var(--ink);color:var(--paper);padding:80px 6%;display:grid;grid-template-columns:1fr 1fr;gap:10%}.reservation-section>div>p{max-width:380px}.note-line{border-top:1px solid #61664f;padding-top:20px;margin-top:45px;font-size:13px;max-width:350px}.paper-form{padding:32px;background:var(--paper);color:var(--ink)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.full{grid-column:1/-1}label{display:flex;flex-direction:column;font-size:12px;font-weight:600;gap:6px;margin-bottom:10px}input,select,textarea{border:1px solid #b5b8a4;background:#f4f3e9;border-radius:3px;padding:11px;width:100%;color:var(--ink);min-width:0}textarea{resize:vertical}.check{flex-direction:row;align-items:flex-start;font-weight:400;font-size:11px;margin:18px 0}.check input{width:auto;margin-top:3px}.paper-form>.button{width:100%}.honeypot{position:absolute;left:-9999px}.notice{padding:12px;background:#f4dfbc;border:1px solid #d7bf9e;font-size:13px;margin-bottom:20px}.result{font-size:14px}.tabs{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:30px}.tab{background:none;border:1px solid var(--line);border-radius:30px;padding:9px 20px}.tab.active{background:var(--ink);color:var(--paper)}.menu-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 60px}.menu-item{border-bottom:1px solid var(--line);padding:22px 0;display:flex;justify-content:space-between;gap:20px}.menu-item h3{font-size:20px;margin:0}.menu-item p{font-size:13px;color:#62674f;margin:7px 0 0}.menu-grid>.empty{grid-column:1/-1}.contact-section{text-align:center;padding:80px 20px;background:var(--olive);color:var(--paper)}.contact-section>a{display:block;margin:22px 0}.contact-section h2{font-size:80px}footer{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:40px 6%;font-size:12px}dialog{border:0;background:var(--paper);color:var(--ink);max-width:480px;width:calc(100% - 30px);padding:25px;max-height:90vh;overflow:auto}dialog::backdrop{background:#1119}.plain{background:none;border:0;padding:8px;color:inherit}.messages{display:flex;flex-direction:column;gap:10px;max-height:350px;overflow:auto;padding:12px 0}.bubble{background:#d4d6c4;padding:12px 15px;border-radius:5px;max-width:90%;align-self:flex-start;font-size:14px;white-space:pre-wrap;overflow-wrap:anywhere}.bubble.out{align-self:flex-end;background:var(--ink);color:var(--paper)}.bubble.note{background:#f2dab4}.bubble time{display:block;font-size:10px;opacity:.65}.hidden,[hidden]{display:none!important}.badge{display:inline-block;background:#dce0cc;padding:3px 9px;border-radius:20px;font-size:11px}.muted{color:#727762;font-size:13px}.error{color:#a23121}.empty-state{padding:35px;text-align:center;background:#f2f1e5;border:1px dashed var(--line)}
/* Management */
.admin-body{background:#f3f3ea}.admin-shell{display:grid;grid-template-columns:220px 1fr;min-height:100vh}.sidebar{background:var(--ink);color:var(--paper);padding:30px 22px;display:flex;flex-direction:column;gap:7px}.sidebar .wordmark{margin-bottom:45px}.sidebar button{border:0;background:none;color:inherit;text-align:left;padding:12px;border-radius:4px;font-size:14px}.sidebar button.active,.sidebar button:hover{background:#484f38}.sidebar .bottom{margin-top:auto;padding-top:40px}.admin-main{padding:30px 40px;min-width:0}.admin-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:30px}.admin-top h1{font:500 34px 'Space Grotesk';letter-spacing:-1.5px;margin:0}.panel{background:white;border:1px solid #dedfd4;border-radius:8px;padding:24px;margin-bottom:20px}.panel h3{font-size:21px}.toolbar{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:20px}.toolbar input{width:auto}.admin-columns{display:grid;grid-template-columns:1fr 1fr;gap:24px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-bottom:25px}.stat{background:white;border:1px solid #dedfd4;padding:20px;border-radius:8px}.stat strong{font-size:30px;display:block}.stat span{font-size:12px;color:#727762}.table-scroll{overflow:auto}table{border-collapse:collapse;width:100%;font-size:13px}th,td{text-align:left;padding:13px 9px;border-bottom:1px solid #e7e8df;vertical-align:top}th{font-size:11px;text-transform:uppercase;letter-spacing:.7px;color:#777}.tiny{padding:6px 9px;font-size:12px;border:1px solid #bfc4af;background:#f6f7ee;border-radius:4px;color:var(--ink);margin:2px}.schedule-row{display:grid;grid-template-columns:110px 1fr 1fr;gap:12px;align-items:center;margin:8px 0}.schedule-row .check{margin:0}.inbox-layout{display:grid;grid-template-columns:300px 1fr;gap:20px}.conversation-list{max-height:660px;overflow:auto}.conversation-item{display:block;width:100%;text-align:left;background:white;border:0;border-bottom:1px solid #dedfd4;padding:16px}.conversation-item:hover,.conversation-item.active{background:#e6e9d8}.conversation-item p{font-size:12px;color:#727762;margin:5px 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.login-wrap{min-height:100vh;display:grid;place-items:center;padding:20px}.login-card{width:100%;max-width:410px;padding:35px;border:1px solid var(--line);background:var(--paper)}.login-card .wordmark{display:block;margin-bottom:35px}.login-card h1{font-size:25px}.qr{width:260px;max-width:100%;background:white;padding:12px}.toast{position:fixed;right:25px;bottom:25px;background:var(--ink);color:white;padding:14px 22px;z-index:100;border-radius:5px;max-width:calc(100% - 40px)}.toast.error{background:#933a28}.editor-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.admin-main .button{font-size:13px}.hours-title{display:grid;grid-template-columns:110px 1fr 1fr;font-size:11px;color:#727762;gap:12px}.small-text{font-size:12px}.image-preview{max-width:140px;max-height:140px;object-fit:contain}
@media(min-width:1500px){.hero-copy{padding:80px 10%}.hero{min-height:740px}.brand-crop{margin-top:35px}}@media(max-width:900px){.hero{min-height:580px}.hero-copy{padding:40px 8%}.hero h1{font-size:33px}.brand-crop{margin-bottom:25px}.reservation-section{gap:35px}.event-grid{grid-template-columns:1fr 1fr}.admin-shell{grid-template-columns:170px 1fr}.admin-main{padding:25px 20px}.sidebar{padding:25px 12px}.admin-columns{grid-template-columns:1fr}.inbox-layout{grid-template-columns:220px 1fr}.stats{grid-template-columns:1fr 1fr}}@media(max-width:640px){.site-header{padding:20px}.wordmark{font-size:28px}nav{gap:16px}nav a{font-size:12px}nav .button{padding:9px 12px;font-size:11px}.hero{grid-template-columns:1fr;min-height:0}.hero-copy{padding:40px 25px 25px}.hero h1{font-size:38px}.brand-crop{max-width:450px}.hero-image{height:430px}.hero-image>img{object-position:center 48%}.section{padding:55px 24px}.section-head{align-items:flex-start;flex-wrap:wrap;margin-bottom:20px}.section-head h2{margin-bottom:0}.event-grid{grid-template-columns:1fr}.reservation-section{grid-template-columns:1fr;padding:55px 24px}.note-line{margin-top:25px}.paper-form{padding:22px}.menu-grid{grid-template-columns:1fr}.contact-section{padding:55px 24px}footer{flex-wrap:wrap;padding:30px 24px}footer .wordmark{width:100%}.admin-shell{display:block}.sidebar{padding:15px;display:flex;flex-direction:row;flex-wrap:wrap;gap:3px}.sidebar .wordmark{margin:0 0 10px;width:100%}.sidebar button{padding:9px;font-size:12px}.sidebar .bottom{margin:0;padding:0}.admin-main{padding:20px 14px}.admin-top{gap:10px}.admin-top h1{font-size:28px}.inbox-layout{grid-template-columns:1fr}.conversation-list{max-height:230px}.editor-grid{grid-template-columns:1fr}.stats{gap:8px}.stat{padding:14px}.panel{padding:18px}.schedule-row,.hours-title{grid-template-columns:85px 1fr 1fr;gap:6px}.schedule-row input{padding:8px 4px}.form-grid{gap:10px}h2{letter-spacing:-2px}.contact-section h2{font-size:60px}}

@media(max-width:640px){.site-header{flex-wrap:wrap;gap:18px}.site-header nav{width:100%;justify-content:space-between;gap:12px}.site-header nav a{white-space:nowrap}.site-header .wordmark{font-size:30px}}

/* Official Recoveco logo: original supplied artwork, framed without redrawing. */
.wordmark.brand-mark{display:inline-flex;flex-direction:column;align-items:center;width:150px;max-width:100%;flex-shrink:0;padding:8px;background:#e7e6d7;color:#292e20;border-radius:2px;letter-spacing:normal;line-height:1;text-decoration:none}
.brand-mark .logo-window{display:block;position:relative;width:100%;aspect-ratio:2.75;overflow:hidden}
.brand-mark .logo-window img{position:absolute;display:block;width:148%;height:auto;max-width:none;left:-27%;top:-262%}
.brand-mark small{font-size:9px;font-weight:500;letter-spacing:2px;text-transform:uppercase;margin-top:8px;text-align:center}
.login-card .brand-mark{width:190px;margin-bottom:28px}
.sidebar .brand-mark{width:160px;margin-bottom:30px}
footer .brand-mark{width:150px}
@media(max-width:640px){.site-header .brand-mark{width:140px}.sidebar .brand-mark{width:150px;margin-bottom:12px}footer .brand-mark{width:150px}}
