
:root{
  --navy:#0b2458;
  --gold:#b58b3a;
  --cream:#f2efeb;
  --paper:#ffffff;
  --text:#575963;
  --line:#ded8cf;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--text);font-family:Arial,Helvetica,sans-serif}
a{text-decoration:none;color:inherit}
img{display:block;max-width:100%}
.topline{height:10px;background:var(--gold)}
header{background:#fff;position:sticky;top:0;z-index:20;border-bottom:1px solid #eee}
.nav{height:108px;max-width:1500px;margin:auto;padding:8px 4.2%;display:flex;align-items:center;justify-content:space-between;gap:26px}
.logo{width:390px;height:88px;object-fit:contain;object-position:left center}
.service-logo{width:360px}
nav{display:flex;align-items:center;gap:28px;color:var(--navy);font-size:13px;text-transform:uppercase}
.nav-cta{border:1px solid var(--gold);padding:12px 20px}
.langs{display:flex;gap:6px;margin-left:8px}
.langs button{border:0;background:transparent;color:var(--navy);font:inherit;padding:6px 5px;cursor:pointer}
.langs button.active{border-bottom:2px solid var(--gold)}
.hero{min-height:650px;position:relative;display:flex;align-items:center;background:url('assets/hero-home-hd.webp') center/cover no-repeat}
.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(248,246,242,.95),rgba(248,246,242,.64) 36%,rgba(248,246,242,0) 66%)}
.hero-copy{position:relative;z-index:1;width:min(1440px,91vw);margin:auto}
.hero-box{max-width:600px}
.kicker{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--gold);font-weight:700;margin-bottom:18px}
h1,h2,h3{font-family:Georgia,'Times New Roman',serif;font-weight:400;color:var(--navy);margin:0;line-height:1.04}
h1{font-size:clamp(56px,6vw,86px)}
h2{font-size:clamp(40px,4vw,60px)}
h3{font-size:30px}
.gold-rule{height:3px;width:55px;background:var(--gold);margin:24px 0 28px}
.lead{font-size:18px;line-height:1.55;color:#30343e}
.btn{display:inline-block;background:var(--navy);color:#fff;padding:15px 23px;text-transform:uppercase;font-size:12px;letter-spacing:.03em}
.btn.gold{background:var(--gold)}
.section{padding:78px 5vw}
.inner{max-width:1380px;margin:auto}
.intro{background:#fff;display:grid;grid-template-columns:.9fr 1.1fr;gap:80px;align-items:center}
.services-section{background:var(--cream)}
.center{text-align:center}.center .gold-rule{margin-left:auto;margin-right:auto}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:42px}
.card{background:#fff;border:1px solid #ebe6df;display:flex;flex-direction:column}
.card img{height:250px;width:100%;object-fit:cover}
.card-body{padding:25px;display:flex;flex-direction:column;flex:1}
.card p{line-height:1.6}
.more{margin-top:auto;color:var(--navy);font-size:12px;text-transform:uppercase}
.service-main{display:grid;grid-template-columns:1fr 1fr;background:#fff;min-height:760px}
.service-copy{padding:76px 6vw 70px 5vw;display:flex;flex-direction:column;justify-content:center}
.service-photo{min-height:760px;background-size:cover;background-position:center}
.checks{list-style:none;padding:0;margin:24px 0 34px}
.checks li{margin:16px 0;padding-left:28px;position:relative;font-size:17px}
.checks li:before{content:"✓";position:absolute;left:0;color:var(--gold)}
.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.feature{background:#fff;border:1px solid #ece7df;padding:28px}
.about-grid,.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.about-photo,.contact-photo{min-height:520px;background-size:cover;background-position:center}
form{display:grid;grid-template-columns:1fr 1fr;gap:14px}
input,textarea,select{width:100%;padding:14px;border:1px solid var(--line);background:#fff;font:inherit}
textarea{min-height:150px;resize:vertical}.full{grid-column:1/-1}
button.submit{background:var(--navy);color:white;border:0;padding:15px 22px;text-transform:uppercase;letter-spacing:.04em}
footer{background:var(--navy);color:#fff;padding:34px 5vw}
.footer{max-width:1380px;margin:auto;display:flex;justify-content:space-between;gap:30px;align-items:center}
.footer small{opacity:.75}
@media(max-width:900px){
  .nav{height:90px}.logo,.service-logo{width:280px;height:72px} nav a:not(.nav-cta),nav .langs{display:none}
  .hero{min-height:590px}.hero-box{max-width:82%}
  .intro,.cards,.service-main,.feature-grid,.about-grid,.contact-grid{grid-template-columns:1fr}
  .service-photo{min-height:470px}.service-copy{padding:55px 7vw}.section{padding:58px 6vw}
  form{grid-template-columns:1fr}.full{grid-column:auto}
}

/* Performance & mobile refinements */
img{height:auto}
.card img{aspect-ratio:16/10;object-fit:cover}
@media(max-width:700px){
  body{overflow-x:hidden}
  .nav{padding-left:18px;padding-right:18px}
  .hero-copy{width:92vw}
  .hero-box{max-width:100%}
  h1{font-size:clamp(42px,13vw,58px)}
  h2{font-size:clamp(34px,10vw,46px)}
  .cards{gap:16px}
  .card img{height:auto;aspect-ratio:4/3}
  .service-main{display:flex;flex-direction:column}
  .service-photo{min-height:360px}
  .footer{flex-direction:column;align-items:flex-start}
}

/* ===== LIVE FIX ===== */
.logo,.service-logo{
  width:auto!important;height:auto!important;max-width:390px!important;max-height:86px!important;
  object-fit:contain!important;object-position:left center!important;flex:0 0 auto;
}
.hero{
  background-image:url('assets/hero-home-hd.webp')!important;background-position:center center!important;
  background-size:cover!important;background-repeat:no-repeat!important;
}
.hero:before{
  background:linear-gradient(90deg,rgba(248,246,242,.94) 0%,rgba(248,246,242,.70) 34%,rgba(248,246,242,.12) 62%,rgba(248,246,242,0) 76%)!important;
}
.menu-toggle{
  display:none;appearance:none;border:1px solid var(--gold);background:#fff;color:var(--navy);
  width:46px;height:42px;padding:0;align-items:center;justify-content:center;cursor:pointer;
}
.menu-toggle span,.menu-toggle span:before,.menu-toggle span:after{
  display:block;width:22px;height:2px;background:var(--navy);position:relative;content:"";transition:.2s ease;
}
.menu-toggle span:before{position:absolute;left:0;top:-7px}.menu-toggle span:after{position:absolute;left:0;top:7px}
.form-status{grid-column:1/-1;margin:5px 0 0;font-size:14px;line-height:1.4}
.form-status.success{color:#246b3d}.form-status.error{color:#9b2c2c}
.hp-field{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
@media(max-width:900px){
  .nav{height:86px!important;padding:7px 18px!important;position:relative}
  .logo,.service-logo{max-width:min(68vw,285px)!important;max-height:68px!important}
  .menu-toggle{display:flex;flex:0 0 auto}
  header nav{
    display:none!important;position:absolute;top:100%;left:0;right:0;background:#fff;
    border-top:1px solid #ece7df;box-shadow:0 12px 24px rgba(0,0,0,.10);
    padding:15px 18px 22px;flex-direction:column;align-items:stretch;gap:0!important;z-index:99;
  }
  header nav.open{display:flex!important}
  header nav>a{display:block!important;padding:14px 4px;border-bottom:1px solid #eee9e2;font-size:14px}
  header nav .nav-cta{margin-top:12px;text-align:center;border:1px solid var(--gold);padding:13px 12px}
  header nav .langs{display:flex!important;margin:15px 0 0!important;justify-content:center;gap:22px!important}
  header nav .langs a{display:inline-block!important;padding:8px 10px;color:var(--navy);border-bottom:2px solid transparent}
  .hero{min-height:590px!important;background-position:58% center!important}
  .hero:before{background:linear-gradient(90deg,rgba(248,246,242,.93) 0%,rgba(248,246,242,.76) 53%,rgba(248,246,242,.18) 100%)!important}
  .hero-copy{width:92vw!important;margin:auto!important}.hero-box{max-width:92%!important}
  .service-main{display:flex!important;flex-direction:column!important}
  .service-copy{order:1}.service-photo{order:2;min-height:390px!important}
  body.menu-open{overflow:hidden}
}

/* ===== LIVE FIX V2 ===== */
.nav{
  height:108px !important;
  padding:8px 4.2% !important; /* ~2 mm visual breathing room from top */
}
.logo,.service-logo{
  display:block !important;
  width:auto !important;
  height:82px !important;
  max-width:430px !important;
  max-height:82px !important;
  object-fit:contain !important;
  object-position:left center !important;
  margin:0 !important;
}
.hero{
  background-image:url('assets/hero-home-hd.webp') !important;
}
.card img{
  image-rendering:auto;
}
.service-photo{
  image-rendering:auto;
}

/* Homepage intro immediately below hero */
.home-intro{
  background:#fff;
}
.home-intro .inner{
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:72px;
  align-items:center;
}

/* Approved About page triptych */
.about-approved{
  background:#fff;
}
.about-approved .about-top{
  display:grid;
  grid-template-columns:.82fr 1.18fr;
  gap:46px;
  align-items:start;
}
.about-approved .about-copy{
  padding-top:28px;
}
.about-triptych{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:2px;
}
.about-service{
  background:#f8f6f2;
  text-align:center;
}
.about-service img{
  width:100%;
  aspect-ratio:4/4.4;
  object-fit:cover;
}
.about-service-copy{
  padding:24px 20px 28px;
}
.about-service h3{
  font-family:Arial,Helvetica,sans-serif;
  text-transform:uppercase;
  font-size:17px;
  line-height:1.28;
  font-weight:700;
}
.about-service p{
  font-size:14px;
  line-height:1.65;
  margin-top:16px;
}
.about-values{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:0;
  margin-top:0;
  border-top:1px solid #eee9e2;
  border-bottom:1px solid #eee9e2;
}
.about-value{
  text-align:center;
  padding:30px 24px;
  border-right:1px solid #ddd7cf;
}
.about-value:last-child{border-right:0}
.about-value strong{
  display:block;
  color:var(--navy);
  font-size:16px;
  margin-bottom:9px;
}
.about-value span{
  font-size:14px;
  line-height:1.5;
}
.about-mission{
  text-align:center;
  padding:48px 7vw 52px;
  font-family:Georgia,'Times New Roman',serif;
  font-style:italic;
  font-size:22px;
  line-height:1.55;
  background:var(--cream);
}

@media(max-width:900px){
  .nav{
    height:88px !important;
    padding:8px 18px !important;
  }
  .logo,.service-logo{
    height:68px !important;
    max-height:68px !important;
    max-width:min(70vw,310px) !important;
  }

  /* Hero text has one clean layer; intro begins cleanly below it */
  .hero{
    min-height:570px !important;
    background-position:62% center !important;
  }
  .hero-copy{
    padding:36px 0 30px !important;
  }
  .home-intro{
    padding:48px 7vw !important;
  }
  .home-intro .inner{
    display:block !important;
  }
  .home-intro h2{
    margin-bottom:22px !important;
  }
  .home-intro p{
    margin:0 !important;
    line-height:1.65 !important;
  }

  .about-approved .about-top{
    grid-template-columns:1fr !important;
  }
  .about-triptych{
    grid-template-columns:1fr !important;
    gap:18px;
  }
  .about-service img{
    aspect-ratio:16/10;
  }
  .about-values{
    grid-template-columns:1fr 1fr;
  }
  .about-value:nth-child(2){border-right:0}
  .about-value:nth-child(-n+2){border-bottom:1px solid #ddd7cf}
  .about-mission{
    font-size:19px;
    padding:38px 8vw 42px;
  }
}

/* ===== LIVE FIX V3: footer alignment ===== */
footer,
.footer{
  width:100%;
}
.footer{
  display:flex !important;
  flex-direction:row !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:28px !important;
  flex-wrap:nowrap !important;
}
.footer > *{
  margin-top:0 !important;
  margin-bottom:0 !important;
}
.footer p,
.footer a,
.footer span{
  line-height:1.4 !important;
}
.footer .social-links{
  display:flex !important;
  align-items:center !important;
  gap:18px !important;
  flex-wrap:nowrap !important;
  margin:0 !important;
}

@media(max-width:700px){
  .footer{
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    text-align:center !important;
    gap:12px !important;
  }
  .footer > *{
    width:100%;
    text-align:center !important;
  }
  .footer .social-links{
    justify-content:center !important;
    flex-wrap:wrap !important;
    gap:16px !important;
  }
}

/* DEFINITIEF V2 */
.hero-box .btn,.hero-copy .btn,.card .btn,.service-copy .btn,.section .btn,.about-approved .btn,form .submit{
display:table!important;margin-left:auto!important;margin-right:auto!important;text-align:center!important}
.hero-copy,.hero-box{text-align:center}
header nav .nav-cta{display:block!important;margin-left:0!important;margin-right:0!important}
footer{width:100%}
.footer{width:min(1180px,92vw)!important;margin:0 auto!important;padding:24px 0!important;display:grid!important;
grid-template-columns:1fr auto 1fr!important;align-items:center!important;column-gap:32px!important;row-gap:0!important;text-align:left!important}
.footer>*{margin:0!important;line-height:1.45!important}
.footer>*:first-child{justify-self:start!important}
.footer>*:nth-child(2){justify-self:center!important;text-align:center!important}
.footer>*:last-child{justify-self:end!important;text-align:right!important}
.footer .social-links{display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:18px!important;flex-wrap:nowrap!important;margin:0!important}
.footer a{white-space:nowrap}
@media(max-width:700px){
.footer{width:88vw!important;padding:26px 0 30px!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:11px!important;text-align:center!important}
.footer>*{width:100%!important;text-align:center!important;margin:0!important}
.footer .social-links{justify-content:center!important;flex-wrap:wrap!important;gap:10px 18px!important}}

/* ===== DEFINITIEF V3: mobile logos 1.5x larger ===== */
@media(max-width:900px){
  .nav{
    height:112px !important;
    padding-top:8px !important;
    padding-bottom:8px !important;
  }
  .logo,
  .service-logo{
    height:102px !important;
    max-height:102px !important;
    width:auto !important;
    max-width:min(76vw,465px) !important;
    object-fit:contain !important;
    object-position:left center !important;
  }
  .menu-toggle{
    flex:0 0 auto !important;
  }
}

/* ===== DEFINITIEF V4: desktop/web logo 2x groter ===== */
@media(min-width:901px){
  .nav{
    height:190px !important;
    padding-top:8px !important;
    padding-bottom:8px !important;
  }
  .logo,
  .service-logo{
    height:164px !important;
    max-height:164px !important;
    width:auto !important;
    max-width:650px !important;
    object-fit:contain !important;
    object-position:left center !important;
  }
}
/* Mobiele 1.5x vergroting uit v3 blijft behouden. */

/* ===== DEFINITIEF V5: mirrored hero + soft old-style transition ===== */
.hero{
  background-image:url('assets/hero-home-hd.webp') !important;
  background-size:cover !important;
  background-repeat:no-repeat !important;
  background-position:62% center !important;
  position:relative !important;
}
.hero:before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  background:linear-gradient(
    90deg,
    rgba(248,246,242,.97) 0%,
    rgba(248,246,242,.92) 22%,
    rgba(248,246,242,.72) 39%,
    rgba(248,246,242,.32) 53%,
    rgba(248,246,242,.08) 66%,
    rgba(248,246,242,0) 76%
  ) !important;
  pointer-events:none !important;
}
.hero-copy{
  position:relative !important;
  z-index:2 !important;
  text-align:left !important;
}
.hero-box{
  background:transparent !important;
  box-shadow:none !important;
  border:0 !important;
  text-align:left !important;
}
.hero-box .btn,
.hero-copy .btn{
  margin-left:0 !important;
  margin-right:auto !important;
}
@media(max-width:900px){
  .hero{
    background-position:64% center !important;
    min-height:590px !important;
  }
  .hero:before{
    background:linear-gradient(
      90deg,
      rgba(248,246,242,.96) 0%,
      rgba(248,246,242,.90) 34%,
      rgba(248,246,242,.60) 58%,
      rgba(248,246,242,.20) 82%,
      rgba(248,246,242,.05) 100%
    ) !important;
  }
  .hero-copy,.hero-box{
    text-align:left !important;
  }
}

/* ===== V6 DIENSTEN: equal cards + calm workflow ===== */
.services-grid,.cards,.services{
  align-items:stretch !important;
}
.services-grid .card,.cards .card,.services .card{
  display:flex !important;
  flex-direction:column !important;
  height:100% !important;
}
.services-grid .card img,.cards .card img,.services .card img{
  width:100% !important;
  height:280px !important;
  object-fit:cover !important;
}
.services-grid .card h2,.services-grid .card h3,
.cards .card h2,.cards .card h3,.services .card h2,.services .card h3{
  min-height:72px !important;
}
.services-grid .card p,.cards .card p,.services .card p{
  flex:1 1 auto !important;
}
.services-grid .card .btn,.cards .card .btn,.services .card .btn{
  margin-top:auto !important;
  align-self:center !important;
}
.how-we-work{
  padding:90px 7vw !important;
  background:#f4f0e8 !important;
  text-align:center !important;
}
.how-we-work .inner{max-width:1120px;margin:auto}
.how-we-work h2{max-width:760px;margin:12px auto 18px}
.how-we-work .intro{max-width:720px;margin:0 auto 48px;line-height:1.75}
.work-steps{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:1px;
  background:#d9d1c5;
}
.work-step{
  background:#fff;
  padding:34px 24px 38px;
  min-height:210px;
}
.work-step .num{display:block;color:#b89b68;font-size:13px;font-weight:700;letter-spacing:2px;margin-bottom:18px}
.work-step h3{color:#172f45;margin:0 0 13px;font-size:18px}
.work-step p{margin:0;font-size:14px;line-height:1.65}
@media(max-width:900px){
 .services-grid .card img,.cards .card img,.services .card img{height:240px!important}
 .services-grid .card h2,.services-grid .card h3,.cards .card h2,.cards .card h3,.services .card h2,.services .card h3{min-height:0!important}
 .work-steps{grid-template-columns:1fr 1fr}
}
@media(max-width:600px){.work-steps{grid-template-columns:1fr}.how-we-work{padding:60px 7vw!important}}

/* ===== DEFINITIEVE EINDVERSIE ===== */

/* Logo: 2x groter op desktop én mobiel */
@media(min-width:901px){
  .nav{
    height:190px !important;
    padding-top:8px !important;
    padding-bottom:8px !important;
  }
  .logo,.service-logo{
    height:164px !important;
    max-height:164px !important;
    width:auto !important;
    max-width:650px !important;
    object-fit:contain !important;
    object-position:left center !important;
  }
}
@media(max-width:900px){
  .nav{
    height:148px !important;
    padding:8px 16px !important;
  }
  .logo,.service-logo{
    height:136px !important;
    max-height:136px !important;
    width:auto !important;
    max-width:min(80vw,520px) !important;
    object-fit:contain !important;
    object-position:left center !important;
  }
  .menu-toggle{
    flex:0 0 auto !important;
    width:46px !important;
    height:42px !important;
  }
}

/* Footer: desktop één strakke lijn, mobiel gecentreerd onder elkaar */
footer{width:100%}
.footer{
  width:min(1180px,92vw) !important;
  margin:0 auto !important;
  padding:24px 0 !important;
  display:grid !important;
  grid-template-columns:1fr auto 1fr !important;
  align-items:center !important;
  column-gap:32px !important;
  row-gap:0 !important;
  text-align:left !important;
}
.footer>*{margin:0 !important;line-height:1.45 !important}
.footer>*:first-child{justify-self:start !important}
.footer>*:nth-child(2){justify-self:center !important;text-align:center !important}
.footer>*:last-child{justify-self:end !important;text-align:right !important}
.footer .social-links{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:18px !important;
  flex-wrap:nowrap !important;
  margin:0 !important;
}
.footer a{white-space:nowrap}
@media(max-width:700px){
  .footer{
    width:88vw !important;
    padding:26px 0 30px !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    gap:11px !important;
    text-align:center !important;
  }
  .footer>*{
    width:100% !important;
    text-align:center !important;
    margin:0 !important;
  }
  .footer .social-links{
    justify-content:center !important;
    flex-wrap:wrap !important;
    gap:10px 18px !important;
  }
}

/* Langere pagina-secties */
.long-section{
  padding:90px 7vw;
  background:#fff;
}
.long-section.alt{background:#f4f0e8}
.long-inner{max-width:1120px;margin:0 auto}
.long-center{text-align:center}
.long-section h2{
  font-family:Georgia,'Times New Roman',serif;
  color:var(--navy);
  font-size:clamp(38px,4vw,54px);
  line-height:1.1;
  margin:10px auto 22px;
}
.long-section p{
  max-width:820px;
  margin:0 auto 28px;
  line-height:1.8;
}
.long-feature-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:20px;
  margin-top:42px;
}
.long-feature{
  background:#fff;
  padding:34px 26px;
  text-align:center;
  min-height:190px;
}
.long-feature h3{
  font-family:Georgia,'Times New Roman',serif;
  color:var(--navy);
  margin:0 0 14px;
}
.long-chips{
  display:flex;
  justify-content:center;
  gap:12px;
  flex-wrap:wrap;
  margin:34px auto 0;
  max-width:900px;
}
.long-chips span{
  background:#fff;
  border-top:2px solid var(--gold);
  padding:13px 16px;
  color:var(--navy);
  font-size:14px;
  font-weight:700;
}
.long-cta{
  display:table;
  margin:34px auto 0 !important;
}
.long-photo-band{
  min-height:520px;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  background:
    linear-gradient(rgba(15,38,57,.64),rgba(15,38,57,.64)),
    url('assets/hero-home-hd.webp') center/cover no-repeat;
  color:#fff;
  padding:70px 7vw;
}
.long-photo-band h2,.long-photo-band p{color:#fff}
@media(max-width:800px){
  .long-section{padding:62px 7vw}
  .long-feature-grid{grid-template-columns:1fr}
  .long-photo-band{min-height:420px}
}

/* ===== Private Chef reviews carousel ===== */
.chef-reviews{
  padding:88px 0 96px;
  background:#f4f0e8;
  overflow:hidden;
}
.reviews-inner{
  width:min(1220px,92vw);
  margin:0 auto;
  text-align:center;
}
.chef-reviews h2{
  font-family:Georgia,'Times New Roman',serif;
  color:var(--navy);
  font-size:clamp(34px,4vw,50px);
  margin:10px auto 18px;
}
.review-carousel-wrap{
  position:relative;
  margin-top:44px;
}
.review-carousel{
  display:grid;
  grid-auto-flow:column;
  grid-auto-columns:calc((100% - 48px)/3);
  gap:24px;
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  scroll-behavior:smooth;
  scrollbar-width:none;
  padding:4px 2px 16px;
}
.review-carousel::-webkit-scrollbar{display:none}
.review-card{
  scroll-snap-align:start;
  display:flex;
  flex-direction:column;
  min-height:430px;
  padding:34px 30px 30px;
  background:#fff;
  text-align:left;
  box-sizing:border-box;
  border-top:3px solid var(--gold);
}
.review-quote{
  color:var(--gold);
  font-family:Georgia,'Times New Roman',serif;
  font-size:66px;
  line-height:.72;
  height:42px;
}
.review-card blockquote{
  margin:14px 0 26px;
  color:#333;
  font-size:15px;
  line-height:1.72;
  font-style:italic;
  flex:1;
}
.review-rule{
  width:42px;
  height:2px;
  background:var(--gold);
  margin:0 0 16px;
}
.review-card strong{
  color:var(--navy);
  font-size:18px;
  margin-bottom:7px;
}
.review-card span{
  color:var(--gold);
  font-weight:700;
  font-size:13px;
}
.review-arrow{
  position:absolute;
  z-index:3;
  top:50%;
  transform:translateY(-50%);
  width:48px;
  height:48px;
  border-radius:50%;
  border:1px solid rgba(23,47,69,.16);
  background:#fff;
  color:var(--navy);
  font-size:32px;
  line-height:1;
  cursor:pointer;
  box-shadow:0 4px 18px rgba(0,0,0,.08);
}
.review-prev{left:-24px}
.review-next{right:-24px}
.review-dots{
  display:flex;
  justify-content:center;
  gap:8px;
  margin-top:20px;
}
.review-dot{
  width:8px;height:8px;border-radius:50%;
  background:#d5cec2;
}
.review-dot.active{background:var(--gold)}
@media(max-width:900px){
  .chef-reviews{padding:64px 0 72px}
  .review-carousel{grid-auto-columns:calc((100% - 18px)/2);gap:18px}
  .review-prev{left:-12px}.review-next{right:-12px}
}
@media(max-width:600px){
  .reviews-inner{width:88vw}
  .review-carousel{grid-auto-columns:100%;gap:14px}
  .review-card{min-height:0;padding:30px 24px 26px}
  .review-arrow{width:42px;height:42px;font-size:28px}
  .review-prev{left:-10px}.review-next{right:-10px}
}

/* ===== Compact SEO content sections ===== */
.seo-content{
  padding:72px 7vw 82px;
  background:#fff;
}
.seo-content.alt{
  background:#f7f3ed;
}
.seo-content .seo-inner{
  width:min(980px,92vw);
  margin:0 auto;
}
.seo-content h2{
  font-family:Georgia,'Times New Roman',serif;
  color:var(--navy);
  font-size:clamp(30px,3.2vw,42px);
  line-height:1.15;
  margin:8px 0 20px;
}
.seo-content p{
  color:#4d4d4d;
  font-size:15px;
  line-height:1.85;
  margin:0;
  columns:2;
  column-gap:52px;
}
@media(max-width:760px){
  .seo-content{padding:54px 7vw 60px}
  .seo-content p{columns:1;font-size:15px}
}

/* ===== August 2026 final refinements ===== */

/* Header bar substantially slimmer; logo keeps its established visual prominence. */
header{overflow:visible!important}
@media(min-width:901px){
  .nav{height:96px!important;padding-top:2px!important;padding-bottom:2px!important;position:relative!important}
  .logo,.service-logo{height:118px!important;max-height:118px!important;width:auto!important;object-fit:contain!important}
}
@media(max-width:900px){
  .nav{height:82px!important;padding:2px 14px!important;position:relative!important}
  .logo,.service-logo{height:102px!important;max-height:102px!important;width:auto!important;max-width:72vw!important;object-fit:contain!important}
}
.hero h1 span{display:block}

/* Footer: every element truly centered, desktop and mobile. */
footer{text-align:center!important}
.footer{
  display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;
  gap:7px!important;text-align:center!important;width:min(1180px,92vw)!important;margin:0 auto!important
}
.footer>*{width:100%!important;text-align:center!important;justify-self:center!important}
footer .social-links{
  display:flex!important;align-items:center!important;justify-content:center!important;
  gap:18px!important;flex-wrap:wrap!important;margin:8px auto 0!important;text-align:center!important
}
footer .social-links a{text-align:center!important}

/* Final service CTA */
.service-final-cta{padding:72px 7vw;background:#172f45;color:#fff;text-align:center}
.service-final-inner{max-width:820px;margin:0 auto}
.service-final-cta h2{font-family:Georgia,'Times New Roman',serif;font-size:clamp(32px,4vw,46px);margin:0 0 14px;color:#fff}
.service-final-cta p{max-width:650px;margin:0 auto 28px;line-height:1.75;color:#fff}
.service-final-buttons{display:flex;justify-content:center;gap:14px;flex-wrap:wrap}
.service-final-buttons .btn{margin:0!important}
.btn-outline{background:transparent!important;color:#fff!important;border:1px solid #fff!important}
.btn-outline:hover{background:#fff!important;color:#172f45!important}

/* Floating WhatsApp contact */
.whatsapp-float{
  position:fixed;right:22px;bottom:22px;z-index:9999;
  display:flex;align-items:center;gap:9px;
  background:#25D366;color:#fff!important;text-decoration:none!important;
  border-radius:999px;padding:12px 17px 12px 12px;
  font-weight:700;font-size:14px;box-shadow:0 8px 28px rgba(0,0,0,.22)
}
.wa-icon{
  width:30px;height:30px;border-radius:50%;background:#fff;color:#25D366;
  display:flex;align-items:center;justify-content:center;font-size:17px
}
@media(max-width:600px){
  .whatsapp-float{right:14px;bottom:14px;padding:10px 14px 10px 10px;font-size:13px}
  .wa-icon{width:28px;height:28px}
}

.experience-highlight{padding:72px 7vw;background:#f4f1ea;text-align:center}
.experience-highlight-inner{max-width:900px;margin:0 auto}
.experience-highlight h2{font-family:Georgia,'Times New Roman',serif;font-size:clamp(32px,4vw,48px);color:#172f45;margin:0 0 18px}
.experience-highlight p{font-size:clamp(16px,1.7vw,19px);line-height:1.85;margin:0 auto;color:#27333d;max-width:820px}
@media(max-width:600px){.experience-highlight{padding:52px 7vw}}

/* About Us mobile image fix */
@media(max-width:900px){
.about-approved img,.about-grid img,.about-card img,.services-grid .card img,.cards .card img,.services .card img,.service-card img,.triptych img{
width:100%!important;height:auto!important;aspect-ratio:3/2!important;object-fit:cover!important;object-position:center!important;max-height:none!important}
.about-approved .card,.about-grid .card,.about-card{overflow:hidden!important}
}

/* Own Private Chef photography */
.chef-own-work{padding:72px 24px;background:#f6f1e8}.chef-own-work-inner{max-width:1180px;margin:0 auto;text-align:center}.chef-own-work-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:34px}.chef-own-work-grid img{display:block;width:100%;height:360px;object-fit:cover;border-radius:2px}.chef-own-work-grid img:first-child{object-position:center}.chef-own-work-grid img:nth-child(2){object-position:center}.chef-own-work-grid img:nth-child(3){object-position:center}
@media(max-width:720px){.chef-own-work{padding:54px 18px}.chef-own-work-grid{grid-template-columns:1fr;gap:14px}.chef-own-work-grid img{height:290px}}

/* Gold final CTA panel — improved readability and brand continuity */
.service-final-cta{
  background:var(--gold)!important;
  color:var(--navy)!important;
}
.service-final-cta h2{
  color:var(--navy)!important;
}
.service-final-cta p{
  color:#27333d!important;
}
.service-final-buttons .btn{
  background:var(--navy)!important;
  color:#fff!important;
  border:1px solid var(--navy)!important;
}
.service-final-buttons .btn:hover{
  background:#fff!important;
  color:var(--navy)!important;
}
.service-final-buttons .btn-outline{
  background:transparent!important;
  color:var(--navy)!important;
  border:1px solid var(--navy)!important;
}
.service-final-buttons .btn-outline:hover{
  background:var(--navy)!important;
  color:#fff!important;
}

/* ===== Real Casa Care project photography ===== */
.cards .card img{object-fit:cover!important;object-position:center!important}
.project-own-work{padding:76px 7vw 84px;background:#f7f3ed}
.project-own-work-inner{width:min(1120px,92vw);margin:0 auto;text-align:center}
.project-own-work h2{font-family:Georgia,'Times New Roman',serif;color:#172f45;font-size:clamp(32px,4vw,48px);margin:10px 0 14px}
.project-own-work p{max-width:790px;margin:0 auto 34px;line-height:1.8;color:#4d4d4d}
.project-own-work-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.project-own-work-grid img{display:block;width:100%;height:360px;object-fit:cover;object-position:center;border-radius:2px}
.project-own-work-grid img.wide{grid-column:1/-1;height:500px}
.chef-own-work-grid img{width:100%!important;object-fit:cover!important;object-position:center!important}
@media(max-width:760px){
  .project-own-work{padding:54px 7vw 60px}
  .project-own-work-grid{grid-template-columns:1fr;gap:16px}
  .project-own-work-grid img,.project-own-work-grid img.wide{grid-column:auto;height:auto;aspect-ratio:4/3;object-fit:cover}
  .chef-own-work-grid img{height:auto!important;aspect-ratio:4/3!important;object-fit:cover!important}
}

/* ===== Final image corrections: About Us + Services + Chef ===== */
.about-triptych{
  align-items:stretch !important;
}
.about-service{
  overflow:hidden !important;
}
.about-service img{
  display:block !important;
  width:100% !important;
  height:auto !important;
  aspect-ratio:4 / 3 !important;
  object-fit:cover !important;
  object-position:center center !important;
}
.cards .card img{
  width:100% !important;
  height:auto !important;
  aspect-ratio:4 / 3 !important;
  object-fit:cover !important;
  object-position:center center !important;
}
.chef-own-work{
  padding:56px 24px 64px !important;
  background:#f6f1e8 !important;
}
.chef-own-work-inner{
  max-width:1180px !important;
  margin:0 auto !important;
}
.chef-own-work-grid{
  display:grid !important;
  grid-template-columns:repeat(3,1fr) !important;
  gap:18px !important;
  margin-top:0 !important;
}
.chef-photo-card{
  margin:0 !important;
  background:#fff !important;
  overflow:hidden !important;
}
.chef-photo-card img{
  display:block !important;
  width:100% !important;
  height:auto !important;
  aspect-ratio:4 / 3 !important;
  object-fit:cover !important;
  object-position:center !important;
}
.chef-photo-card figcaption{
  padding:15px 14px 17px !important;
  text-align:center !important;
  color:#172f45 !important;
  font-family:Georgia,'Times New Roman',serif !important;
  font-size:18px !important;
  line-height:1.25 !important;
}
@media(max-width:720px){
  .about-service img,.cards .card img,.chef-photo-card img{
    height:auto !important;
    aspect-ratio:4 / 3 !important;
    object-fit:cover !important;
  }
  .chef-own-work-grid{
    grid-template-columns:1fr !important;
    gap:14px !important;
  }
}

/* Private Chef expanded own-work gallery */
.chef-own-work-grid{
  grid-template-columns:repeat(3,1fr)!important;
}
@media(max-width:900px){
  .chef-own-work-grid{grid-template-columns:repeat(2,1fr)!important}
}
@media(max-width:620px){
  .chef-own-work-grid{grid-template-columns:1fr!important}
}

/* ===== Services page: center "How we work" text block ===== */
.how-we-work,
.how-we-work .section-inner,
.how-we-work .intro,
.how-we-work .lead,
.how-we-work p,
.services-how,
.services-how .section-inner,
.services-how .intro,
.services-how .lead,
.services-how p{
  text-align:center !important;
}
.how-we-work p,
.services-how p{
  margin-left:auto !important;
  margin-right:auto !important;
  max-width:760px !important;
}
.how-we-work .steps,
.services-how .steps{
  text-align:center !important;
}

/* ===== Final refinements ===== */

/* Services: keep the intro centered, but remove the white rectangle behind it. */
.how-we-work .intro,
.how-we-work .lead,
.how-we-work p,
.services-how .intro,
.services-how .lead,
.services-how p{
  background:transparent !important;
  box-shadow:none !important;
  border:0 !important;
}

/* CTA: replace yellow/gold panel with the same warm beige used above. */
.service-final-cta{
  background:#f4f1ea !important;
  color:#172f45 !important;
}
.service-final-cta h2,
.service-final-cta p{
  color:#172f45 !important;
}
.service-final-cta .btn{
  background:#172f45 !important;
  color:#fff !important;
  border:1px solid #172f45 !important;
}
.service-final-cta .btn-outline{
  background:transparent !important;
  color:#172f45 !important;
  border:1px solid #172f45 !important;
}

/* ===== About Us: less repetition + natural SEO + CTA ===== */
.about-seo .long-inner{
  max-width:960px;
  margin:0 auto;
  text-align:center;
}
.about-seo > .long-inner > p{
  max-width:820px;
  margin-left:auto;
  margin-right:auto;
  line-height:1.8;
}
.about-final-cta{
  padding:68px 7vw 74px;
  background:#f4f1ea;
  border-top:3px solid #b98b30;
  text-align:center;
}
.about-final-cta-inner{
  max-width:820px;
  margin:0 auto;
}
.about-final-cta h2{
  margin:0 0 14px;
  font-family:Georgia,'Times New Roman',serif;
  font-size:clamp(32px,4vw,46px);
  color:#172f45;
}
.about-final-cta p{
  max-width:680px;
  margin:0 auto 26px;
  color:#3f4a53;
  line-height:1.75;
}
.about-final-cta .btn{
  display:inline-block;
  margin:0 auto;
  background:#172f45;
  color:#fff;
  border:1px solid #172f45;
}
@media(max-width:600px){
  .about-final-cta{padding:52px 7vw 58px}
}

/* ===== Footer: final true centering on every page ===== */
footer{
  width:100% !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
}
footer .footer{
  width:min(1180px,92vw) !important;
  margin:0 auto !important;
  padding:24px 0 8px !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  gap:8px !important;
  text-align:center !important;
}
footer .footer > *,
footer .footer strong,
footer .footer small{
  width:100% !important;
  display:block !important;
  margin:0 auto !important;
  padding:0 !important;
  text-align:center !important;
  justify-self:center !important;
  align-self:center !important;
}
footer .social-links{
  width:100% !important;
  margin:0 auto !important;
  padding:0 0 24px !important;
  display:flex !important;
  flex-direction:row !important;
  align-items:center !important;
  justify-content:center !important;
  gap:18px !important;
  text-align:center !important;
}
footer .social-links a{
  margin:0 !important;
  text-align:center !important;
}
@media(max-width:700px){
  footer .footer{
    width:88vw !important;
    padding-top:22px !important;
  }
  footer .social-links{
    flex-wrap:wrap !important;
    gap:10px 18px !important;
  }
}

/* ===== 19 August final consolidation ===== */

/* Services: centered copy with no cheap-looking white panel. */
.how-we-work .intro,
.how-we-work .lead,
.how-we-work p,
.services-how .intro,
.services-how .lead,
.services-how p{
  background:transparent !important;
  box-shadow:none !important;
  border:0 !important;
  text-align:center !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

/* Clean Private Chef portfolio gallery: photographs only. */
.clean-food-gallery{
  padding:64px 7vw 74px !important;
  background:#f6f1e8 !important;
  text-align:center !important;
}
.clean-food-gallery .chef-own-work-inner{
  max-width:1180px !important;
  margin:0 auto !important;
}
.clean-food-gallery h2{
  margin:10px 0 16px !important;
  font-family:Georgia,'Times New Roman',serif !important;
  color:#172f45 !important;
  font-size:clamp(30px,4vw,44px) !important;
}
.clean-food-gallery .gold-rule{
  margin-left:auto !important;
  margin-right:auto !important;
}
.clean-food-gallery .chef-own-work-grid{
  display:grid !important;
  grid-template-columns:repeat(3,1fr) !important;
  gap:18px !important;
  margin-top:34px !important;
}
.clean-food-gallery .chef-own-work-grid img{
  display:block !important;
  width:100% !important;
  height:auto !important;
  aspect-ratio:4/3 !important;
  object-fit:cover !important;
  object-position:center !important;
}

/* CTA sections use warm beige rather than yellow. */
.service-final-cta,
.about-final-cta{
  background:#f4f1ea !important;
  color:#172f45 !important;
}
.service-final-cta h2,
.service-final-cta p,
.about-final-cta h2,
.about-final-cta p{
  color:#172f45 !important;
}

/* Footer: force every line to the true horizontal center. */
footer,
footer .footer,
footer .footer > *,
footer .footer strong,
footer .footer small{
  text-align:center !important;
}
footer .footer{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  width:min(1180px,92vw) !important;
  margin:0 auto !important;
}
footer .footer small{
  display:block !important;
  width:100% !important;
  margin:0 auto !important;
}
footer .social-links{
  display:flex !important;
  justify-content:center !important;
  align-items:center !important;
  width:100% !important;
  margin:0 auto !important;
}

@media(max-width:900px){
  .clean-food-gallery .chef-own-work-grid{
    grid-template-columns:repeat(2,1fr) !important;
  }
}
@media(max-width:620px){
  .clean-food-gallery .chef-own-work-grid{
    grid-template-columns:1fr !important;
  }
}

/* Homepage banner – user's own pool/villa photo.
   Existing navy text and white gradient are deliberately unchanged. */
.hero{
  background-image:url('assets/hero-home-hd.webp') !important;
  background-size:cover !important;
  background-position:center 54% !important;
  background-repeat:no-repeat !important;
}
@media(max-width:700px){
  .hero{background-position:center 50% !important;}
}
