
:root{
  --paper:#f6f0e5;
  --paper-2:#fffaf1;
  --navy:#10294a;
  --navy-deep:#091b33;
  --orange:#f04a24;
  --orange-2:#ff6337;
  --blue:#235a93;
  --ink:#11161c;
  --muted:#6f6f6a;
  --line:rgba(16,41,74,.22);
  --white:#fffdf7;
  --max:1440px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:"Courier New",Courier,monospace}
img{max-width:100%;height:auto}
a{color:inherit}
button,input,textarea,select{font:inherit}

.lef-shell{width:min(100%,var(--max));margin:0 auto}
.lef-container{width:min(calc(100% - 48px),1320px);margin:0 auto}

/* Header */
.site-header{
  position:sticky;top:0;z-index:50;background:rgba(246,240,229,.96);
  backdrop-filter:blur(12px);border-bottom:1px solid var(--line)
}
.site-header-inner{
  min-height:92px;display:flex;align-items:center;justify-content:space-between;gap:24px
}
.site-brand{display:flex;align-items:center;gap:15px;text-decoration:none}
.site-brand img{width:72px;height:72px;object-fit:contain;filter:drop-shadow(0 4px 8px rgba(0,0,0,.12))}
.site-brand-copy{display:flex;flex-direction:column;text-transform:uppercase;font-size:10px;line-height:1.5;letter-spacing:.12em;font-weight:700}
.site-brand-copy strong{color:var(--orange)}
.site-nav ul{display:flex;gap:28px;list-style:none;margin:0;padding:0}
.site-nav a{text-decoration:none;text-transform:uppercase;font-size:11px;letter-spacing:.11em;font-weight:700}
.site-nav a:hover,.site-nav .current-menu-item>a{color:var(--orange)}
.menu-toggle{display:none;border:0;background:transparent;font-size:28px}

/* Full site hero */
.full-hero{display:grid;grid-template-columns:1.08fr .92fr;min-height:70vh;border-bottom:1px solid var(--line)}
.full-hero-copy{padding:84px max(5vw,48px);background:var(--paper-2);display:flex;flex-direction:column;justify-content:center}
.eyebrow{font-size:10px;letter-spacing:.2em;color:var(--orange);text-transform:uppercase;font-weight:700}
.full-hero h1{font-family:Arial,Helvetica,sans-serif;font-weight:900;color:var(--navy);font-size:clamp(64px,7vw,128px);line-height:.87;letter-spacing:-.055em;margin:16px 0 22px}
.full-hero h1 span{color:var(--orange)}
.full-hero p{font-size:16px;line-height:1.6;max-width:620px}
.cta-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 22px;text-decoration:none;text-transform:uppercase;letter-spacing:.11em;font-size:11px;font-weight:700;border:1px solid var(--navy)}
.btn-primary{background:var(--orange);border-color:var(--orange);color:white}
.btn-secondary{background:transparent;color:var(--navy)}
.full-hero-panel{background:linear-gradient(145deg,var(--navy),var(--navy-deep));position:relative;color:var(--white);padding:64px;display:flex;align-items:flex-end;overflow:hidden}
.full-hero-panel:before{content:"LEF";position:absolute;top:28px;left:40px;font-family:Arial,Helvetica,sans-serif;font-weight:1000;font-size:clamp(140px,15vw,310px);letter-spacing:-.1em;color:var(--orange);transform:rotate(-4deg);opacity:.97}
.full-hero-panel-copy{position:relative;z-index:1;font-family:Arial,Helvetica,sans-serif;font-size:clamp(42px,4vw,74px);line-height:.84;font-weight:900}
.full-hero-panel-copy span:nth-child(2){color:var(--orange)}

.section{padding:96px 0;border-bottom:1px solid var(--line)}
.section-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:42px}
.section h2{font-family:Arial,Helvetica,sans-serif;color:var(--navy);font-size:clamp(42px,5vw,78px);line-height:.92;letter-spacing:-.04em;margin:0}
.section-intro{max-width:620px;line-height:1.7}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.card{background:var(--paper-2);border:1px solid var(--line);min-height:320px;padding:28px;display:flex;flex-direction:column;justify-content:flex-end;position:relative;overflow:hidden}
.card-number{position:absolute;top:20px;right:22px;color:var(--orange);font-weight:700}
.card h3{font-family:Arial,Helvetica,sans-serif;color:var(--navy);font-size:38px;line-height:.95;margin:0 0 12px}
.card p{line-height:1.55;margin:0}
.story-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start}
.story-pull{font-family:Georgia,serif;color:var(--navy);font-size:clamp(42px,5vw,76px);line-height:.96;font-style:italic}
.story-copy{line-height:1.75}
.story-copy strong{color:var(--orange)}
.site-footer{background:var(--navy-deep);color:var(--white);padding:38px 0}
.site-footer-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;font-size:10px;letter-spacing:.12em;text-transform:uppercase}
.site-footer a{text-decoration:none}
.site-footer a:hover{color:var(--orange)}

/* General WP templates */
.content-wrap{padding:72px 0 100px}
.content-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:60px}
.entry-title{font-family:Arial,Helvetica,sans-serif;color:var(--navy);font-size:clamp(42px,5vw,76px);line-height:.95;letter-spacing:-.04em}
.entry-content{font-family:Arial,Helvetica,sans-serif;font-size:18px;line-height:1.75}
.entry-content h2,.entry-content h3{font-family:Arial,Helvetica,sans-serif;color:var(--navy)}
.post-list{display:grid;gap:26px}
.post-card{padding:26px;background:var(--paper-2);border:1px solid var(--line)}
.post-card a{text-decoration:none}
.post-card h2{font-family:Arial,Helvetica,sans-serif;color:var(--navy)}
.sidebar{border-left:1px solid var(--line);padding-left:28px}
.not-found{text-align:center;padding:120px 20px}
.not-found h1{font-family:Arial,Helvetica,sans-serif;font-size:120px;color:var(--orange);margin:0}

