:root{--cream:#F6EFE4;--ivory:#FFF9EF;--red:#9E2418;--red-dark:#7F1C13;--orange:#E85512;--orange-soft:#F28A4B;--wood:#6A351F;--espresso:#2D1A14;--brass:#B08A55;--charcoal:#241F1B;--sand:#DDD0BE;--form:#FBF5EA;--success:#4D7A55;--error:#B13A2D;--font-display:"Cormorant Garamond","Iowan Old Style",Georgia,serif;--font-body:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--container:min(100% - 2rem,1200px);--radius-lg:1.4rem;--radius-xl:2rem;--shadow-card:0 14px 34px rgba(45,26,20,.08);--shadow-image:0 24px 70px rgba(45,26,20,.14);--header-height:68px}*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;color-scheme:light}body{margin:0;background:radial-gradient(circle at 20% 0%,rgba(232,85,18,.08),transparent 32rem),var(--cream);color:var(--charcoal);font-family:var(--font-body);font-size:1rem;line-height:1.65;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}img{max-width:100%;display:block;height:auto}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}::selection{background:rgba(158,36,24,.18)}.container{width:var(--container);margin-inline:auto}.narrow{max-width:900px;margin-inline:auto}.section-pad{padding-block:clamp(4.5rem,8vw,9.5rem)}.skip-link{position:fixed;top:.75rem;left:.75rem;z-index:999;background:var(--red);color:var(--ivory);padding:.75rem 1rem;border-radius:999px;transform:translateY(-150%);transition:transform .2s ease}.skip-link:focus{transform:translateY(0)}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip-path:inset(50%)}.eyebrow,.card-label,.panel-kicker{margin:0 0 .8rem;color:var(--red);font-size:.72rem;font-weight:800;line-height:1.2;letter-spacing:.14em;text-transform:uppercase}h1,h2,h3{font-family:var(--font-display);font-weight:500;color:var(--espresso);letter-spacing:-.025em;text-wrap:balance}h1{margin:0 0 1.2rem;color:var(--red);font-size:clamp(4rem,18vw,6.6rem);line-height:.88;max-width:10ch}h2{margin:0 0 1.2rem;font-size:clamp(2.45rem,8vw,4.1rem);line-height:1.02}h3{margin:0 0 .8rem;font-size:clamp(1.65rem,4vw,2.25rem);line-height:1.12}p{margin:0 0 1rem}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:.9rem 1.25rem;border:1px solid transparent;border-radius:999px;font-size:.86rem;font-weight:800;letter-spacing:.045em;text-transform:uppercase;transition:transform .22s ease,background .22s ease,color .22s ease,border-color .22s ease,box-shadow .22s ease}.btn:hover{transform:translateY(-1px)}.btn:focus-visible,a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(232,85,18,.55);outline-offset:3px}.btn-primary{background:var(--red);color:var(--ivory);box-shadow:0 10px 24px rgba(158,36,24,.16)}.btn-primary:hover{background:var(--red-dark)}.btn-secondary{border-color:rgba(158,36,24,.42);color:var(--red);background:transparent}.btn-secondary:hover{border-color:var(--red);background:rgba(255,249,239,.58)}.btn-light{background:var(--ivory);color:var(--red)}.btn-light:hover{background:var(--cream)}.text-link{display:inline-flex;align-items:center;gap:.55rem;margin-top:.8rem;color:var(--red);font-weight:800;letter-spacing:.04em;text-transform:uppercase;font-size:.85rem}.text-link::after{content:"→";transition:transform .2s ease}.text-link:hover::after{transform:translateX(4px)}.site-header{position:sticky;top:0;z-index:100;background:rgba(246,239,228,.94);border-bottom:1px solid rgba(221,208,190,.8);backdrop-filter:blur(14px);transition:box-shadow .25s ease}.site-header.is-scrolled{box-shadow:0 10px 28px rgba(45,26,20,.07)}.header-inner{display:flex;align-items:center;justify-content:space-between;min-height:var(--header-height);gap:1rem}.brand{display:inline-flex;flex-direction:column;line-height:1;color:var(--red)}.brand-main{font-family:var(--font-display);font-size:1.42rem;letter-spacing:.04em}.brand-sub{margin-top:.18rem;font-size:.65rem;letter-spacing:.18em;text-transform:uppercase}.desktop-nav,.header-cta{display:none}.menu-toggle{width:44px;height:44px;border:1px solid rgba(158,36,24,.3);border-radius:50%;background:transparent;display:grid;place-content:center;gap:5px}.menu-toggle span:not(.sr-only){width:18px;height:1.5px;border-radius:2px;background:var(--red);transition:transform .22s ease}.menu-toggle[aria-expanded=true] span:nth-child(2){transform:translateY(3.25px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:nth-child(3){transform:translateY(-3.25px) rotate(-45deg)}.mobile-menu{position:fixed;inset:var(--header-height) 0 auto;min-height:calc(100dvh - var(--header-height));padding:2rem 1rem;background:var(--ivory);transform:translateX(100%);transition:transform .32s ease;visibility:hidden}.mobile-menu.is-open{transform:translateX(0);visibility:visible}.mobile-menu nav{display:grid;gap:.25rem}.mobile-menu nav a{padding:.45rem 0;color:var(--red);font-family:var(--font-display);font-size:clamp(2.4rem,11vw,4rem);line-height:.95}.mobile-menu-footer{margin-top:2rem;padding-top:2rem;border-top:1px solid var(--sand)}.hero{padding-top:clamp(3rem,6vw,6rem);overflow:hidden}.hero-grid{display:grid;gap:2.3rem}.hero-copy{max-width:620px}.hero-lead{font-family:var(--font-display);color:var(--espresso);font-size:clamp(1.45rem,4.5vw,1.9rem);line-height:1.25}.hero-text{max-width:58ch}.hero-actions{display:grid;gap:.8rem;margin-top:1.55rem}.hero-actions .btn{width:100%}.availability{margin-top:1rem;color:rgba(45,26,20,.72);font-size:.9rem}.hero-media{position:relative;border-radius:var(--radius-xl)}.hero-media img{aspect-ratio:4/5;width:100%;object-fit:cover;object-position:center;border-radius:var(--radius-xl);box-shadow:var(--shadow-image)}.hero-card{position:absolute;right:.85rem;bottom:.85rem;display:grid;gap:.15rem;max-width:220px;padding:1rem 1.1rem;border:1px solid rgba(221,208,190,.8);border-radius:1rem;background:rgba(255,249,239,.9);color:var(--red);font-family:var(--font-display);font-size:1.25rem;font-style:italic;line-height:1.1;box-shadow:var(--shadow-card);backdrop-filter:blur(10px)}.brand-statement{padding-block:clamp(4rem,9vw,8.5rem);background:var(--ivory);border-block:1px solid rgba(221,208,190,.7);text-align:left}.statement{margin-bottom:1.6rem;color:var(--espresso);font-family:var(--font-display);font-size:clamp(2rem,7.5vw,4.2rem);line-height:1.06;letter-spacing:-.025em}.statement em{color:var(--red);font-style:italic}.split-grid,.about-grid,.inquiry-grid,.faq-grid,.pillars-grid{display:grid;gap:2.4rem}.section-copy{max-width:640px}.section-copy p:not(.eyebrow),.section-heading p:not(.eyebrow),.gallery-heading p{color:rgba(36,31,27,.82)}.image-stack{position:relative}.image-main,.portrait-wrap img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:var(--radius-xl);box-shadow:var(--shadow-image)}.detail-note{margin-top:-2.4rem;margin-inline:1rem;position:relative;padding:1.1rem 1.2rem;border:1px solid var(--sand);border-radius:1rem;background:rgba(255,249,239,.94);box-shadow:var(--shadow-card)}.detail-note strong,.detail-note span{display:block}.detail-note strong{color:var(--red);font-family:var(--font-display);font-size:1.4rem;font-weight:500}.detail-note span{font-size:.92rem}.events{background:linear-gradient(180deg,transparent,rgba(255,249,239,.58))}.section-heading{max-width:760px;margin-bottom:clamp(2rem,5vw,4rem)}.event-grid{display:grid;gap:1rem}.event-card{overflow:hidden;border:1px solid rgba(221,208,190,.9);border-radius:var(--radius-lg);background:var(--ivory);box-shadow:0 14px 38px rgba(45,26,20,.05);transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease}.event-card:hover{transform:translateY(-3px);border-color:rgba(158,36,24,.45);box-shadow:var(--shadow-card)}.card-image{min-height:180px}.image-gradient.wedding{background:linear-gradient(135deg,rgba(158,36,24,.72),rgba(255,249,239,.18)),url("assets/the-bar-experience-mobile-bar.jpg") center/cover}.image-gradient.private{background:linear-gradient(135deg,rgba(106,53,31,.65),rgba(242,138,75,.2)),url("assets/karin-weber-hosting.jpg") center/cover}.image-gradient.corporate{background:linear-gradient(135deg,rgba(45,26,20,.62),rgba(176,138,85,.2)),url("assets/the-bar-experience-mobile-bar.jpg") center/cover}.image-gradient.activation{background:linear-gradient(135deg,rgba(232,85,18,.7),rgba(158,36,24,.18)),url("assets/the-bar-experience-mobile-bar.jpg") center/cover}.card-content{padding:1.35rem}.card-content h3{color:var(--red);font-size:clamp(1.85rem,5vw,2.35rem)}.card-content a{display:inline-flex;margin-top:.6rem;color:var(--red);font-weight:800;font-size:.84rem;letter-spacing:.04em;text-transform:uppercase}.card-content a::after{content:"→";margin-left:.45rem;transition:transform .2s ease}.event-card:hover a::after{transform:translateX(4px)}.vehicle{background:var(--ivory);border-block:1px solid rgba(221,208,190,.7)}.vehicle-intro{max-width:760px;margin-bottom:2rem}.vehicle-intro h2{color:var(--red)}.vehicle-showcase{display:grid;gap:1rem}.vehicle-showcase img{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:var(--radius-xl);box-shadow:var(--shadow-image)}.showcase-panel{padding:1.4rem;border:1px solid var(--sand);border-radius:var(--radius-lg);background:var(--cream)}.showcase-panel h3{color:var(--red)}.showcase-panel ul{display:grid;gap:1rem;padding:0;margin:1.2rem 0 0;list-style:none}.showcase-panel li{padding-top:1rem;border-top:1px solid rgba(221,208,190,.85)}.showcase-panel strong,.showcase-panel span{display:block}.showcase-panel strong{color:var(--espresso)}.showcase-panel span{color:rgba(36,31,27,.78);font-size:.93rem}.pillars{background:linear-gradient(180deg,var(--ivory),var(--cream))}.sticky-copy{align-self:start}.pillar-list{display:grid;gap:1rem}.pillar-card{padding:1.45rem;border:1px solid var(--sand);border-radius:var(--radius-lg);background:rgba(255,249,239,.68)}.pillar-card span{display:block;margin-bottom:.75rem;color:var(--brass);font-size:.75rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.pillar-card h3{color:var(--red)}.about{background:var(--cream)}.portrait-wrap{position:relative}.portrait-wrap blockquote{margin:-2rem 1rem 0;position:relative;padding:1.25rem;border:1px solid var(--sand);border-radius:var(--radius-lg);background:rgba(255,249,239,.94);color:var(--red);font-family:var(--font-display);font-size:clamp(1.45rem,5vw,2rem);font-style:italic;line-height:1.18;box-shadow:var(--shadow-card)}.process{background:var(--ivory);border-block:1px solid rgba(221,208,190,.75)}.process-list{padding:0;margin:0;display:grid;gap:1rem;list-style:none}.process-step{padding:1.35rem;border:1px solid var(--sand);border-radius:var(--radius-lg);background:var(--cream)}.process-step span{color:var(--brass);font-weight:800;letter-spacing:.16em}.process-step h3{margin-top:.7rem;color:var(--red)}.gallery{background:var(--espresso);color:var(--ivory)}.gallery h2,.gallery .eyebrow{color:var(--ivory)}.gallery .eyebrow{color:var(--orange-soft)}.gallery-heading{max-width:780px;margin-bottom:2rem}.gallery-heading p{color:rgba(255,249,239,.78)}.gallery-grid{display:grid;gap:1rem}.gallery-item{margin:0;position:relative;overflow:hidden;border-radius:var(--radius-lg);background:rgba(255,249,239,.08);border:1px solid rgba(255,249,239,.18)}.gallery-item img,.gallery-item.texture div{width:100%;height:100%;min-height:260px;object-fit:cover;transition:transform .5s ease}.gallery-item:hover img{transform:scale(1.02)}.gallery-item.texture div{background:radial-gradient(circle at 70% 25%,rgba(242,138,75,.6),transparent 20%),linear-gradient(135deg,var(--red),var(--wood))}.gallery-item figcaption{position:absolute;left:1rem;bottom:1rem;padding:.45rem .7rem;border-radius:999px;background:rgba(45,26,20,.55);color:var(--ivory);font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;backdrop-filter:blur(10px)}.faq{background:var(--ivory)}.accordion{display:grid;gap:.75rem}.faq-item{border:1px solid var(--sand);border-radius:var(--radius-lg);background:var(--cream);overflow:hidden}.faq-question{display:flex;justify-content:space-between;align-items:center;gap:1rem;width:100%;padding:1.1rem 1.2rem;border:0;background:transparent;color:var(--espresso);text-align:left;font-weight:800}.faq-question span{position:relative;flex:0 0 18px;width:18px;height:18px}.faq-question span::before,.faq-question span::after{content:"";position:absolute;inset:50% auto auto 0;width:18px;height:2px;background:var(--red);transform:translateY(-50%)}.faq-question span::after{transform:translateY(-50%) rotate(90deg);transition:transform .2s ease}.faq-question[aria-expanded=true] span::after{transform:translateY(-50%) rotate(0)}.faq-answer{padding:0 1.2rem 1.15rem}.inquiry{background:radial-gradient(circle at 85% 20%,rgba(232,85,18,.1),transparent 26rem),var(--cream)}.contact-card{margin-top:1.8rem;padding:1.25rem;border:1px solid var(--sand);border-radius:var(--radius-lg);background:var(--ivory)}.contact-card strong{color:var(--red);font-family:var(--font-display);font-size:1.5rem;font-weight:500}.contact-card ol{margin:.8rem 0 0;padding-left:1.2rem}.inquiry-form{padding:clamp(1.2rem,4vw,2rem);border:1px solid var(--sand);border-radius:var(--radius-xl);background:var(--ivory);box-shadow:var(--shadow-card)}.form-row{display:grid;gap:.35rem;margin-bottom:1rem}label{color:var(--espresso);font-size:.83rem;font-weight:800}input,select,textarea{width:100%;min-height:48px;padding:.8rem .9rem;border:1px solid rgba(221,208,190,1);border-radius:.85rem;background:var(--form);color:var(--espresso)}textarea{resize:vertical}.privacy-note{color:rgba(36,31,27,.66);font-size:.84rem}.submit-btn{width:100%;margin-top:.35rem}.form-success{margin:1rem 0 0;padding:.85rem;border-radius:.85rem;background:rgba(77,122,85,.12);color:var(--success);font-weight:700}.final-cta{padding-block:clamp(4rem,8vw,8rem);background:var(--cream)}.final-panel{display:grid;gap:2rem;padding:clamp(1.5rem,5vw,4.5rem);border-radius:var(--radius-xl);background:var(--red);color:var(--ivory);overflow:hidden}.final-panel .eyebrow{color:var(--orange-soft)}.final-panel h2{color:var(--ivory)}.final-panel p{max-width:62ch;color:rgba(255,249,239,.82)}.final-panel img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:var(--radius-lg);border:1px solid rgba(255,249,239,.22)}.site-footer{padding-top:4rem;background:var(--espresso);color:rgba(255,249,239,.78)}.footer-grid{display:grid;gap:2rem}.brand-footer{color:var(--ivory)}.footer-tagline{margin-top:1rem;color:var(--orange-soft);font-family:var(--font-display);font-size:2rem;line-height:1.1}.site-footer h2{margin:0 0 .85rem;color:var(--brass);font-family:var(--font-body);font-size:.75rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.site-footer ul{display:grid;gap:.4rem;padding:0;margin:0;list-style:none}.site-footer a:hover{color:var(--orange-soft)}.footer-bottom{display:grid;gap:.7rem;margin-top:3rem;padding-block:1.4rem;border-top:1px solid rgba(255,249,239,.16);font-size:.84rem}.footer-bottom nav{display:flex;flex-wrap:wrap;gap:.9rem}.mobile-sticky-cta{position:fixed;left:1rem;right:1rem;bottom:1rem;z-index:90;display:none;justify-content:center;align-items:center;min-height:50px;border-radius:999px;background:var(--red);color:var(--ivory);box-shadow:0 12px 34px rgba(45,26,20,.18);font-size:.86rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;transform:translateY(140%);transition:transform .28s ease}.mobile-sticky-cta.is-visible{transform:translateY(0)}.reveal{opacity:0;transform:translateY(20px);transition:opacity .7s ease,transform .7s ease}.reveal.is-visible{opacity:1;transform:translateY(0)}@media (min-width:700px){:root{--header-height:78px;--container:min(100% - 3rem,1200px)}.hero-actions{display:flex;flex-wrap:wrap}.hero-actions .btn{width:auto}.event-grid,.process-list{grid-template-columns:repeat(2,1fr)}.gallery-grid{grid-template-columns:1.2fr .8fr;grid-auto-rows:minmax(250px,auto)}.gallery-item.large{grid-row:span 2}.gallery-item.wide{grid-column:1/-1}.footer-grid{grid-template-columns:1.5fr 1fr 1fr 1fr}.footer-bottom{grid-template-columns:1fr auto;align-items:center}}@media (min-width:980px){.desktop-nav{display:flex;align-items:center;gap:1.5rem}.desktop-nav a{color:var(--espresso);font-size:.76rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.desktop-nav a:hover{color:var(--red)}.header-cta{display:inline-flex}.menu-toggle{display:none}.hero-grid{grid-template-columns:.85fr 1.15fr;align-items:center;gap:clamp(3rem,6vw,6rem)}.hero-media img{aspect-ratio:5/6}.brand-statement{text-align:center}.split-grid{grid-template-columns:.92fr 1fr;align-items:center;gap:clamp(3rem,7vw,6rem)}.vehicle-showcase{grid-template-columns:1fr 380px;align-items:end;gap:0}.vehicle-showcase img{grid-column:1/2;grid-row:1}.showcase-panel{grid-column:1/3;grid-row:1;justify-self:end;max-width:430px;margin-right:1.2rem;margin-bottom:-2.2rem;box-shadow:var(--shadow-card)}.pillars-grid{grid-template-columns:.85fr 1.15fr;gap:clamp(3rem,7vw,6rem)}.sticky-copy{position:sticky;top:calc(var(--header-height) + 2rem)}.pillar-card{padding:2rem}.about-grid{grid-template-columns:.9fr 1fr;align-items:center;gap:clamp(3rem,7vw,6rem)}.process-list{grid-template-columns:repeat(4,1fr)}.faq-grid{grid-template-columns:.8fr 1.2fr;gap:5rem}.inquiry-grid{grid-template-columns:.85fr 1fr;gap:clamp(3rem,7vw,6rem);align-items:start}.inquiry-form{display:grid;grid-template-columns:repeat(2,1fr);gap:0 1rem}.form-row.full,.privacy-note,.submit-btn,.form-success{grid-column:1/-1}.final-panel{grid-template-columns:1.3fr .7fr;align-items:center}.mobile-sticky-cta{display:none!important}}@media (max-width:979px){.mobile-sticky-cta{display:flex}body.has-open-menu{overflow:hidden}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}


/* Surgical stability patch: prevent horizontal overflow while preserving the design */
html,
body {
  width: 100%;
  max-width: 100%;
  overflow-x: clip;
}

body {
  position: relative;
  min-height: 100%;
}

main,
section,
.site-header,
.site-footer {
  max-width: 100%;
  overflow-x: clip;
}

.container,
.narrow,
.header-inner,
.hero-grid,
.split-grid,
.about-grid,
.inquiry-grid,
.faq-grid,
.pillars-grid,
.event-grid,
.gallery-grid,
.vehicle-showcase,
.final-panel {
  min-width: 0;
}

.hero-copy,
.section-copy,
.section-heading,
.gallery-heading,
.inquiry-copy,
.sticky-copy,
.card-content,
.showcase-panel,
.pillar-card,
.process-step,
.inquiry-form {
  min-width: 0;
}

img,
video,
svg,
canvas {
  max-width: 100%;
}

.brand {
  min-width: 0;
}

.brand-main {
  white-space: nowrap;
  font-size: clamp(1.05rem, 5vw, 1.42rem);
}

/* Mobile menu should scroll naturally with wheel, trackpad and touch when content is taller than the viewport */
.mobile-menu {
  max-width: 100vw;
  overflow-y: auto;
  overscroll-behavior-y: contain;
  -webkit-overflow-scrolling: touch;
}

/* Avoid accidental horizontal overflow from fixed mobile CTA shadows/transforms */
.mobile-sticky-cta {
  max-width: calc(100vw - 2rem);
}

/* Fallback for browsers that do not fully support overflow: clip */
@supports not (overflow: clip) {
  html,
  body,
  main,
  section,
  .site-header,
  .site-footer {
    overflow-x: hidden;
  }
}


@media (max-width: 380px) {
  .brand-main {
    font-size: 1rem;
    letter-spacing: .025em;
  }

  .brand-sub {
    font-size: .58rem;
    letter-spacing: .14em;
  }

  .header-inner {
    gap: .5rem;
  }
}

/* Keep the menu in the viewport root. A filtered header would otherwise contain fixed descendants in WebKit. */
.mobile-menu {
  inset: var(--header-height) 0 0;
  z-index: 99;
  height: auto;
  min-height: 0;
  padding-bottom: calc(2rem + env(safe-area-inset-bottom));
  transition: transform .32s ease, visibility 0s linear .32s;
}

.mobile-menu.is-open {
  transition-delay: 0s;
}

main section[id] {
  scroll-margin-top: calc(var(--header-height) + 1rem);
}

.mobile-sticky-cta {
  bottom: max(1rem, env(safe-area-inset-bottom));
}

@media (max-width: 1119px) {
  .site-header {
    position: -webkit-sticky;
    position: sticky;
    top: 0;
    z-index: 100;
    -webkit-backdrop-filter: blur(14px);
  }

  html.has-open-menu .site-header {
    position: fixed;
    inset: 0 0 auto;
    width: 100%;
  }

  html.has-open-menu {
    overflow: hidden;
    overscroll-behavior: none;
  }

  body.has-open-menu {
    position: fixed;
    right: 0;
    left: 0;
    width: 100%;
    overflow: hidden;
    overscroll-behavior: none;
  }
}

/* The full desktop header is too crowded at the original 980px breakpoint. */
@media (min-width: 980px) and (max-width: 1119px) {
  .desktop-nav,
  .header-cta {
    display: none;
  }

  .menu-toggle {
    display: grid;
  }

  body.has-open-menu {
    overflow: hidden;
  }
}

@media (min-width: 1120px) {
  .mobile-menu {
    display: none !important;
  }
}
