/* Shared header + footer + smooth scroll. Same markup and styles on every page. */
:root{--bp-red:#e51c2c;--bp-red-hover:#ff3041;--bp-bg:#101211;--bp-ink:#f5f3eb;--bp-muted:#a9aca3;--bp-line:rgba(245,243,235,.14);--bp-header-h:76px;--bp-gutter:clamp(20px,5vw,72px);--bp-display:"Manrope","Helvetica Neue",Helvetica,Arial,sans-serif;--bp-body:"Manrope","Helvetica Neue",Helvetica,Arial,sans-serif}
@media(max-width:700px){:root{--bp-header-h:66px}}

/* lenis */
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
.lenis.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain}
.lenis.lenis-stopped{overflow:hidden}
.lenis.lenis-smooth iframe{pointer-events:auto}

/* header */
.bp-header{position:fixed;z-index:100;top:0;left:0;width:100%;height:var(--bp-header-h);background:rgba(16,18,17,.98);border-bottom:1px solid var(--bp-line);font-family:var(--bp-body)}
.bp-header-inner{height:100%;max-width:1440px;margin:0 auto;padding:0 var(--bp-gutter);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px}
.bp-brand{display:flex;align-items:center;justify-self:start}
.bp-brand img{display:block;height:48px;width:auto}
.bp-nav{display:flex;align-items:center;justify-content:center;gap:clamp(14px,1.9vw,30px)}
.bp-nav a{position:relative;padding:8px 0;font-size:14px;font-weight:600;color:#d8d9d2;white-space:nowrap;transition:color .25s}
.bp-nav a::after{content:"";position:absolute;left:0;right:0;bottom:2px;height:2px;background:var(--bp-red);transform:scaleX(0);transform-origin:left;transition:transform .3s cubic-bezier(.22,1,.36,1)}
.bp-nav a:hover,.bp-nav a[aria-current=page]{color:#fff}
.bp-nav a:hover::after,.bp-nav a[aria-current=page]::after{transform:scaleX(1)}
.bp-cta{justify-self:end;display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 22px;background:var(--bp-red);color:#fff;font:700 14px/1 var(--bp-body);border-radius:14px;transition:background .25s,transform .25s}
.bp-cta:hover{background:var(--bp-red-hover);transform:translateY(-2px)}
.bp-menu{display:none;justify-self:end;width:44px;height:44px;border:1px solid rgba(255,255,255,.28);background:transparent;border-radius:14px;cursor:pointer;padding:0;align-items:center;justify-content:center;flex-direction:column;gap:5px}
.bp-menu span{display:block;width:20px;height:2px;background:#f5f3eb;transition:transform .3s,opacity .2s}
.bp-menu[aria-expanded=true] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.bp-menu[aria-expanded=true] span:nth-child(2){opacity:0}
.bp-menu[aria-expanded=true] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.bp-mobile{display:none}
@media(max-width:1200px){
  .bp-header-inner{grid-template-columns:1fr auto auto}
  .bp-nav{display:none}
  .bp-menu{display:flex}
  .bp-mobile.is-open{display:flex;flex-direction:column;position:absolute;top:100%;left:0;right:0;max-height:calc(100dvh - var(--bp-header-h));overflow-y:auto;padding:8px var(--bp-gutter) 24px;background:#101211;border-bottom:1px solid var(--bp-line);box-shadow:0 18px 30px rgba(0,0,0,.45)}
  .bp-mobile a{display:flex;align-items:center;justify-content:space-between;min-height:54px;font-size:18px;font-weight:600;color:#e8e9e2;border-bottom:1px solid rgba(255,255,255,.08)}
  .bp-mobile a[aria-current=page]{color:var(--bp-red-hover)}
}
@media(max-width:520px){.bp-cta{display:none}.bp-header-inner{grid-template-columns:1fr auto}}

/* homepage sits under the fixed header */
.experience-shell{padding-top:var(--bp-header-h)}
html{scroll-padding-top:var(--bp-header-h)}

/* footer */
.bp-footer{background:#0d0f0e;border-top:1px solid var(--bp-line);color:var(--bp-muted);font-family:var(--bp-body);font-size:15px;line-height:1.55}
.bp-footer-inner{max-width:1440px;margin:0 auto;padding:64px var(--bp-gutter) 28px}
.bp-footer-top{display:flex;align-items:center;justify-content:space-between;gap:28px;flex-wrap:wrap;padding-bottom:12px}
.bp-footer-brand{display:flex;align-items:center;gap:24px}
.bp-footer-brand img{display:block;height:96px;width:auto}
.bp-footer-brand p{margin:0;max-width:300px;font:700 28px/1.1 var(--bp-display);color:var(--bp-ink)}
.bp-footer-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:40px;padding:32px 0 24px}
.bp-footer-col{display:flex;flex-direction:column;align-items:flex-start;gap:10px}
.bp-footer-col h4{margin:0 0 6px;font:700 17px/1.2 var(--bp-display);color:var(--bp-ink)}
.bp-footer-col a{color:#cfd1c8;transition:color .25s}
.bp-footer-col a:hover{color:var(--bp-red-hover)}
.bp-footer-col .bp-phone{font-size:20px;font-weight:700;color:var(--bp-ink)}
.bp-social{display:flex;gap:12px}
.bp-social a{display:grid;place-items:center;width:44px;height:44px;border:1px solid rgba(255,255,255,.28);border-radius:14px;color:var(--bp-ink);transition:background .3s,border-color .3s,transform .3s}
.bp-social a:hover{background:var(--bp-red);border-color:var(--bp-red);color:#fff;transform:translateY(-2px)}
.bp-footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-top:8px;font-size:14px;color:#8c9085}
.bp-footer-bottom a{color:#cfd1c8}
.bp-footer-bottom a:hover{color:var(--bp-red-hover)}
@media(max-width:900px){.bp-footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.bp-footer-grid{grid-template-columns:1fr;gap:28px}.bp-footer-brand{flex-direction:column;align-items:flex-start}}
.bp-red{color:var(--bp-red)}
.bp-mobile-cta{color:var(--bp-red-hover)!important}
@media(min-width:521px){.bp-mobile-cta{display:none!important}}

.bp-cta{background:#e51c2c;color:#fff}
.bp-cta:hover{background:#ff3041;color:#fff}
.bp-footer-bottom,.bp-footer-top{border:0}
.bp-menu{background:#e51c2c;border-color:#e51c2c}
.bp-menu span{background:#fff}


/* Manrope in header + footer */
.bp-header,.bp-footer,.bp-nav a,.bp-mobile a,.bp-footer a{font-family:var(--bp-body)}
.bp-nav a{font-weight:600;letter-spacing:0}
.bp-footer h4,.bp-footer h3{font-family:var(--bp-display);font-weight:700;letter-spacing:0}


/* ================= Manrope: header + footer sizing ================= */
.bp-nav{gap:clamp(12px,1.5vw,26px)}
.bp-nav a{font-size:13.5px}
.bp-footer h4{font-size:16px}
.bp-footer-brand p{font-size:23px;line-height:1.2}
.bp-footer-col .bp-phone{font-size:19px}

/* ================= Forms: curved card, curved fields, small submit (every page) ================= */
.form-card,.booking-form{border-radius:24px;box-shadow:none;border-color:rgba(255,255,255,.14)}
.form-card{padding:clamp(22px,3.2vw,36px)}
.field input,.field textarea,.field select,
.booking-form input,.booking-form textarea,.booking-form select{border-radius:14px}
.form-submit,.booking-form .form-submit{
  width:auto;min-width:150px;min-height:48px;margin-top:20px;padding:0 24px;
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  border-radius:14px;font-size:15px;font-weight:700;letter-spacing:0}
.field.full .form-submit{margin-top:6px}
@media(hover:hover){.form-submit:hover{transform:translateY(-2px)}}
.form-submit:active{transform:scale(.97)}

/* ================= Footer credit (small, last line, no divider) ================= */
.bp-credit{margin-top:14px;text-align:center;font-size:12px;line-height:1.4;color:#80847a;letter-spacing:.01em}
.bp-credit a{color:#b4b7ad;font-weight:600;transition:color .25s}
@media(hover:hover){.bp-credit a:hover{color:var(--bp-red-hover)}}
.booking-form .form-footnote:empty{display:none}
.bp-book-online{font-weight:700}
.bp-cta{white-space:nowrap}
