@font-face{font-family:"Open Sauce Sans";src:url("assets/fonts/OpenSauceSans-Regular.woff") format("woff");font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:"Open Sauce Sans";src:url("assets/fonts/OpenSauceSans-Medium.woff") format("woff");font-style:normal;font-weight:500;font-display:swap}
@font-face{font-family:"Open Sauce Sans";src:url("assets/fonts/OpenSauceSans-SemiBold.woff") format("woff");font-style:normal;font-weight:600;font-display:swap}
@font-face{font-family:"Open Sauce Sans";src:url("assets/fonts/OpenSauceSans-Bold.woff") format("woff");font-style:normal;font-weight:700;font-display:swap}
@font-face{font-family:"Lilita One";src:url("assets/fonts/LilitaOne-Regular.woff") format("woff");font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:"Satisfy";src:url("assets/fonts/Satisfy-Regular.woff") format("woff");font-style:normal;font-weight:400;font-display:swap}

:root{
  --green:#436059;
  --ink:#222726;
  --ivory:#f7f4ed;
  --cream:#fff1cd;
  --peach:#fbd3c6;
  --pink:#f1b6c1;
  --line:#d9d5cc;
  --pad:clamp(24px,5.5vw,84px);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--ivory);color:var(--ink);font-family:"Open Sauce","DM Sans",Arial,sans-serif;line-height:1.6}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
h1,h2,h3{font-family:"Gliker","Cooper Black","Arial Rounded MT Bold",sans-serif;letter-spacing:-.035em;line-height:1;margin:0}
h1{font-size:clamp(3.4rem,6.2vw,6.8rem)}
h2{font-size:clamp(2.8rem,5vw,5.2rem)}
h3{font-size:1.2rem}
p{margin-top:0}

.topbar{
  height:76px;
  background:rgba(247,244,237,.96);
  backdrop-filter:blur(14px);
  padding:0 var(--pad);
  display:flex;
  align-items:center;
  justify-content:space-between;
  border-bottom:1px solid var(--line);
  position:sticky;
  top:0;
  z-index:50;
}
.logo img{width:104px;max-height:38px;object-fit:contain}
nav{display:flex;gap:26px;align-items:center;font-size:12px;font-weight:600}
.contact-pill{background:var(--green);color:white;padding:10px 16px;border-radius:999px}

.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:10px;font-weight:700;color:var(--green)}
.index{display:block;font-size:11px;font-weight:800;color:var(--green);margin-bottom:14px}
.btn{display:inline-flex;align-items:center;justify-content:center;padding:14px 19px;border-radius:999px;font-weight:700;font-size:13px;border:1px solid transparent}
.primary{background:var(--green);color:white}
.secondary{background:transparent;border-color:#bbb5aa}
.text-link{display:inline-block;margin-top:13px;font-weight:700;border-bottom:1px solid currentColor}

.hero{
  padding:52px var(--pad) 78px;
  display:grid;
  grid-template-columns:1.08fr .92fr;
  gap:clamp(42px,7vw,100px);
  align-items:center;
}
.hero-visual{
  background:var(--green);
  border-radius:28px;
  padding:18px;
}
.hero-visual img{
  width:100%;
  height:auto;
  object-fit:contain;
  border-radius:16px;
}
.hero-copy{max-width:610px}
.hero-copy h1{color:var(--green);margin:14px 0 24px}
.hero-lead{font-size:1.08rem;max-width:540px}
.hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:27px}

.intro{
  padding:86px var(--pad);
  background:var(--cream);
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:70px;
  align-items:end;
}
.intro h2{color:var(--green);margin-top:12px}
.intro-copy{font:italic clamp(1.2rem,1.9vw,1.75rem)/1.5 Georgia,serif;max-width:650px}

.service-section{
  padding:82px var(--pad) 92px;
  border-top:1px solid rgba(34,39,38,.09);
}
.service-header{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:70px;
  align-items:end;
  margin-bottom:48px;
}
.service-header h2{color:var(--green);margin-top:10px}
.service-text{max-width:560px;justify-self:end}
.service-text p{margin-bottom:6px}

.photo-row{
  display:grid;
  gap:14px;
}
.photo-row-3{grid-template-columns:repeat(3,1fr)}
figure{margin:0}
figure img{
  width:100%;
  height:auto;
  max-height:420px;
  object-fit:contain;
  object-position:center;
  border-radius:16px;
}
figcaption{
  padding-top:8px;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.11em;
  color:#6d716f;
}

