:root{--green:#596046;--green2:#414735;--cream:#f7f2e9;--paper:#fffdf9;--ink:#2d3028;--muted:#727466;--line:#ddd8cc;--accent:#a5805b;--danger:#b4534b;--blue:#6fb7c6;--radius:24px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,sans-serif;color:var(--ink);background:var(--paper);line-height:1.65}a{text-decoration:none;color:inherit}.container{width:min(1120px,calc(100% - 36px));margin:auto}.header{position:sticky;top:0;z-index:20;background:rgba(255,253,249,.94);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}.nav{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:25px}.brand{display:flex;align-items:center;height:64px;}.brand img{width:auto;max-width:180px;height:58px;   object-fit:contain;object-position:center; display:block;}.nav nav{display:flex;gap:24px;align-items:center;font-weight:700;font-size:14px}.nav-toggle{display:none;border:0;background:none;font-size:25px}.btn{display:inline-flex;justify-content:center;align-items:center;background:var(--green);color:white;border:0;border-radius:999px;padding:15px 23px;font-weight:800;cursor:pointer}.btn:hover{background:var(--green2)}.btn.small{padding:10px 18px}.btn.danger,.danger{background:var(--danger)}.hero{padding:90px 0;background:linear-gradient(135deg,#f7f2e9,#ebe3d6)}.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:70px;align-items:center}.eyebrow{text-transform:uppercase;letter-spacing:.22em;font-size:12px;font-weight:800;color:var(--accent)}h1,h2,h3{font-family:Georgia,serif;line-height:1.08}h1{font-size:clamp(48px,7vw,78px);margin:15px 0 25px}h2{font-size:clamp(37px,5vw,56px);margin:12px 0 22px}.lead{font-size:20px;color:var(--muted);max-width:630px}.actions{display:flex;gap:24px;align-items:center;margin-top:34px}.link{font-weight:800}.logo-card{background:rgba(255,255,255,.86);border:1px solid rgba(89,96,70,.14);border-radius:42px;padding:34px;box-shadow:0 28px 70px rgba(45,48,40,.12);display:flex;align-items:center;justify-content:center;min-height:520px;overflow:hidden}.logo-card img{display:block;width:min(100%,520px);height:auto;max-height:450px;object-fit:contain;object-position:center;border-radius:26px}.section{padding:100px 0}.two{display:grid;grid-template-columns:1fr 1fr;gap:85px;align-items:center}.copy{font-size:19px;color:var(--muted)}.soft{background:#eff0e9}.center{text-align:center;max-width:760px;margin:0 auto 45px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.cards article{background:white;border-radius:var(--radius);padding:35px;box-shadow:0 14px 40px rgba(45,48,40,.07)}.cards article>span{font-size:30px}.cards h3{font-size:25px}.cards p{color:var(--muted)}.celebration-art{position:relative;min-height:460px;border-radius:220px 220px 34px 34px;background:linear-gradient(160deg,#687057,#4f563f);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;padding:54px;box-shadow:0 30px 70px rgba(45,48,40,.18);overflow:hidden}.celebration-art:before,.celebration-art:after{content:"";position:absolute;border:1px solid rgba(255,255,255,.16);border-radius:50%}.celebration-art:before{width:360px;height:360px}.celebration-art:after{width:470px;height:470px}.celebration-glow{position:absolute;width:290px;height:290px;border-radius:50%;background:rgba(247,242,233,.96);box-shadow:0 0 0 26px rgba(247,242,233,.08),0 22px 50px rgba(26,29,22,.18)}.celebration-art img{position:relative;z-index:2;width:min(72%,300px);height:auto;object-fit:contain;mix-blend-mode:multiply;filter:contrast(1.06)}.celebration-art span{position:relative;z-index:2;color:#f7f2e9;font-family:Georgia,serif;font-size:20px;letter-spacing:.04em;text-align:center}.ticks{padding:0;list-style:none}.ticks li{padding:10px 0}.ticks li:before{content:"✓";color:var(--green);font-weight:900;margin-right:10px}.booking{background:var(--cream)}.booking-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:35px;align-items:start}.calendar-box,.booking-form,.admin-panel,.reservation-card{background:white;border-radius:var(--radius);padding:28px;box-shadow:0 15px 50px rgba(45,48,40,.08)}.cal-head{display:flex;justify-content:space-between;align-items:center}.cal-head button{border:1px solid var(--line);background:white;width:42px;height:42px;border-radius:50%;cursor:pointer}.cal-head h3{margin:0;font-size:25px}.weekdays,.calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:7px}.weekdays{margin:22px 0 8px;color:var(--muted);font-size:12px;text-align:center;font-weight:800}.day{aspect-ratio:1;border:1px solid var(--line);background:white;border-radius:12px;cursor:pointer;position:relative;font-weight:700}.day:hover,.day.selected{border-color:var(--green);background:#eef0e8}.day.other{opacity:.3}.day.past{opacity:.35;cursor:not-allowed}.day.has-booking:after,.day.has-block:before{content:"";position:absolute;bottom:6px;width:7px;height:7px;border-radius:50%}.day.has-booking:after{left:42%;background:var(--danger)}.day.has-block:before{left:58%;background:#787878}.legend{display:flex;flex-wrap:wrap;gap:16px;margin-top:20px;font-size:12px;color:var(--muted)}.legend i{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:5px}.legend .free{background:#dfe7d8}.legend .busy{background:var(--danger)}.legend .blocked{background:#787878}.legend .selected{background:var(--green)}.day-bookings{margin-top:18px}.day-bookings .slot{padding:9px 12px;background:#f7ecea;border-radius:10px;margin-top:8px}.day-bookings .blocked-slot{background:#ececec}.booking-form,.admin-form{display:grid;gap:15px}.booking-form label,.admin-form label{display:grid;gap:6px;font-size:13px;font-weight:800}.booking-form input,.booking-form select,.booking-form textarea,.admin-form input,.admin-form select,.admin-form textarea,.filters input,.filters select{width:100%;border:1px solid var(--line);border-radius:12px;padding:13px;background:white;font:inherit}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.check{display:flex!important;grid-template-columns:auto 1fr!important;align-items:start;font-weight:500!important}.check input{width:auto;margin-top:5px}.honeypot{position:absolute!important;left:-9999px!important}.fine{font-size:12px;color:var(--muted);margin:0}.success{padding:12px;border-radius:10px;background:#e5eee1}.error{padding:12px;border-radius:10px;background:#f6dfdc}.contact-list{border-top:1px solid var(--line)}.contact-list>*{display:flex;justify-content:space-between;gap:20px;padding:22px 0;border-bottom:1px solid var(--line)}.contact-list span{color:var(--muted)}.contact-list strong{text-align:right}footer{background:var(--green);color:white;padding:40px 0}footer .container{display:flex;align-items:center;justify-content:space-between;gap:25px}footer img{width:120px;height:70px;object-fit:cover;border-radius:10px}footer p{opacity:.75}.admin-body{background:var(--cream)}.admin-wrap{padding:35px 0 80px}.admin-top{display:flex;justify-content:space-between;align-items:center}.admin-top h1{font-size:48px;margin:0}.admin-panel{margin:25px 0}.admin-panel h2{font-size:30px}.filters{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:12px;align-items:end;margin:25px 0}.filters label{font-size:12px;font-weight:800}.admin-list{display:grid;gap:16px}.reservation-card{padding:0;overflow:hidden}.reservation-card summary{display:grid;grid-template-columns:1.2fr .5fr 1fr;gap:15px;padding:22px;cursor:pointer;background:#fff}.reservation-card form{padding:25px;border-top:1px solid var(--line)}.admin-actions{display:flex;gap:12px}.admin-login{max-width:520px;padding-top:80px}fieldset{border:1px solid var(--line);border-radius:14px;padding:15px}legend{font-weight:800;font-size:13px}@media(max-width:850px){.nav-toggle{display:block}.nav nav{display:none;position:absolute;left:0;right:0;top:82px;background:white;padding:25px;flex-direction:column;border-bottom:1px solid var(--line)}.nav nav.open{display:flex}.hero-grid,.two,.booking-grid{grid-template-columns:1fr}.cards{grid-template-columns:1fr}.hero{padding:65px 0}.section{padding:75px 0}.logo-card{max-width:530px;min-height:400px}.celebration-art{min-height:380px}.contact-list strong{text-align:left}.contact-list>*{flex-direction:column;gap:4px}.filters{grid-template-columns:1fr 1fr}.reservation-card summary{grid-template-columns:1fr}.admin-top{align-items:flex-start}}@media(max-width:560px){h1{font-size:46px}.actions,.form-row,footer .container,.admin-actions{display:flex;flex-direction:column;align-items:stretch}.calendar-box,.booking-form,.admin-panel{padding:18px}.weekdays,.calendar{gap:3px}.day{border-radius:8px}.brand img{width:130px}.contact-list>*{align-items:flex-start}.filters{grid-template-columns:1fr}}