:root{--ink:#213b35;--cream:#f5f0e7;--coral:#dd654c;--sage:#aeb9a0;--line:#d7d2c8}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',sans-serif;font-size:15px}.nav{height:82px;display:flex;align-items:center;justify-content:space-between;padding:0 5.5%;position:fixed;top:0;left:0;width:100%;z-index:20;color:white;transition:background .3s,box-shadow .3s,color .3s}.nav.scrolled{background:rgba(245,240,231,.96);backdrop-filter:blur(6px);color:var(--ink);box-shadow:0 6px 24px rgba(20,38,33,.1)}.nav.scrolled .admin-lock{color:rgba(33,59,53,.55)}.brand{font:600 34px 'Playfair Display',serif;text-decoration:none;color:inherit;letter-spacing:-2px}.brand span{color:var(--coral)}nav{display:flex;gap:30px}nav a{color:inherit;text-decoration:none;font-size:13px}.admin-lock{display:inline-flex;color:rgba(255,255,255,.6);opacity:.75;transition:opacity .2s,transform .2s}.admin-lock:hover{opacity:1;transform:scale(1.1)}.hero{height:760px;background:linear-gradient(90deg,rgba(19,44,37,.81) 0%,rgba(19,44,37,.42) 44%,rgba(19,44,37,.07) 100%),url('assets/hero-buffet.png') center/cover;position:relative;color:white;display:flex;align-items:center;padding:7%}.hero-copy{max-width:650px;margin-top:45px}.eyebrow{font-size:11px;letter-spacing:1.8px;text-transform:uppercase;margin:0 0 22px;font-weight:600}.hero h1,h2{font:500 clamp(48px,6vw,80px)/1.03 'Playfair Display',serif;letter-spacing:-3px;margin:0}.hero h1 em,h2 em{font-weight:500}.lead{font-size:17px;line-height:1.6;max-width:420px;margin:25px 0 32px}.button{display:inline-flex;gap:25px;align-items:center;padding:15px 20px;text-decoration:none;border:0;cursor:pointer;font:600 12px 'DM Sans';letter-spacing:.3px}.button span{font-size:20px;line-height:12px}.light{color:var(--ink);background:var(--cream)}.dark{color:var(--cream);background:var(--ink)}.scroll{position:absolute;bottom:35px;left:7%;font-size:10px;letter-spacing:2px}.scroll i{display:inline-block;width:60px;height:1px;background:white;margin:0 0 3px 12px}.intro{padding:145px 11% 100px;display:grid;grid-template-columns:1.1fr 1fr;gap:10px}.intro .eyebrow{grid-column:1/-1}.intro h2,.section-head h2,.contact h2{font-size:55px}.intro-text{align-self:end;max-width:370px}.intro-text p,.section-head>p,.contact-copy{line-height:1.7;color:#4a5b56;margin-top:0}.text-link,.mail{color:var(--coral);font-weight:600;text-decoration:none}.text-link span{font-size:20px;margin-left:8px}.features{background:var(--sage);padding:90px 11%;display:grid;grid-template-columns:repeat(3,1fr);gap:70px}.features article{border-top:1px solid rgba(33,59,53,.45);padding-top:22px;transition:transform .3s}.features article:hover{transform:translateY(-6px)}.features span{font:italic 32px 'Playfair Display';color:#567169}.feature-icon{display:block;width:52px;height:52px;color:var(--coral);margin:24px 0 8px}.features h3{font:500 38px 'Playfair Display';margin:26px 0 16px}.features p{font-size:16px;line-height:1.65;max-width:270px}.catalog{padding:145px 7%}.section-head{display:flex;justify-content:space-between;align-items:end;margin:0 4% 55px;gap:30px}.section-head>p{max-width:330px;font-size:14px}.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.product{min-height:380px;padding:28px;display:flex;flex-direction:column;justify-content:end;position:relative;overflow:hidden;color:white;background-size:cover;background-position:center;transition:transform .35s}.product:hover{transform:translateY(-5px)}.product:before{content:'';position:absolute;inset:0;background:linear-gradient(transparent 25%,rgba(15,37,31,.83));transition:.35s}.product>*{position:relative}.product:nth-child(1){background-image:linear-gradient(135deg,#d4966b,#5c3228)}.product:nth-child(2){background-image:linear-gradient(135deg,#94a97c,#344b39)}.product:nth-child(3){background-image:linear-gradient(135deg,#dda97e,#754332)}.product:nth-child(4){background-image:linear-gradient(135deg,#a65c46,#f1c782)}.product:nth-child(5){background-image:linear-gradient(135deg,#d2b4a0,#715449)}.product:nth-child(6){background-image:linear-gradient(135deg,#839f93,#f1dfb8)}.product h3{font:500 29px 'Playfair Display';margin:0 0 5px}.product p{margin:0 0 20px;font-size:13px;line-height:1.5;max-width:230px}.add{align-self:flex-start;color:var(--ink);background:var(--cream);border:0;padding:10px 13px;font:600 11px 'DM Sans';cursor:pointer}.add:hover{background:var(--coral);color:white}.photo-disclaimer{font-size:11px;color:#8a968f;margin:14px 4% 0;font-style:italic}
.insta{padding:100px 7%}.insta-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}.insta-item{display:block;aspect-ratio:1;position:relative;overflow:hidden;transition:transform .35s,box-shadow .35s;box-shadow:0 0 0 rgba(20,38,33,0);background:var(--sage)}.insta-item img{width:100%;height:100%;object-fit:cover;display:block}.insta-item:hover{transform:scale(1.04);box-shadow:0 14px 30px rgba(20,38,33,.25);z-index:1}.insta-empty{color:#7c8b84;font-size:13px}.gallery-more{text-align:center;margin-top:36px}@media(max-width:900px){.insta-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:720px){.insta-grid{grid-template-columns:repeat(2,1fr)}.insta{padding:60px 5%}}

.reveal{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s ease}
.reveal.in{opacity:1;transform:translateY(0)}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}