/* COMING SOON PAGE */
body.lef-coming-soon{background:var(--paper);overflow-x:hidden}
.cs-wrap{min-height:100vh;display:flex;flex-direction:column}
.cs-header{height:96px;display:flex;align-items:center;justify-content:space-between;padding:0 4vw;background:var(--paper-2);border-bottom:1px solid var(--line)}
.cs-brand{display:flex;align-items:center;gap:14px}
.cs-brand img{width:72px;height:72px;object-fit:contain;filter:drop-shadow(0 4px 7px rgba(0,0,0,.14))}
.cs-brand-copy{font-size:10px;line-height:1.5;text-transform:uppercase;letter-spacing:.12em;font-weight:700}
.cs-brand-copy strong{color:var(--orange)}
.cs-meta{font-size:10px;letter-spacing:.18em;font-weight:700}
.cs-meta b{color:var(--orange);font-size:14px}
.cs-hero{display:grid;grid-template-columns:1fr 1fr;min-height:620px}
.cs-left{background:var(--paper-2);padding:58px 5.5vw 34px;position:relative;overflow:hidden}
.cs-stripes{display:flex;gap:4px;margin-bottom:18px}
.cs-stripes span{width:28px;height:4px;display:block}
.cs-stripes span:nth-child(1){background:var(--orange)}
.cs-stripes span:nth-child(2){background:white;border:1px solid #c9c1b6}
.cs-stripes span:nth-child(3){background:var(--navy)}
.cs-kicker{font-size:9px;letter-spacing:.18em;color:var(--orange);text-transform:uppercase;font-weight:700;margin:0 0 12px}
.cs-left h1{font-family:Arial,Helvetica,sans-serif;color:var(--navy);font-weight:900;font-size:clamp(62px,6.4vw,126px);line-height:.86;letter-spacing:-.055em;margin:0 0 18px}
.cs-left h1 span{color:var(--orange)}
.cs-intro{max-width:560px;font-size:14px;line-height:1.55;margin:0}
.cs-intro strong{color:var(--orange)}
.cs-opening{display:flex;align-items:center;gap:15px;margin-top:24px}
.cs-badge{background:var(--orange);color:white;padding:12px 16px;font-size:10px;letter-spacing:.12em;font-weight:700}
.cs-opening .line{width:40px;height:1px;background:var(--navy)}
.cs-domain{font-size:11px;font-weight:700}
.cs-dutchline{position:absolute;left:5.5vw;right:4vw;bottom:18px;color:var(--blue);display:flex;align-items:flex-end;gap:16px}
.cs-dutch-skyline{width:min(70%,650px);max-height:155px;object-fit:contain;object-position:left bottom}
.cs-dutchline p{color:var(--orange);font-family:Georgia,serif;font-style:italic;font-size:20px;line-height:1.05;margin:0 0 10px;transform:rotate(-4deg)}
.cs-right{background-color:var(--navy-deep);background-image:linear-gradient(rgba(9,27,51,.12),rgba(9,27,51,.12)),url("../images/berlin-background.png");background-size:cover;background-position:center;position:relative;overflow:hidden;color:var(--white);padding:46px 5.5vw}
.cs-lang{position:absolute;right:22px;top:22px;width:48px;height:48px;border:1px solid rgba(255,255,255,.7);border-radius:50%;display:grid;place-items:center;font-size:8px;line-height:1.3;text-align:center}
.cs-lef{font-family:Arial,Helvetica,sans-serif;font-weight:1000;font-size:clamp(118px,13vw,250px);letter-spacing:-.1em;line-height:.78;color:var(--orange);transform:rotate(-4deg);transform-origin:left center;margin:30px 0 60px}
.cs-stack{font-family:Arial,Helvetica,sans-serif;font-weight:900;font-size:clamp(40px,3.8vw,70px);line-height:.84;display:flex;flex-direction:column}
.cs-stack span:nth-child(2){color:var(--orange)}
.cs-values{display:inline-flex;flex-direction:column;gap:2px;border:1px solid rgba(255,255,255,.45);padding:10px 12px;margin-top:26px;font-size:9px;letter-spacing:.14em}
.cs-note{position:absolute;right:3vw;bottom:42px;background:var(--paper-2);color:var(--navy);padding:22px 30px 17px;min-width:300px;transform:rotate(-4deg);box-shadow:0 14px 30px rgba(0,0,0,.22)}
.cs-note:before{content:"";position:absolute;top:-10px;left:38%;width:75px;height:20px;background:rgba(203,194,176,.72);transform:rotate(4deg)}
.cs-note strong{font-family:Georgia,serif;font-style:italic;font-size:34px;white-space:nowrap}
.asset-line{display:block;width:100%;height:12px;margin-top:5px;background-color:currentColor;-webkit-mask:url("../images/underline.png") center/100% 100% no-repeat;mask:url("../images/underline.png") center/100% 100% no-repeat}.asset-line-orange{color:var(--orange)}.asset-line-paper{color:var(--paper-2)}
.asset-crown{display:block;background-color:currentColor;-webkit-mask:url("../images/crown.png") center/contain no-repeat;mask:url("../images/crown.png") center/contain no-repeat}.asset-crown-navy{color:var(--navy)}.asset-crown-paper{color:var(--paper-2)}.cs-note .asset-crown{position:absolute;right:14px;bottom:5px;width:34px;height:28px}
.cs-ticker{height:44px;display:flex;align-items:center;justify-content:space-around;gap:12px;background:var(--paper-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:10px;letter-spacing:.13em;font-weight:700;white-space:nowrap;overflow:hidden}
.cs-ticker b{width:5px;height:5px;background:var(--orange);border-radius:50%;display:block;flex:none}
.cs-lower{display:grid;grid-template-columns:1.08fr 1.2fr .82fr 1fr;background:var(--paper-2);min-height:210px}
.cs-lower>div{padding:36px 3vw;border-right:1px solid var(--line)}
.cs-lower>div:last-child{border-right:0}
.cs-lower-title h2{font-family:Arial,Helvetica,sans-serif;color:var(--navy);font-size:42px;line-height:.82;letter-spacing:-.04em;margin:0}
.cs-lower-title em{display:block;color:var(--orange);font-family:Georgia,serif;font-weight:400;margin-left:110px;margin-top:5px}
.cs-points{display:flex;flex-direction:column;justify-content:center;gap:14px;font-size:10px}
.cs-points strong{display:block;color:var(--navy);letter-spacing:.08em}
.cs-points span{color:var(--orange)}
.cs-berlin{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
.cs-berlin .pin{font-size:36px;color:var(--orange)}
.cs-berlin strong{font-family:Georgia,serif;font-style:italic;color:var(--navy);font-size:24px}
.cs-question{display:flex;flex-direction:column;justify-content:center;color:var(--navy)}
.cs-question small{font-size:8px;letter-spacing:.12em;font-weight:700}
.cs-question strong{font-family:Georgia,serif;font-size:34px;font-style:italic;margin-top:8px}
.cs-question .asset-line{width:145px;height:10px;margin-top:5px}.cs-food-icon{object-fit:contain;filter:none}.cs-ribs{position:absolute;width:115px;right:20px;bottom:12px;opacity:.16}.cs-fries{width:54px;height:72px;margin-bottom:7px}.cs-lower-title{position:relative;overflow:hidden}
.cs-footer{min-height:66px;background:var(--navy-deep);color:var(--white);display:flex;align-items:center;justify-content:space-between;padding:0 4vw;font-size:9px;letter-spacing:.14em;font-weight:700}
.cs-footer a{text-decoration:none}
.cs-footer a:hover{color:var(--orange)}

@media(max-width:1000px){
  .site-nav{display:none}.menu-toggle{display:block}
  .full-hero,.cs-hero{grid-template-columns:1fr}
  .cards{grid-template-columns:1fr}
  .story-grid{grid-template-columns:1fr}
  .content-grid{grid-template-columns:1fr}.sidebar{border-left:0;padding-left:0}
  .cs-left{min-height:610px}
  .cs-right{min-height:570px}
  .cs-lower{grid-template-columns:1fr 1fr}
  .cs-lower>div:nth-child(2){border-right:0}
  .cs-lower>div:nth-child(-n+2){border-bottom:1px solid var(--line)}
}
@media(max-width:640px){
  .lef-container{width:min(calc(100% - 28px),1320px)}
  .site-header-inner{min-height:76px}
  .site-brand img{width:56px;height:56px}
  .site-brand-copy{font-size:8px}
  .full-hero-copy{padding:60px 22px}
  .full-hero-panel{min-height:500px;padding:32px}
  .section{padding:70px 0}
  .section-head{display:block}
  .cs-header{height:82px;padding:0 16px}
  .cs-brand img{width:58px;height:58px}
  .cs-brand-copy{font-size:8px}
  .cs-meta{font-size:8px}
  .cs-left{padding:42px 20px 24px;min-height:585px}
  .cs-left h1{font-size:58px}
  .cs-intro{font-size:12px}
  .cs-opening{gap:10px}
  .cs-badge{padding:10px 11px;font-size:9px}
  .cs-opening .line{width:22px}
  .cs-domain{font-size:9px}
  .cs-dutchline{left:18px;right:12px}
  .cs-dutch-skyline{width:72%;max-height:130px}
  .cs-dutchline p{font-size:14px}
  .cs-right{padding:48px 22px 28px;min-height:540px}
  .cs-lef{font-size:118px}
  .cs-note{right:20px;bottom:28px;min-width:255px;padding:19px 22px 14px}
  .cs-note strong{font-size:27px}
  .cs-ticker{justify-content:flex-start;overflow-x:auto;padding:0 16px}
  .cs-lower{grid-template-columns:1fr}
  .cs-lower>div{border-right:0!important;border-bottom:1px solid var(--line)}
  .cs-lower-title h2{font-size:36px}
  .cs-footer{gap:12px;flex-wrap:wrap;padding:16px}
}

/* Asset integration v4: uploaded Dutch skyline, Berlin texture, fries, ribs, crown and underline. */


/* ===== LEF v4.1 coming-soon refinement ===== */
body.lef-coming-soon .cs-hero{
  grid-template-columns:minmax(0, 54%) minmax(0, 46%);
  min-height:650px;
}

body.lef-coming-soon .cs-left{
  padding:54px 4.5vw 30px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
}

body.lef-coming-soon .cs-left h1{
  font-size:clamp(54px,5.6vw,108px);
  max-width:760px;
  line-height:.9;
  margin:0 0 8px;
}

body.lef-coming-soon .cs-berlin-line{
  margin:0 0 22px;
  font-family:Arial,Helvetica,sans-serif;
  font-size:clamp(22px,2vw,38px);
  line-height:1;
  font-weight:900;
  letter-spacing:.02em;
  color:var(--orange);
}

body.lef-coming-soon .cs-intro{
  max-width:620px;
  font-size:13px;
  line-height:1.55;
}

body.lef-coming-soon .cs-opening{
  margin-top:22px;
}

body.lef-coming-soon .cs-dutchline{
  position:static;
  width:100%;
  margin-top:auto;
  padding-top:30px;
  display:grid;
  grid-template-columns:minmax(0, 1fr) 180px;
  align-items:end;
  gap:26px;
}

body.lef-coming-soon .cs-dutchline img,
body.lef-coming-soon .cs-dutchline svg{
  width:100%;
  max-width:610px;
  height:auto;
  display:block;
}

body.lef-coming-soon .cs-dutchline p{
  font-size:18px;
  margin:0 0 8px;
  align-self:end;
}

body.lef-coming-soon .cs-right{
  min-width:0;
  padding:52px 4.2vw 42px;
  background-size:cover;
  background-position:center;
}

body.lef-coming-soon .cs-lef{
  font-size:clamp(100px,11vw,205px);
  margin:25px 0 54px;
}

body.lef-coming-soon .cs-stack{
  font-size:clamp(34px,3.5vw,64px);
}

body.lef-coming-soon .cs-note{
  right:3vw;
  bottom:36px;
  min-width:270px;
  max-width:360px;
}

body.lef-coming-soon .cs-lower{
  grid-template-columns:1.05fr 1.25fr .85fr 1fr;
}

body.lef-coming-soon .cs-lower>div{
  min-width:0;
  padding:32px 2.6vw;
}

body.lef-coming-soon .cs-lower-title h2{
  font-size:clamp(30px,3vw,42px);
}

body.lef-coming-soon .cs-lower-title em{
  margin-left:0;
  margin-top:7px;
}

@media (max-width: 980px){
  body.lef-coming-soon .cs-hero{
    grid-template-columns:55% 45%;
    min-height:610px;
  }

  body.lef-coming-soon .cs-left{
    min-height:auto;
    padding:42px 30px 24px;
  }

  body.lef-coming-soon .cs-left h1{
    font-size:clamp(46px,7.2vw,70px);
  }

  body.lef-coming-soon .cs-berlin-line{
    font-size:clamp(19px,3vw,28px);
  }

  body.lef-coming-soon .cs-intro{
    font-size:11px;
  }

  body.lef-coming-soon .cs-dutchline{
    grid-template-columns:1fr;
    gap:8px;
    padding-top:22px;
  }

  body.lef-coming-soon .cs-dutchline p{
    font-size:14px;
    justify-self:end;
  }

  body.lef-coming-soon .cs-right{
    min-height:auto;
    padding:42px 24px 32px;
  }

  body.lef-coming-soon .cs-lef{
    font-size:clamp(86px,14vw,130px);
    margin:22px 0 46px;
  }

  body.lef-coming-soon .cs-stack{
    font-size:clamp(30px,5vw,48px);
  }

  body.lef-coming-soon .cs-note{
    right:20px;
    bottom:28px;
    min-width:220px;
    max-width:270px;
    padding:18px 20px 14px;
  }

  body.lef-coming-soon .cs-note strong{
    font-size:25px;
  }

  body.lef-coming-soon .cs-lower{
    grid-template-columns:1fr 1fr;
  }
}

@media (max-width: 720px){
  body.lef-coming-soon .cs-hero{
    grid-template-columns:1fr;
  }

  body.lef-coming-soon .cs-left{
    padding:38px 20px 22px;
  }

  body.lef-coming-soon .cs-left h1{
    font-size:54px;
  }

  body.lef-coming-soon .cs-dutchline{
    margin-top:32px;
  }

  body.lef-coming-soon .cs-right{
    min-height:520px;
  }

  body.lef-coming-soon .cs-lower{
    grid-template-columns:1fr;
  }
}


/* ===== Font Awesome integration ===== */
.fa-solid,
.fa-regular,
.fa-brands{
  line-height:1;
}

.btn{
  gap:10px;
}

.btn i{
  font-size:.92em;
  transition:transform .2s ease;
}

.btn:hover i.fa-arrow-right{
  transform:translateX(3px);
}

.btn:hover i.fa-arrow-left{
  transform:translateX(-3px);
}

.menu-toggle{
  color:var(--navy);
  width:44px;
  height:44px;
  align-items:center;
  justify-content:center;
}

.menu-toggle i{
  font-size:23px;
}

.site-footer i,
.cs-footer i{
  color:var(--orange);
  margin-right:7px;
}

.cs-badge{
  display:inline-flex;
  align-items:center;
  gap:8px;
}

.cs-badge i{
  font-size:11px;
}

.cs-lang{
  gap:3px;
  line-height:1;
}

.cs-lang > i{
  font-size:11px;
  margin-bottom:2px;
}

.cs-lang > span{
  display:block;
  font-size:7px;
  line-height:1.22;
}

.cs-berlin .pin{
  display:flex;
  align-items:center;
  justify-content:center;
  height:42px;
  font-size:34px;
  line-height:1;
}

.cs-berlin .pin i{
  filter:drop-shadow(0 2px 0 rgba(16,41,74,.08));
}

@media(max-width:1000px){
  .menu-toggle{
    display:inline-flex;
  }

  .site-nav.is-open{
    display:block;
    position:absolute;
    top:100%;
    left:0;
    right:0;
    background:var(--paper-2);
    border-bottom:1px solid var(--line);
    padding:18px 24px 24px;
  }

  .site-nav.is-open ul{
    flex-direction:column;
    gap:16px;
  }
}


/* ===== LEF v4.3 lower strip — reference composition ===== */
.asset-line-navy{color:var(--navy)}

body.lef-coming-soon .cs-lower{
  display:grid;
  grid-template-columns:1.02fr 1.08fr .92fr 1fr;
  min-height:252px;
  background:var(--paper-2);
  border-bottom:1px solid var(--line);
}

body.lef-coming-soon .cs-lower>div{
  position:relative;
  min-width:0;
  padding:30px 38px;
  border-right:1px solid rgba(16,41,74,.30);
  overflow:hidden;
}

body.lef-coming-soon .cs-lower>div:last-child{
  border-right:0;
}

/* column 1 */
body.lef-coming-soon .cs-lower-title{
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:flex-start;
}

body.lef-coming-soon .cs-lower-title h2{
  margin:0;
  color:var(--navy);
  font-family:Arial,Helvetica,sans-serif;
  font-size:clamp(34px,3.15vw,56px);
  line-height:.88;
  letter-spacing:-.045em;
  font-weight:900;
}

body.lef-coming-soon .cs-imbiss{
  align-self:center;
  margin:7px 0 0 42px;
  color:var(--orange);
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(30px,2.8vw,48px);
  line-height:1;
  font-style:italic;
  transform:rotate(-4deg);
}

body.lef-coming-soon .cs-title-line{
  width:116px;
  height:10px;
  margin:5px 0 0 46%;
  transform:rotate(-7deg);
}

/* column 2 */
body.lef-coming-soon .cs-points{
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:18px;
  font-size:10px;
}

body.lef-coming-soon .cs-point{
  display:grid;
  grid-template-columns:50px minmax(0,1fr);
  align-items:center;
  gap:15px;
  min-height:48px;
}

body.lef-coming-soon .cs-point p{
  margin:0;
}

body.lef-coming-soon .cs-point strong{
  display:block;
  color:var(--navy);
  font-size:11px;
  line-height:1.15;
  letter-spacing:.075em;
}

body.lef-coming-soon .cs-point span:not(.asset-crown){
  display:block;
  margin-top:4px;
  color:var(--orange);
  font-size:10px;
  line-height:1.2;
}

body.lef-coming-soon .cs-point-icon{
  display:block;
  width:44px;
  height:44px;
  object-fit:contain;
}

body.lef-coming-soon .cs-point-ribs{
  width:48px;
  height:48px;
}

body.lef-coming-soon .cs-point-crown{
  width:43px;
  height:40px;
  justify-self:center;
}

/* column 3 */
body.lef-coming-soon .cs-berlin{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  isolation:isolate;
}

body.lef-coming-soon .cs-berlin-map{
  position:absolute;
  inset:-12%;
  width:124%;
  height:124%;
  object-fit:cover;
  opacity:.72;
  z-index:-1;
  pointer-events:none;
}

body.lef-coming-soon .cs-map-pin{
  color:var(--orange);
  font-size:45px;
  margin-bottom:8px;
  filter:drop-shadow(0 2px 0 rgba(255,255,255,.6));
}

body.lef-coming-soon .cs-berlin strong{
  color:var(--navy);
  font-family:"Comic Sans MS","Segoe Print",cursive;
  font-size:clamp(24px,2vw,34px);
  line-height:1.05;
  font-style:italic;
  transform:rotate(-4deg);
  text-shadow:0 1px 0 rgba(255,255,255,.65);
}

body.lef-coming-soon .cs-berlin-underline{
  width:135px;
  height:10px;
  margin-top:6px;
  transform:rotate(-7deg);
}

/* column 4 */
body.lef-coming-soon .cs-question{
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:flex-start;
  padding-left:42px;
  color:var(--navy);
}

body.lef-coming-soon .cs-question small{
  font-size:9px;
  line-height:1;
  letter-spacing:.1em;
  font-weight:700;
}

body.lef-coming-soon .cs-question strong{
  margin-top:11px;
  color:var(--navy);
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(27px,2.35vw,42px);
  line-height:1;
  font-style:italic;
  white-space:nowrap;
}

body.lef-coming-soon .cs-question-line{
  width:165px;
  height:10px;
  margin-top:10px;
  transform:rotate(-5deg);
}

body.lef-coming-soon .cs-question-crown{
  position:absolute;
  width:43px;
  height:37px;
  right:27px;
  bottom:34px;
  transform:rotate(7deg);
}

@media(max-width:1050px){
  body.lef-coming-soon .cs-lower{
    grid-template-columns:1fr 1fr;
  }
  body.lef-coming-soon .cs-lower>div{
    min-height:220px;
  }
  body.lef-coming-soon .cs-lower>div:nth-child(2){
    border-right:0;
  }
  body.lef-coming-soon .cs-lower>div:nth-child(-n+2){
    border-bottom:1px solid rgba(16,41,74,.30);
  }
}

@media(max-width:650px){
  body.lef-coming-soon .cs-lower{
    grid-template-columns:1fr;
  }
  body.lef-coming-soon .cs-lower>div{
    min-height:210px;
    padding:28px 26px;
    border-right:0;
    border-bottom:1px solid rgba(16,41,74,.30);
  }
  body.lef-coming-soon .cs-lower-title{
    align-items:center;
    text-align:center;
  }
  body.lef-coming-soon .cs-title-line{
    margin-left:80px;
  }
  body.lef-coming-soon .cs-question{
    align-items:center;
    padding-left:26px;
    text-align:center;
  }
  body.lef-coming-soon .cs-question-crown{
    right:26px;
    bottom:25px;
  }
}


/* ===== LEF v4.4 language switcher ===== */
.cs-lang-switcher,
.site-lang-switcher{
  display:flex;
  align-items:center;
  gap:4px;
}

.cs-lang-switcher{
  position:absolute;
  right:22px;
  top:22px;
  z-index:5;
}

.cs-lang-switcher button,
.site-lang-switcher button{
  border:1px solid rgba(16,41,74,.32);
  background:transparent;
  color:var(--navy);
  min-width:34px;
  height:30px;
  padding:0 8px;
  cursor:pointer;
  font-size:9px;
  font-weight:700;
  letter-spacing:.08em;
  transition:background .18s ease,color .18s ease,border-color .18s ease;
}

.cs-right .cs-lang-switcher button{
  border-color:rgba(255,255,255,.48);
  color:var(--white);
}

.cs-lang-switcher button:hover,
.site-lang-switcher button:hover{
  border-color:var(--orange);
  color:var(--orange);
}

.cs-lang-switcher button.is-active,
.site-lang-switcher button.is-active{
  background:var(--orange);
  border-color:var(--orange);
  color:white;
}

.site-lang-switcher{
  margin-left:6px;
}

.site-header-inner{
  position:relative;
}

@media(max-width:1000px){
  .site-lang-switcher{
    margin-left:auto;
    margin-right:4px;
  }
}

@media(max-width:640px){
  .cs-lang-switcher{
    top:16px;
    right:14px;
  }

  .cs-lang-switcher button,
  .site-lang-switcher button{
    min-width:30px;
    height:28px;
    padding:0 6px;
    font-size:8px;
  }

  .site-brand-copy{
    display:none;
  }
}


/* ===== LEF v4.4.2 responsive language-aware refinements ===== */

/* Prevent translated headlines from ever pushing the viewport */
body.lef-coming-soon .cs-left,
body.lef-coming-soon .cs-left h1,
body.lef-coming-soon .cs-intro,
body.lef-coming-soon .cs-opening{
  min-width:0;
  max-width:100%;
}

body.lef-coming-soon .cs-left h1{
  overflow-wrap:normal;
  word-break:normal;
  hyphens:none;
}

body.lef-coming-soon .cs-intro{
  text-wrap:pretty;
}

body.lef-coming-soon .cs-opening{
  flex-wrap:wrap;
}

body.lef-coming-soon .cs-domain{
  white-space:nowrap;
}

/* German needs a little more room than EN/NL */
html[lang="de"] body.lef-coming-soon .cs-left h1{
  font-size:clamp(50px,5.0vw,96px);
  letter-spacing:-.048em;
}

html[lang="de"] body.lef-coming-soon .cs-berlin-line{
  font-size:clamp(20px,1.75vw,32px);
}

html[lang="de"] body.lef-coming-soon .cs-intro{
  max-width:680px;
}

/* Dutch is slightly longer than English, but not nearly as much as German */
html[lang="nl"] body.lef-coming-soon .cs-left h1{
  font-size:clamp(52px,5.25vw,101px);
}

/* Tablet */
@media(max-width:980px){
  html[lang="de"] body.lef-coming-soon .cs-left h1{
    font-size:clamp(42px,6.3vw,62px);
  }

  html[lang="nl"] body.lef-coming-soon .cs-left h1{
    font-size:clamp(44px,6.6vw,65px);
  }

  body.lef-coming-soon .cs-opening{
    row-gap:10px;
  }
}

/* Mobile */
@media(max-width:720px){
  body.lef-coming-soon .cs-left{
    padding-left:20px;
    padding-right:20px;
  }

  body.lef-coming-soon .cs-left h1{
    width:100%;
    max-width:100%;
    font-size:clamp(46px,14vw,58px);
    line-height:.88;
  }

  html[lang="de"] body.lef-coming-soon .cs-left h1{
    font-size:clamp(38px,11.6vw,48px);
    line-height:.92;
    letter-spacing:-.038em;
  }

  html[lang="nl"] body.lef-coming-soon .cs-left h1{
    font-size:clamp(41px,12.4vw,52px);
    line-height:.9;
  }

  body.lef-coming-soon .cs-berlin-line{
    font-size:clamp(18px,5.4vw,24px);
    margin-bottom:18px;
  }

  html[lang="de"] body.lef-coming-soon .cs-berlin-line{
    font-size:clamp(16px,4.8vw,21px);
  }

  body.lef-coming-soon .cs-intro{
    max-width:100%;
    font-size:11.5px;
    line-height:1.55;
  }

  body.lef-coming-soon .cs-opening{
    width:100%;
    gap:10px;
    align-items:center;
  }

  body.lef-coming-soon .cs-opening .line{
    flex:0 0 24px;
  }

  body.lef-coming-soon .cs-badge{
    flex:0 0 auto;
  }

  body.lef-coming-soon .cs-dutchline{
    padding-top:26px;
    margin-top:28px;
  }

  body.lef-coming-soon .cs-dutchline img,
  body.lef-coming-soon .cs-dutchline svg{
    width:100%;
    max-width:none;
  }

  body.lef-coming-soon .cs-dutchline p{
    margin-top:2px;
    padding-right:6px;
  }
}

/* Narrow phones */
@media(max-width:460px){
  body.lef-coming-soon .cs-left{
    padding:34px 18px 20px;
  }

  body.lef-coming-soon .cs-kicker{
    font-size:7.6px;
    letter-spacing:.14em;
  }

  body.lef-coming-soon .cs-left h1{
    font-size:clamp(40px,13.2vw,50px);
  }

  html[lang="de"] body.lef-coming-soon .cs-left h1{
    font-size:clamp(34px,10.8vw,42px);
    letter-spacing:-.032em;
  }

  html[lang="nl"] body.lef-coming-soon .cs-left h1{
    font-size:clamp(37px,11.6vw,45px);
  }

  body.lef-coming-soon .cs-opening{
    display:grid;
    grid-template-columns:auto 22px auto;
    width:100%;
  }

  body.lef-coming-soon .cs-opening .line{
    width:22px;
  }

  body.lef-coming-soon .cs-domain{
    font-size:8.5px;
  }

  body.lef-coming-soon .cs-dutchline{
    margin-top:24px;
  }
}

/* Extra narrow / long German words */
@media(max-width:390px){
  html[lang="de"] body.lef-coming-soon .cs-left h1{
    font-size:32px;
    line-height:.95;
    letter-spacing:-.025em;
  }

  html[lang="nl"] body.lef-coming-soon .cs-left h1{
    font-size:35px;
  }

  body.lef-coming-soon .cs-left h1{
    font-size:38px;
  }

  body.lef-coming-soon .cs-opening{
    grid-template-columns:1fr;
    justify-items:start;
  }

  body.lef-coming-soon .cs-opening .line{
    display:none;
  }
}


/* ===== LEF v4.4.3 mobile headline fit fix ===== */

/* Treat each translated hero line independently */
body.lef-coming-soon .cs-left h1 > [data-i18n="hero_1"],
body.lef-coming-soon .cs-left h1 > [data-i18n="hero_2"]{
  display:inline-block;
  max-width:100%;
  white-space:nowrap;
}

/* Desktop/tablet country line can be slightly tighter without changing composition */
body.lef-coming-soon .cs-left h1 > [data-i18n="hero_2"]{
  font-size:.92em;
  letter-spacing:-.055em;
}

/* German country name is substantially longer */
html[lang="de"] body.lef-coming-soon .cs-left h1 > [data-i18n="hero_2"]{
  font-size:.78em;
}

/* Dutch is between English and German in length */
html[lang="nl"] body.lef-coming-soon .cs-left h1 > [data-i18n="hero_2"]{
  font-size:.86em;
}

@media(max-width:720px){
  body.lef-coming-soon .cs-left h1{
    font-size:clamp(40px,12.4vw,50px);
    line-height:.92;
    letter-spacing:-.04em;
  }

  body.lef-coming-soon .cs-left h1 > [data-i18n="hero_1"]{
    font-size:1em;
  }

  body.lef-coming-soon .cs-left h1 > [data-i18n="hero_2"]{
    font-size:.78em;
    letter-spacing:-.045em;
  }

  html[lang="nl"] body.lef-coming-soon .cs-left h1 > [data-i18n="hero_2"]{
    font-size:.73em;
  }

  html[lang="de"] body.lef-coming-soon .cs-left h1 > [data-i18n="hero_2"]{
    font-size:.66em;
  }

  body.lef-coming-soon .cs-berlin-line{
    margin-top:5px;
  }
}

@media(max-width:460px){
  body.lef-coming-soon .cs-left h1{
    font-size:clamp(36px,11.4vw,44px);
  }

  body.lef-coming-soon .cs-left h1 > [data-i18n="hero_2"]{
    font-size:.76em;
  }

  html[lang="nl"] body.lef-coming-soon .cs-left h1 > [data-i18n="hero_2"]{
    font-size:.70em;
  }

  html[lang="de"] body.lef-coming-soon .cs-left h1 > [data-i18n="hero_2"]{
    font-size:.62em;
  }

  body.lef-coming-soon .cs-berlin-line{
    font-size:17px;
  }
}

@media(max-width:390px){
  body.lef-coming-soon .cs-left h1{
    font-size:34px;
  }

  body.lef-coming-soon .cs-left h1 > [data-i18n="hero_2"]{
    font-size:.74em;
  }

  html[lang="nl"] body.lef-coming-soon .cs-left h1 > [data-i18n="hero_2"]{
    font-size:.68em;
  }

  html[lang="de"] body.lef-coming-soon .cs-left h1 > [data-i18n="hero_2"]{
    font-size:.60em;
  }
}


/* =========================================================
   LEF v4.5 — full site adopts coming-soon design language
   ========================================================= */

.full-site-home{
  overflow:hidden;
}

.home-hero{
  display:grid;
  grid-template-columns:1.08fr .92fr;
  min-height:720px;
  border-bottom:1px solid var(--line);
}

.home-hero-left{
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  padding:78px 5vw 34px;
  background:var(--paper-2);
  overflow:hidden;
}

.home-mini-stripe{
  display:flex;
  gap:4px;
  margin-bottom:22px;
}

.home-mini-stripe span{
  display:block;
  width:28px;
  height:4px;
}

.home-mini-stripe span:nth-child(1){background:var(--orange)}
.home-mini-stripe span:nth-child(2){background:white;border:1px solid #c9c1b6}
.home-mini-stripe span:nth-child(3){background:var(--navy)}

.home-kicker{
  margin:0 0 14px;
  color:var(--orange);
  font-size:9px;
  line-height:1;
  letter-spacing:.18em;
  text-transform:uppercase;
  font-weight:700;
}

.home-hero h1{
  margin:0 0 24px;
  max-width:780px;
  color:var(--navy);
  font-family:Arial,Helvetica,sans-serif;
  font-size:clamp(72px,7.1vw,138px);
  line-height:.84;
  letter-spacing:-.06em;
  font-weight:900;
}

.home-hero h1 .dot{
  color:var(--orange);
}

.home-intro{
  max-width:610px;
  margin:0;
  font-size:14px;
  line-height:1.62;
}

.home-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:30px;
}

.home-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:11px;
  min-height:49px;
  padding:0 22px;
  border:1px solid var(--navy);
  text-decoration:none;
  text-transform:uppercase;
  letter-spacing:.09em;
  font-size:10px;
  font-weight:700;
  transition:transform .18s ease,background .18s ease,color .18s ease;
}

.home-btn:hover{
  transform:translateY(-2px);
}

.home-btn-primary{
  background:var(--orange);
  border-color:var(--orange);
  color:white;
}

.home-btn-secondary{
  background:transparent;
  color:var(--navy);
}

.home-dutch-art{
  width:min(76%,700px);
  margin-top:auto;
  padding-top:42px;
}

.home-dutch-art img{
  display:block;
  width:100%;
  height:auto;
}

.home-hero-right{
  position:relative;
  padding:70px 4.5vw 44px;
  background:var(--navy-deep);
  color:var(--white);
  overflow:hidden;
  isolation:isolate;
}

.home-hero-bg{
  position:absolute;
  inset:0;
  z-index:-1;
  background:
    linear-gradient(rgba(9,27,51,.72),rgba(9,27,51,.78)),
    url('../images/berlin-background.png') center/cover no-repeat;
}

.home-lef-word{
  margin:34px 0 74px;
  color:var(--orange);
  font-family:Arial,Helvetica,sans-serif;
  font-size:clamp(130px,13vw,260px);
  line-height:.75;
  letter-spacing:-.1em;
  font-weight:1000;
  transform:rotate(-4deg);
  transform-origin:left center;
}

.home-food-stack{
  display:flex;
  flex-direction:column;
  color:var(--white);
  font-family:Arial,Helvetica,sans-serif;
  font-size:clamp(44px,4vw,78px);
  line-height:.84;
  font-weight:900;
}

.home-food-stack span:nth-child(2){
  color:var(--orange);
}

.home-values{
  display:inline-flex;
  flex-direction:column;
  gap:2px;
  margin-top:34px;
  padding:11px 13px;
  border:1px solid rgba(255,255,255,.45);
  font-size:9px;
  line-height:1.4;
  letter-spacing:.14em;
}

.home-note{
  position:absolute;
  right:3vw;
  bottom:48px;
  min-width:300px;
  padding:24px 29px 18px;
  background:var(--paper-2);
  color:var(--navy);
  box-shadow:0 14px 30px rgba(0,0,0,.22);
  transform:rotate(-4deg);
}

.home-note:before{
  content:"";
  position:absolute;
  top:-10px;
  left:38%;
  width:75px;
  height:20px;
  background:rgba(203,194,176,.72);
  transform:rotate(4deg);
}

.home-note strong{
  display:block;
  font-family:Georgia,"Times New Roman",serif;
  font-size:34px;
  line-height:1;
  font-style:italic;
  white-space:nowrap;
}

.home-note-line{
  width:180px;
  height:10px;
  margin-top:8px;
}

.home-note-crown{
  position:absolute;
  right:12px;
  bottom:4px;
  width:38px;
  height:32px;
}

.home-ticker{
  min-height:46px;
  display:flex;
  align-items:center;
  justify-content:space-around;
  gap:14px;
  padding:0 3vw;
  border-bottom:1px solid var(--line);
  background:var(--paper-2);
  white-space:nowrap;
  overflow:hidden;
  font-size:10px;
  line-height:1;
  letter-spacing:.13em;
  font-weight:700;
}

.home-ticker i{
  flex:none;
  width:5px;
  height:5px;
  border-radius:50%;
  background:var(--orange);
}

.home-manifesto{
  display:grid;
  grid-template-columns:1.1fr 1.15fr .9fr;
  min-height:250px;
  background:var(--paper-2);
  border-bottom:1px solid var(--line);
}

.home-manifesto>div{
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:42px 4vw;
  border-right:1px solid var(--line);
}

.home-manifesto>div:last-child{
  border-right:0;
}

.home-manifesto h2{
  margin:0;
  color:var(--navy);
  font-family:Arial,Helvetica,sans-serif;
  font-size:clamp(42px,4.4vw,72px);
  line-height:.84;
  letter-spacing:-.045em;
  font-weight:900;
}

.home-manifesto-copy p{
  max-width:580px;
  margin:0;
  font-size:13px;
  line-height:1.7;
}

.home-manifesto-question small{
  color:var(--navy);
  font-size:8px;
  letter-spacing:.13em;
  font-weight:700;
}

.home-manifesto-question strong{
  margin-top:12px;
  color:var(--navy);
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(31px,3vw,48px);
  line-height:1;
  font-style:italic;
}

.home-manifesto-question .asset-line{
  width:155px;
  height:10px;
  margin-top:8px;
}

.home-food-section{
  padding:96px 4.5vw 104px;
  background:var(--paper);
  border-bottom:1px solid var(--line);
}

.home-section-heading{
  display:grid;
  grid-template-columns:.7fr 1.3fr;
  gap:40px;
  align-items:end;
  margin-bottom:50px;
}

.home-section-heading h2{
  margin:0;
  color:var(--navy);
  font-family:Arial,Helvetica,sans-serif;
  font-size:clamp(58px,6vw,110px);
  line-height:.82;
  letter-spacing:-.06em;
  font-weight:900;
}

.home-food-cards{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  border:1px solid var(--line);
}

.home-food-card{
  position:relative;
  min-height:410px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  padding:34px;
  background:var(--paper-2);
  border-right:1px solid var(--line);
  overflow:hidden;
}

.home-food-card:last-child{
  border-right:0;
}

.home-food-card-dark{
  background:var(--navy);
  color:var(--white);
}

.home-card-number{
  position:absolute;
  top:24px;
  right:26px;
  color:var(--orange);
  font-size:11px;
  font-weight:700;
  letter-spacing:.12em;
}

.home-food-icon{
  position:absolute;
  left:28px;
  top:28px;
  width:145px;
  height:145px;
  display:flex;
  align-items:center;
  justify-content:center;
  opacity:.96;
}

.home-food-icon img{
  max-width:100%;
  max-height:100%;
  object-fit:contain;
}

.home-food-card-dark .home-food-icon img{
  filter:brightness(0) invert(1);
  opacity:.78;
}

.home-card-crown{
  width:120px;
  height:100px;
}

.home-food-card h3{
  margin:0 0 12px;
  color:var(--navy);
  font-family:Arial,Helvetica,sans-serif;
  font-size:clamp(33px,3vw,48px);
  line-height:.95;
  letter-spacing:-.04em;
}

.home-food-card-dark h3{
  color:var(--white);
}

.home-food-card p{
  max-width:430px;
  margin:0;
  font-size:12px;
  line-height:1.6;
}

.home-story-section{
  display:grid;
  grid-template-columns:.95fr 1.05fr;
  min-height:560px;
  background:var(--paper-2);
}

.home-story-map{
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  border-right:1px solid var(--line);
}

.home-story-map img{
  position:absolute;
  inset:-8%;
  width:116%;
  height:116%;
  object-fit:cover;
  opacity:.8;
}

.home-story-map i{
  position:relative;
  z-index:2;
  color:var(--orange);
  font-size:64px;
  filter:drop-shadow(0 2px 0 rgba(255,255,255,.6));
}

.home-story-map strong{
  position:relative;
  z-index:2;
  margin-top:14px;
  color:var(--navy);
  font-family:Georgia,"Times New Roman",serif;
  font-size:42px;
  font-style:italic;
}

.home-story-copy{
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:flex-start;
  padding:70px 6vw;
}

.home-story-copy h2{
  margin:14px 0 24px;
  color:var(--navy);
  font-family:Arial,Helvetica,sans-serif;
  font-size:clamp(50px,5vw,86px);
  line-height:.86;
  letter-spacing:-.05em;
  font-weight:900;
}

.home-story-copy p{
  max-width:650px;
  margin:0 0 30px;
  font-size:13px;
  line-height:1.75;
}

/* language-specific full hero handling */
html[lang="de"] .home-hero h1{
  font-size:clamp(62px,6.1vw,112px);
}

html[lang="nl"] .home-hero h1{
  font-size:clamp(67px,6.6vw,122px);
}

@media(max-width:1050px){
  .home-hero{
    grid-template-columns:1fr;
  }

  .home-hero-left{
    min-height:660px;
  }

  .home-hero-right{
    min-height:610px;
  }

  .home-manifesto{
    grid-template-columns:1fr 1fr;
  }

  .home-manifesto>div:nth-child(2){
    border-right:0;
  }

  .home-manifesto-question{
    grid-column:1/-1;
    border-top:1px solid var(--line);
  }

  .home-food-cards{
    grid-template-columns:1fr;
  }

  .home-food-card{
    min-height:330px;
    border-right:0;
    border-bottom:1px solid var(--line);
  }

  .home-food-card:last-child{
    border-bottom:0;
  }

  .home-story-section{
    grid-template-columns:1fr;
  }

  .home-story-map{
    min-height:400px;
    border-right:0;
    border-bottom:1px solid var(--line);
  }
}

@media(max-width:700px){
  .home-hero-left{
    min-height:620px;
    padding:48px 20px 26px;
  }

  .home-hero h1{
    font-size:clamp(47px,13.5vw,62px);
    line-height:.88;
  }

  html[lang="de"] .home-hero h1{
    font-size:clamp(39px,11.2vw,52px);
  }

  html[lang="nl"] .home-hero h1{
    font-size:clamp(43px,12.2vw,56px);
  }

  .home-intro{
    font-size:12px;
  }

  .home-dutch-art{
    width:100%;
    padding-top:34px;
  }

  .home-hero-right{
    min-height:540px;
    padding:48px 22px 30px;
  }

  .home-lef-word{
    margin:24px 0 56px;
    font-size:126px;
  }

  .home-food-stack{
    font-size:43px;
  }

  .home-note{
    right:20px;
    bottom:30px;
    min-width:255px;
    padding:20px 23px 15px;
  }

  .home-note strong{
    font-size:28px;
  }

  .home-ticker{
    justify-content:flex-start;
    overflow-x:auto;
    padding:0 18px;
  }

  .home-manifesto{
    grid-template-columns:1fr;
  }

  .home-manifesto>div{
    min-height:190px;
    border-right:0;
    border-bottom:1px solid var(--line);
  }

  .home-manifesto>div:last-child{
    border-bottom:0;
  }

  .home-section-heading{
    grid-template-columns:1fr;
  }

  .home-food-section{
    padding:70px 20px;
  }

  .home-food-card{
    min-height:300px;
    padding:28px;
  }

  .home-food-icon{
    width:110px;
    height:110px;
  }

  .home-story-map{
    min-height:320px;
  }

  .home-story-copy{
    padding:55px 22px;
  }
}


/* ===== LEF v4.5.1 — real food photography ===== */
.home-food-card{
  padding-top:260px;
  min-height:520px;
}

.home-food-photo{
  position:absolute;
  inset:0 0 auto 0;
  height:235px;
  overflow:hidden;
  border-bottom:1px solid var(--line);
  background:var(--paper);
}

.home-food-photo img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  transition:transform .45s ease;
}

.home-food-card:hover .home-food-photo img{
  transform:scale(1.025);
}

/* The snack shot is wide; keep all three products readable. */
.home-food-card:nth-child(1) .home-food-photo img{
  object-position:center 52%;
}

/* Let the ribs fill the frame and keep the pulled-apart meat visible. */
.home-food-card:nth-child(2) .home-food-photo img{
  object-position:center 56%;
}

/* Patat oorlog gets a tighter, food-first crop. */
.home-food-card:nth-child(3) .home-food-photo img{
  object-position:center 48%;
}

.home-food-card-dark .home-food-photo img{
  filter:none;
  opacity:1;
}

.home-food-card .home-card-number{
  top:253px;
  z-index:2;
  padding:5px 7px;
  background:var(--paper-2);
  border:1px solid var(--line);
}

.home-food-card-dark .home-card-number{
  background:var(--navy);
  border-color:rgba(255,255,255,.35);
}

@media(max-width:1050px){
  .home-food-card{
    min-height:450px;
    padding-top:245px;
  }

  .home-food-photo{
    height:220px;
  }

  .home-food-card .home-card-number{
    top:238px;
  }
}

@media(max-width:700px){
  .home-food-card{
    min-height:430px;
    padding-top:235px;
  }

  .home-food-photo{
    height:210px;
  }

  .home-food-card .home-card-number{
    top:228px;
  }
}


/* ===== LEF v4.5.2 — corrected food cards ===== */
.home-food-cards{
  gap:0;
  overflow:hidden;
}

.home-food-card{
  min-height:540px;
  padding:0;
  display:grid;
  grid-template-rows:310px 1fr;
  background:var(--paper-2);
}

.home-food-photo{
  position:relative;
  inset:auto;
  height:auto;
  min-height:0;
  border-bottom:1px solid var(--line);
  overflow:hidden;
}

.home-food-photo::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(to bottom,transparent 68%,rgba(9,27,51,.10));
}

