/* Standalone booking: event summary beside the hosted registration form. */
.booking{max-width:84rem;margin:0 auto;padding:clamp(8rem,12vw,10.5rem) var(--gut) var(--s7);display:grid;grid-template-columns:minmax(0,9fr) minmax(0,11fr);gap:clamp(2.5rem,6vw,6rem);align-items:start}
.booking__summary h1{margin-top:var(--s3);font:400 var(--t-headline)/1.08 var(--f-heading);letter-spacing:-.01em;max-width:none}
.booking__intro{margin-top:var(--s3);font-size:var(--t-lead);color:var(--ink-2);max-width:42ch}
.booking__summary h2{margin-top:var(--s4);font:500 var(--t-body)/1.5 var(--f-text)}
.booking__benefits{list-style:none;padding:0;margin:var(--s2) 0 0;display:grid;gap:.8rem;color:var(--ink-2)}
.booking__benefits li{position:relative;padding-left:1.3rem}
.booking__benefits li::before{content:"";position:absolute;left:0;top:.65em;width:.35rem;height:.35rem;background:var(--gold)}
.booking__details{margin-top:var(--s4);padding-top:var(--s3);border-top:1px solid var(--rule)}
.booking__price{color:var(--gold-bright)}
.booking__price strong{font:400 var(--t-title)/1.2 var(--f-heading);margin-right:.3rem}
.booking__later{margin-top:.35rem;color:var(--ink-2);font-size:var(--t-datum)}
.booking__venue{margin-top:var(--s3);font-size:var(--t-datum);color:var(--ink-2)}
.booking__form{min-width:0;padding:clamp(1.25rem,3vw,2.5rem);border:1px solid var(--rule-strong);background:var(--navy-wash)}
.booking__form h2{font:400 var(--t-title)/1.2 var(--f-heading);color:var(--gold-bright)}
.booking__form>p{margin-top:var(--s2);color:var(--ink-2)}
.booking__form .hs-form-frame{margin-top:var(--s3);min-height:26rem}
.booking__form .booking__confirmation{padding-top:var(--s2);border-top:1px solid var(--rule);font-size:var(--t-label);line-height:1.6}
@media(max-width:800px){.booking{grid-template-columns:minmax(0,1fr);gap:var(--s4);padding-bottom:var(--s6)}.booking__summary h1{max-width:18ch}.booking__intro{max-width: none}}

.booking__speakers{margin-top:var(--s3);color:var(--ink-2);font-size:var(--t-datum);line-height:1.65}
.booking__speakers strong{color:var(--gold-bright);font-weight:600}

.booking__capacity{margin-top:var(--s2);color:var(--gold-bright);font-size:var(--t-datum)}
.booking__form .booking__secure{display:flex;align-items:center;gap:.5rem;font-size:var(--t-label);color:var(--gold-bright)}
.booking__secure svg{flex:none}
.booking__partner-offer{margin-top:1rem;padding:.75rem 0;border-block:1px solid var(--gold-edge);font-size:.85rem;line-height:1.5}
.booking__partner-offer strong,.booking__partner-offer b{color:var(--gold-bright)}
.booking__partner-offer p{margin-top:.3rem;color:var(--mist)}
.booking__partner-offer p:last-child{font-size:.75rem}
.booking__partner-brand{display:flex;align-items:center;gap:.8rem;margin-top:1rem}
.booking__partner-brand>span{font-size:.65rem;letter-spacing:.1em;text-transform:uppercase;color:var(--grey-400)}
.booking__partner-brand img{width:145px;height:auto;filter:grayscale(1)}
.booking-page--imgw .booking__price{text-align:right;flex-shrink:0}
.booking-page--imgw .booking__price del{display:block;font:400 .85rem/1.4 var(--f-text);color:var(--mist-dim)}
.booking-page--imgw .booking__details .booking__price strong{font-size:2.35rem}
.booking-page--imgw .booking__partner-offer{margin-top:.7rem;padding:.55rem 0;font-size:.8rem}
.booking-page--imgw .booking__partner-offer p{margin-top:.15rem}
@media(max-width:800px){
  .booking-page--imgw .booking__partner-brand{order:0;margin-top:.5rem}
  .booking-page--imgw .booking__partner-brand img{width:125px}
  .booking-page--imgw .booking__details .booking__price strong{font-size:2rem}
}