.hero{position:relative}
.hero:after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 70% 20%,rgba(221,101,76,.16),transparent 55%);pointer-events:none}
.hero-copy .button.light{transition:transform .3s,box-shadow .3s}
.hero-copy .button.light:hover{transform:translateY(-3px);box-shadow:0 16px 34px rgba(0,0,0,.28)}
.scroll i{transition:width .3s}
.scroll:hover i{width:80px}

.trust-strip{display:flex;flex-wrap:wrap;gap:10px 34px;padding:26px 7% 0;color:#4a5b56;font-size:12.5px;letter-spacing:.2px}
.trust-strip span{display:flex;align-items:center;gap:8px}
.trust-strip span:before{content:'';width:6px;height:6px;border-radius:50%;background:var(--coral)}
.trust-strip span[hidden]{display:none}


.tag-filters{display:flex;gap:10px;flex-wrap:wrap;margin:0 4% 30px}
.tag-filters button{border:1px solid var(--ink);background:transparent;color:var(--ink);padding:9px 16px;font:600 11px 'DM Sans';letter-spacing:.3px;cursor:pointer;transition:background .2s,color .2s}
.tag-filters button.active,.tag-filters button:hover{background:var(--ink);color:var(--cream)}
.product-tags{position:absolute;top:16px;left:16px;display:flex;gap:6px;flex-wrap:wrap;z-index:1}
.product-tags span{background:rgba(245,240,231,.92);color:var(--ink);font-size:10px;padding:4px 9px;letter-spacing:.3px}

.text-link,.button{transition:transform .25s ease,box-shadow .25s ease}
.text-link:hover{transform:translateX(3px)}
.button.dark:hover{transform:translateY(-2px);box-shadow:0 12px 26px rgba(20,38,33,.3)}

.quote-banner{position:relative;overflow:hidden}
.quote-banner:before{content:'';position:absolute;inset:-40% -10%;background:radial-gradient(circle,rgba(255,255,255,.12),transparent 60%);animation:drift 14s ease-in-out infinite alternate}
@keyframes drift{from{transform:translate(-4%,-2%) scale(1)}to{transform:translate(4%,3%) scale(1.08)}}
.quote-banner>*{position:relative}
.quote-banner{background:var(--coral);color:#fff8ed;text-align:center;padding:115px 20px}.quote-banner h2{font-size:58px;margin-bottom:32px}.quote-banner .dark{background:#fff8ed;color:var(--ink)}.contact{padding:130px 11%;display:grid;grid-template-columns:1fr 1fr;gap:13%;align-items:start}.contact-copy{max-width:380px;margin:30px 0 22px}.mail{font:500 25px 'Playfair Display';border-bottom:1px solid var(--coral)}form{display:grid;gap:22px}label{font-size:11px;letter-spacing:1px;text-transform:uppercase;font-weight:600}input,textarea{display:block;border:0;border-bottom:1px solid #9da79c;background:transparent;width:100%;padding:13px 0 11px;margin-top:5px;font:15px 'DM Sans';color:var(--ink);outline:none}textarea{height:95px;resize:vertical}.form-note{margin:0;color:var(--coral);font-size:13px}footer{border-top:1px solid var(--line);padding:35px 5.5%;display:flex;align-items:center;justify-content:space-between;color:#64736d;font-size:12px}.footer-legal{color:inherit;text-decoration:underline}footer .brand{color:var(--ink);font-size:28px}.empty{color:#748078}@media(max-width:720px){.nav{padding:0 6%;height:70px}.nav nav{display:none}.hero{height:680px;padding:8%}.hero h1{font-size:52px}.intro,.contact{padding:85px 7%;display:block}.intro h2,.section-head h2,.contact h2{font-size:43px}.intro-text{margin-top:28px}.features{grid-template-columns:1fr;padding:50px 8%;gap:25px}.features span{font-size:24px}.feature-icon{width:36px;height:36px;margin:18px 0 4px}.features h3{font-size:27px;margin:20px 0 12px}.features p{font-size:15px;max-width:none}.catalog{padding:85px 5%}.section-head{display:block;margin:0 3% 32px}.section-head>p{margin-top:23px}.product-grid{grid-template-columns:1fr}.product{min-height:300px}.contact>div{margin-bottom:55px}footer{display:block}footer p{margin:15px 0}.quote-banner{padding:80px 20px}.quote-banner h2{font-size:42px}}