.home-food-photo img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  transition:transform .45s ease;
}

.home-food-card:nth-child(1) .home-food-photo img{
  object-position:center 50%;
}

.home-food-card:nth-child(2) .home-food-photo img{
  object-position:center 53%;
}

.home-food-card:nth-child(3) .home-food-photo img{
  object-position:center 47%;
}

.home-food-card:hover .home-food-photo img{
  transform:scale(1.025);
}

.home-food-copy{
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  padding:34px;
  min-height:230px;
}

.home-food-card .home-card-number{
  top:326px;
  right:24px;
  z-index:3;
}

.home-food-card-dark .home-food-copy{
  color:var(--white);
}

.home-food-card-dark .home-food-photo{
  border-bottom-color:rgba(255,255,255,.20);
}

.home-food-card-dark .home-food-photo::after{
  background:linear-gradient(to bottom,transparent 70%,rgba(9,27,51,.20));
}

@media(max-width:1050px){
  .home-food-card{
    grid-template-rows:280px 1fr;
    min-height:500px;
  }

  .home-food-card .home-card-number{
    top:296px;
  }
}

@media(max-width:700px){
  .home-food-card{
    grid-template-rows:245px auto;
    min-height:auto;
  }

  .home-food-copy{
    min-height:205px;
    padding:28px;
  }

  .home-food-card .home-card-number{
    top:260px;
    right:20px;
  }
}


