/* ============================================================
   TASTE THE WILD CATERING : shared styles
   Warm Earthy Bahamian (upscale)
   Display: DM Serif Display  |  Body: Sora
   ============================================================ */

:root{
  --espresso-900: 22 32% 7%;
  --espresso-800: 22 28% 10%;
  --espresso-700: 22 24% 14%;
  --clay:          20 58% 50%;
  --clay-soft:     22 52% 58%;
  --emerald:      156 30% 30%;
  --emerald-deep: 158 34% 20%;
  --brass:         38 62% 60%;
  --brass-soft:    38 48% 70%;
  --cream:         38 40% 93%;
  --muted:         30 14% 46%;

  --fs-xs:12px; --fs-sm:14px; --fs-base:16px; --fs-md:18px;
  --fs-lg:22px; --fs-xl:30px; --fs-2xl:40px; --fs-3xl:56px;
  --font-display:'DM Serif Display', Georgia, serif;
  --font-body:'Sora', system-ui, sans-serif;

  --s1:4px; --s2:8px; --s3:12px; --s4:16px; --s6:24px; --s8:32px;
  --s12:48px; --s16:64px; --s24:96px; --s32:128px;

  --sh-xs:0 1px 2px hsl(22 40% 4% / .3);
  --sh-sm:0 2px 8px hsl(22 40% 4% / .35);
  --sh-md:0 8px 24px hsl(22 40% 4% / .4);
  --sh-lg:0 18px 48px hsl(22 40% 4% / .5);
  --sh-xl:0 30px 70px hsl(22 40% 4% / .55);

  /* real client photos pulled from live GoDaddy site */
  --img-hero:url("https://img1.wsimg.com/isteam/ip/347c3941-5cea-4864-8ce2-f11817528adb/PHOTO-2024-03-17-10-50-36.jpg/:/rs=w:1920,h:1280,cg:true,m");
  --img-chef:url("https://img1.wsimg.com/isteam/ip/347c3941-5cea-4864-8ce2-f11817528adb/PHOTO-2024-03-17-10-50-53.jpg/:/rs=w:900,h:1100,cg:true,m");
  --img-dish1:url("https://img1.wsimg.com/isteam/stock/61368/:/rs=w:1000,h:1000,cg:true,m");
  --img-dish2:url("https://img1.wsimg.com/isteam/stock/61357/:/rs=w:1000,h:1000,cg:true,m");
}

*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{font-family:var(--font-body);background:hsl(var(--espresso-900));color:hsl(var(--cream));overflow-x:hidden;line-height:1.6;-webkit-font-smoothing:antialiased;}
a{color:inherit;}
img{max-width:100%;display:block;}
.wrap{max-width:1240px;margin:0 auto;padding:0 clamp(24px,5vw,64px);}
section{position:relative;}

.grain::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.05;z-index:1;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");}

/* cursor */
.cursor-dot,.cursor-ring{position:fixed;top:0;left:0;border-radius:50%;pointer-events:none;z-index:9999;mix-blend-mode:screen;}
.cursor-dot{width:6px;height:6px;background:hsl(var(--brass));transform:translate(-50%,-50%);}
.cursor-ring{width:34px;height:34px;border:1px solid hsl(var(--brass)/.6);transform:translate(-50%,-50%);transition:width .25s,height .25s,border-color .25s,background .25s;}
.cursor-ring.hovering{width:54px;height:54px;border-color:hsl(var(--clay));background:hsl(var(--clay)/.08);}
@media(hover:none),(pointer:coarse){.cursor-dot,.cursor-ring{display:none;}}

/* reveal */
.reveal{opacity:0;transform:translateY(34px);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1);}
.reveal.visible{opacity:1;transform:translateY(0);}
.reveal-l{opacity:0;transform:translateX(-44px);transition:opacity .8s,transform .8s;}
.reveal-r{opacity:0;transform:translateX(44px);transition:opacity .8s,transform .8s;}
.reveal-l.visible,.reveal-r.visible{opacity:1;transform:translateX(0);}
.rg>*{opacity:0;transform:translateY(30px);transition:opacity .7s,transform .7s;}
.rg.visible>*{opacity:1;transform:translateY(0);}
.rg.visible>*:nth-child(2){transition-delay:.1s;}
.rg.visible>*:nth-child(3){transition-delay:.2s;}
.rg.visible>*:nth-child(4){transition-delay:.3s;}
.rg.visible>*:nth-child(5){transition-delay:.4s;}
.rg.visible>*:nth-child(6){transition-delay:.5s;}