/* Local light-surface booking variant. */
.booking-page{background:var(--white);color:var(--navy)}
.booking-page .veil{display:none}
.booking-page .masthead{background:var(--navy-deep);border-bottom:1px solid var(--rule);color:var(--white);backdrop-filter:none}
.booking-page .mark{color:var(--white)}
.booking-page .booking{padding-top:7.5rem}
.booking-page .booking__summary{--ink-2:var(--ink-dark-soft);--rule:var(--rule-dark)}
.booking-page .legal__eyebrow{color:var(--ink-dark-soft)}
.booking-page .booking__summary h1{margin-top:0;color:var(--navy)}
.booking-page .booking__speakers strong,
.booking-page .booking__capacity{color:var(--navy)}
.booking-page .booking__price{color:var(--navy)}
.booking-page .booking__price strong{color:var(--navy)}
.booking-page .booking__benefits{gap:0}
.booking-page .booking__benefits li{padding-block:.8rem;border-bottom:1px solid var(--rule-dark)}
.booking-page .booking__benefits li::before{content:"✓";background:none;width:auto;height:auto;top:.8rem;color:#96772F}
.booking__included>summary{display:none}
.booking-page .booking__form{background:var(--navy-deep);color:var(--white);border:0;border-top:3px solid var(--gold)}
.booking-page .booking__form h2{color:var(--white)}
.booking-page .booking__details{background:var(--navy-deep);color:var(--white);border-top:3px solid var(--gold);padding:1.5rem}
.booking__rate{display:flex;justify-content:space-between;align-items:center;gap:1rem}
.booking__rate-title{font-size:1.4rem;font-weight:500;line-height:1.3}
.booking__rate-title span{display:inline-block;vertical-align:middle;margin-left:.35rem;padding:.2rem .45rem;background:var(--gold);color:var(--navy-deep);font-size:.65rem;letter-spacing:.08em}
.booking__rate-date{margin-top:.3rem;color:var(--mist);font-size:.85rem}
.booking-page .booking__price strong{color:var(--gold);font-size:3rem;margin:0;white-space:nowrap}
.booking-page .booking__details .booking__later{color:var(--mist);font-size:.8rem;margin-top:1rem}
.booking-page .booking__details .booking__capacity{color:var(--white);font-size:.8rem}
.booking-page .booking__details .booking__venue{color:var(--mist);padding-top:1rem;margin-top:1rem;border-top:1px solid var(--rule-strong)}
@media(min-width:801px){
  .booking-page .booking{align-items:stretch}
  .booking-page .booking__summary{display:flex;flex-direction:column}
  .booking-page .booking__details{margin-top:auto}
  .booking-page .booking__included{margin-bottom:var(--s4)}
  .booking-page .booking__form{display:flex;flex-direction:column}
  .booking-page .booking__form .booking__confirmation{margin-top:auto}
  .booking-page .booking__form .booking__secure{margin-bottom:var(--s2)}
  .booking__included:not([open])>*:not(summary){display:revert}
}
@media(max-width:800px){
  .booking-page .booking{padding:5.3rem 1rem 2rem;gap:1rem}
  .booking-page .booking__summary{display:flex;flex-direction:column}
  .booking-page .legal__eyebrow,.booking-page .booking__intro{display:none}
  .booking-page .booking__summary h1{order:0;font-size:2.25rem;margin:0}
  .booking-page .booking__details{order:1;margin:.75rem 0 0;padding:.9rem 1rem;border-top:3px solid var(--gold)}
  .booking__rate-title{font-size:1.1rem}
  .booking__rate-date{font-size:.75rem}
  .booking-page .booking__price{font-size:.85rem}
  .booking-page .booking__price strong{font-size:2.25rem}
  .booking-page .booking__details .booking__later{margin-top:.5rem;font-size:.7rem}
  .booking-page .booking__details .booking__venue{padding-top:.5rem;margin-top:.5rem;font-size:.75rem}
  .booking-page .booking__later{font-size:.75rem;margin-top:.15rem}
  .booking-page .booking__venue{margin-top:.5rem;font-size:.85rem;line-height:1.5}
  .booking-page .booking__capacity{font-size:.75rem;margin-top:.35rem}
  .booking-page .booking__included{order:2;margin-top:.75rem;border-block:1px solid var(--rule-dark)}
  .booking__included>summary{display:flex;justify-content:space-between;align-items:center;padding:.7rem 0;cursor:pointer;list-style:none;font-size:.875rem;font-weight:500}
  .booking__included>summary::-webkit-details-marker{display:none}
  .booking__included>summary::after{content:"+";font-size:1.2rem}
  .booking__included[open]>summary::after{content:"−"}
  .booking__included>summary:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
  .booking-page .booking__included .booking__speakers{margin-top:.4rem}
  .booking-page .booking__included h2{margin-top:1rem;font-size:.9rem}
  .booking-page .booking__included .booking__benefits{font-size:.875rem;margin-bottom:.7rem}
  .booking-page .booking__form{padding:0}
  .booking-page .booking__form h2,
  .booking-page .booking__form h2+p{display:none}
  .booking-page .booking__form>p{margin-top:.5rem;font-size:.85rem}
  .booking-page .booking__form .hs-form-frame{margin-top:0}
  .booking-page .booking__form .booking__secure{justify-content:center;margin:1rem;text-align:center}
  .booking-page .booking__form .booking__confirmation{margin:0 1rem;padding:1rem 0;text-align:center}
}

/* Match the homepage inclusion label and checkmarks without changing copy. */
.booking-page .booking__included h2,
.booking-page .booking__included>summary{
  align-items:center;gap:.875rem;color:var(--grey-400);
  font:600 var(--t-label-sm)/1.4 var(--f-text);
  letter-spacing:.16em;text-transform:uppercase;
}
.booking-page .booking__included h2{display:flex}
.booking-page .booking__included h2::before,
.booking-page .booking__included>summary::before{
  content:"";width:1.75rem;height:2px;background:var(--gold);flex:0 0 auto;
}
.booking-page .booking__benefits li{
  display:flex;gap:1rem;align-items:flex-start;padding:1rem 0;
  font-size:var(--t-body);line-height:1.4;color:var(--navy-deep);
}
.booking-page .booking__benefits li::before{
  content:"";position:static;flex:0 0 1.125rem;width:1.125rem;height:1.125rem;
  background:url("../img/reg-check.svg") center/contain no-repeat;
}
@media(max-width:800px){
  .booking-page .booking__included>summary{justify-content:flex-start}
  .booking-page .booking__included>summary::after{margin-left:auto}
}


/* Compact IMGW offer and partner identity beside the form heading. */
.booking-page--imgw .booking__form-heading{display:flex;flex-direction:column;align-items:flex-start;gap:1rem}
.booking-page--imgw .booking__form-heading .booking__partner-brand{margin:0;flex:none;padding:0}
.booking-page--imgw .booking__form-heading .booking__partner-brand>span{color:var(--mist)}
.booking-page--imgw .booking__form-heading .booking__partner-brand img{width:145px;display:block;filter:grayscale(1) invert(1);mix-blend-mode:screen}
.booking-page--imgw .booking__partner-offer{display:flex;flex-wrap:wrap;gap:0 .4rem;border:0;padding:0;margin-top:.65rem;font-size:.75rem;line-height:1.5}
.booking-page--imgw .booking__partner-offer span{color:var(--mist)}
.booking-page--imgw .booking__details .booking__later{margin-top:.2rem;font-size:.75rem}
.booking-page--imgw .booking__details .booking__capacity{margin-top:.4rem}
.booking-page--imgw .booking__details .booking__venue{border:0;padding-top:0;margin-top:.4rem}
@media(max-width:800px){
  .booking-page--imgw .booking__form-heading{align-items:center;padding:1rem 1rem 0}
  .booking-page--imgw .booking__form-heading .booking__partner-brand img{width:125px}
  .booking-page--imgw .booking__form-intro{display:none}
  .booking-page--imgw .booking__partner-offer{font-size:.7rem}
}

@media(min-width:801px){
  .booking-page .booking__form .hs-form-frame{margin-top:0}
}

/* Official partner logos, rendered monochrome on the booking panel. */
.booking-page--gfpi .booking__form-heading .booking__partner-brand img,
.booking-page--redbridge .booking__form-heading .booking__partner-brand img,
.booking-page--trustedadvisor .booking__form-heading .booking__partner-brand img,
.booking-page--americanclub .booking__form-heading .booking__partner-brand img,
.booking-page--amcham .booking__form-heading .booking__partner-brand img,
.booking-page--bisonbank .booking__form-heading .booking__partner-brand img,
.booking-page--spartanfx .booking__form-heading .booking__partner-brand img,
.booking-page--atlantico .booking__form-heading .booking__partner-brand img{filter:brightness(0) invert(1);mix-blend-mode:normal;width:145px;max-height:52px;object-fit:contain}
/* The BPCC logo has a small wordmark under a wide emblem, so it is shown white like the others but larger, to keep the text legible. */
.booking-page--bpcc .booking__form-heading .booking__partner-brand img{filter:brightness(0) invert(1);mix-blend-mode:normal;width:240px;max-height:80px;object-fit:contain}
@media (max-width:800px){.booking-page--bpcc .booking__form-heading .booking__partner-brand img{width:200px;max-height:67px}}
/* The PHKCCI logo is a colour emblem with white text, made for dark backgrounds, so it keeps its colours; wider than 145px so its small text stays legible. */
.booking-page--phkcci .booking__form-heading .booking__partner-brand img{filter:none;mix-blend-mode:normal;width:180px;max-height:52px;object-fit:contain}
/* The supplied GFPI artwork has generous transparent margins. */
.booking-page--gfpi .booking__form-heading .booking__partner-brand img{width:145px;height:145px;max-height:none;object-fit:contain;object-position:center;margin-block:-28px}
/* GCS clients page: the white GCS logo stands alone in place of a partner logo. */
.booking-page--gcs-clients .booking__form-heading .booking__partner-brand img{filter:none;mix-blend-mode:normal;width:145px;height:auto}
/* Its short client form is shorter than the shared 26rem (42rem on narrow
   screens) reserve, and any box taller than the form shows HubSpot's white
   iframe body below it: size the box to the height HubSpot reports, nothing more. */
.booking-page--gcs-clients .booking__form .hs-form-frame{min-height:0}