/* ===== LEF v4.6 editorial food section ===== */
.home-food-editorial{
  padding:96px 4.5vw 110px;
  background:var(--paper);
  border-bottom:1px solid var(--line);
}

.home-food-editorial-head{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:60px;
  align-items:end;
  margin-bottom:44px;
}

.home-food-editorial-head h2{
  margin:10px 0 0;
  color:var(--navy);
  font-family:Arial,Helvetica,sans-serif;
  font-size:clamp(60px,6.4vw,118px);
  line-height:.8;
  letter-spacing:-.065em;
  font-weight:900;
}

.home-food-editorial-head p{
  max-width:560px;
  margin:0 0 8px auto;
  font-size:13px;
  line-height:1.75;
}

.food-editorial-grid{
  display:grid;
  grid-template-columns:1.28fr .72fr;
  gap:18px;
  align-items:stretch;
}

.food-feature,
.food-side-card{
  background:var(--paper-2);
  border:1px solid var(--line);
  overflow:hidden;
}

.food-feature{
  display:grid;
  grid-template-rows:minmax(430px, 64vh) auto;
}

.food-feature-image,
.food-side-image{
  position:relative;
  overflow:hidden;
  background:var(--navy);
}

.food-feature-image img,
.food-side-image img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .5s ease;
}

.food-feature-image img{
  object-position:center 54%;
}

.food-side-card:nth-child(1) .food-side-image img{
  object-position:center 51%;
}

.food-side-card:nth-child(2) .food-side-image img{
  object-position:center 48%;
}

.food-feature:hover img,
.food-side-card:hover img{
  transform:scale(1.018);
}

.food-index{
  position:absolute;
  top:18px;
  right:18px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:36px;
  height:28px;
  padding:0 8px;
  background:var(--paper-2);
  border:1px solid rgba(16,41,74,.25);
  color:var(--orange);
  font-size:9px;
  font-weight:700;
  letter-spacing:.1em;
}

.food-feature-copy{
  position:relative;
  padding:34px 38px 40px;
  background:var(--navy);
  color:var(--white);
}

.food-feature-copy:before{
  content:"";
  position:absolute;
  left:38px;
  top:0;
  width:72px;
  height:5px;
  background:var(--orange);
}

.food-label{
  display:block;
  margin-bottom:10px;
  color:var(--orange);
  font-size:9px;
  font-weight:700;
  letter-spacing:.14em;
}

.food-feature-copy h3,
.food-side-copy h3{
  margin:0 0 12px;
  font-family:Arial,Helvetica,sans-serif;
  font-weight:900;
  letter-spacing:-.045em;
}

.food-feature-copy h3{
  color:var(--white);
  font-size:clamp(42px,4vw,68px);
  line-height:.92;
}

.food-feature-copy p{
  max-width:680px;
  margin:0;
  color:rgba(255,255,255,.9);
  font-size:12px;
  line-height:1.65;
}

.food-side-stack{
  display:grid;
  grid-template-rows:1fr 1fr;
  gap:18px;
}

.food-side-card{
  display:grid;
  grid-template-columns:1.15fr .85fr;
  min-height:0;
}

.food-side-image{
  min-height:300px;
}

.food-side-copy{
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  padding:28px 26px 30px;
}

.food-side-copy h3{
  color:var(--navy);
  font-size:clamp(28px,2.4vw,42px);
  line-height:.94;
}

.food-side-copy p{
  margin:0;
  color:var(--ink);
  font-size:11px;
  line-height:1.6;
}

@media(max-width:1100px){
  .food-editorial-grid{
    grid-template-columns:1fr;
  }

  .food-feature{
    grid-template-rows:minmax(380px,55vh) auto;
  }

  .food-side-stack{
    grid-template-columns:1fr 1fr;
    grid-template-rows:auto;
  }

  .food-side-card{
    grid-template-columns:1fr;
  }

  .food-side-image{
    min-height:250px;
  }
}

@media(max-width:760px){
  .home-food-editorial{
    padding:70px 20px 78px;
  }

  .home-food-editorial-head{
    grid-template-columns:1fr;
    gap:24px;
  }

  .home-food-editorial-head h2{
    font-size:clamp(54px,16vw,80px);
  }

  .home-food-editorial-head p{
    margin-left:0;
  }

  .food-feature{
    grid-template-rows:320px auto;
  }

  .food-feature-copy{
    padding:30px 26px 34px;
  }

  .food-feature-copy:before{
    left:26px;
  }

  .food-side-stack{
    grid-template-columns:1fr;
  }

  .food-side-image{
    min-height:235px;
  }

  .food-side-copy{
    padding:25px 24px 28px;
  }
}


/* ===== LEF v4.6.1 — fixed editorial food photography ===== */

/* Keep every text block from influencing its image geometry */
.food-feature,
.food-side-card,
.food-feature-copy,
.food-side-copy,
.food-side-image,
.food-feature-image{
  min-width:0;
}

/* Main ribs feature */
.food-feature{
  display:grid;
  grid-template-rows:520px 220px;
  min-height:740px;
}

.food-feature-image{
  height:520px;
}

.food-feature-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 54%;
}

.food-feature-copy{
  height:220px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  overflow:hidden;
}

/* Right side: both cards use IDENTICAL locked geometry */
.food-side-stack{
  display:grid;
  grid-template-rows:1fr 1fr;
  gap:18px;
}

.food-side-card{
  display:grid;
  grid-template-columns:1fr;
  grid-template-rows:250px 165px;
  height:415px;
  min-height:415px;
  max-height:415px;
  overflow:hidden;
}

.food-side-image{
  width:100%;
  height:250px;
  min-height:250px;
  max-height:250px;
  overflow:hidden;
}

.food-side-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

/* Crops tuned per actual source photo */
.food-side-card:nth-child(1) .food-side-image img{
  object-position:center 48%;
}

.food-side-card:nth-child(2) .food-side-image img{
  object-position:center 46%;
}

.food-side-copy{
  height:165px;
  min-height:165px;
  max-height:165px;
  padding:24px 26px 24px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  overflow:hidden;
}

.food-side-copy h3{
  margin:0 0 9px;
  max-width:100%;
  font-size:clamp(27px,2.1vw,38px);
  line-height:.92;
  overflow-wrap:break-word;
}

.food-side-copy p{
  margin:0;
  max-width:100%;
  font-size:10.5px;
  line-height:1.5;
  overflow:hidden;
}

/* Small LEF orange rule ties photos to brand without obscuring them */
.food-side-copy::before{
  content:"";
  width:48px;
  height:4px;
  background:var(--orange);
  margin-bottom:13px;
  flex:none;
}

.food-feature-image::after,
.food-side-image::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(to bottom, rgba(9,27,51,0) 78%, rgba(9,27,51,.08));
}

/* cleaner, lighter borders around photos */
.food-feature,
.food-side-card{
  border-color:rgba(16,41,74,.18);
}

.food-index{
  top:15px;
  right:15px;
  min-width:34px;
  height:26px;
  background:rgba(255,250,241,.94);
  backdrop-filter:blur(3px);
}