/* nav */
header{position:fixed;top:0;left:0;width:100%;z-index:100;transition:background .4s,backdrop-filter .4s,box-shadow .4s,padding .4s;padding:22px 0;}
header.scrolled{background:hsl(var(--espresso-900)/.92);backdrop-filter:blur(14px);box-shadow:0 1px 0 hsl(var(--brass)/.12);padding:14px 0;}
.nav{display:flex;align-items:center;justify-content:space-between;}
.logo{font-family:var(--font-display);font-size:var(--fs-lg);letter-spacing:.01em;text-decoration:none;}
.logo span{font-style:italic;color:hsl(var(--brass));}
.nav-links{display:flex;gap:32px;align-items:center;}
.nav-links a{text-decoration:none;font-size:var(--fs-sm);font-weight:300;letter-spacing:.03em;color:hsl(var(--cream)/.82);position:relative;transition:color .3s;}
.nav-links a::after{content:"";position:absolute;left:0;bottom:-6px;width:0;height:1.5px;background:hsl(var(--brass));transition:width .3s;}
.nav-links a:hover,.nav-links a.active{color:hsl(var(--cream));}
.nav-links a:hover::after,.nav-links a.active::after{width:100%;}
.nav-cta{text-decoration:none;font-size:var(--fs-sm);font-weight:500;padding:11px 22px;border-radius:999px;background:hsl(var(--clay));color:hsl(var(--espresso-900));transition:transform .2s,box-shadow .2s,background .3s;box-shadow:var(--sh-sm);}
.nav-cta:hover{transform:translateY(-2px);background:hsl(var(--clay-soft));box-shadow:var(--sh-md);}
.burger{display:none;background:none;border:none;cursor:pointer;flex-direction:column;gap:5px;}
.burger span{width:26px;height:2px;background:hsl(var(--cream));transition:.3s;}

/* buttons */
.btn{text-decoration:none;font-weight:500;font-size:var(--fs-base);padding:17px 32px;border-radius:12px;transition:transform .2s,box-shadow .2s,background .3s,border-color .3s;display:inline-flex;align-items:center;gap:10px;}
.btn-primary{background:hsl(var(--clay));color:hsl(var(--espresso-900));box-shadow:var(--sh-md);}
.btn-primary:hover{transform:translateY(-3px);background:hsl(var(--clay-soft));box-shadow:var(--sh-lg);}
.btn-ghost{color:hsl(var(--cream));border:1px solid hsl(var(--cream)/.24);}
.btn-ghost:hover{border-color:hsl(var(--brass));background:hsl(var(--brass)/.08);transform:translateY(-3px);}

/* shared eyebrows + titles */
.eyebrow{font-size:var(--fs-xs);font-weight:600;letter-spacing:.28em;text-transform:uppercase;color:hsl(var(--brass-soft));display:inline-flex;align-items:center;gap:14px;margin-bottom:var(--s6);}
.eyebrow::before{content:"";width:34px;height:1px;background:hsl(var(--brass)/.6);}
.section-eyebrow{font-size:var(--fs-xs);font-weight:600;letter-spacing:.28em;text-transform:uppercase;color:hsl(var(--clay-soft));display:inline-flex;align-items:center;gap:14px;margin-bottom:var(--s6);}
.section-eyebrow::before{content:"";width:30px;height:1px;background:hsl(var(--clay)/.7);}
.section-eyebrow.center{justify-content:center;}
h2.section-title{font-family:var(--font-display);font-size:clamp(34px,5vw,var(--fs-3xl));line-height:1.04;letter-spacing:-.01em;}
h2.section-title em{font-style:italic;color:hsl(var(--clay-soft));}

/* page hero (interior pages) */
.page-hero{padding:calc(var(--s32) + 40px) 0 var(--s24);position:relative;overflow:hidden;background:linear-gradient(160deg,hsl(var(--espresso-800)),hsl(var(--espresso-900)));}
.page-hero::after{content:"";position:absolute;inset:0;z-index:0;background:radial-gradient(80% 70% at 88% 0%,hsl(var(--clay)/.28),transparent 55%),radial-gradient(70% 70% at 5% 100%,hsl(var(--emerald)/.32),transparent 55%);}
.page-hero .wrap{position:relative;z-index:2;}
.page-hero h1{font-family:var(--font-display);font-size:clamp(44px,7vw,84px);line-height:1;letter-spacing:-.01em;}
.page-hero h1 em{font-style:italic;color:hsl(var(--clay-soft));}
.page-hero p{font-weight:300;color:hsl(var(--cream)/.8);max-width:58ch;margin-top:var(--s6);font-size:var(--fs-md);}

/* image placeholder */
.ph{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center;color:hsl(var(--brass-soft)/.7);}
.ph .ph-cap{font-family:var(--font-display);font-style:italic;font-size:var(--fs-md);}
.ph .ph-tag{font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:hsl(var(--muted));}

