/* Page-only extension: the approved BCEM font, marks and palette stay in the theme. */
:where(.bcem-party,.bcem-about){color:var(--ink,#123153);font-family:'DM Sans',sans-serif;line-height:1.6;isolation:isolate}
:where(.bcem-party,.bcem-about) h1{font-size:clamp(48px,6.1vw,88px);line-height:1.02;letter-spacing:-.035em;text-wrap:balance;max-width:15ch}
:where(.bcem-party,.bcem-about) h2{font-size:clamp(34px,3.7vw,54px);line-height:1.08;letter-spacing:-.035em;text-wrap:balance}
:where(.bcem-party,.bcem-about) h3{font-size:clamp(23px,2.1vw,29px);line-height:1.15;letter-spacing:-.025em;text-wrap:balance}
:where(.bcem-party,.bcem-about) p{max-width:70ch}
:where(.bcem-party,.bcem-about) p+p{margin-top:18px}
:where(.bcem-party,.bcem-about) .cj-lead{font-size:clamp(19px,1.8vw,24px);line-height:1.5;max-width:37ch}
:where(.bcem-party,.bcem-about) .cj-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px 26px;margin-top:28px}
:where(.bcem-party,.bcem-about) figcaption{font-size:13px;line-height:1.5;color:var(--muted,#425c76);padding-top:12px;max-width:65ch}
:where(.bcem-party,.bcem-about) a:not(.button){text-underline-offset:5px}
:where(.bcem-party,.bcem-about) :is(a,button,summary,input,textarea):focus-visible{outline:3px solid var(--blue,#0754ae);outline-offset:5px}
:where(.bcem-party,.bcem-about) ::selection{color:#fff;background:var(--blue,#0754ae)}
:where(.bcem-party,.bcem-about) [id]{scroll-margin-top:160px}
:where(.bcem-party,.bcem-about) .cj-section-heading{display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:40px;margin-bottom:34px}
:where(.bcem-party,.bcem-about) .cj-section-heading>p{max-width:46ch;color:var(--muted,#425c76)}
.bcem-party .cj-intro{display:grid;grid-template-columns:1fr 1.08fr;align-items:center;gap:clamp(36px,6vw,84px);padding-block:64px 82px}
.bcem-party .cj-intro-copy>.cj-lead{margin-top:25px}
.bcem-party .cj-intro-photo img{width:100%;height:460px;object-fit:cover;object-position:55% 75%;border-radius:12px}
.bcem-party .cj-discovery{padding-bottom:84px}
.bcem-party .cj-occasion-list{border-top:1px solid var(--line,#d8e4f0)}
.bcem-party .cj-occasion-list details{border-bottom:1px solid var(--line,#d8e4f0)}
.bcem-party .cj-occasion-list summary{display:flex;align-items:center;justify-content:space-between;gap:24px;cursor:pointer;padding:25px 3px;list-style:none}
.bcem-party .cj-occasion-list summary::-webkit-details-marker{display:none}
.bcem-party .cj-occasion-list summary::marker{content:''}
.bcem-party .cj-occasion-list summary>span{display:flex;align-items:baseline;gap:30px;flex-wrap:wrap}
.bcem-party .cj-occasion-list summary strong{font-size:clamp(23px,2.4vw,33px);font-weight:750;line-height:1.2;color:var(--blue,#0754ae);letter-spacing:-.025em}
.bcem-party .cj-occasion-list summary>span>span{font-size:15px;color:var(--muted,#425c76)}
.bcem-party .cj-occasion-list summary:hover strong{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:6px}
.bcem-party .cj-occasion-list summary>svg{color:var(--blue,#0754ae);transition:transform 220ms cubic-bezier(.22,1,.36,1)}
.bcem-party .cj-occasion-list details[open] summary>svg{transform:rotate(45deg)}
.bcem-party .cj-occasion-body{display:grid;grid-template-columns:1.25fr 1fr;gap:clamp(30px,5vw,72px);align-items:start;padding:8px 0 38px}
.bcem-party .cj-occasion-body h3{margin-bottom:18px}
.bcem-party .cj-occasion-body>img{width:100%;height:320px;object-fit:cover;object-position:center 65%;border-radius:12px}
.bcem-party .cj-occasion-list details[open] .cj-occasion-body{animation:cj-occasion-open 260ms cubic-bezier(.22,1,.36,1)}
.bcem-party .cj-link-list{display:flex;flex-wrap:wrap;gap:5px 24px;margin-top:20px}
.bcem-party .cj-link-list a{min-height:44px;display:inline-flex;align-items:center;color:var(--blue,#0754ae);font-size:15px;font-weight:650;text-decoration:underline}
.bcem-party .cj-link-list a:hover{color:var(--ink,#123153)}
.bcem-party .cj-discovery-more{margin-top:28px;font-size:16px;color:var(--muted,#425c76)}
.bcem-party .cj-discovery-more a{color:var(--blue,#0754ae);text-decoration:underline}
.bcem-party .cj-worksheet-band{background:var(--pale,#f0f6fc);padding-block:70px 76px}
.bcem-party .cj-worksheet-band .cj-section-heading{grid-template-columns:1.3fr 1fr;gap:36px;align-items:start;margin-bottom:35px}
.bcem-party .cj-worksheet-band .cj-section-heading p{max-width:64ch;margin-top:20px;font-size:16px}
.bcem-party .cj-worksheet-tools{display:flex;align-items:center;justify-content:flex-end;gap:18px;flex-wrap:wrap}
.bcem-party .cj-clear{background:none;border:0;padding:8px 0;min-height:44px;color:var(--blue,#0754ae);text-decoration:underline;font-size:14px;font-weight:600}
.bcem-party .cj-party-basics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.bcem-party .cj-field{min-width:0}
.bcem-party .cj-field label{display:block;color:var(--ink,#123153);font-size:15px;font-weight:650;margin-bottom:8px}
.bcem-party .cj-field input,.bcem-party .cj-field textarea{width:100%;min-width:0;min-height:50px;border:1px solid #9cb5cf;border-radius:6px;padding:12px 13px;background:#fff;color:var(--ink,#123153);font-size:16px;line-height:1.5;caret-color:var(--blue,#0754ae)}
.bcem-party .cj-field textarea{resize:vertical;overflow-y:auto;max-width:100%}
.bcem-party .cj-field input::placeholder,.bcem-party .cj-field textarea::placeholder{color:var(--muted,#425c76);opacity:1}
.bcem-party .cj-field :is(input,textarea):focus-visible{outline-offset:3px}
.bcem-party .cj-checklist-heading{display:flex;align-items:baseline;justify-content:space-between;gap:24px;margin-block:52px 26px}
.bcem-party .cj-checklist-heading p{font-size:14px;color:var(--muted,#425c76);font-variant-numeric:tabular-nums}
.bcem-party .cj-checklist{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 64px}
.bcem-party .cj-checklist fieldset{padding:0 0 24px;margin:0;min-width:0;border:0;border-bottom:1px solid #bed0e3}
.bcem-party .cj-checklist legend{font-size:20px;font-weight:750;line-height:1.3;letter-spacing:-.015em;color:var(--blue,#0754ae);padding:0;margin-bottom:13px}
.bcem-party .cj-checklist label{display:flex;align-items:start;gap:12px;font-size:16px;line-height:1.5;min-height:44px;padding-block:8px;cursor:pointer}
.bcem-party .cj-checklist input{accent-color:var(--blue,#0754ae);width:18px;height:18px;flex:0 0 18px;margin:3px 0 0;cursor:pointer}
.bcem-party .cj-notes{margin-top:30px}
.bcem-party .cj-worksheet-status{font-size:14px;min-height:24px;margin-top:14px;color:var(--muted,#425c76)}
.bcem-party .cj-print-value{display:none}
:where(.bcem-party,.bcem-about) .cj-next{display:grid;grid-template-columns:1.25fr 1fr;gap:70px;align-items:center;padding-block:78px 90px}
:where(.bcem-party,.bcem-about) .cj-next h2{margin-bottom:22px}
:where(.bcem-party,.bcem-about) .cj-next .small{margin-top:18px;max-width:64ch}
:where(.bcem-party,.bcem-about) .cj-next-actions{display:flex;flex-direction:column;align-items:flex-start;gap:18px}
:where(.bcem-party,.bcem-about) .cj-phone{color:var(--blue,#0754ae);font-size:23px;font-weight:650;min-height:44px;display:inline-flex;align-items:center}
.bcem-about .cj-about-intro{display:grid;grid-template-columns:1.06fr 1fr;gap:clamp(40px,7vw,100px);padding-block:70px 55px;align-items:start}
.bcem-about .cj-about-intro h1{font-size:clamp(46px,5.7vw,80px);max-width:15ch}
.bcem-about .cj-about-lead>.cj-lead{max-width:37ch}
.bcem-about .cj-about-lead>p+p{margin-top:22px}
.bcem-about .cj-about-lead .text-link{margin-top:22px}
.bcem-about .cj-about-panorama img{width:100%;aspect-ratio:2560/1018;object-fit:cover;border-radius:12px}
.bcem-about .cj-about-story{display:grid;grid-template-columns:.86fr 1fr;gap:clamp(40px,8vw,112px);padding-block:80px 90px}
.bcem-about .cj-about-story h2{max-width:15ch}
.bcem-about .cj-about-occasions{background:var(--blue,#0754ae);color:#fff;padding-block:70px 78px}
.bcem-about .cj-about-occasions h2{color:#fff;max-width:18ch}
.bcem-about .cj-about-occasions .cj-section-heading>p{color:#e5efff}
.bcem-about .cj-about-occasions :focus-visible{outline-color:#fff}
.bcem-about .cj-about-occasions ::selection{background:#fff;color:var(--blue,#0754ae)}
.bcem-about .cj-about-event-list{border-top:1px solid #ffffff5c}
.bcem-about .cj-about-event-list a{display:grid;grid-template-columns:1fr 1.25fr 24px;align-items:center;gap:40px;padding-block:25px;border-bottom:1px solid #ffffff5c;min-height:96px}
.bcem-about .cj-about-event-list strong{font-size:clamp(23px,2.4vw,31px);line-height:1.2;letter-spacing:-.025em;font-weight:750}
.bcem-about .cj-about-event-list span{font-size:16px;color:#e5efff;max-width:52ch}
.bcem-about .cj-about-event-list a:hover strong{text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:1px}
.bcem-about .cj-about-event-list a>svg{transition:transform 180ms cubic-bezier(.22,1,.36,1)}
.bcem-about .cj-about-event-list a:hover>svg{transform:translateX(4px)}
.bcem-about .cj-about-planning{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,6vw,84px);padding-block:90px;align-items:start}
.bcem-about .cj-about-planning figure{padding-top:5px}
.bcem-about .cj-about-planning img{width:100%;height:460px;object-fit:cover;object-position:50% 75%;border-radius:12px}
.bcem-about .cj-about-planning h2{margin-bottom:24px}
.bcem-about .cj-about-planning .text-link{margin-top:22px}
.bcem-about .cj-about-look{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(40px,8vw,112px);padding-block:0 78px;align-items:center;border-bottom:1px solid var(--line,#d8e4f0)}
.bcem-about .cj-about-look h2{margin-bottom:22px}
.bcem-about .cj-about-look img{width:100%;height:370px;object-fit:cover;object-position:center 60%;border-radius:12px}
@keyframes cj-occasion-open{from{clip-path:inset(0 0 12% 0)}to{clip-path:inset(0)}}
@media(max-width:1000px){
  .bcem-party .cj-intro{gap:32px;padding-block:48px 64px}
  .bcem-party .cj-intro-photo img{height:420px}
  .bcem-party .cj-occasion-list summary>span{gap:5px;flex-direction:column}
  .bcem-party .cj-party-basics{grid-template-columns:repeat(2,minmax(0,1fr))}
  .bcem-party .cj-checklist{column-gap:30px}
  :where(.bcem-party,.bcem-about) .cj-next{gap:40px}
  .bcem-about .cj-about-intro{gap:40px}
  .bcem-about .cj-about-story{gap:45px}
  .bcem-about .cj-about-event-list a{gap:25px;grid-template-columns:1fr 1.1fr 24px}
}
@media(max-width:700px){
  :where(.bcem-party,.bcem-about) h1{font-size:clamp(46px,11.7vw,66px);max-width:16ch}
  :where(.bcem-party,.bcem-about) [id]{scroll-margin-top:125px}
  :where(.bcem-party,.bcem-about) .cj-section-heading{grid-template-columns:1fr;gap:20px;margin-bottom:28px}
  .bcem-party .cj-intro{grid-template-columns:1fr;gap:32px;padding-block:36px 54px}
  .bcem-party .cj-intro-photo img{height:330px}
  .bcem-party .cj-intro-copy>.cj-lead{margin-top:22px}
  .bcem-party .cj-discovery{padding-bottom:54px}
  .bcem-party .cj-occasion-list summary{padding-block:22px}
  .bcem-party .cj-occasion-list summary>span>span{font-size:14px;line-height:1.5}
  .bcem-party .cj-occasion-body{grid-template-columns:1fr;gap:24px;padding-bottom:28px}
  .bcem-party .cj-occasion-body>img{height:260px;max-width:100%}
  .bcem-party .cj-link-list{gap:4px 22px;margin-top:16px}
  .bcem-party .cj-worksheet-band{padding-block:48px}
  .bcem-party .cj-worksheet-band .cj-section-heading{grid-template-columns:1fr;gap:22px}
  .bcem-party .cj-worksheet-tools{justify-content:flex-start;gap:12px 22px}
  .bcem-party .cj-checklist-heading{display:block;margin-top:40px}
  .bcem-party .cj-checklist-heading p{margin-top:12px}
  .bcem-party .cj-checklist{grid-template-columns:1fr;gap:26px}
  .bcem-party .cj-checklist legend{font-size:21px}
  :where(.bcem-party,.bcem-about) .cj-next{grid-template-columns:1fr;gap:28px;padding-block:52px 64px}
  :where(.bcem-party,.bcem-about) .cj-next-actions{gap:14px}
  .bcem-about .cj-about-intro{grid-template-columns:1fr;gap:28px;padding-block:38px 34px}
  .bcem-about .cj-about-intro h1{font-size:clamp(45px,11.3vw,64px)}
  .bcem-about .cj-about-panorama img{aspect-ratio:1.32;object-position:51% center}
  .bcem-about .cj-about-story{grid-template-columns:1fr;gap:26px;padding-block:52px 58px}
  .bcem-about .cj-about-story h2{max-width:20ch}
  .bcem-about .cj-about-occasions{padding-block:48px 54px}
  .bcem-about .cj-about-event-list a{grid-template-columns:1fr 24px;gap:12px 18px;padding-block:24px}
  .bcem-about .cj-about-event-list span{grid-column:1;grid-row:2}
  .bcem-about .cj-about-event-list svg{grid-column:2;grid-row:1}
  .bcem-about .cj-about-planning{grid-template-columns:1fr;gap:30px;padding-block:54px}
  .bcem-about .cj-about-planning figure{order:2;padding:0}
  .bcem-about .cj-about-planning img{height:300px}
  .bcem-about .cj-about-look{grid-template-columns:1fr;gap:30px;padding-bottom:54px}
  .bcem-about .cj-about-look img{height:330px}
}
@media(max-width:440px){
  .bcem-party .cj-party-basics{grid-template-columns:1fr;gap:20px}
  :where(.bcem-party,.bcem-about) .cj-actions{align-items:flex-start;flex-direction:column;gap:10px}
  .bcem-party .cj-intro-photo img{height:290px}
}
@media(prefers-reduced-motion:reduce){
  .bcem-party .cj-occasion-list details[open] .cj-occasion-body{animation:none}
  .bcem-party .cj-occasion-list summary>svg,.bcem-about .cj-about-event-list a>svg{transition:none}
}
@media print{
  body:has(.bcem-party) :is(header,footer,.review-strip,.skip,.privacy-controls,.cookie-banner,.bcem-cookie-panel){display:none!important}
  .bcem-party{font-size:10pt;line-height:1.35;color:#111;background:#fff}
  .bcem-party>.cj-intro,.bcem-party>.cj-discovery,.bcem-party>.cj-next{display:none!important}
  .bcem-party .cj-worksheet-band{background:#fff;padding:0}
  .bcem-party .wrap{width:100%;max-width:none}
  .bcem-party .cj-worksheet-band .cj-section-heading{display:block;margin-bottom:18pt}
  .bcem-party .cj-worksheet-band .cj-section-heading h2{font-size:25pt;color:#111;margin:0 0 8pt}
  .bcem-party .cj-worksheet-band .cj-section-heading p{font-size:9pt;max-width:none;margin:0}
  .bcem-party .cj-worksheet-tools,.bcem-party .cj-worksheet-status,.bcem-party [data-party-progress]{display:none!important}
  .bcem-party .cj-party-basics{grid-template-columns:1fr 1fr;gap:14pt 20pt}
  .bcem-party .cj-field label{font-size:10pt;margin-bottom:4pt;color:#111}
  .bcem-party .cj-field :is(input,textarea){font-size:10pt;min-height:25pt;border:1px solid #888;padding:4pt;color:#111}
  .bcem-party .cj-field :is(input,textarea)::placeholder{color:transparent}
  .bcem-party.is-print-ready .cj-field :is(input,textarea){display:none}
  .bcem-party.is-print-ready .cj-print-value{display:block;white-space:pre-wrap;overflow-wrap:anywhere;min-height:23pt;padding:4pt 0;border-bottom:1px solid #888;color:#111;font-size:10pt}
  .bcem-party .cj-checklist-heading{margin:20pt 0 12pt;display:block}
  .bcem-party .cj-checklist-heading h3{font-size:15pt;color:#111}
  .bcem-party .cj-checklist{grid-template-columns:1fr 1fr;gap:15pt 22pt}
  .bcem-party .cj-checklist fieldset{break-inside:avoid;padding-bottom:10pt;border-color:#aaa}
  .bcem-party .cj-checklist legend{font-size:12pt;margin-bottom:5pt;color:#111}
  .bcem-party .cj-checklist label{font-size:10pt;line-height:1.35;min-height:0;padding-block:4pt;gap:7pt}
  .bcem-party .cj-checklist input{width:11pt;height:11pt;flex-basis:11pt;margin-top:1pt;accent-color:#111}
  .bcem-party .cj-notes{margin-top:17pt}
  .bcem-party.is-print-ready .cj-notes .cj-print-value{min-height:85pt;border:1px solid #aaa;padding:7pt;break-inside:auto}
}

/* The planning link replaces Events; collapse navigation before its real contents crowd the header. */
@media(min-width:901px) and (max-width:1120px){
 .bcem-design .header-inner{min-height:88px;gap:20px}
 .bcem-design .header .brand{width:142px}
 .bcem-design .header .menu{display:flex;margin-left:auto}
 .bcem-design .header nav{display:none;position:absolute;top:100%;left:0;right:0;margin:0;background:#fff;padding:15px var(--gutter) 24px;border-bottom:1px solid var(--line);box-shadow:0 14px 18px -18px #12315370}
 .bcem-design .header nav.open{display:flex;align-items:stretch;gap:0;flex-direction:column}
 .bcem-design .header nav a{min-height:48px}
 .bcem-design .header .nav-discovery{flex-wrap:wrap;justify-content:space-between}
 .bcem-design .header .discovery-panel{position:static;width:100%;padding:15px 0 20px;box-shadow:none;border:0}
 .bcem-design .header .discovery-heading{display:none}
 .bcem-design .header .discovery-grid{gap:12px}
 .bcem-design .header .discovery-grid a{padding:0;min-height:0}
 .bcem-design .header .discovery-grid img{height:100px}
 .bcem-design .header .resource-nav{padding-block:13px}
 .bcem-design .header .resource-nav>div{position:static;box-shadow:none;border:0;padding:8px 0 0}
 .bcem-design .header nav .bcem-cart{margin-top:12px;align-self:flex-start}
}