/* Translation-aware type sizing, while image sizes stay untouched */
html[lang="de"] .food-side-copy h3{
  font-size:clamp(24px,1.9vw,34px);
}

html[lang="nl"] .food-side-copy h3{
  font-size:clamp(25px,2vw,36px);
}

html[lang="de"] .food-side-copy p,
html[lang="nl"] .food-side-copy p{
  font-size:10px;
}

/* Tablet */
@media(max-width:1100px){
  .food-feature{
    grid-template-rows:440px 210px;
    min-height:650px;
  }

  .food-feature-image{
    height:440px;
  }

  .food-feature-copy{
    height:210px;
  }

  .food-side-stack{
    grid-template-columns:1fr 1fr;
    grid-template-rows:auto;
  }

  .food-side-card{
    grid-template-rows:240px 170px;
    height:410px;
    min-height:410px;
    max-height:410px;
  }

  .food-side-image{
    height:240px;
    min-height:240px;
    max-height:240px;
  }

  .food-side-copy{
    height:170px;
    min-height:170px;
    max-height:170px;
  }
}

/* Mobile */
@media(max-width:760px){
  .food-feature{
    grid-template-rows:320px auto;
    min-height:auto;
  }

  .food-feature-image{
    height:320px;
  }

  .food-feature-copy{
    height:auto;
    min-height:205px;
  }

  .food-side-stack{
    grid-template-columns:1fr;
  }

  .food-side-card{
    grid-template-rows:235px 175px;
    height:410px;
    min-height:410px;
    max-height:410px;
  }

  .food-side-image{
    height:235px;
    min-height:235px;
    max-height:235px;
  }

  .food-side-copy{
    height:175px;
    min-height:175px;
    max-height:175px;
    padding:24px;
  }
}


/* ==========================================================
   LEF 4.7 — FOOD EDITORIAL REBUILD
   ========================================================== */

.food-editorial-grid{
  align-items:start !important;
}

/* No fixed outer height: this removes the blank cream block. */
.food-feature{
  display:block !important;
  min-height:0 !important;
  height:auto !important;
  max-height:none !important;
  overflow:hidden;
  border:0 !important;
  background:var(--navy) !important;
  position:relative;
}

.food-feature-image{
  position:relative;
  height:clamp(430px, 53vw, 650px) !important;
  min-height:0 !important;
  overflow:hidden;
  background:var(--navy);
}

.food-feature-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 53%;
  transform:scale(1.01);
}

/* Photo flows into the navy panel instead of looking pasted above it. */
.food-feature-image::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(to bottom,
      rgba(16,43,78,0) 55%,
      rgba(16,43,78,.10) 72%,
      rgba(16,43,78,.72) 96%,
      var(--navy) 100%) !important;
}

.food-feature-copy{
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  margin-top:-3px;
  padding:30px 38px 38px !important;
  background:var(--navy) !important;
  position:relative;
  overflow:visible !important;
}

.food-feature-copy::before{
  top:0 !important;
  height:5px !important;
}

.food-feature-copy h3{
  margin-bottom:10px;
}

/* Right column: fixed IMAGE geometry, flexible copy geometry.
   Text can grow but can never resize the photo. */
.food-side-stack{
  display:grid !important;
  grid-template-columns:1fr !important;
  grid-template-rows:auto auto !important;
  gap:18px !important;
}

.food-side-card{
  display:grid !important;
  grid-template-columns:1.12fr .88fr !important;
  grid-template-rows:310px !important;
  height:310px !important;
  min-height:310px !important;
  max-height:310px !important;
  border:0 !important;
  background:var(--paper-2) !important;
  overflow:hidden !important;
  position:relative;
}

.food-side-image{
  position:relative;
  width:100%;
  height:310px !important;
  min-height:310px !important;
  max-height:310px !important;
  overflow:hidden;
  background:var(--navy);
}

.food-side-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  transform:scale(1.035);
}

/* Soft edge into the copy panel — more poster/editorial, less boxed card. */
.food-side-image::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(
    90deg,
    rgba(255,250,241,0) 70%,
    rgba(255,250,241,.12) 83%,
    var(--paper-2) 100%
  ) !important;
}

.food-side-copy{
  position:relative;
  z-index:2;
  width:100%;
  height:310px !important;
  min-height:310px !important;
  max-height:310px !important;
  padding:28px 28px 30px 20px !important;
  margin:0;
  display:flex !important;
  flex-direction:column;
  justify-content:flex-end !important;
  background:var(--paper-2);
  overflow:hidden !important;
}

.food-side-copy::before{
  width:54px !important;
  height:5px !important;
  margin-bottom:auto !important;
  background:var(--orange) !important;
}

.food-side-copy h3{
  font-size:clamp(27px,2vw,38px) !important;
  line-height:.92 !important;
  margin:20px 0 10px !important;
}

.food-side-copy p{
  font-size:10.5px !important;
  line-height:1.55 !important;
  margin:0 !important;
}

.food-index{
  z-index:4;
  box-shadow:0 2px 10px rgba(9,27,51,.08);
}

/* Add a subtle print/poster character to all food photography. */
.food-feature-image::before,
.food-side-image::before{
  content:"";
  position:absolute;
  z-index:2;
  inset:0;
  pointer-events:none;
  opacity:.08;
  background-image:
    repeating-linear-gradient(
      0deg,
      rgba(255,255,255,.20) 0,
      rgba(255,255,255,.20) 1px,
      transparent 1px,
      transparent 3px
    );
  mix-blend-mode:soft-light;
}

@media(max-width:1100px){
  .food-feature-image{
    height:500px !important;
  }

  .food-side-stack{
    grid-template-columns:1fr 1fr !important;
  }

  .food-side-card{
    grid-template-columns:1fr !important;
    grid-template-rows:245px 190px !important;
    height:435px !important;
    min-height:435px !important;
    max-height:435px !important;
  }

  .food-side-image{
    height:245px !important;
    min-height:245px !important;
    max-height:245px !important;
  }

  .food-side-image::after{
    background:linear-gradient(
      to bottom,
      rgba(255,250,241,0) 72%,
      rgba(255,250,241,.12) 84%,
      var(--paper-2) 100%
    ) !important;
  }

  .food-side-copy{
    height:190px !important;
    min-height:190px !important;
    max-height:190px !important;
    padding:22px 25px 25px !important;
  }
}

@media(max-width:760px){
  .food-feature-image{
    height:330px !important;
  }

  .food-feature-copy{
    padding:27px 25px 31px !important;
  }

  .food-side-stack{
    grid-template-columns:1fr !important;
  }

  .food-side-card{
    grid-template-rows:250px 190px !important;
    height:440px !important;
    min-height:440px !important;
    max-height:440px !important;
  }

  .food-side-image{
    height:250px !important;
    min-height:250px !important;
    max-height:250px !important;
  }

  .food-side-copy{
    height:190px !important;
    min-height:190px !important;
    max-height:190px !important;
  }
}


/* ==========================================================
   LEF v4.8 — DELIVERY + FOOD TRUCK
   ========================================================== */

.home-two-ways{
  padding:96px 4.5vw;
  background:var(--paper-2);
  border-bottom:1px solid var(--line);
}
.home-two-ways-head{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:40px;
  align-items:end;
  margin-bottom:38px;
}
.home-two-ways-head h2{
  margin:10px 0 0;
  color:var(--navy);
  font:900 clamp(52px,5vw,88px)/.86 Arial,Helvetica,sans-serif;
  letter-spacing:-.05em;
}
.home-two-ways-head p{margin:0 0 7px;font-size:13px}
.home-two-ways-grid{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line)}
.home-way{
  position:relative;
  min-height:330px;
  padding:40px;
  text-decoration:none;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  border-right:1px solid var(--line);
  transition:transform .2s ease;
}
.home-way:last-child{border-right:0}
.home-way:hover{transform:translateY(-3px)}
.home-way-delivery{background:var(--orange);color:white}
.home-way-truck{background:var(--navy);color:white}
.home-way-number{position:absolute;top:25px;right:28px;font-size:10px;letter-spacing:.12em}
.home-way small{font-size:9px;letter-spacing:.15em;font-weight:700}
.home-way h3{margin:10px 0 10px;font:900 clamp(36px,3.6vw,58px)/.92 Arial,Helvetica,sans-serif;letter-spacing:-.04em}
.home-way p{max-width:560px;margin:0;font-size:12px;line-height:1.6}
.home-way>i{position:absolute;right:35px;bottom:36px;font-size:22px}

/* shared service pages */
.service-hero{display:grid;grid-template-columns:1fr 1fr;min-height:590px;border-bottom:1px solid var(--line)}
.service-hero-copy{padding:78px 5vw;background:var(--paper-2);display:flex;flex-direction:column;justify-content:center}
.service-hero-copy h1{
  margin:14px 0 20px;color:var(--navy);
  font:900 clamp(68px,7vw,132px)/.84 Arial,Helvetica,sans-serif;
  letter-spacing:-.06em;
}
.service-hero-copy p{max-width:640px;font-size:14px;line-height:1.65}
.service-status{display:inline-flex;width:max-content;align-items:center;gap:10px;margin-top:25px;padding:13px 16px;background:var(--orange);color:white;font-size:10px;letter-spacing:.1em;font-weight:700}
.service-hero-art{position:relative;background:var(--navy);color:white;padding:60px;overflow:hidden}
.service-big-word{color:var(--orange);font:1000 clamp(130px,14vw,270px)/.8 Arial,Helvetica,sans-serif;letter-spacing:-.1em;transform:rotate(-4deg)}
.service-food-stack{position:absolute;left:60px;bottom:70px;font:900 clamp(42px,4vw,74px)/.84 Arial,Helvetica,sans-serif;display:flex;flex-direction:column}
.service-food-stack span:nth-child(2){color:var(--orange)}

.order-shell{padding:90px 4.5vw 110px;background:var(--paper)}
.order-shell-head{display:grid;grid-template-columns:1fr 1fr;gap:45px;align-items:end;margin-bottom:38px}
.order-shell-head h2,.truck-section-title h2{
  margin:10px 0 0;color:var(--navy);
  font:900 clamp(48px,5vw,86px)/.88 Arial,Helvetica,sans-serif;letter-spacing:-.05em
}
.order-shell-head p{margin:0;line-height:1.7}
.order-placeholder{min-height:360px;border:1px dashed rgba(16,41,74,.35);background:var(--paper-2);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:40px}
.order-placeholder i{font-size:46px;color:var(--orange)}
.order-placeholder h3{font:900 34px/1 Arial,Helvetica,sans-serif;color:var(--navy);margin:20px 0 10px}
.order-placeholder p{max-width:520px;margin:0;line-height:1.6}