/* contact block (reused) */
.contact-band{padding:var(--s32) 0;background:linear-gradient(160deg,hsl(var(--emerald-deep)),hsl(var(--espresso-900)));text-align:center;position:relative;overflow:hidden;}
.contact-band .grain::before{opacity:.07;}
.contact-inner{position:relative;z-index:5;max-width:760px;margin:0 auto;}
.contact-inner h2{font-family:var(--font-display);font-size:clamp(36px,6vw,64px);line-height:1.05;}
.contact-inner h2 em{font-style:italic;color:hsl(var(--brass));}
.contact-inner p{font-weight:300;color:hsl(var(--cream)/.82);margin-top:var(--s6);font-size:var(--fs-md);}
.contact-methods{display:flex;flex-wrap:wrap;gap:var(--s8);justify-content:center;margin-top:var(--s12);}
.method{display:flex;flex-direction:column;align-items:center;gap:4px;}
.method .lbl{font-size:var(--fs-xs);letter-spacing:.2em;text-transform:uppercase;color:hsl(var(--muted));}
.method a,.method span.val{text-decoration:none;font-family:var(--font-display);font-size:var(--fs-lg);color:hsl(var(--cream));transition:color .3s;}
.method a:hover{color:hsl(var(--brass));}
.contact-cta{margin-top:var(--s16);}
.wa-btn{text-decoration:none;font-weight:600;font-size:var(--fs-md);padding:20px 44px;border-radius:14px;background:hsl(var(--clay));color:hsl(var(--espresso-900));box-shadow:var(--sh-lg);display:inline-flex;align-items:center;gap:12px;transition:transform .2s,box-shadow .2s,background .3s;}
.wa-btn:hover{transform:translateY(-3px);background:hsl(var(--clay-soft));box-shadow:var(--sh-xl);}

/* reusable full-bleed photo band */
.photo-band{min-height:52vh;display:flex;align-items:center;justify-content:center;text-align:center;position:relative;overflow:hidden;}
.photo-band .pb-bg{position:absolute;inset:-15% 0;z-index:0;background-size:cover;background-position:center;will-change:transform;}
.photo-band .pb-scrim{position:absolute;inset:0;z-index:1;background:linear-gradient(135deg,hsl(var(--espresso-900)/.9),hsl(var(--emerald-deep)/.82)),radial-gradient(70% 60% at 50% 40%,hsl(var(--clay)/.28),transparent 60%);}
.photo-band .pb-inner{position:relative;z-index:5;padding:var(--s16) var(--s6);max-width:24ch;}
.photo-band h2{font-family:var(--font-display);font-style:italic;font-size:clamp(28px,4.5vw,46px);line-height:1.25;}
.photo-band h2 span{color:hsl(var(--brass));}
@media(max-width:640px){.photo-band .pb-bg{transform:none!important;}}

/* footer */
footer{background:hsl(var(--espresso-900));padding:var(--s16) 0 var(--s8);border-top:1px solid hsl(var(--cream)/.1);}
.foot-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:var(--s12);}
.foot-brand .logo{font-size:var(--fs-xl);}
.foot-brand p{font-weight:300;color:hsl(var(--muted));margin-top:var(--s4);max-width:38ch;font-size:var(--fs-sm);}
.foot-col h5{font-size:var(--fs-xs);letter-spacing:.2em;text-transform:uppercase;color:hsl(var(--brass-soft));margin-bottom:var(--s4);}
.foot-col a{display:block;text-decoration:none;color:hsl(var(--cream)/.72);font-weight:300;font-size:var(--fs-sm);margin-bottom:var(--s3);transition:color .3s;}
.foot-col a:hover{color:hsl(var(--brass));}
.foot-bottom{display:flex;flex-wrap:wrap;gap:var(--s4);justify-content:space-between;align-items:center;margin-top:var(--s16);padding-top:var(--s6);border-top:1px solid hsl(var(--cream)/.08);font-size:var(--fs-xs);color:hsl(var(--muted));}
.foot-bottom .locale{letter-spacing:.14em;text-transform:uppercase;}

/* responsive */
@media(max-width:900px){
  .foot-grid{grid-template-columns:1fr 1fr;}
}
@media(max-width:640px){
  .nav-links{display:none;}
  .burger{display:flex;}
  .nav-links.open{display:flex;position:absolute;top:100%;right:clamp(24px,5vw,64px);flex-direction:column;gap:18px;background:hsl(var(--espresso-800));padding:22px 28px;border-radius:14px;box-shadow:var(--sh-lg);border:1px solid hsl(var(--brass)/.16);}
  .foot-grid{grid-template-columns:1fr;}
}
@media(prefers-reduced-motion:reduce){
  .reveal,.reveal-l,.reveal-r,.rg>*{opacity:1!important;transform:none!important;transition:none!important;}
  [data-parallax]{transform:none!important;}
}
