@import "https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,500;0,600;0,700;0,800;0,900;1,400;1,500;1,600&family=DM+Sans:ital,opsz,wght@0,9..40,300;0,9..40,400;0,9..40,500;0,9..40,600;0,9..40,700;1,9..40,400&display=swap";:root{--forest:#1b3a2f;--forest-light:#2a5240;--forest-deep:#122620;--cream:#f7f3e8;--cream-deep:#ede6d4;--gold:#c89f5e;--gold-light:#d9b978;--gold-dark:#a8854a;--warm-linen:#ede6d4;--dark-walnut:#2c241b;--sage:#7a8b6f;--burgundy-accent:#6b2d3d;--burnt-orange:#c77b3a;--text-body:#2c241b;--text-muted:#6b5d4f;--font-display:"Playfair Display", Georgia, "Times New Roman", serif;--font-body:"DM Sans", system-ui, -apple-system, sans-serif;--radius-sm:8px;--radius-md:14px;--radius-lg:22px;--radius-xl:32px;--max-width:1200px;--ease:cubic-bezier(.22, 1, .36, 1);--transition:.4s var(--ease)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;scroll-padding-top:80px}body{font-family:var(--font-body);color:var(--text-body);background:var(--cream);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;font-size:16px;line-height:1.65;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);color:var(--forest);font-weight:700;line-height:1.2}a{color:inherit;text-decoration:none}ul{list-style:none}img{max-width:100%;display:block}#root{width:100%;min-height:100vh}.container{max-width:var(--max-width);margin:0 auto;padding:0 24px}.section{padding:100px 0;position:relative}.section-alt{background:var(--warm-linen)}.section-header{text-align:center;margin-bottom:60px}.section-header h2{letter-spacing:-.02em;margin-bottom:14px;font-size:clamp(2rem,4vw,2.75rem);font-weight:800}.section-header .subtitle{color:var(--text-muted);font-size:1.1rem;font-style:italic;font-family:var(--font-display);max-width:600px;margin:0 auto}.section-note{text-align:center;color:var(--forest);font-size:1.05rem;font-style:italic;font-family:var(--font-display);border-radius:var(--radius-md);background:#c89f5e1a;border:1px solid #c89f5e40;max-width:700px;margin-top:48px;margin-left:auto;margin-right:auto;padding:16px 32px}.gold-divider{justify-content:center;align-items:center;gap:16px;max-width:200px;margin:0 auto;padding:20px 0;display:flex}.gold-divider:before,.gold-divider:after{content:"";background:linear-gradient(90deg, transparent, var(--gold), transparent);flex:1;height:1px}.gold-divider span{color:var(--gold);font-size:1.2rem}.navbar{z-index:1000;-webkit-backdrop-filter:blur(14px);transition:var(--transition);background:#f7f3e8eb;border-bottom:1px solid #c89f5e33;position:fixed;top:0;left:0;right:0}.navbar.scrolled{background:#f7f3e8fa;box-shadow:0 2px 30px #1b3a2f14}.nav-inner{max-width:var(--max-width);justify-content:space-between;align-items:center;height:72px;margin:0 auto;padding:0 24px;display:flex}.nav-brand{font-family:var(--font-display);color:var(--forest);letter-spacing:-.01em;align-items:center;gap:10px;font-size:1.15rem;font-weight:700;display:flex}.nav-brand img{object-fit:contain;background:var(--cream);border-radius:50%;width:60px;height:60px;padding:4px;transition:height .3s,width .3s}.navbar.scrolled .nav-brand img{width:50px;height:50px}.nav-links{align-items:center;gap:28px;display:flex}.nav-links a{color:var(--text-body);transition:var(--transition);padding:4px 0;font-size:.92rem;font-weight:500;position:relative}.nav-links a:after{content:"";background:var(--gold);width:0;height:2px;transition:width .3s var(--ease);position:absolute;bottom:-2px;left:0}.nav-links a:hover{color:var(--forest)}.nav-links a:hover:after{width:100%}.nav-cta{background:var(--forest);transition:var(--transition);border:2px solid var(--forest);border-radius:50px;padding:10px 22px;font-size:.88rem;font-weight:600;color:var(--cream)!important}.nav-cta:hover{background:var(--gold);border-color:var(--gold);transform:translateY(-1px);color:var(--dark-walnut)!important}.nav-cta:after{display:none}.nav-toggle{cursor:pointer;background:0 0;border:none;flex-direction:column;gap:5px;padding:8px;display:none}.nav-toggle span{background:var(--forest);width:24px;height:2px;transition:var(--transition);border-radius:2px}.nav-toggle.open span:first-child{transform:translateY(7px)rotate(45deg)}.nav-toggle.open span:nth-child(2){opacity:0}.nav-toggle.open span:nth-child(3){transform:translateY(-7px)rotate(-45deg)}.hero{text-align:center;justify-content:center;align-items:center;min-height:100vh;display:flex;position:relative;overflow:hidden}.hero-bg{z-index:0;position:absolute;inset:0}.hero-bg img{object-fit:cover;width:100%;height:100%}.hero-bg:after{content:"";background:linear-gradient(#2c241b8c 0%,#5c1a2a73 50%,#2c241bb3 100%);position:absolute;inset:0}.hero-content{z-index:1;max-width:800px;color:var(--cream);padding:120px 24px 80px;position:relative}.hero-content h1{color:var(--cream);letter-spacing:-.02em;text-shadow:0 2px 20px #0000004d;margin-bottom:16px;font-size:clamp(2.5rem,6vw,4.5rem);font-weight:900;line-height:1.1}.hero-tagline{font-family:var(--font-display);color:var(--gold-light);margin-bottom:8px;font-size:clamp(1.2rem,2.5vw,1.7rem);font-style:italic}.hero-subtext{letter-spacing:.15em;text-transform:uppercase;color:var(--cream);opacity:.85;margin-bottom:32px;font-size:1rem;font-weight:500}.hero-welcome{color:#f7f3e8e6;max-width:620px;margin:0 auto 44px;font-size:1.05rem;line-height:1.75}.hero-features{grid-template-columns:repeat(4,1fr);gap:16px;max-width:900px;margin:0 auto;display:grid}.hero-feature{-webkit-backdrop-filter:blur(8px);border-radius:var(--radius-md);text-align:center;transition:var(--transition);background:#f7f3e81f;border:1px solid #c89f5e59;padding:20px 16px}.hero-feature:hover{border-color:var(--gold);background:#c89f5e2e;transform:translateY(-4px)}.hero-feature-icon{margin-bottom:8px;font-size:1.6rem}.hero-feature h4{color:var(--gold-light);margin-bottom:6px;font-size:.95rem;font-weight:600}.hero-feature p{color:#f7f3e8cc;font-size:.82rem;line-height:1.45}.hero-scroll{z-index:1;color:var(--cream);opacity:.7;justify-content:center;align-items:center;animation:2s infinite bounce;display:flex;position:absolute;bottom:30px;left:50%;transform:translate(-50%)}@keyframes bounce{0%,to{transform:translate(-50%)translateY(0)}50%{transform:translate(-50%)translateY(10px)}}.boards-grid{grid-template-columns:repeat(3,1fr);gap:28px;display:grid}.board-card{background:var(--cream);border-radius:var(--radius-lg);transition:var(--transition);border:1px solid #c89f5e33;flex-direction:column;display:flex;overflow:hidden}.board-card:hover{border-color:var(--gold);transform:translateY(-8px);box-shadow:0 20px 50px #1b3a2f1f}.board-card-img{width:100%;height:200px;position:relative;overflow:hidden}.board-card-img img{object-fit:cover;width:100%;height:100%;transition:transform .6s var(--ease)}.board-card:hover .board-card-img img{transform:scale(1.08)}.board-card-body{flex-direction:column;flex:1;padding:24px;display:flex}.board-card-body h3{margin-bottom:4px;font-size:1.35rem}.board-serves{color:var(--gold-dark);text-transform:uppercase;letter-spacing:.08em;margin-bottom:12px;font-size:.85rem;font-weight:600}.board-card-body p{color:var(--text-body);flex:1;margin-bottom:20px;font-size:.95rem;line-height:1.6}.board-price{font-family:var(--font-display);color:var(--forest);align-items:baseline;gap:4px;font-size:1.6rem;font-weight:700;display:flex}.board-price small{color:var(--text-muted);font-size:.8rem;font-family:var(--font-body);font-weight:400}.item-grid{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.item-card{background:var(--cream);border-radius:var(--radius-md);transition:var(--transition);border:1px solid #c89f5e26;justify-content:space-between;align-items:center;padding:22px 24px;display:flex;position:relative;overflow:hidden}.item-card:before{content:"";background:var(--gold);width:3px;transition:transform .3s var(--ease);transform-origin:bottom;position:absolute;top:0;bottom:0;left:0;transform:scaleY(0)}.item-card:hover{background:var(--cream-deep);border-color:#c89f5e66;transform:translate(4px)}.item-card:hover:before{transform-origin:top;transform:scaleY(1)}.item-card h4{color:var(--forest);font-size:1.05rem;font-weight:600}.item-price{color:var(--gold-dark);white-space:nowrap;margin-left:16px;font-size:.95rem;font-weight:700}.seasonal-grid{grid-template-columns:repeat(3,1fr);gap:28px;display:grid}.seasonal-card{background:var(--cream);border-radius:var(--radius-lg);text-align:center;transition:var(--transition);border:1px solid #c89f5e33;padding:36px 28px;position:relative;overflow:hidden}.seasonal-card:hover{border-color:var(--gold);transform:translateY(-6px);box-shadow:0 16px 40px #5c1a2a1a}.seasonal-icon{margin-bottom:14px;font-size:2.2rem}.seasonal-card h3{margin-bottom:10px;font-size:1.3rem}.seasonal-card p{color:var(--text-body);font-size:.95rem;line-height:1.6}.custom-orders{text-align:center;max-width:750px;margin:0 auto}.custom-orders h2{margin-bottom:24px;font-size:clamp(2rem,4vw,2.75rem)}.custom-orders p{color:var(--text-body);margin-bottom:36px;font-size:1.15rem;line-height:1.8}.custom-cta{background:var(--forest);color:var(--cream);transition:var(--transition);border:2px solid var(--forest);border-radius:50px;padding:16px 44px;font-size:1.05rem;font-weight:600;display:inline-block}.custom-cta:hover{background:var(--gold);border-color:var(--gold);color:var(--dark-walnut);transform:translateY(-2px);box-shadow:0 10px 30px #c89f5e4d}.contact-section{background:var(--forest);color:var(--cream)}.contact-section .section-header h2{color:var(--cream);max-width:700px;margin:0 auto 14px;font-size:clamp(1.75rem,3.5vw,2.5rem)}.contact-section .section-header .subtitle{color:var(--gold-light)}.contact-grid{grid-template-columns:repeat(3,1fr);gap:24px;max-width:800px;margin:0 auto;display:grid}.contact-card{border-radius:var(--radius-lg);text-align:center;transition:var(--transition);background:#f7f3e814;border:1px solid #c89f5e40;padding:32px 24px}.contact-card:hover{border-color:var(--gold);background:#c89f5e1f;transform:translateY(-4px)}.contact-icon{margin-bottom:12px;font-size:1.8rem}.contact-card h4{color:var(--gold-light);margin-bottom:8px;font-size:1.1rem}.contact-card p{color:var(--cream);font-size:1.1rem;font-weight:500}.contact-card a{color:var(--cream);transition:var(--transition)}.contact-card a:hover{color:var(--gold-light)}.contact-note{text-align:center;color:var(--gold-light);font-size:1.05rem;font-style:italic;font-family:var(--font-display);margin-top:40px}.footer{background:var(--forest-deep);color:var(--cream);text-align:center;padding:60px 0 30px}.footer-brand{font-family:var(--font-display);color:var(--cream);margin-bottom:8px;font-size:1.5rem;font-weight:700}.footer-logo{object-fit:cover;border-radius:50%;width:80px;height:80px;margin:0 auto 24px;display:block}.footer-tagline{font-family:var(--font-display);color:var(--gold-light);margin-bottom:24px;font-size:1.05rem;font-style:italic}.footer-contact{color:#f7f3e8cc;flex-wrap:wrap;justify-content:center;gap:32px;margin-bottom:30px;font-size:.95rem;display:flex}.footer-contact a{color:var(--gold-light);transition:var(--transition)}.footer-contact a:hover{color:var(--cream)}.footer-bottom{color:#f7f3e880;border-top:1px solid #c89f5e26;padding-top:24px;font-size:.85rem}.fade-in{opacity:0;transition:opacity .8s var(--ease), transform .8s var(--ease);transform:translateY(40px)}.fade-in.visible{opacity:1;transform:translateY(0)}.booking-section{background:var(--cream)}.booking-wrap{background:var(--cream);border-radius:var(--radius-xl);border:1px solid #c89f5e40;grid-template-columns:1fr 1fr;max-width:960px;margin:0 auto;display:grid;overflow:hidden;box-shadow:0 12px 40px #1b3a2f14}.booking-calendar{background:var(--forest);color:var(--cream);padding:32px}.cal-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.cal-month{font-family:var(--font-display);color:var(--gold-light);font-size:1.25rem;font-weight:700}.cal-nav-btn{color:var(--gold-light);cursor:pointer;width:36px;height:36px;transition:var(--transition);background:#c89f5e26;border:1px solid #c89f5e4d;border-radius:50%;justify-content:center;align-items:center;font-size:1.1rem;display:flex}.cal-nav-btn:hover{border-color:var(--gold);background:#c89f5e4d}.cal-nav-btn:disabled{opacity:.3;cursor:not-allowed}.cal-weekdays{grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:8px;display:grid}.cal-weekdays span{text-align:center;color:var(--gold);text-transform:uppercase;letter-spacing:.05em;padding:4px 0;font-size:.75rem;font-weight:600}.cal-days{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.cal-day{aspect-ratio:1;cursor:pointer;transition:var(--transition);color:var(--cream);background:0 0;border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;font-size:.9rem;font-weight:500;display:flex}.cal-day:hover:not(.cal-disabled):not(.cal-selected){background:#c89f5e33;border-color:#c89f5e66}.cal-day.cal-empty{cursor:default;pointer-events:none}.cal-day.cal-disabled{color:#f7f3e840;cursor:not-allowed}.cal-day.cal-selected{background:var(--gold);color:var(--forest-deep);border-color:var(--gold);font-weight:700}.cal-day.cal-today:not(.cal-selected){border-color:var(--gold);color:var(--gold-light)}.booking-form-side{flex-direction:column;gap:16px;padding:32px;display:flex}.booking-form-side h3{margin-bottom:4px;font-size:1.3rem}.booking-form-side .form-intro{color:var(--text-muted);margin-bottom:8px;font-size:.9rem}.booking-field{flex-direction:column;gap:6px;display:flex}.booking-field label{color:var(--forest);text-transform:uppercase;letter-spacing:.04em;font-size:.82rem;font-weight:600}.booking-field input,.booking-field select{border-radius:var(--radius-sm);font-family:var(--font-body);color:var(--text-body);background:var(--cream);transition:var(--transition);border:1px solid #c89f5e4d;outline:none;padding:12px 14px;font-size:.95rem}.booking-field input:focus,.booking-field select:focus{border-color:var(--gold);box-shadow:0 0 0 3px #c89f5e26}.booking-field input::placeholder{color:var(--text-muted);opacity:.6}.booking-date-display{border-radius:var(--radius-sm);background:var(--cream);color:var(--text-body);border:1px solid #c89f5e4d;padding:12px 14px;font-size:.95rem}.booking-date-display.has-date{border-color:var(--gold);color:var(--forest);background:#c89f5e1a;font-weight:600}.booking-submit{background:var(--forest);color:var(--cream);border-radius:var(--radius-sm);font-family:var(--font-body);cursor:pointer;transition:var(--transition);border:none;margin-top:8px;padding:14px;font-size:1rem;font-weight:600}.booking-submit:hover{background:var(--gold);color:var(--forest-deep);transform:translateY(-2px);box-shadow:0 8px 24px #c89f5e4d}.booking-confirmation{text-align:center;background:var(--forest);border-radius:var(--radius-lg);color:var(--cream);padding:40px 24px}.booking-confirmation .check-icon{background:var(--gold);width:64px;height:64px;color:var(--forest-deep);border-radius:50%;justify-content:center;align-items:center;margin:0 auto 20px;display:flex}.booking-confirmation h3{color:var(--gold-light);margin-bottom:16px;font-size:1.5rem}.booking-confirmation p{color:#f7f3e8e6;max-width:480px;margin:0 auto;font-size:1rem;line-height:1.7}.booking-confirmation .book-again-btn{background:var(--gold);color:var(--forest-deep);cursor:pointer;transition:var(--transition);border:none;border-radius:50px;margin-top:24px;padding:12px 28px;font-weight:600}.booking-confirmation .book-again-btn:hover{background:var(--gold-light);transform:translateY(-2px)}@media (width<=1024px){.boards-grid,.seasonal-grid,.item-grid,.hero-features{grid-template-columns:repeat(2,1fr)}}@media (width<=768px){.section{padding:70px 0}.nav-links{background:var(--cream);max-height:0;transition:max-height .4s var(--ease);border-bottom:1px solid #c89f5e33;flex-direction:column;gap:0;padding:0;position:fixed;top:72px;left:0;right:0;overflow:hidden}.nav-links.open{max-height:460px}.nav-links a{text-align:center;border-bottom:1px solid #c89f5e1a;width:100%;padding:14px}.nav-links a:after{display:none}.nav-links .nav-cta{width:fit-content;margin:16px auto}.nav-toggle{display:flex}.boards-grid,.seasonal-grid,.item-grid{grid-template-columns:1fr}.hero-features{grid-template-columns:1fr 1fr;gap:12px}.contact-grid{grid-template-columns:1fr}.footer-contact{flex-direction:column;gap:12px}.booking-wrap{grid-template-columns:1fr}.booking-calendar,.booking-form-side{padding:24px}}@media (width<=480px){.hero-features{grid-template-columns:1fr}.hero-content{padding:100px 20px 60px}}