.chef-section{background:var(--ivory)}
.buffet-section{background:var(--green);color:white}
.buffet-section .eyebrow,.buffet-section .index,.buffet-section h2{color:var(--cream)}
.buffet-section .text-link{color:white}
.buffet-section figcaption{color:#d7dedb}
.photo-grid-events{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:14px;
}
.photo-grid-events img{
  width:100%;
  height:auto;
  max-height:360px;
  object-fit:contain;
  border-radius:16px;
}
.brunch-section{background:var(--peach)}

.celebration-section{
  padding:86px var(--pad);
  background:var(--cream);
  display:grid;
  grid-template-columns:.95fr 1.05fr;
  gap:70px;
  align-items:center;
}
.celebration-photo{
  display:flex;
  justify-content:center;
}
.celebration-photo img{
  width:auto;
  max-width:100%;
  max-height:520px;
  object-fit:contain;
  border-radius:18px;
}
.celebration-copy h2{color:var(--green);margin:10px 0 20px}
.celebration-copy p{max-width:560px}

.process{
  padding:90px var(--pad);
  background:var(--ivory);
  display:grid;
  grid-template-columns:.8fr 1.2fr;
  gap:70px;
}
.process-title h2{color:var(--green);margin-top:10px}
.process-steps{border-top:1px solid var(--line)}
.process-steps article{
  display:grid;
  grid-template-columns:54px .75fr 1.25fr;
  gap:20px;
  padding:25px 0;
  border-bottom:1px solid var(--line);
}
.process-steps span{font-size:11px;font-weight:800;color:var(--green)}
.process-steps p{margin:0;color:#626864}

.batch{
  padding:82px var(--pad);
  background:var(--pink);
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:70px;
  align-items:end;
}
.batch h2{color:var(--green);margin-top:10px}
.batch-copy{max-width:570px}

.contact{
  padding:96px var(--pad);
  background:var(--ink);
  color:white;
  display:grid;
  grid-template-columns:.72fr 1.28fr;
  gap:70px;
}
.contact .eyebrow,.contact h2{color:var(--peach)}
.contact h2{margin:10px 0 22px}
.contact-intro>p:not(.eyebrow){color:#c6ccca;max-width:520px}
.zone{margin-top:30px;font-size:12px;color:#a9b0ad}
form{
  background:#2e3433;
  border-radius:22px;
  padding:34px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
}
label{
  display:flex;
  flex-direction:column;
  gap:6px;
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:#c8cecb;
}
.wide{grid-column:1/-1}
input,select,textarea{
  background:transparent;
  color:white;
  border:0;
  border-bottom:1px solid #646b68;
  padding:11px 2px;
  font:inherit;
  outline:0;
}
select option{color:var(--ink)}
.form-btn{background:var(--peach);color:var(--ink);cursor:pointer}

footer{
  background:#171a19;
  color:#aeb4b2;
  padding:36px var(--pad);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  font-size:11px;
}
footer img{width:100px}

@media(max-width:1050px){
  .photo-grid-events{grid-template-columns:1fr 1fr}
}
@media(max-width:850px){
  nav a:not(.contact-pill){display:none}
  .hero,.intro,.service-header,.celebration-section,.process,.batch,.contact{grid-template-columns:1fr}
  .hero{padding-top:30px}
  .service-text{justify-self:start}
  .photo-row-3{grid-template-columns:1fr 1fr}
  .photo-row-3 figure:first-child{grid-column:1/-1}
  .process-steps article{grid-template-columns:42px 1fr}
  .process-steps p{grid-column:2}
}
@media(max-width:560px){
  .hero,.intro,.service-section,.celebration-section,.process,.batch,.contact{padding-left:24px;padding-right:24px}
  .hero{padding-bottom:58px}
  .hero-visual{padding:10px;border-radius:20px}
  .hero-visual img{border-radius:12px}
  .hero-copy h1{font-size:3.6rem}
  .intro,.service-section,.celebration-section,.process,.batch{padding-top:66px;padding-bottom:66px}
  .photo-row-3,.photo-grid-events{grid-template-columns:1fr}
  .photo-row-3 figure:first-child{grid-column:auto}
  figure img,.photo-grid-events img{max-height:none}
  form{grid-template-columns:1fr;padding:23px}
  form>*{grid-column:1}
  footer{flex-direction:column;align-items:flex-start}
}



/* Compact photo mosaics, original assets, a single responsive layout. */
.photo-row,.photo-grid-events{width:100%;max-width:940px;margin:0 auto;display:grid;gap:10px;align-items:stretch}
.photo-row-chef{grid-template-columns:repeat(6,minmax(0,1fr));grid-auto-rows:300px}
.photo-row-chef figure{grid-column:span 2}
.photo-row-chef figure:nth-child(-n+2){grid-column:span 3}
.photo-grid-events{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:340px}
.brunch-section .photo-row-3{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:340px}
.photo-row figure,.photo-grid-events figure{min-width:0;margin:0;padding:0;border:0;border-radius:20px;overflow:hidden}
.photo-row figure img,.photo-grid-events figure img{width:100%;height:100%;max-height:none;object-fit:cover;object-position:center;border-radius:20px}
.photo-row figcaption,.photo-grid-events figcaption{display:none}
.service-header{margin-bottom:32px}
.celebration-photo img{width:auto;max-height:430px;border-radius:20px}
.hero-visual{padding:0;overflow:hidden}
.hero-visual img{border-radius:28px}
nav,.btn,.zone{font-size:14px}
.eyebrow,.index,footer{font-size:12px}
label{font-size:14px;text-transform:none;letter-spacing:0}
input,select,textarea{font-size:16px}
input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--peach);outline-offset:4px}
a:focus-visible,button:focus-visible{outline:3px solid #c87543;outline-offset:5px}
[id]{scroll-margin-top:96px}
.form-note{font-size:14px;color:#c8cecb;margin:0}
.rates-hero .eyebrow{color:var(--cream)}
@media(max-width:850px){
 .photo-row-chef{grid-auto-rows:250px}
 .photo-grid-events,.brunch-section .photo-row-3{grid-auto-rows:280px}
 .brunch-section .photo-row-3 figure:first-child{grid-column:auto}
 h2{font-size:clamp(2.4rem,7vw,4rem)}
 .service-header,.intro,.celebration-section,.process,.batch,.contact{gap:30px}
}
@media(max-width:560px){
 .photo-row-chef,.photo-grid-events,.brunch-section .photo-row-3{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:210px;gap:8px}
 .photo-row-chef figure,.photo-row-chef figure:nth-child(-n+2){grid-column:auto}
 .photo-row-chef figure:first-child{grid-column:1/-1}
 .brunch-section .photo-row-3 figure:last-child{grid-column:1/-1}
 .photo-row figure,.photo-grid-events figure,.photo-row figure img,.photo-grid-events figure img{border-radius:16px}
 .topbar{padding:0 18px;gap:12px}
 .logo img{width:90px}
 .contact-pill{padding:10px 12px;font-size:12px}
 .hero-copy h1{font-size:clamp(2.6rem,11vw,3.6rem)}
 .service-section{padding-top:48px;padding-bottom:48px}
 .price-card h3{overflow-wrap:anywhere}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* GIOIA typography: supplied visual hierarchy, locally hosted fonts. */
body{font-family:"Open Sauce Sans",Arial,sans-serif}
h1,h2{font-family:"Gliker","Lilita One",sans-serif;font-weight:400;letter-spacing:0;line-height:1.08}
h3{font-family:"Open Sauce Sans",Arial,sans-serif;font-weight:700;letter-spacing:-.025em;line-height:1.2}
.intro-copy{font-family:"Satisfy",cursive;font-style:normal;font-size:clamp(1.65rem,2.4vw,2.2rem);line-height:1.45}
.price,.back{font-weight:700}

/* Feature the Mediterranean buffet photograph at the left of its row. */
.photo-grid-events{display:flex;flex-direction:column;gap:10px}
.event-photo-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;min-width:0;height:340px}
.event-photo-row:first-child{grid-template-columns:1.25fr 1fr 1fr}
.photo-grid-events .event-featured img{object-position:center top}
@media(max-width:850px){.event-photo-row{height:280px}}
@media(max-width:560px){
 .photo-grid-events{display:grid;grid-template-columns:1.15fr 1fr;grid-auto-rows:210px;gap:8px}
 .event-photo-row,.event-photo-row:first-child{display:contents}
}