/* truck */
.truck-map-hero{position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--paper)}
.truck-map-hero img{position:absolute;inset:-8%;width:116%;height:116%;object-fit:cover;opacity:.83}
.truck-map-hero i,.truck-map-hero strong{position:relative;z-index:2}
.truck-map-hero i{font-size:70px;color:var(--orange)}
.truck-map-hero strong{margin-top:12px;font:italic 46px Georgia,serif;color:var(--navy)}
.truck-subnav{position:sticky;top:92px;z-index:30;display:flex;justify-content:center;gap:0;background:var(--navy);border-bottom:1px solid rgba(255,255,255,.2)}
.truck-subnav a{padding:17px 28px;color:white;text-decoration:none;text-transform:uppercase;font-size:10px;letter-spacing:.12em;border-right:1px solid rgba(255,255,255,.15)}
.truck-subnav a:hover{background:var(--orange)}
.truck-section{padding:92px 4.5vw;border-bottom:1px solid var(--line)}
.truck-section-title{margin-bottom:38px}
.truck-panel{min-height:320px;background:var(--paper-2);border:1px solid var(--line);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:40px}
.truck-panel>i{font-size:50px;color:var(--orange)}
.truck-panel h3{margin:18px 0 8px;font:900 38px/1 Arial,Helvetica,sans-serif;color:var(--navy)}
.truck-panel p{max-width:520px;line-height:1.6}
.truck-schedule-placeholder{margin-top:20px;padding:12px 15px;border:1px solid var(--navy);font-size:9px;letter-spacing:.13em;font-weight:700}
.truck-menu-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.truck-menu-grid article{background:var(--paper-2);border:1px solid var(--line);overflow:hidden}
.truck-menu-grid img{width:100%;height:260px;object-fit:cover;display:block}
.truck-menu-grid article>div{padding:28px}
.truck-menu-grid h3{margin:0 0 8px;color:var(--navy);font:900 38px/1 Arial,Helvetica,sans-serif}
.truck-menu-grid p{margin:0;line-height:1.55}
.booking-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:60px}
.booking-copy h3{margin:0 0 15px;color:var(--navy);font:900 48px/.95 Arial,Helvetica,sans-serif}
.booking-copy p{line-height:1.7}
.booking-form{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.booking-form label{display:flex;flex-direction:column;gap:8px;font-size:10px;letter-spacing:.09em;font-weight:700;text-transform:uppercase}
.booking-form input,.booking-form textarea{width:100%;border:1px solid var(--line);background:var(--paper-2);padding:13px;color:var(--ink);outline:none}
.booking-form input:focus,.booking-form textarea:focus{border-color:var(--orange)}
.form-wide{grid-column:1/-1}

@media(max-width:950px){
  .home-two-ways-head,.order-shell-head,.booking-grid{grid-template-columns:1fr}
  .service-hero{grid-template-columns:1fr}
  .service-hero-art,.truck-map-hero{min-height:480px}
  .truck-menu-grid{grid-template-columns:1fr}
  .truck-menu-grid img{height:330px}
}
@media(max-width:700px){
  .home-two-ways{padding:70px 20px}
  .home-two-ways-grid{grid-template-columns:1fr}
  .home-way{border-right:0;border-bottom:1px solid var(--line);min-height:270px;padding:30px}
  .service-hero-copy{padding:55px 20px}
  .service-hero-copy h1{font-size:52px}
  .service-hero-art{padding:35px;min-height:440px}
  .service-food-stack{left:35px;bottom:45px}
  .order-shell,.truck-section{padding:70px 20px}
  .truck-subnav{top:76px;overflow-x:auto;justify-content:flex-start}
  .truck-subnav a{white-space:nowrap}
  .booking-form{grid-template-columns:1fr}
  .form-wide{grid-column:auto}
}


/* ===== LEF v4.8.1 primary navigation ===== */
.site-nav ul{
  display:flex;
  align-items:center;
  gap:28px;
  list-style:none;
  margin:0;
  padding:0;
}

.site-nav a{
  position:relative;
  display:inline-flex;
  align-items:center;
  min-height:40px;
}

.site-nav a::after{
  content:"";
  position:absolute;
  left:0;
  right:100%;
  bottom:2px;
  height:3px;
  background:var(--orange);
  transition:right .18s ease;
}

.site-nav a:hover::after{
  right:0;
}

@media(max-width:1000px){
  .site-nav.is-open ul{
    align-items:flex-start;
  }
}


/* =========================================================
   LEF v4.9 — FULL FOOTER + LEGAL PAGES
   ========================================================= */
.lef-footer{background:var(--navy);color:#f7f0e4}
.lef-footer-main{
  display:grid;
  grid-template-columns:2.1fr 1fr 1.15fr 1.1fr;
  gap:56px;
  padding:72px 5vw 68px;
  border-bottom:1px solid rgba(255,255,255,.14);
}
.lef-footer-logo{
  display:inline-block;
  color:var(--orange);
  text-decoration:none;
  font:1000 clamp(72px,7vw,126px)/.72 Arial,Helvetica,sans-serif;
  letter-spacing:-.09em;
}
.lef-footer-tagline{max-width:330px;margin:26px 0 13px;font-size:13px;line-height:1.6}
.lef-footer-food{font-size:10px;font-weight:800;letter-spacing:.16em}
.lef-footer-food span{color:var(--orange);padding:0 5px}
.lef-footer-question{margin-top:32px;color:var(--orange);font:italic 27px Georgia,serif;transform:rotate(-2deg);transform-origin:left}
.lef-footer-heading{
  margin-bottom:23px;color:var(--orange);
  font-size:9px;font-weight:900;letter-spacing:.18em;
}
.lef-footer-col{display:flex;flex-direction:column;align-items:flex-start;gap:13px;padding-top:5px}
.lef-footer-col a{
  color:#f7f0e4;text-decoration:none;font-size:12px;line-height:1.3;
  position:relative;
}
.lef-footer-col a:after{
  content:"";position:absolute;left:0;right:100%;bottom:-4px;height:2px;
  background:var(--orange);transition:right .16s ease;
}
.lef-footer-col a:hover:after{right:0}
.lef-footer-location{margin-top:10px;font-size:10px;letter-spacing:.08em;opacity:.72}
.lef-footer-location i{color:var(--orange);margin-right:7px}
.lef-footer-bottom{
  min-height:54px;padding:0 5vw;display:grid;grid-template-columns:1fr 1fr 1fr;
  align-items:center;font-size:8px;font-weight:700;letter-spacing:.14em;
}
.lef-footer-bottom-center{text-align:center}
.lef-footer-bottom-center i{color:var(--orange);margin-right:8px}
.lef-footer-bottom a{justify-self:end;color:#f7f0e4;text-decoration:none}
.lef-footer-bottom a i{color:var(--orange);margin-right:8px}
.lef-footer-bottom b{color:var(--orange);padding:0 7px}

.lef-legal-page{background:var(--paper);min-height:70vh}
.lef-legal-hero{padding:90px 7vw 60px;background:var(--paper-2);border-bottom:1px solid var(--line)}
.lef-legal-hero h1{
  margin:15px 0 0;color:var(--navy);
  font:900 clamp(54px,8vw,130px)/.82 Arial,Helvetica,sans-serif;
  letter-spacing:-.055em;
}
.lef-legal-content{max-width:900px;padding:70px 7vw 110px}
.lef-legal-content h2{margin:48px 0 16px;color:var(--navy);font:900 27px/1.1 Arial,Helvetica,sans-serif}
.lef-legal-content h2:first-child{margin-top:0}
.lef-legal-content p{line-height:1.75}
.legal-placeholder,.legal-warning{
  margin:18px 0;padding:22px 24px;border-left:4px solid var(--orange);background:var(--paper-2)
}
.legal-warning{border:1px solid var(--orange);border-left:4px solid var(--orange)}
.legal-note{font-size:12px;opacity:.8}
.legal-updated{margin-top:60px;padding-top:20px;border-top:1px solid var(--line);font-size:10px;letter-spacing:.08em;text-transform:uppercase}

@media(max-width:1000px){
 .lef-footer-main{grid-template-columns:1.5fr 1fr 1fr;gap:45px}
 .lef-footer-brand{grid-column:1/-1}
}
@media(max-width:680px){
 .lef-footer-main{grid-template-columns:1fr 1fr;padding:55px 22px;gap:42px 25px}
 .lef-footer-brand{grid-column:1/-1}
 .lef-footer-legal{grid-column:1/-1}
 .lef-footer-bottom{grid-template-columns:1fr;gap:11px;padding:20px 22px;text-align:left}
 .lef-footer-bottom-center{text-align:left}
 .lef-footer-bottom a{justify-self:start}
 .lef-legal-hero{padding:65px 22px 45px}
 .lef-legal-content{padding:50px 22px 80px}
}


/* LEF v4.9.1 — use the real LEF mark in the footer */
.lef-footer-logo{
  display:block;
  width:min(225px,70%);
  line-height:0;
}
.lef-footer-logo img{
  display:block;
  width:100%;
  height:auto;
  object-fit:contain;
}


/* LEF v4.9.2 — actual circular LEF brand logo */
.lef-footer-logo{
  display:block;
  width:min(310px,88%);
  line-height:0;
}
.lef-footer-logo img{
  display:block;
  width:100%;
  height:auto;
  object-fit:contain;
}
@media(max-width:680px){
  .lef-footer-logo{
    width:min(260px,82vw);
  }
}


/* =========================================================
   LEF v4.10 — TWO WAYS REBUILD
   ========================================================= */

.home-two-ways-v2{
  padding:0;
  background:var(--paper);
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}

.home-two-ways-v2 .ways-intro{
  display:grid;
  grid-template-columns:minmax(0,1.3fr) minmax(280px,.7fr);
  align-items:end;
  gap:60px;
  padding:78px 5vw 54px;
}

.home-two-ways-v2 .ways-intro-copy h2{
  max-width:880px;
  margin:12px 0 0;
  color:var(--navy);
  font:900 clamp(58px,7vw,118px)/.82 Arial,Helvetica,sans-serif;
  letter-spacing:-.06em;
}

.home-two-ways-v2 .ways-intro-note{
  position:relative;
  padding:0 0 8px 34px;
}

.home-two-ways-v2 .ways-note-line{
  position:absolute;
  left:0;
  top:2px;
  bottom:4px;
  width:2px;
  background:var(--orange);
}

.home-two-ways-v2 .ways-intro-note p{
  max-width:330px;
  margin:0 0 16px;
  font-size:12px;
  line-height:1.65;
}

.home-two-ways-v2 .ways-handwritten{
  color:var(--orange);
  font:italic 27px Georgia,serif;
}

.home-two-ways-v2 .ways-routes{
  border-top:1px solid var(--line);
}

.home-two-ways-v2 .ways-route{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(380px,.95fr);
  min-height:430px;
  color:inherit;
  text-decoration:none;
  border-bottom:1px solid var(--line);
  overflow:hidden;
}

.home-two-ways-v2 .ways-route:last-child{
  border-bottom:0;
}

.home-two-ways-v2 .ways-route-copy{
  position:relative;
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:35px;
  padding:58px 5vw 54px;
}

.home-two-ways-v2 .ways-route-delivery .ways-route-copy{
  background:var(--orange);
  color:#fff8ee;
}

.home-two-ways-v2 .ways-route-truck .ways-route-copy{
  background:var(--navy);
  color:#fff8ee;
}

.home-two-ways-v2 .ways-route-kicker{
  display:block;
  margin-bottom:18px;
  font-size:9px;
  font-weight:900;
  letter-spacing:.16em;
}

.home-two-ways-v2 .ways-route-copy h3{
  margin:0 0 14px;
  font:900 clamp(48px,5vw,82px)/.88 Arial,Helvetica,sans-serif;
  letter-spacing:-.05em;
}

.home-two-ways-v2 .ways-route-copy p{
  max-width:560px;
  margin:0;
  font-size:12px;
  line-height:1.65;
}

.home-two-ways-v2 .ways-route-arrow{
  flex:0 0 54px;
  width:54px;
  height:54px;
  border:1px solid rgba(255,255,255,.6);
  border-radius:50%;
  display:grid;
  place-items:center;
  font-size:18px;
  transition:transform .2s ease, background .2s ease, color .2s ease;
}

.home-two-ways-v2 .ways-route:hover .ways-route-arrow{
  transform:translateX(5px);
  background:#fff8ee;
  color:var(--navy);
}

.home-two-ways-v2 .ways-route-media{
  position:relative;
  min-height:430px;
  overflow:hidden;
  background:var(--paper-2);
}

.home-two-ways-v2 .ways-route-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transition:transform .45s ease;
}

.home-two-ways-v2 .ways-route:hover .ways-route-media img{
  transform:scale(1.025);
}

.home-two-ways-v2 .ways-route-media::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(90deg,rgba(13,43,79,.08),transparent 30%),
    repeating-linear-gradient(0deg,rgba(255,255,255,.018) 0 1px,transparent 1px 4px);
}

.home-two-ways-v2 .ways-route-number{
  position:absolute;
  top:24px;
  right:26px;
  z-index:3;
  color:#fff;
  font-size:9px;
  font-weight:900;
  letter-spacing:.14em;
  text-shadow:0 1px 8px rgba(0,0,0,.35);
}

.home-two-ways-v2 .ways-route-stamp{
  position:absolute;
  left:24px;
  bottom:24px;
  z-index:3;
  padding:10px 13px;
  background:var(--paper);
  color:var(--navy);
  font-size:9px;
  font-weight:900;
  letter-spacing:.14em;
}

.home-two-ways-v2 .ways-route-media-map{
  background:var(--paper-2);
}

.home-two-ways-v2 .ways-route-media-map img{
  object-fit:cover;
  filter:none;
  opacity:.95;
}

.home-two-ways-v2 .ways-map-pin{
  position:absolute;
  z-index:4;
  left:52%;
  top:43%;
  transform:translate(-50%,-50%);
  color:var(--orange);
  font-size:58px;
  text-shadow:0 4px 18px rgba(0,0,0,.12);
}

.home-two-ways-v2 .ways-map-note{
  position:absolute;
  z-index:4;
  left:50%;
  top:58%;
  transform:translateX(-50%) rotate(-3deg);
  color:var(--navy);
  font:italic 25px Georgia,serif;
  white-space:nowrap;
}

@media(max-width:1000px){
  .home-two-ways-v2 .ways-intro{
    grid-template-columns:1fr;
    gap:28px;
  }

  .home-two-ways-v2 .ways-route{
    grid-template-columns:1fr 1fr;
    min-height:390px;
  }

  .home-two-ways-v2 .ways-route-media{
    min-height:390px;
  }
}

@media(max-width:720px){
  .home-two-ways-v2 .ways-intro{
    padding:58px 22px 42px;
  }

  .home-two-ways-v2 .ways-intro-copy h2{
    font-size:clamp(52px,16vw,78px);
  }

  .home-two-ways-v2 .ways-route{
    grid-template-columns:1fr;
  }

  .home-two-ways-v2 .ways-route-delivery .ways-route-media{
    order:1;
  }

  .home-two-ways-v2 .ways-route-delivery .ways-route-copy{
    order:2;
  }

  .home-two-ways-v2 .ways-route-truck .ways-route-copy{
    order:2;
  }

  .home-two-ways-v2 .ways-route-truck .ways-route-media{
    order:1;
  }

  .home-two-ways-v2 .ways-route-media{
    min-height:290px;
  }

  .home-two-ways-v2 .ways-route-copy{
    padding:40px 22px;
    align-items:flex-end;
  }

  .home-two-ways-v2 .ways-route-copy h3{
    font-size:46px;
  }

  .home-two-ways-v2 .ways-route-arrow{
    width:46px;
    height:46px;
    flex-basis:46px;
  }
}


/* =========================================================
   LEF v4.11 — DARK MODE
   ========================================================= */

/* smooth but restrained switching */
html,
body,
.site-header,
.lef-footer,
.home-two-ways-v2,
.home-story-section,
.order-shell,
.truck-section,
.service-hero-copy,
.lef-legal-page,
.lef-legal-hero,
.lef-legal-content,
.order-placeholder,
.truck-panel,
.truck-menu-grid article,
.booking-form input,
.booking-form textarea {
  transition:
    background-color .22s ease,
    color .22s ease,
    border-color .22s ease;
}

/* Core theme controls */
.theme-toggle{
  width:38px;
  height:38px;
  padding:0;
  border:1px solid currentColor;
  background:transparent;
  color:inherit;
  display:inline-grid;
  place-items:center;
  cursor:pointer;
  border-radius:50%;
  transition:background .18s ease,color .18s ease,border-color .18s ease,transform .18s ease;
}
.theme-toggle:hover{
  transform:rotate(-5deg);
  background:var(--orange);
  color:#fff8ee;
  border-color:var(--orange);
}
.theme-toggle-light-icon{display:none}
html[data-theme="dark"] .theme-toggle-dark-icon{display:none}
html[data-theme="dark"] .theme-toggle-light-icon{display:inline-block}

.sr-only{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}

/* Dark palette */
html[data-theme="dark"]{
  --paper:#091a2d;
  --paper-2:#0d2340;
  --navy:#f7f0e4;
  --ink:#f7f0e4;
  --line:rgba(247,240,228,.16);
  --orange:#f54826;
  color-scheme:dark;
}

html[data-theme="dark"] body{
  background:#091a2d;
  color:#f7f0e4;
}

/* Header */
html[data-theme="dark"] .site-header{
  background:#091a2d;
  color:#f7f0e4;
  border-color:rgba(247,240,228,.14);
}
html[data-theme="dark"] .site-nav a,
html[data-theme="dark"] .language-switcher button,
html[data-theme="dark"] .lang-switcher button{
  color:#f7f0e4;
}
html[data-theme="dark"] .site-nav a::after{
  background:var(--orange);
}

/* General light surfaces become dark navy editorial surfaces */
html[data-theme="dark"] .service-hero-copy,
html[data-theme="dark"] .order-shell,
html[data-theme="dark"] .truck-section,
html[data-theme="dark"] .lef-legal-page,
html[data-theme="dark"] .lef-legal-hero,
html[data-theme="dark"] .home-two-ways-v2,
html[data-theme="dark"] .home-story-section{
  background:#091a2d;
  color:#f7f0e4;
}

html[data-theme="dark"] .order-placeholder,
html[data-theme="dark"] .truck-panel,
html[data-theme="dark"] .truck-menu-grid article,
html[data-theme="dark"] .legal-placeholder,
html[data-theme="dark"] .booking-form input,
html[data-theme="dark"] .booking-form textarea{
  background:#0d2340;
  color:#f7f0e4;
  border-color:rgba(247,240,228,.16);
}

/* Headings that previously relied on navy-on-cream */
html[data-theme="dark"] .service-hero-copy h1,
html[data-theme="dark"] .order-shell-head h2,
html[data-theme="dark"] .truck-section-title h2,
html[data-theme="dark"] .truck-panel h3,
html[data-theme="dark"] .truck-menu-grid h3,
html[data-theme="dark"] .booking-copy h3,
html[data-theme="dark"] .lef-legal-hero h1,
html[data-theme="dark"] .lef-legal-content h2,
html[data-theme="dark"] .home-two-ways-v2 .ways-intro-copy h2{
  color:#f7f0e4;
}

/* Two ways: invert the delivery composition so dark mode isn't just a black wash */
html[data-theme="dark"] .home-two-ways-v2 .ways-intro-note{
  color:#f7f0e4;
}
html[data-theme="dark"] .home-two-ways-v2 .ways-route-delivery .ways-route-copy{
  background:var(--orange);
  color:#fff8ee;
}
html[data-theme="dark"] .home-two-ways-v2 .ways-route-truck .ways-route-copy{
  background:#061526;
  color:#fff8ee;
}
html[data-theme="dark"] .home-two-ways-v2 .ways-route-media,
html[data-theme="dark"] .home-two-ways-v2 .ways-route-media-map{
  background:#0d2340;
}
html[data-theme="dark"] .home-two-ways-v2 .ways-route-stamp{
  background:#091a2d;
  color:#f7f0e4;
}
html[data-theme="dark"] .home-two-ways-v2 .ways-map-note{
  color:#061526;
}

/* Forms */
html[data-theme="dark"] .booking-form input::placeholder,
html[data-theme="dark"] .booking-form textarea::placeholder{
  color:rgba(247,240,228,.5);
}

/* Legal */
html[data-theme="dark"] .legal-warning{
  background:#0d2340;
  color:#f7f0e4;
}

/* Footer stays recognisably LEF but gains a deeper separation */
html[data-theme="dark"] .lef-footer{
  background:#061526;
  color:#f7f0e4;
}

/* Coming Soon support */
html[data-theme="dark"] .coming-soon,
html[data-theme="dark"] .coming-soon-page,
html[data-theme="dark"] .coming-left,
html[data-theme="dark"] .coming-soon-left{
  background:#091a2d!important;
  color:#f7f0e4!important;
}
html[data-theme="dark"] .coming-soon h1,
html[data-theme="dark"] .coming-soon-page h1,
html[data-theme="dark"] .coming-left h1,
html[data-theme="dark"] .coming-soon-left h1{
  color:#f7f0e4!important;
}
html[data-theme="dark"] .coming-right,
html[data-theme="dark"] .coming-soon-right{
  background:#061526!important;
}

/* Avoid image-heavy sections becoming visually too bright in dark mode */
html[data-theme="dark"] .ways-route-media img,
html[data-theme="dark"] .food-photo,
html[data-theme="dark"] .truck-menu-grid img{
  filter:brightness(.88) saturate(.96);
}

/* Accessibility */
@media (prefers-reduced-motion: reduce){
  html,
  body,
  .theme-toggle,
  .ways-route-media img{
    transition:none!important;
  }
}

/* Mobile toggle sizing */
@media(max-width:700px){
  .theme-toggle{
    width:36px;
    height:36px;
  }
}


/* =========================================================
   LEF v4.11.1 — Coming Soon theme control + fixed defaults
   ========================================================= */

.cs-controls{
  position:absolute;
  top:28px;
  right:30px;
  z-index:20;
  display:flex;
  align-items:center;
  gap:12px;
}

.cs-controls .cs-lang-switcher{
  position:static;
}

.cs-theme-toggle{
  width:34px;
  height:34px;
  flex:0 0 34px;
  color:#f7f0e4;
  border-color:rgba(247,240,228,.55);
  background:rgba(9,26,45,.18);
}

.cs-theme-toggle:hover{
  background:var(--orange);
  border-color:var(--orange);
  color:#fff8ee;
}

/* The left Coming Soon panel is cream in light mode and navy in dark mode. */
html[data-theme="dark"] .lef-coming-soon .cs-left,
html[data-theme="dark"] .lef-coming-soon .cs-lower{
  background:#091a2d;
  color:#f7f0e4;
}

html[data-theme="dark"] .lef-coming-soon .cs-left h1,
html[data-theme="dark"] .lef-coming-soon .cs-berlin-line,
html[data-theme="dark"] .lef-coming-soon .cs-lower h2,
html[data-theme="dark"] .lef-coming-soon .cs-point p,
html[data-theme="dark"] .lef-coming-soon .cs-dutchline p{
  color:#f7f0e4;
}

html[data-theme="dark"] .lef-coming-soon .asset-crown-navy,
html[data-theme="dark"] .lef-coming-soon .asset-line-navy{
  filter:none;
}

@media(max-width:700px){
  .cs-controls{
    top:18px;
    right:18px;
    gap:8px;
  }

  .cs-theme-toggle{
    width:32px;
    height:32px;
    flex-basis:32px;
  }
}


/* =========================================================
   LEF v4.12 — PURPOSE-BUILT DARK MODE ARTWORK
   ========================================================= */
.theme-dark-asset{display:none!important}
html[data-theme="dark"] .theme-light-asset{display:none!important}
html[data-theme="dark"] .theme-dark-asset{display:block!important}

/* Dark artwork is already designed for the navy palette:
   do not run it through the generic image darkening filter. */
html[data-theme="dark"] .theme-dark-asset{
  filter:none!important;
}

/* Keep paired decorative artwork occupying exactly the same layout slot. */
.cs-dutchline,
.cs-ribs-art,
.cs-fries-art{
  position:relative;
}
.cs-dutchline .theme-dark-asset,
.cs-dutchline .theme-light-asset,
.cs-ribs-art .theme-dark-asset,
.cs-ribs-art .theme-light-asset,
.cs-fries-art .theme-dark-asset,
.cs-fries-art .theme-light-asset{
  width:100%;
  height:auto;
}


/* =========================================================
   LEF v4.12.1 — FIX DARK ASSET SWITCHING
   ========================================================= */
.theme-light-asset{display:block!important}
.theme-dark-asset{display:none!important}

html[data-theme="dark"] .theme-light-asset{display:none!important}
html[data-theme="dark"] .theme-dark-asset{display:block!important}

/* Ensure the skyline keeps the exact same footprint in both modes */
.cs-dutchline .cs-dutch-skyline{
  width:100%;
  height:auto;
  object-fit:contain;
}

html[data-theme="dark"] .cs-dutchline .theme-dark-asset,
html[data-theme="dark"] .theme-dark-asset{
  filter:none!important;
}


/* =========================================================
   LEF v4.12.2 — COMING SOON DARK FEATURE ICONS
   ========================================================= */
.cs-point{
  position:relative;
}

.cs-point .theme-light-asset,
.cs-point .theme-dark-asset{
  flex:0 0 auto;
}

.cs-point-fries.theme-dark-asset,
.cs-point-ribs.theme-dark-asset{
  object-fit:contain;
  filter:none!important;
}

/* The dark-mode source images are more detailed, so keep them
   within the same visual footprint as the original blue drawings. */
html[data-theme="dark"] .cs-point-fries.theme-dark-asset{
  width:42px!important;
  height:42px!important;
}

html[data-theme="dark"] .cs-point-ribs.theme-dark-asset{
  width:46px!important;
  height:46px!important;
}

/* Crown remains intentionally LEF orange on dark backgrounds. */
html[data-theme="dark"] .cs-point-crown{
  background-color:var(--orange)!important;
}


/* =========================================================
   LEF v4.13.1 — COMING SOON BERLIN BACKGROUND ONLY
   Full website layout intentionally untouched.
   ========================================================= */

/* Light mode */
.lef-coming-soon .cs-right{
  background-color:#f6efe3;
  background-image:url("../images/berlin-background-light.png")!important;
  background-size:cover!important;
  background-position:center center!important;
  background-repeat:no-repeat!important;
}

/* Dark mode */
html[data-theme="dark"] .lef-coming-soon .cs-right{
  background-color:#061526;
  background-image:url("../images/berlin-background-dark.png")!important;
  background-size:cover!important;
  background-position:center center!important;
  background-repeat:no-repeat!important;
}

/* Keep LEF content readable without changing the artwork placement. */
.lef-coming-soon .cs-right::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  z-index:0;
  background:linear-gradient(
    90deg,
    rgba(246,239,227,.03) 0%,
    rgba(246,239,227,.00) 52%,
    rgba(6,21,38,.05) 100%
  );
}

