/* Shared accessibility and polish upgrades */
.skip-link{position:fixed;left:16px;top:-80px;z-index:100000;padding:12px 16px;border-radius:10px;background:#f4cf54;color:#090909;font-weight:800;text-decoration:none;box-shadow:0 10px 30px rgba(0,0,0,.35)}
.skip-link:focus{top:16px}
:focus-visible{outline:3px solid #f4cf54;outline-offset:3px}
img{max-width:100%;height:auto}
button,a,input,select,textarea{font:inherit}
.back-to-top{display:none!important}
.back-to-top.is-visible{opacity:1;visibility:visible;transform:none}
.demo-notice{position:fixed;left:50%;bottom:16px;z-index:9980;transform:translateX(-50%);max-width:calc(100% - 32px);padding:10px 15px;border:1px solid rgba(244,207,84,.35);border-radius:999px;background:rgba(10,10,10,.92);color:#eee;font-size:.78rem;backdrop-filter:blur(12px)}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
@media(max-width:600px){.back-to-top{right:12px;bottom:12px}.demo-notice{bottom:10px;border-radius:14px;text-align:center}}

/* Professional pricing-page hero proportions */
.pricing-section{
  padding-top:clamp(76px,7vw,112px)!important;
}
.pricing-section>.pricing-heading{
  width:min(100%,780px);
  margin:0 auto clamp(42px,5vw,62px)!important;
}
.pricing-section>.pricing-heading .section-label{
  margin-bottom:14px;
  font-size:.78rem;
  letter-spacing:.18em;
}
.pricing-section>.pricing-heading h1{
  max-width:760px;
  margin:0 auto 18px!important;
  font-size:clamp(2.35rem,4.7vw,4.2rem)!important;
  line-height:1.08!important;
  text-wrap:balance;
}
.pricing-section>.pricing-heading .pricing-intro{
  max-width:660px;
  font-size:clamp(1rem,1.35vw,1.1rem);
  line-height:1.65;
}
html[lang="es"] .pricing-section>.pricing-heading{
  width:min(100%,820px);
}
html[lang="es"] .pricing-section>.pricing-heading h1{
  max-width:800px;
  font-size:clamp(2.2rem,4.25vw,3.8rem)!important;
}
@media(max-width:650px){
  .pricing-section{padding-top:58px!important}
  .pricing-section>.pricing-heading{margin-bottom:36px!important}
  .pricing-section>.pricing-heading h1{font-size:clamp(2rem,10vw,2.75rem)!important}
  html[lang="es"] .pricing-section>.pricing-heading h1{font-size:clamp(1.85rem,9.2vw,2.55rem)!important}
  .pricing-section>.pricing-heading .pricing-intro{font-size:1rem;line-height:1.55}
}

/* 2026 professional BAM brand refresh */
:root{
  --bam-black:#0b0b0a;
  --bam-charcoal:#171612;
  --bam-gold:#d8a928;
  --bam-gold-light:#f0c75e;
  --bam-ivory:#f7f4ec;
  --bam-muted:#aaa79f;
  --nav-gold:var(--bam-gold);
  --nav-gold-light:var(--bam-gold-light);
  --nav-black:var(--bam-black);
  --nav-panel:var(--bam-charcoal);
}
body{background:var(--bam-black);color:var(--bam-ivory)}
.site-header{background:rgba(11,11,10,.97);border-bottom-color:rgba(216,169,40,.28)}
.header-container{max-width:1500px;gap:18px}
.site-brand{flex:0 0 auto}
.site-brand .brand-text,
.mobile-menu-brand .brand-text,
.mobile-menu-brand>span{
  display:inline-flex;
  flex-direction:row;
  align-items:baseline;
  gap:10px;
  white-space:nowrap;
  line-height:1;
}
.site-brand .brand-text strong,
.mobile-menu-brand .brand-text strong{
  overflow:visible;
  font-family:Georgia,"Times New Roman",serif;
  font-size:1.18rem;
  letter-spacing:.045em;
  white-space:nowrap;
}
.site-brand .brand-text small,
.mobile-menu-brand .brand-text small{
  overflow:visible;
  margin:0;
  font-size:.54rem;
  letter-spacing:.16em;
  white-space:nowrap;
}
.site-header-logo{display:block;width:160px;max-width:18vw;height:54px;object-fit:contain;object-position:left center}
.mobile-header-logo{display:block;width:180px;max-width:68vw;height:58px;object-fit:contain;object-position:left center}
.desktop-navigation{gap:clamp(10px,1vw,20px)}
.desktop-navigation a{font-size:clamp(.62rem,.67vw,.74rem);letter-spacing:.055em}
.desktop-language{margin-left:10px;padding-left:12px;border-left:1px solid rgba(216,169,40,.28)}
.menu-toggle,.mobile-menu-close{color:var(--bam-gold-light)}
.mobile-menu{background:linear-gradient(180deg,#10100e,#090909)}
.mobile-navigation a{min-height:70px;border-bottom:1px solid rgba(247,244,236,.1)}
.mobile-navigation .mobile-link-icon{
  width:44px!important;height:44px!important;flex:0 0 44px!important;
  display:inline-grid!important;place-items:center!important;border-radius:12px!important;
  color:var(--bam-gold-light)!important;background:rgba(216,169,40,.08)!important;
  border:1px solid rgba(216,169,40,.35)!important;
}
.mobile-navigation .mobile-link-icon svg{width:22px!important;height:22px!important;fill:none!important;stroke:currentColor!important;stroke-width:1.8!important;stroke-linecap:round!important;stroke-linejoin:round!important}
.mobile-navigation a:hover .mobile-link-icon,.mobile-navigation a:focus-visible .mobile-link-icon,.mobile-navigation a.active .mobile-link-icon{background:rgba(216,169,40,.18)!important;border-color:var(--bam-gold)!important;color:var(--bam-gold-light)!important}
.home-icon,.contact-detail-icon{
  width:48px!important;height:48px!important;flex:0 0 48px!important;
  display:inline-grid!important;place-items:center!important;border-radius:12px!important;
  color:var(--bam-gold-light)!important;background:rgba(216,169,40,.08)!important;
  border:1px solid rgba(216,169,40,.35)!important;box-shadow:none!important;
}
.home-icon svg,.contact-detail-icon svg{
  width:22px!important;height:22px!important;fill:none!important;stroke:currentColor!important;
  stroke-width:1.8!important;stroke-linecap:round!important;stroke-linejoin:round!important;
}
.home-card:hover .home-icon,.contact-detail-item:hover .contact-detail-icon{
  color:var(--bam-gold-light)!important;background:rgba(216,169,40,.16)!important;
  border-color:var(--bam-gold)!important;
}
.project-status-label{display:inline-flex;width:max-content;margin:0 0 12px;padding:6px 10px;border:1px solid rgba(216,169,40,.4);border-radius:999px;background:rgba(216,169,40,.1);color:var(--bam-gold-light);font-size:.7rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.template-plan-showcase{margin:clamp(54px,7vw,86px) 0;padding:clamp(30px,5vw,54px);border:1px solid rgba(216,169,40,.28);border-radius:24px;background:linear-gradient(145deg,#11110f,#191711);text-align:center}
.template-plan-heading{max-width:760px;margin:0 auto 30px}.template-plan-heading h2{margin:8px 0 12px;font-size:clamp(2rem,4vw,3.1rem);line-height:1.08}.template-plan-heading>p:last-child{color:var(--bam-muted);line-height:1.7}
.template-plan-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;text-align:left}.template-plan-grid article{padding:24px;border:1px solid rgba(216,169,40,.2);border-radius:16px;background:#0d0d0c}.template-plan-grid article.featured{border-color:rgba(216,169,40,.7);box-shadow:0 12px 34px rgba(0,0,0,.22)}.template-plan-grid article>span{display:block;min-height:34px;color:var(--bam-gold-light);font-size:.76rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.template-plan-grid strong{display:block;margin:8px 0;font-size:2rem}.template-plan-grid strong small{font-size:.8rem;color:var(--bam-muted)}.template-plan-grid article p{margin:0;color:var(--bam-muted);line-height:1.6}.template-plan-button{display:inline-flex;align-items:center;justify-content:center;min-height:50px;margin-top:26px;padding:13px 22px;border-radius:10px;background:var(--bam-gold);color:var(--bam-black);font-weight:900;text-decoration:none}
.founder-preview{padding:clamp(44px,6vw,76px) clamp(20px,5vw,72px);background:#171612;border-block:1px solid rgba(216,169,40,.2)}
.founder-preview-inner{width:min(1040px,100%);margin:auto;display:grid;grid-template-columns:180px 1fr;gap:34px;align-items:center}
.founder-preview img{width:180px;height:180px;object-fit:cover;object-position:center 24%;border-radius:22px;border:1px solid rgba(216,169,40,.35)}
.founder-preview-kicker{margin:0 0 8px!important;color:var(--bam-gold-light)!important;font-size:.74rem!important;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.founder-preview h2{margin:0 0 10px;font-size:clamp(1.7rem,3.5vw,2.6rem)}
.founder-preview p{max-width:680px;color:var(--bam-muted);line-height:1.7}
.founder-preview a{display:inline-flex;margin-top:8px;color:var(--bam-gold-light);font-weight:800;text-decoration:none}
.payment-plan-note{width:min(100%,900px)!important;margin:36px auto 64px!important;padding:24px 28px!important;display:grid!important;grid-template-columns:1fr auto!important;column-gap:28px!important;align-items:center!important;border:1px solid rgba(216,169,40,.32)!important;border-radius:18px!important;background:var(--bam-charcoal)!important;text-align:left!important}
.payment-plan-note strong,.payment-plan-note p{grid-column:1;margin:0!important}
.payment-plan-note p{margin-top:6px!important;color:var(--bam-muted)!important}
.payment-plan-note .price-button{grid-column:2;grid-row:1/3;width:auto!important;min-width:230px;margin:0!important;padding:14px 20px!important}
/* Keep booking available without crowding the main navigation. */
.desktop-navigation a[data-page="booking"]{display:none!important}
.floating-booking-button{
  position:fixed!important;top:auto!important;right:auto!important;left:max(18px,env(safe-area-inset-left))!important;bottom:max(18px,env(safe-area-inset-bottom))!important;
  z-index:9970!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;
  min-width:150px!important;min-height:50px!important;padding:12px 20px!important;border:1px solid rgba(244,207,84,.72)!important;
  border-radius:999px!important;background:linear-gradient(135deg,#f4cf54,#d8a928)!important;color:#090909!important;
  box-shadow:0 12px 32px rgba(0,0,0,.42),0 0 22px rgba(216,169,40,.18)!important;font-size:.76rem!important;
  font-weight:900!important;letter-spacing:.09em!important;text-decoration:none!important;text-transform:uppercase!important;
}
.floating-booking-button::after{display:none!important}
.floating-booking-button:hover{transform:translateY(-2px)!important;box-shadow:0 16px 38px rgba(0,0,0,.48),0 0 28px rgba(216,169,40,.3)!important}
html body .desktop-navigation a::after{left:0!important;right:0!important;bottom:20px!important;width:0!important;height:2px!important;margin:auto!important;transform:none!important}
html body .desktop-navigation a:hover::after,html body .desktop-navigation a.active::after,html body .desktop-navigation a[aria-current="page"]::after{width:100%!important}
@media(max-width:1280px){.desktop-navigation,.desktop-language{display:none!important}.menu-toggle{display:flex!important;margin-left:auto}.site-header-logo{width:164px!important;max-width:50vw!important;height:54px!important;object-position:left center!important}.floating-booking-button{display:none!important}}
@media(max-width:650px){
  :root{--header-height:74px}
  .header-container{position:relative;justify-content:center;padding-inline:64px!important}
  .site-brand{position:absolute;left:50%;transform:translateX(-50%);max-width:calc(100% - 132px)}
  .site-brand .brand-text{justify-content:center;text-align:center}
  .site-brand .brand-text strong{font-size:1.04rem}
  .site-brand .brand-text small{font-size:.46rem;letter-spacing:.12em}
  .site-header-logo{width:156px!important;max-width:100%!important;height:50px!important;object-position:center!important}
  .menu-toggle{position:absolute;right:18px;margin:0!important}
  .payment-plan-note{grid-template-columns:1fr!important;text-align:center!important;padding:22px 18px!important}
  .payment-plan-note .price-button{grid-column:1!important;grid-row:auto!important;min-width:0;width:100%!important;margin-top:18px!important}
  .founder-preview-inner{grid-template-columns:1fr;text-align:center}.founder-preview img{margin:auto;width:150px;height:150px}.founder-preview p{margin-inline:auto}
  .template-plan-grid{grid-template-columns:1fr}.template-plan-showcase{padding:26px 18px}.template-plan-button{width:100%}
}

/* Keep the English and Spanish homepage background logo identical */
.hero{
  position:relative!important;
  display:grid!important;
  place-items:center!important;
  overflow:hidden!important;
  isolation:isolate!important;
  text-align:center!important;
}
.hero>.hero-logo-bg{
  position:absolute!important;
  top:50%!important;
  left:50%!important;
  right:auto!important;
  bottom:auto!important;
  inset:auto!important;
  width:min(72vw,680px)!important;
  max-width:none!important;
  height:auto!important;
  max-height:none!important;
  margin:0!important;
  transform:translate(-50%,-50%)!important;
  translate:none!important;
  object-fit:contain!important;
  object-position:center!important;
  opacity:.18!important;
  z-index:0!important;
  mix-blend-mode:normal!important;
  filter:none!important;
  pointer-events:none!important;
  user-select:none!important;
  animation:none!important;
  transition:none!important;
}
.hero>.hero-content{
  position:relative!important;
  z-index:2!important;
  width:min(900px,100%)!important;
  margin:0 auto!important;
  text-align:center!important;
}
.hero .hero-buttons,.hero .hero-trust{justify-content:center!important}
@media(max-width:650px){
  .hero>.hero-logo-bg{width:min(96vw,480px)!important;opacity:.14!important}
}

/* Booking is a mobile-menu CTA beneath Get a Free Quote, not a desktop nav item. */
.desktop-navigation a[data-page="booking"]{display:none!important}
