/* Exact dark-texture redesign matching the approved MeroBuddha reference. */
:root{
  --ivory:#050403;
  --warm:rgba(17,12,9,.88);
  --espresso:#f3dfc5;
  --red:#F7A941;
  --wine:#911540;
  --bronze:#8B653A;
  --stone:rgba(247,169,65,.42);
  --muted:#d7c0a6;
}
html{background:#050403}
body{
  color:var(--espresso);
  background-color:#050403;
  background-image:linear-gradient(rgba(0,0,0,.18),rgba(0,0,0,.34)),url("./service-background.png?v=2");
  background-repeat:no-repeat,repeat;
  background-position:center top,center top;
  background-size:auto,724px 543px;
  background-attachment:fixed,fixed;
}
main{background:transparent}
h1,h2,h3{color:var(--red);font-family:Georgia,"Times New Roman",serif;font-weight:500;letter-spacing:-.035em}
.site-header{
  position:relative;
  height:104px;
  padding:0 3vw;
  background:rgba(0,0,0,.88);
  border-color:rgba(247,169,65,.48);
  box-shadow:0 10px 28px rgba(0,0,0,.35);
}
.header-brand{gap:.85rem}
.logo-mark{
  width:47px;
  height:68px;
  flex-basis:47px;
  background:transparent;
}
.logo-mark img{display:none}
.logo-mark::before{
  content:"☸";
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  color:var(--red);
  font:400 2.7rem/1 Georgia,"Times New Roman",serif;
}
.brand strong{font-family:"Inter",sans-serif;font-size:clamp(1.7rem,2.2vw,2.35rem);font-weight:500;letter-spacing:.18em;color:var(--red)}
.brand small{color:var(--red);letter-spacing:.55em}
.nav{gap:3rem;text-transform:uppercase;font-family:"Barlow Condensed",sans-serif;font-size:1.13rem;letter-spacing:.04em}
.nav>a{color:var(--espresso)}
.nav>a:first-child{color:var(--red)}
.nav>a:first-child::after{right:0;background:var(--red)}
.hero{
  min-height:610px;
  width:min(1570px,94vw);
  margin:0 auto;
  padding:28px 0 42px;
  grid-template-columns:42% 58%;
  gap:30px;
  background:transparent;
  border-bottom:1px solid rgba(247,169,65,.58);
}
.hero-copy{padding:52px 0 8px;min-width:0}
.eyebrow{color:#ef3159;font-size:.75rem;letter-spacing:.22em}
.eyebrow span{display:none}
h1{font-size:clamp(4.2rem,5.3vw,6.15rem);line-height:.86;margin:1.8rem 0 1.35rem}
.hero-text{max-width:580px;color:var(--muted);font-size:1.08rem;line-height:1.55}
.hero-actions{gap:1.45rem;margin-top:2rem}
.button{min-height:64px;padding:0 1.85rem;text-transform:uppercase;letter-spacing:.07em;font-weight:650}
.primary{background:var(--red);border-color:var(--red);color:#090604}
.primary:hover{background:#ffc064;color:#090604}
.secondary{color:var(--red);border-color:var(--red);background:rgba(0,0,0,.24)}
.secondary:hover{background:var(--wine);color:#fff;border-color:var(--wine)}
.scroll-note{display:none}
.hero-image{
  min-height:520px;
  height:auto;
  align-self:stretch;
  border:1px solid rgba(247,169,65,.58);
  background:#090604;
  padding:8px;
}
.hero-image img{filter:brightness(.9) contrast(1.08) saturate(1.03)}
.hero-image::after{background:linear-gradient(180deg,transparent 68%,rgba(0,0,0,.8));inset:8px}
.hero-image figcaption{
  left:8px;
  right:8px;
  bottom:8px;
  padding:1rem;
  text-align:center;
  border:0;
  background:rgba(0,0,0,.76);
  color:transparent;
  font-size:0;
}
.hero-image figcaption span{display:block;margin:0;color:var(--red);font-size:.78rem;letter-spacing:.28em}
.intro{
  width:min(1570px,94vw);
  margin:0 auto;
  padding:38px 0 72px;
  grid-template-columns:40% 60%;
  gap:30px;
  background:transparent;
}
.intro>.section-label{grid-column:1;color:#ef3159;border-bottom:2px solid #ef3159;width:max-content;padding-bottom:.45rem}
.intro h2{grid-column:1;font-size:clamp(3rem,4vw,4.6rem);line-height:.92}
.intro h2 em{color:var(--red);font-style:normal}
.story-copy{grid-column:2;grid-row:1/4;align-self:end;background:rgba(13,9,7,.74);border:1px solid rgba(139,101,58,.5);padding:2rem;color:var(--muted)}
.locations,.guest-info{width:min(1570px,94vw);margin:0 auto;background:transparent;padding:5rem 0}
.locations-head{border-top:1px solid rgba(247,169,65,.5);padding-top:3rem}
.locations-head h2,.guest-info-head h2,.visit h2{color:var(--red);font-family:Georgia,"Times New Roman",serif}
.branch-tabs{border:1px solid rgba(247,169,65,.48);background:rgba(13,9,7,.8)}
.branch-tabs button{border-color:rgba(247,169,65,.38);background:rgba(18,12,9,.82);color:var(--muted)}
.branch-tabs button span{color:var(--red);font-family:Georgia,"Times New Roman",serif;font-size:2rem}
.branch-tabs button.active{background:linear-gradient(135deg,#a31942,#72102e);color:#fff}
.branch-tabs button.active strong{color:#fff}
.branch-tabs button.active span{color:var(--red)}
.branch-detail,.service-card,.legal-blocks section,.imprint-primary-card,.imprint-company,.imprint-authority-grid article,.imprint-notice-grid article,.privacy-card,.contact-form{
  background:rgba(15,10,8,.88);
  border-color:rgba(139,101,58,.62);
  box-shadow:0 18px 50px rgba(0,0,0,.28);
  -webkit-backdrop-filter:blur(5px);
  backdrop-filter:blur(5px);
}
.branch-detail{border:1px solid rgba(247,169,65,.36)}
.branch-info h3{color:var(--red)}
.branch-menu-link{background:rgba(145,21,64,.18);border-color:var(--red);color:var(--red)}
.branch-menu-link:hover{background:var(--wine);color:#fff}
.lunch-offer{
  width:min(1570px,94vw);
  margin:0 auto 7rem;
  color:#fff;
  border-color:rgba(247,169,65,.6);
  background:linear-gradient(135deg,rgba(145,21,64,.98),rgba(93,16,43,.98) 64%,rgba(139,101,58,.94));
}
.lunch-copy h2{color:var(--red)}
.guest-info-grid{border-color:rgba(247,169,65,.45)}
.service-card:first-child{background:linear-gradient(145deg,rgba(145,21,64,.48),rgba(15,10,8,.9) 65%)}
.visit{
  width:min(1570px,94vw);
  margin:0 auto 5vw;
  background:linear-gradient(130deg,#911540,#61102e 66%,#8B653A);
  color:#fff;
  border:1px solid rgba(247,169,65,.55);
}
.round-link{border-color:var(--red);color:var(--red)}
.round-link:hover{background:var(--red);color:#090604}
footer{background:rgba(0,0,0,.9);border-top:1px solid rgba(247,169,65,.45)}
.legal-page{background:transparent}
.legal-header{background:rgba(0,0,0,.9);border-color:rgba(247,169,65,.45)}
.back-home,.contact-return{color:var(--red);border-color:var(--red);background:transparent}
.back-home:hover,.contact-return:hover{background:var(--wine);color:#fff;border-color:var(--wine)}
.contact-form input,.contact-form textarea,.privacy-authority{background:rgba(0,0,0,.72);border-color:rgba(139,101,58,.72)}
.cookie-consent{background:rgba(5,3,2,.97);border-color:var(--red);box-shadow:0 24px 80px rgba(0,0,0,.7),inset 5px 0 0 var(--wine)}
.cookie-accept{background:var(--red);color:#090604}
.cookie-deny{border-color:var(--bronze)}
.cookie-settings{background:rgba(0,0,0,.92);color:var(--red);border-color:var(--bronze)}

@media(max-width:800px){
  body{
    background-image:linear-gradient(rgba(0,0,0,.14),rgba(0,0,0,.3)),url("./service-background.png?v=2");
    background-size:auto,520px 390px;
    background-attachment:scroll,scroll;
  }
  .site-header{height:78px;padding:0 18px;position:relative;background:rgba(0,0,0,.94)}
  .logo-mark{width:39px;height:56px;flex-basis:39px}
  .logo-mark::before{font-size:2.2rem}
  .brand strong{font-size:1.35rem;letter-spacing:.13em}
  .brand small{font-size:.46rem;letter-spacing:.34em}
  .menu-toggle span{background:var(--red)}
  .nav{top:0;background:rgba(3,2,1,.98);border-bottom:1px solid var(--red)}
  .nav a{color:var(--espresso);border-color:rgba(139,101,58,.62)}
  .nav a:first-child{color:var(--red)}
  .hero{width:100%;margin:0;padding:0 16px 34px;gap:0;border-bottom:0;background:transparent}
  .hero-copy{padding:3rem 0 2.35rem}
  .eyebrow{font-size:.63rem;line-height:1.5}
  h1{font-size:clamp(3.35rem,16vw,5rem);line-height:.86;margin:1.45rem 0 1.3rem}
  .hero-text{font-size:.97rem;color:var(--muted)}
  .hero-actions{gap:.75rem}
  .hero-actions .button{min-height:55px}
  .hero-image{height:58svh;min-height:380px;max-height:590px;padding:6px;border-color:rgba(247,169,65,.62)}
  .hero-image::after{inset:6px}
  .hero-image figcaption{left:6px;right:6px;bottom:6px}
  .intro{width:100%;margin:0;padding:3.4rem 16px 4.5rem;display:grid;grid-template-columns:1fr;gap:1.35rem;border-top:1px solid rgba(247,169,65,.48)}
  .intro>.section-label,.intro h2,.story-copy{grid-column:1;grid-row:auto}
  .intro h2{font-size:clamp(2.7rem,13vw,4rem)}
  .story-copy{padding:1.35rem;background:rgba(11,7,5,.78)}
  .locations,.guest-info{width:100%;padding:4rem 16px}
  .locations-head{border-top-color:rgba(247,169,65,.48)}
  .branch-tabs{background:rgba(9,6,4,.82)}
  .branch-tabs button{background:rgba(16,10,7,.86)}
  .branch-tabs button.active{background:linear-gradient(135deg,#a31942,#72102e)}
  .branch-detail,.service-card{background:rgba(12,8,6,.88)}
  .lunch-offer{width:calc(100% - 32px);margin:0 16px 4.5rem}
  .visit{width:100%;margin:0;padding:4rem 20px}
  footer{background:rgba(0,0,0,.94)}
  .legal-header{background:rgba(0,0,0,.94)}
  .legal-content{background:transparent}
  .legal-blocks section,.imprint-primary-card,.imprint-company,.imprint-authority-grid article,.imprint-notice-grid article,.privacy-card,.contact-form{background:rgba(12,8,6,.9)}
}

@media(max-width:420px){
  .site-header{padding-left:14px;padding-right:14px}
  .brand strong{font-size:1.08rem;letter-spacing:.1em}
  .brand small{font-size:.42rem;letter-spacing:.28em}
  h1{font-size:clamp(3rem,15.2vw,4.1rem)}
  .hero{padding-left:14px;padding-right:14px}
  .hero-actions .button{font-size:.82rem;padding:0 1rem}
  .hero-image{min-height:330px}
  .intro,.locations,.guest-info{padding-left:14px;padding-right:14px}
  .lunch-offer{width:calc(100% - 28px);margin-left:14px;margin-right:14px}
}

/* V3 mobile and background corrections. */
body{
  position:relative;
  isolation:isolate;
  min-height:100vh;
  background:transparent!important;
}
body::before{
  content:"";
  position:fixed;
  z-index:-1;
  inset:-3px;
  pointer-events:none;
  background-color:#050403;
  background-image:linear-gradient(rgba(0,0,0,.18),rgba(0,0,0,.36)),url("./service-background.png?v=3");
  background-repeat:no-repeat;
  background-position:center center;
  background-size:cover;
}

/* Restore the original MeroBuddha logo asset and crop used by the live site. */
.logo-mark{
  width:58px;
  height:60px;
  flex:0 0 58px;
  overflow:hidden;
  position:relative;
  background:#fff;
}
.logo-mark::before{content:none}
.logo-mark img{
  display:block;
  position:absolute;
  width:110px;
  max-width:none;
  height:auto;
  left:-22px;
  top:0;
  filter:none;
  mix-blend-mode:normal;
}

@media(max-width:800px){
  body{background:transparent!important}
  body::before{
    background-image:linear-gradient(rgba(0,0,0,.14),rgba(0,0,0,.32)),url("./service-background.png?v=3");
    background-repeat:no-repeat;
    background-position:center center;
    background-size:cover;
  }
  .site-header{
    position:sticky;
    top:0;
    z-index:100;
    height:76px;
    padding:0 max(16px,env(safe-area-inset-right)) 0 max(16px,env(safe-area-inset-left));
    background:rgba(0,0,0,.96);
    border-bottom:1px solid rgba(247,169,65,.56);
  }
  .logo-mark{width:46px;height:49px;flex-basis:46px}
  .logo-mark img{display:block;width:90px;left:-18px;top:0}
  .header-brand{gap:.6rem;min-width:0}
  .brand-copy{min-width:0}
  .brand strong{font-size:1.28rem;letter-spacing:.11em;white-space:nowrap}
  .brand small{font-size:.43rem;letter-spacing:.3em;white-space:nowrap}
  .menu-toggle{
    display:flex;
    flex:0 0 46px;
    width:46px;
    height:46px;
    padding:0;
    border:1px solid rgba(247,169,65,.72);
    background:rgba(247,169,65,.06);
    align-items:center;
    justify-content:center;
    gap:7px;
    border-radius:0;
  }
  .menu-toggle span{
    width:22px;
    height:2px;
    background:var(--red);
    transform-origin:center;
    transition:transform .2s ease,opacity .2s ease;
  }
  .menu-toggle[aria-expanded="true"] span:first-child{transform:translateY(4.5px) rotate(45deg)}
  .menu-toggle[aria-expanded="true"] span:last-child{transform:translateY(-4.5px) rotate(-45deg)}
  .nav{
    display:none;
    position:absolute;
    top:100%;
    left:0;
    right:0;
    max-height:calc(100svh - 76px);
    overflow-y:auto;
    padding:.45rem max(18px,env(safe-area-inset-right)) max(1.1rem,env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left));
    background:rgba(3,2,1,.985);
    border-bottom:1px solid rgba(247,169,65,.62);
    box-shadow:0 18px 40px rgba(0,0,0,.58);
    gap:0;
  }
  .nav.open{display:grid}
  .nav a,
  .nav>a:not(.header-cta){
    min-height:50px;
    display:flex;
    align-items:center;
    padding:.8rem 0;
    color:var(--espresso);
    border-bottom:1px solid rgba(139,101,58,.48);
    font:600 1.22rem/1.1 "Barlow Condensed",sans-serif;
    letter-spacing:.075em;
    text-transform:uppercase;
  }
  .nav a:first-child{color:var(--red)}
  .nav a:last-child{border-bottom:0}
  .nav>a::after{display:none}

  .visit{
    display:grid;
    grid-template-columns:minmax(0,1fr);
    align-content:start;
    min-height:0;
    padding:3.5rem max(20px,env(safe-area-inset-right)) 3.5rem max(20px,env(safe-area-inset-left));
    overflow:hidden;
  }
  .visit .section-label{
    max-width:100%;
    margin:0 0 1.5rem;
    color:#fff;
    font-size:.68rem;
    line-height:1.5;
    letter-spacing:.18em;
  }
  .visit h2{
    max-width:100%;
    margin:0;
    color:var(--red);
    font-family:"Barlow Condensed",Arial,sans-serif;
    font-size:clamp(3rem,13vw,4.35rem);
    font-weight:700;
    line-height:.86;
    letter-spacing:-.015em;
    overflow-wrap:normal;
    word-break:normal;
    text-wrap:balance;
  }
  .visit h2 br{display:none}
  .visit h2 br::after{content:" ";white-space:pre}
  .visit .round-link{
    position:static;
    justify-self:start;
    width:auto;
    height:auto;
    min-height:52px;
    margin-top:2rem;
    padding:.9rem 1.2rem;
    border-radius:0;
    border-color:var(--red);
    color:var(--red);
    background:rgba(0,0,0,.2);
    line-height:1.3;
  }
  .visit .round-link:hover{transform:none;background:var(--red);color:#090604}
}

@media(max-width:420px){
  .site-header{padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right))}
  .logo-mark{width:40px;height:44px;flex-basis:40px}
  .logo-mark img{width:80px;left:-16px}
  .brand strong{font-size:1.04rem;letter-spacing:.09em}
  .brand small{font-size:.39rem;letter-spacing:.24em}
  .menu-toggle{width:43px;height:43px;flex-basis:43px}
  .visit{padding-left:16px;padding-right:16px}
  .visit h2{font-size:clamp(2.8rem,12.5vw,3.55rem);line-height:.88}
}

@media(max-width:350px){
  .brand strong{font-size:.92rem;letter-spacing:.07em}
  .brand small{letter-spacing:.18em}
  .visit h2{font-size:2.55rem}
}