html[data-theme="dark"] .lef-coming-soon .cs-right::before{
  background:linear-gradient(
    90deg,
    rgba(6,21,38,.08) 0%,
    rgba(6,21,38,.02) 52%,
    rgba(6,21,38,.10) 100%
  );
}

/* Make sure the actual content stays above the background overlay. */
.lef-coming-soon .cs-right > *{
  position:relative;
  z-index:1;
}


/* =========================================================
   LEF v4.13.2 — FULL HOMEPAGE HERO BACKGROUND SWITCH
   Same light/dark Berlin artwork as Coming Soon.
   Layout intentionally unchanged.
   ========================================================= */

.home-hero .home-hero-bg{
  background-image:url("../images/berlin-background-light.png")!important;
  background-size:cover!important;
  background-position:center center!important;
  background-repeat:no-repeat!important;
}

html[data-theme="dark"] .home-hero .home-hero-bg{
  background-image:url("../images/berlin-background-dark.png")!important;
  background-size:cover!important;
  background-position:center center!important;
  background-repeat:no-repeat!important;
}

/* Keep all hero typography and artwork above the background layer. */
.home-hero-right > :not(.home-hero-bg){
  position:relative;
  z-index:1;
}
.home-hero-bg{
  z-index:0;
}


/* =========================================================
   LEF v4.14 — REFINED DARK MODE PALETTE
   Light mode intentionally untouched.
   ========================================================= */

html[data-theme="dark"]{
  --paper:#081421;
  --paper-2:#0d1d2b;
  --navy:#f4ebdd;
  --ink:#f4ebdd;
  --line:rgba(244,235,221,.18);
  --orange:#f44725;
  --muted:#b9b1a5;
  --deep:#050d15;
  color-scheme:dark;
}

html[data-theme="dark"] body{
  background:#081421;
  color:#f4ebdd;
}

/* Header / chrome */
html[data-theme="dark"] .site-header{
  background:#050d15;
  color:#f4ebdd;
  border-color:rgba(244,235,221,.14);
}

html[data-theme="dark"] .site-nav a,
html[data-theme="dark"] .site-lang-switcher button,
html[data-theme="dark"] .language-switcher button,
html[data-theme="dark"] .lang-switcher button{
  color:#f4ebdd;
}

/* Homepage hero: darker and more neutral so the Berlin art carries the blue */
html[data-theme="dark"] .home-hero-left{
  background:#081421!important;
  color:#f4ebdd;
}

html[data-theme="dark"] .home-hero h1,
html[data-theme="dark"] .home-hero-left h1{
  color:#f4ebdd!important;
}

html[data-theme="dark"] .home-hero-left p,
html[data-theme="dark"] .home-hero-left .home-intro,
html[data-theme="dark"] .home-hero-left .hero-copy{
  color:#c8bfb2;
}

html[data-theme="dark"] .home-kicker,
html[data-theme="dark"] .eyebrow{
  color:#f44725;
}

/* Secondary CTA: warm cream rather than blue */
html[data-theme="dark"] .home-btn-secondary{
  background:transparent!important;
  border-color:#f4ebdd!important;
  color:#f4ebdd!important;
}

html[data-theme="dark"] .home-btn-secondary:hover{
  background:#f4ebdd!important;
  color:#081421!important;
}

/* Main dark surfaces */
html[data-theme="dark"] .service-hero-copy,
html[data-theme="dark"] .order-shell,
html[data-theme="dark"] .truck-section,
html[data-theme="dark"] .lef-legal-page,
html[data-theme="dark"] .lef-legal-hero,
html[data-theme="dark"] .home-two-ways-v2,
html[data-theme="dark"] .home-story-section,
html[data-theme="dark"] .coming-soon,
html[data-theme="dark"] .coming-soon-page{
  background:#081421!important;
  color:#f4ebdd!important;
}

/* Raised surfaces */
html[data-theme="dark"] .order-placeholder,
html[data-theme="dark"] .truck-panel,
html[data-theme="dark"] .truck-menu-grid article,
html[data-theme="dark"] .legal-placeholder,
html[data-theme="dark"] .legal-warning,
html[data-theme="dark"] .booking-form input,
html[data-theme="dark"] .booking-form textarea{
  background:#0d1d2b!important;
  color:#f4ebdd!important;
  border-color:rgba(244,235,221,.18)!important;
}

/* Headings */
html[data-theme="dark"] .service-hero-copy h1,
html[data-theme="dark"] .order-shell-head h2,
html[data-theme="dark"] .truck-section-title h2,
html[data-theme="dark"] .truck-panel h3,
html[data-theme="dark"] .truck-menu-grid h3,
html[data-theme="dark"] .booking-copy h3,
html[data-theme="dark"] .lef-legal-hero h1,
html[data-theme="dark"] .lef-legal-content h2,
html[data-theme="dark"] .home-two-ways-v2 .ways-intro-copy h2{
  color:#f4ebdd!important;
}

/* Two ways section */
html[data-theme="dark"] .home-two-ways-v2 .ways-route-truck .ways-route-copy{
  background:#050d15!important;
  color:#f4ebdd!important;
}

html[data-theme="dark"] .home-two-ways-v2 .ways-route-delivery .ways-route-copy{
  background:#f44725!important;
  color:#fff8ee!important;
}

html[data-theme="dark"] .home-two-ways-v2 .ways-route-stamp{
  background:#081421!important;
  color:#f4ebdd!important;
}

/* Coming Soon left side */
html[data-theme="dark"] .lef-coming-soon .cs-left,
html[data-theme="dark"] .lef-coming-soon .cs-lower{
  background:#081421!important;
  color:#f4ebdd!important;
}

html[data-theme="dark"] .lef-coming-soon .cs-left h1,
html[data-theme="dark"] .lef-coming-soon .cs-berlin-line,
html[data-theme="dark"] .lef-coming-soon .cs-lower h2,
html[data-theme="dark"] .lef-coming-soon .cs-point p,
html[data-theme="dark"] .lef-coming-soon .cs-dutchline p{
  color:#f4ebdd!important;
}

/* Tone down places where blue previously dominated */
html[data-theme="dark"] .truck-subnav{
  background:#050d15!important;
}

html[data-theme="dark"] .lef-footer{
  background:#050d15!important;
  color:#f4ebdd!important;
}

/* Muted text */
html[data-theme="dark"] .legal-note,
html[data-theme="dark"] .lef-footer-location,
html[data-theme="dark"] .ways-intro-note p{
  color:#b9b1a5!important;
}

/* Preserve LEF orange as the main accent */
html[data-theme="dark"] .service-status,
html[data-theme="dark"] .truck-subnav a:hover,
html[data-theme="dark"] .home-btn-primary{
  background:#f44725!important;
  color:#fff8ee!important;
}

/* Form focus */
html[data-theme="dark"] .booking-form input:focus,
html[data-theme="dark"] .booking-form textarea:focus{
  border-color:#f44725!important;
}


/* =========================================================
   LEF v4.15 — COMPACT "TWO WAYS" SECTION
   ========================================================= */

/* Much tighter intro block */
.home-two-ways-v2 .ways-intro{
  grid-template-columns:minmax(0,1.1fr) minmax(260px,.55fr);
  gap:42px;
  padding:48px 4.5vw 36px;
  align-items:end;
}

.home-two-ways-v2 .ways-intro-copy h2{
  max-width:760px;
  margin-top:8px;
  font-size:clamp(42px,5.2vw,82px);
  line-height:.86;
  letter-spacing:-.055em;
}

.home-two-ways-v2 .ways-intro-note{
  padding-left:26px;
  padding-bottom:3px;
}

.home-two-ways-v2 .ways-intro-note p{
  max-width:300px;
  margin-bottom:10px;
  font-size:10px;
  line-height:1.55;
}

.home-two-ways-v2 .ways-handwritten{
  font-size:23px;
}

/* Routes become editorial strips instead of giant cards */
.home-two-ways-v2 .ways-route{
  grid-template-columns:minmax(0,.95fr) minmax(360px,1.05fr);
  min-height:300px;
}

.home-two-ways-v2 .ways-route-media{
  min-height:300px;
  max-height:340px;
}

.home-two-ways-v2 .ways-route-media img{
  height:100%;
  object-fit:cover;
}

/* tighter content */
.home-two-ways-v2 .ways-route-copy{
  padding:38px 4.5vw 36px;
  gap:24px;
}

.home-two-ways-v2 .ways-route-kicker{
  margin-bottom:11px;
  font-size:8px;
}

.home-two-ways-v2 .ways-route-copy h3{
  margin-bottom:10px;
  font-size:clamp(36px,3.5vw,58px);
  line-height:.9;
}

.home-two-ways-v2 .ways-route-copy p{
  max-width:500px;
  font-size:10px;
  line-height:1.55;
}

.home-two-ways-v2 .ways-route-arrow{
  width:44px;
  height:44px;
  flex-basis:44px;
  font-size:14px;
}

.home-two-ways-v2 .ways-route-number{
  top:18px;
  right:20px;
  font-size:8px;
}

.home-two-ways-v2 .ways-route-stamp{
  left:18px;
  bottom:18px;
  padding:8px 10px;
  font-size:8px;
}

/* Delivery photo should feel composed, not blown up */
.home-two-ways-v2 .ways-route-delivery .ways-route-media img{
  object-position:center 58%;
}

/* Food Truck map treatment stays balanced */
.home-two-ways-v2 .ways-map-pin{
  font-size:44px;
}

.home-two-ways-v2 .ways-map-note{
  top:59%;
  font-size:21px;
}

/* Desktop section no longer dominates the viewport */
@media(min-width:1200px){
  .home-two-ways-v2 .ways-route{
    min-height:310px;
  }

  .home-two-ways-v2 .ways-route-media{
    min-height:310px;
    max-height:330px;
  }
}

@media(max-width:1000px){
  .home-two-ways-v2 .ways-intro{
    grid-template-columns:1fr;
    gap:20px;
    padding:46px 26px 34px;
  }

  .home-two-ways-v2 .ways-route{
    grid-template-columns:1fr 1fr;
    min-height:280px;
  }

  .home-two-ways-v2 .ways-route-media{
    min-height:280px;
    max-height:none;
  }

  .home-two-ways-v2 .ways-route-copy{
    padding:34px 28px;
  }
}

@media(max-width:720px){
  .home-two-ways-v2 .ways-intro{
    padding:42px 20px 30px;
  }

  .home-two-ways-v2 .ways-intro-copy h2{
    font-size:clamp(42px,13vw,62px);
  }

  .home-two-ways-v2 .ways-route{
    grid-template-columns:1fr;
    min-height:auto;
  }

  .home-two-ways-v2 .ways-route-media{
    min-height:220px;
    height:220px;
  }

  .home-two-ways-v2 .ways-route-copy{
    min-height:210px;
    padding:30px 20px;
  }

  .home-two-ways-v2 .ways-route-copy h3{
    font-size:40px;
  }
}

/* LEF v4.16 — Two Ways photography */
.home-two-ways-v2 .ways-route-media img{object-fit:cover;}
.home-two-ways-v2 .ways-route-delivery .ways-route-media img{object-position:center center;}
.home-two-ways-v2 .ways-route-media-truck img{object-position:center center;}
.home-two-ways-v2 .ways-route-media-truck::after{background:linear-gradient(90deg,rgba(8,26,49,.06),transparent 28%,transparent 72%,rgba(8,26,49,.08));}


/* =========================================================
   LEF v4.17 — SECTION RHYTHM + COMPACT FOOD SHOWCASE
   ========================================================= */

/* Add clear breathing room between the major homepage blocks */
.home-hero,
.home-food-section,
.home-two-ways-v2,
.home-story-section,
.home-values-section,
.home-location-section,
.home-cta-section{
  margin-bottom:56px;
}

/* The food showcase was too tall */
.home-food-section{
  padding:48px 4vw!important;
}

.home-food-section .food-grid,
.home-food-grid{
  gap:16px!important;
}

/* Large ribs image */
.home-food-section .food-feature img,
.home-food-grid .food-feature img{
  height:420px!important;
  object-fit:cover!important;
}

/* Right-hand cards */
.home-food-section .food-card img,
.home-food-grid .food-card img{
  height:190px!important;
  object-fit:cover!important;
}

.home-food-section .food-card-copy,
.home-food-section .food-feature-copy,
.home-food-grid .food-card-copy,
.home-food-grid .food-feature-copy{
  padding:22px 24px!important;
}

.home-food-section .section-heading,
.home-food-grid .section-heading{
  font-size:clamp(44px,4.8vw,74px)!important;
  line-height:.9!important;
}

/* Keep separator space visibly distinct rather than glued together */
.home-hero + *,
.home-food-section + *,
.home-two-ways-v2 + *,
.home-story-section + *,
.home-values-section + *,
.home-location-section + *{
  border-top:0!important;
}

@media(min-width:1100px){
  .home-hero,
  .home-food-section,
  .home-two-ways-v2,
  .home-story-section,
  .home-values-section,
  .home-location-section,
  .home-cta-section{
    margin-bottom:64px;
  }
}

@media(max-width:1000px){
  .home-hero,
  .home-food-section,
  .home-two-ways-v2,
  .home-story-section,
  .home-values-section,
  .home-location-section,
  .home-cta-section{
    margin-bottom:40px;
  }

  .home-food-section{
    padding:42px 26px!important;
  }

  .home-food-section .food-feature img,
  .home-food-grid .food-feature img{
    height:340px!important;
  }

  .home-food-section .food-card img,
  .home-food-grid .food-card img{
    height:175px!important;
  }
}

@media(max-width:700px){
  .home-hero,
  .home-food-section,
  .home-two-ways-v2,
  .home-story-section,
  .home-values-section,
  .home-location-section,
  .home-cta-section{
    margin-bottom:26px;
  }

  .home-food-section{
    padding:34px 20px!important;
  }

  .home-food-section .food-feature img,
  .home-food-grid .food-feature img,
  .home-food-section .food-card img,
  .home-food-grid .food-card img{
    height:230px!important;
  }
}


/* =========================================================
   LEF v4.17.1 — LIGHT BERLIN HERO LEGIBILITY FIX
   Fixes both Coming Soon and full homepage right-hand hero.
   Dark mode remains unchanged.
   ========================================================= */

/* ---------- LIGHT MODE: full homepage hero ---------- */
html:not([data-theme="dark"]) .home-hero-right{
  color:#0b2b50!important;
}

html:not([data-theme="dark"]) .home-food-stack{
  color:#0b2b50!important;
}

html:not([data-theme="dark"]) .home-food-stack span:nth-child(2){
  color:#f44725!important;
}

html:not([data-theme="dark"]) .home-values{
  color:#0b2b50!important;
  border-color:rgba(11,43,80,.45)!important;
  background:rgba(247,240,228,.42);
  backdrop-filter:blur(2px);
}

html:not([data-theme="dark"]) .home-note{
  background:rgba(247,240,228,.96)!important;
  color:#0b2b50!important;
  min-width:0!important;
  width:auto!important;
  max-width:330px!important;
  padding:19px 26px 15px!important;
  right:3.2vw!important;
  bottom:34px!important;
  box-shadow:0 10px 22px rgba(11,43,80,.14)!important;
}

html:not([data-theme="dark"]) .home-note strong{
  font-size:30px!important;
}

html:not([data-theme="dark"]) .home-note-line{
  width:150px!important;
}

html:not([data-theme="dark"]) .home-note-crown{
  color:#0b2b50!important;
}

/* Give the cream artwork just enough contrast behind text without
   turning the panel back into a dark block. */
html:not([data-theme="dark"]) .home-hero .home-hero-bg::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(
      90deg,
      rgba(247,240,228,.04) 0%,
      rgba(247,240,228,.08) 45%,
      rgba(11,43,80,.035) 100%
    );
  pointer-events:none;
}

/* ---------- LIGHT MODE: Coming Soon hero ---------- */
html:not([data-theme="dark"]) body.lef-coming-soon .cs-right{
  color:#0b2b50!important;
}

html:not([data-theme="dark"]) body.lef-coming-soon .cs-stack{
  color:#0b2b50!important;
}

html:not([data-theme="dark"]) body.lef-coming-soon .cs-stack span:nth-child(2){
  color:#f44725!important;
}

html:not([data-theme="dark"]) body.lef-coming-soon .cs-values{
  color:#0b2b50!important;
  border-color:rgba(11,43,80,.45)!important;
  background:rgba(247,240,228,.42);
  backdrop-filter:blur(2px);
}

html:not([data-theme="dark"]) body.lef-coming-soon .cs-note{
  background:rgba(247,240,228,.96)!important;
  color:#0b2b50!important;
  min-width:0!important;
  width:auto!important;
  max-width:330px!important;
  padding:19px 26px 15px!important;
  right:3vw!important;
  bottom:34px!important;
  box-shadow:0 10px 22px rgba(11,43,80,.14)!important;
}

html:not([data-theme="dark"]) body.lef-coming-soon .cs-note strong{
  font-size:30px!important;
}

html:not([data-theme="dark"]) body.lef-coming-soon .cs-note .asset-crown{
  color:#0b2b50!important;
}

/* Both new Berlin illustrations are composed from the bottom.
   Anchor them there instead of vertically cropping the landmarks. */
.home-hero .home-hero-bg,
.lef-coming-soon .cs-right{
  background-position:center bottom!important;
}

/* ---------- DARK MODE: explicitly retain warm contrast ---------- */
html[data-theme="dark"] .home-food-stack,
html[data-theme="dark"] body.lef-coming-soon .cs-stack{
  color:#f4ebdd!important;
}

html[data-theme="dark"] .home-food-stack span:nth-child(2),
html[data-theme="dark"] body.lef-coming-soon .cs-stack span:nth-child(2){
  color:#f44725!important;
}

html[data-theme="dark"] .home-values,
html[data-theme="dark"] body.lef-coming-soon .cs-values{
  color:#f4ebdd!important;
  border-color:rgba(244,235,221,.42)!important;
  background:rgba(5,13,21,.20);
}

html[data-theme="dark"] .home-note,
html[data-theme="dark"] body.lef-coming-soon .cs-note{
  background:#0d1d2b!important;
  color:#f4ebdd!important;
  min-width:0!important;
  width:auto!important;
  max-width:330px!important;
  padding:19px 26px 15px!important;
}

html[data-theme="dark"] .home-note strong,
html[data-theme="dark"] body.lef-coming-soon .cs-note strong{
  font-size:30px!important;
}

html[data-theme="dark"] .home-note-crown,
html[data-theme="dark"] body.lef-coming-soon .cs-note .asset-crown{
  color:#f4ebdd!important;
}

@media(max-width:700px){
  html:not([data-theme="dark"]) .home-note,
  html:not([data-theme="dark"]) body.lef-coming-soon .cs-note,
  html[data-theme="dark"] .home-note,
  html[data-theme="dark"] body.lef-coming-soon .cs-note{
    max-width:270px!important;
    padding:16px 20px 13px!important;
    right:18px!important;
    bottom:24px!important;
  }

  html:not([data-theme="dark"]) .home-note strong,
  html:not([data-theme="dark"]) body.lef-coming-soon .cs-note strong,
  html[data-theme="dark"] .home-note strong,
  html[data-theme="dark"] body.lef-coming-soon .cs-note strong{
    font-size:25px!important;
  }
}


/* =========================================================
   LEF v4.17.2 — RESTORE RIGHT-SIDE HERO ALIGNMENTS
   ========================================================= */

/* Coming Soon: theme + language controls belong top-right */
.lef-coming-soon .cs-right{
  position:relative!important;
}

.lef-coming-soon .cs-controls{
  position:absolute!important;
  top:26px!important;
  right:26px!important;
  left:auto!important;
  bottom:auto!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:10px!important;
  z-index:30!important;
}

.lef-coming-soon .cs-lang-switcher{
  position:static!important;
  display:flex!important;
  justify-content:flex-end!important;
  gap:6px!important;
}

/* Coming Soon: Hast du Mut card belongs bottom-right */
.lef-coming-soon .cs-note{
  position:absolute!important;
  right:28px!important;
  left:auto!important;
  bottom:30px!important;
  top:auto!important;
  width:min(330px,calc(100% - 56px))!important;
  max-width:330px!important;
  margin:0!important;
  transform:rotate(-2deg)!important;
  transform-origin:right bottom!important;
  z-index:20!important;
}

/* Full homepage hero: note also remains bottom-right */
.home-hero-right{
  position:relative!important;
}

.home-hero-right .home-note{
  position:absolute!important;
  right:3vw!important;
  left:auto!important;
  bottom:34px!important;
  top:auto!important;
  width:min(330px,calc(100% - 6vw))!important;
  max-width:330px!important;
  margin:0!important;
  transform:rotate(-2deg)!important;
  transform-origin:right bottom!important;
  z-index:20!important;
}

/* Ensure the hero copy stays clear of the right-side controls */
.lef-coming-soon .cs-lef{
  margin-top:18px!important;
}

/* Mobile keeps controls and card on the right, just tighter */
@media(max-width:700px){
  .lef-coming-soon .cs-controls{
    top:16px!important;
    right:16px!important;
    left:auto!important;
  }

  .lef-coming-soon .cs-note{
    right:16px!important;
    left:auto!important;
    bottom:18px!important;
    width:min(270px,calc(100% - 32px))!important;
    max-width:270px!important;
  }

  .home-hero-right .home-note{
    right:16px!important;
    left:auto!important;
    bottom:18px!important;
    width:min(270px,calc(100% - 32px))!important;
    max-width:270px!important;
  }
}


/* =========================================================
   LEF v4.17.3 — REMOVE DECORATIVE HERO LEF
   Keep its layout footprint so all existing alignments stay unchanged.
   ========================================================= */
.home-hero-right .home-lef,
.lef-coming-soon .cs-right .cs-lef{
  visibility:hidden!important;
  pointer-events:none!important;
}
