.cgr-page { --pc-blue:#004c97; --pc-deep:#003464; --pc-ink:#34393e; --pc-muted:#4c5055; --pc-pale:#f4f7fa; --pc-line:#dce3e9; --pc-serif:"Crimson Pro",Georgia,serif; --pc-sans:"Open Sans",Arial,sans-serif; }
#top #wrap_all .cgr-page { background:#fff; color:var(--pc-ink); font:16px/1.7 var(--pc-sans); width:100%; overflow:clip; }
#top #wrap_all .cgr-page * { box-sizing:border-box; }
#top #wrap_all .cgr-page .pc-container { max-width:1180px; width:calc(100% - 64px); margin:0 auto; padding:0; }
#top #wrap_all .cgr-page h1,
#top #wrap_all .cgr-page h2,
#top #wrap_all .cgr-page h3 { color:var(--pc-ink); font-family:var(--pc-serif); font-weight:400; text-transform:none; letter-spacing:-.025em; margin:0 0 20px; line-height:1.08; }
#top #wrap_all .cgr-page h1 { font-size:clamp(40px,4.3vw,62px); }
#top #wrap_all .cgr-page h1 em { color:var(--pc-blue); font-weight:400; }
#top #wrap_all .cgr-page h2 { font-size:44px; }
#top #wrap_all .cgr-page h3 { font-size:28px; }
#top #wrap_all .cgr-page p { margin:0 0 18px; }
#top #wrap_all .cgr-page a { color:var(--pc-blue); text-decoration:underline; text-underline-offset:4px; }
#top #wrap_all .cgr-page a:focus-visible,
#top #wrap_all .cgr-page summary:focus-visible { outline:2px solid var(--pc-blue); outline-offset:5px; }
#top #wrap_all .cgr-page .pc-kicker { display:block; color:var(--pc-blue); font:700 11px/1.7 var(--pc-sans); text-transform:uppercase; letter-spacing:.17em; margin-bottom:18px; }
#top #wrap_all .cgr-page .pc-nav { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:26px 0; }
#top #wrap_all .cgr-page .pc-brand { text-decoration:none; display:flex; gap:22px; align-items:center; }
#top #wrap_all .cgr-page .pc-brand img { width:185px; height:auto; display:block; }
#top #wrap_all .cgr-page .pc-brand span { color:var(--pc-muted); border-left:1px solid var(--pc-line); padding-left:22px; font-size:12px; }
#top #wrap_all .cgr-page .pc-button { display:inline-flex; align-items:center; justify-content:center; gap:24px; color:#fff !important; background:var(--pc-blue); border:0; border-radius:3px; padding:16px 25px; min-height:52px; text-decoration:none; font:700 12px/1.5 var(--pc-sans); letter-spacing:.07em; text-transform:uppercase; cursor:pointer; }
#top #wrap_all .cgr-page .pc-button:hover { background:var(--pc-deep); }
#top #wrap_all .cgr-page .pc-button--small { padding:12px 18px; min-height:44px; }
#top #wrap_all .cgr-page .pc-hero { background:var(--pc-pale); }
#top #wrap_all .cgr-page .pc-hero-grid { display:grid; grid-template-columns:minmax(0,1fr); align-items:start; gap:0; }
#top #wrap_all .cgr-page .pc-hero-copy { padding:36px 0 40px; width:100%; max-width:850px; }
#top #wrap_all .cgr-page .pc-lede { max-width:510px; font-size:16px; color:var(--pc-muted); }
#top #wrap_all .cgr-page .pc-invitation { border-left:3px solid #c2db9f; padding:3px 0 3px 16px; margin:25px 0; }
#top #wrap_all .cgr-page .pc-invitation strong { display:block; color:var(--pc-blue); font-size:14px; }
#top #wrap_all .cgr-page .pc-invitation span { display:block; font-size:12px; color:var(--pc-muted); }
#top #wrap_all .cgr-page .pc-small { font-size:11px; margin:12px 0 0; }
/* Text is part of this artwork: show the complete 2:1 banner at every width. */
#top #wrap_all .cgr-page .pc-hero-photo { position:relative; width:100%; height:auto; min-height:0; margin:0; padding:0; aspect-ratio:2 / 1; }
#top #wrap_all .cgr-page .pc-hero-photo img { position:static; width:100%; max-width:100%; height:auto; min-height:0; aspect-ratio:2 / 1; object-fit:contain; display:block; margin:0; }
#top #wrap_all .cgr-page .pc-facts { display:grid; grid-template-columns:1fr 1fr 1fr; padding:32px 0; border-bottom:1px solid var(--pc-line); }
#top #wrap_all .cgr-page .pc-facts > div { padding:0 26px; border-left:1px solid var(--pc-line); }
#top #wrap_all .cgr-page .pc-facts > div:first-child { padding-left:0; border:0; }
#top #wrap_all .cgr-page .pc-facts .pc-kicker { margin-bottom:5px; font-size:10px; }
#top #wrap_all .cgr-page .pc-facts strong { display:block; font-size:14px; color:var(--pc-ink); }
#top #wrap_all .cgr-page .pc-facts span:last-child { display:block; font-size:12px; color:var(--pc-muted); }
#top #wrap_all .cgr-page .pc-booking { padding:76px 0; scroll-margin-top:28px; }
#top #wrap_all .cgr-page .pc-booking-grid { display:grid; grid-template-columns:.9fr 1.1fr; align-items:start; gap:70px; }
#top #wrap_all .cgr-page .pc-booking-copy > p { color:var(--pc-muted); font-size:14px; }
#top #wrap_all .cgr-page .pc-steps { list-style:none; margin:28px 0; padding:0; }
#top #wrap_all .cgr-page .pc-steps li { display:flex; align-items:start; gap:17px; margin:0 0 17px; padding:0; }
#top #wrap_all .cgr-page .pc-steps li > span { color:var(--pc-blue); font-size:12px; padding-top:2px; }
#top #wrap_all .cgr-page .pc-steps strong { color:var(--pc-ink); font-size:13px; }
#top #wrap_all .cgr-page .pc-steps p { color:var(--pc-muted); font-size:12px; margin:3px 0 0; }
#top #wrap_all .cgr-page .pc-venue { margin-top:30px; border-top:1px solid var(--pc-line); padding-top:25px; }
#top #wrap_all .cgr-page .pc-venue h3 { font-size:28px; margin-bottom:12px; }
#top #wrap_all .cgr-page .pc-venue address { font-size:14px; font-style:normal; margin-bottom:12px; }
#top #wrap_all .cgr-page .pc-venue p,
#top #wrap_all .cgr-page .pc-venue a { font-size:12px; }
#top #wrap_all .cgr-page .pc-form-card { padding:30px; background:var(--pc-pale); border-top:4px solid var(--pc-blue); box-shadow:0 16px 42px rgba(0,52,100,.07); min-width:0; }
#top #wrap_all .cgr-page .pc-form-heading .pc-kicker { margin-bottom:8px; }
#top #wrap_all .cgr-page .pc-form-heading h3 { font-size:32px; }
#top #wrap_all .cgr-page .pc-form-heading p { font-size:12px; color:var(--pc-muted); margin-bottom:25px; }
#top #wrap_all .cgr-page :is(#gform_wrapper_76, #gform_wrapper_66) { margin:0; }
#top #wrap_all .cgr-page :is(#gform_wrapper_76, #gform_wrapper_66) .gform_fields { display:grid !important; grid-template-columns:repeat(12,minmax(0,1fr)) !important; gap:17px 14px !important; }
#top #wrap_all .cgr-page :is(#gform_wrapper_76, #gform_wrapper_66) .gfield { min-width:0; grid-column:1 / -1; margin:0; padding:0; }
#top #wrap_all .cgr-page :is(#gform_wrapper_76, #gform_wrapper_66) #field_66_1,
#top #wrap_all .cgr-page :is(#gform_wrapper_76, #gform_wrapper_66) #field_76_3,
#top #wrap_all .cgr-page :is(#gform_wrapper_76, #gform_wrapper_66) #field_76_5 { grid-column:1 / span 6 !important; }
#top #wrap_all .cgr-page :is(#gform_wrapper_76, #gform_wrapper_66) #field_66_2,
#top #wrap_all .cgr-page :is(#gform_wrapper_76, #gform_wrapper_66) #field_76_4,
#top #wrap_all .cgr-page :is(#gform_wrapper_76, #gform_wrapper_66) #field_76_6 { grid-column:7 / span 6 !important; }
#top #wrap_all .cgr-page :is(#gform_wrapper_76, #gform_wrapper_66) .gfield_label,
#top #wrap_all .cgr-page :is(#gform_wrapper_76, #gform_wrapper_66) legend { display:block; font:600 12px/1.5 var(--pc-sans); color:var(--pc-ink); text-transform:none; letter-spacing:0; margin:0 0 6px; padding:0; }
#top #wrap_all .cgr-page :is(#gform_wrapper_76, #gform_wrapper_66) .gfield_required { color:var(--pc-muted); font-size:11px; font-style:normal; }
#top #wrap_all .cgr-page :is(#gform_wrapper_76, #gform_wrapper_66) .ginput_container { margin:0; width:100%; }
#top #wrap_all .cgr-page :is(#gform_wrapper_76, #gform_wrapper_66) input:not([type="checkbox"]):not([type="hidden"]):not([type="submit"]),
#top #wrap_all .cgr-page :is(#gform_wrapper_76, #gform_wrapper_66) select,
#top #wrap_all .cgr-page :is(#gform_wrapper_76, #gform_wrapper_66) textarea { background:#fff !important; border:1px solid #cbd5de !important; border-radius:3px !important; color:var(--pc-ink) !important; font:14px/1.5 var(--pc-sans); width:100% !important; max-width:100%; height:46px !important; min-height:46px !important; padding:10px !important; margin:0 !important; box-shadow:none; }
#top #wrap_all .cgr-page :is(#gform_wrapper_76, #gform_wrapper_66) textarea { height:100px !important; min-height:100px !important; resize:vertical; }
#top #wrap_all .cgr-page :is(#gform_wrapper_76, #gform_wrapper_66) .gfield_description { padding:5px 0 0; margin:0; font:11px/1.5 var(--pc-sans); color:var(--pc-muted); }
#top #wrap_all .cgr-page :is(#gform_wrapper_76, #gform_wrapper_66) fieldset { border:0; margin:0; padding:0; }
#top #wrap_all .cgr-page :is(#gform_wrapper_76, #gform_wrapper_66) .gfield_checkbox .gchoice { display:flex; gap:10px; align-items:flex-start; }
#top #wrap_all .cgr-page :is(#gform_wrapper_76, #gform_wrapper_66) input[type="checkbox"] { flex:0 0 17px; width:17px; height:17px; margin:4px 0 0; accent-color:var(--pc-blue); }
#top #wrap_all .cgr-page :is(#gform_wrapper_76, #gform_wrapper_66) .gfield_checkbox label { max-width:none; font:12px/1.6 var(--pc-sans); color:var(--pc-ink); }
#top #wrap_all .cgr-page :is(#gform_wrapper_76, #gform_wrapper_66) .gform_footer { padding:0; margin:22px 0 0; }
#top #wrap_all .cgr-page :is(#gform_wrapper_76, #gform_wrapper_66) .gform_button { background:var(--pc-blue) !important; color:#fff !important; border:0; border-radius:3px !important; width:100% !important; min-height:52px; margin:0 !important; padding:14px; font:700 12px/1.6 var(--pc-sans); text-transform:uppercase; letter-spacing:.07em; cursor:pointer; }
#top #wrap_all .cgr-page :is(#gform_wrapper_76, #gform_wrapper_66) .gform_button:hover { background:var(--pc-deep) !important; }
#top #wrap_all .cgr-page :is(#gform_wrapper_76, #gform_wrapper_66) input:focus,
#top #wrap_all .cgr-page :is(#gform_wrapper_76, #gform_wrapper_66) select:focus,
#top #wrap_all .cgr-page :is(#gform_wrapper_76, #gform_wrapper_66) textarea:focus { outline:2px solid var(--pc-blue); outline-offset:2px; }
#top #wrap_all .cgr-page :is(#gform_wrapper_76, #gform_wrapper_66) .gform_required_legend,
#top #wrap_all .cgr-page :is(#gform_wrapper_76, #gform_wrapper_66) .ginput_counter { display:none; }
#top #wrap_all .cgr-page :is(#gform_wrapper_76, #gform_wrapper_66) .validation_message { color:#a72338; }
#top #wrap_all .cgr-page :is(#gform_wrapper_76, #gform_wrapper_66) [aria-invalid="true"] { border-color:#a72338 !important; }
#top #wrap_all .cgr-page .gform_confirmation_message { padding:20px; background:#e7f1e4; color:#284b25; }
#top #wrap_all .cgr-page .gform_confirmation_message h3 { color:inherit; }
#top #wrap_all .cgr-page .pc-form-note { font-size:11px; color:var(--pc-muted); margin:18px 0 0; }
#top #wrap_all .cgr-page .pc-faq { display:grid; grid-template-columns:.9fr 1.1fr; gap:70px; border-top:1px solid var(--pc-line); padding:48px 0 64px; }
#top #wrap_all .cgr-page .pc-faq details { border-bottom:1px solid var(--pc-line); padding:0; }
#top #wrap_all .cgr-page .pc-faq summary { color:var(--pc-ink); font-size:14px; font-weight:600; cursor:pointer; padding:16px 0; }
#top #wrap_all .cgr-page .pc-faq details p { color:var(--pc-muted); font-size:13px; padding-bottom:12px; }
#top #wrap_all .cgr-page .pc-footer { background:var(--pc-deep); color:#fff; padding:28px 0; }
#top #wrap_all .cgr-page .pc-footer .pc-container { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:14px; }
#top #wrap_all .cgr-page .pc-footer strong { color:#fff; font:400 23px/1.3 var(--pc-serif); }
#top #wrap_all .cgr-page .pc-footer span { color:#fff; font-size:11px; }
@media (max-width:900px) {
  #top #wrap_all .cgr-page .pc-brand span { display:none; }
  #top #wrap_all .cgr-page .pc-hero-grid { gap:0; }
  #top #wrap_all .cgr-page .pc-booking-grid,
  #top #wrap_all .cgr-page .pc-faq { gap:35px; }
  #top #wrap_all .cgr-page .pc-facts strong { font-size:12px; }
}
@media (max-width:700px) {
  #top #wrap_all .cgr-page .pc-container { width:calc(100% - 36px); }
  #top #wrap_all .cgr-page .pc-nav { padding:20px 0; }
  #top #wrap_all .cgr-page .pc-brand img { width:140px; }
  #top #wrap_all .cgr-page .pc-button--small { font-size:9px; padding:10px; }
  #top #wrap_all .cgr-page .pc-hero-grid,
  #top #wrap_all .cgr-page .pc-booking-grid,
  #top #wrap_all .cgr-page .pc-faq { grid-template-columns:1fr; }
  #top #wrap_all .cgr-page .pc-hero-copy { padding:28px 0 32px; }
  #top #wrap_all .cgr-page .pc-hero-photo { min-height:0; margin:0; }
  #top #wrap_all .cgr-page .pc-facts { grid-template-columns:1fr; padding:24px 0; gap:18px; }
  #top #wrap_all .cgr-page .pc-facts > div { border:0; padding:0; }
  #top #wrap_all .cgr-page .pc-facts strong { font-size:14px; }
  #top #wrap_all .cgr-page .pc-booking { padding:42px 0; }
  #top #wrap_all .cgr-page h2 { font-size:38px; }
  #top #wrap_all .cgr-page .pc-form-card { padding:24px 20px; }
  #top #wrap_all .cgr-page :is(#gform_wrapper_76, #gform_wrapper_66) #field_76_3,
  #top #wrap_all .cgr-page :is(#gform_wrapper_76, #gform_wrapper_66) #field_76_4,
  #top #wrap_all .cgr-page :is(#gform_wrapper_76, #gform_wrapper_66) #field_76_5,
  #top #wrap_all .cgr-page :is(#gform_wrapper_76, #gform_wrapper_66) #field_76_6 { grid-column:1 / -1 !important; }
  #top #wrap_all .cgr-page .pc-faq { padding:34px 0 44px; gap:15px; }
}

#top #wrap_all .cgr-page #gform_wrapper_76 #field_76_5 > .gfield_label,
#top #wrap_all .cgr-page #gform_wrapper_76 #field_76_6 > .gfield_label { min-height:36px; }
@media (max-width:700px) {
  #top #wrap_all .cgr-page #gform_wrapper_66 #field_66_1,
  #top #wrap_all .cgr-page #gform_wrapper_66 #field_66_2 { grid-column:1 / -1 !important; }
  #top #wrap_all .cgr-page #gform_wrapper_76 #field_76_5 > .gfield_label,
  #top #wrap_all .cgr-page #gform_wrapper_76 #field_76_6 > .gfield_label { min-height:0; }
}

/* Shared Form 66 sits in an always-visible Contact Us section below the FAQs. */
#top #wrap_all .cgr-page .pc-contact { display:grid; grid-template-columns:.9fr 1.1fr; gap:70px; border-top:1px solid var(--pc-line); padding:56px 0 70px; scroll-margin-top:28px; }
#top #wrap_all .cgr-page .pc-contact > div > p:not(.pc-kicker) { font-size:14px; color:var(--pc-muted); }
#top #wrap_all .cgr-page #gform_wrapper_66 textarea { height:132px !important; min-height:132px !important; }
@media (max-width:900px) {
  #top #wrap_all .cgr-page .pc-contact { gap:35px; }
}
@media (max-width:700px) {
  #top #wrap_all .cgr-page .pc-contact { grid-template-columns:1fr; gap:20px; padding:34px 0 44px; }
}

/* Cardiff-only layout and form rules; never affects other event pages. */
@font-face{font-family:'Crimson Pro';src:url('crimson.ttf') format('truetype');font-display:swap;font-weight:100 900}
@font-face{font-family:'Open Sans';src:url('open-sans.ttf') format('truetype');font-display:swap;font-weight:400}
@font-face{font-family:'Open Sans';src:url('open-sans-bold.ttf') format('truetype');font-display:swap;font-weight:600 800}
#top #wrap_all .cgr-page .pc-hero-grid{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:40px;align-items:center;padding:28px 0 36px}
#top #wrap_all .cgr-page .pc-hero-copy{padding:10px 0;max-width:none}
#top #wrap_all .cgr-page h1{font-size:clamp(36px,3.5vw,52px)}
#top #wrap_all .cgr-page .pc-hero-photo{aspect-ratio:auto}
#top #wrap_all .cgr-page .pc-hero-photo img{aspect-ratio:3/2;object-fit:contain;width:100%;height:auto;border-radius:3px}
#top #wrap_all .cgr-page .pc-hero-photo figcaption{font:400 10px/1.5 var(--pc-sans);color:var(--pc-muted);margin-top:10px}
#top #wrap_all .cgr-page .pc-map{display:block;margin:18px 0 12px}
#top #wrap_all .cgr-page .pc-map img{display:block;width:100%;height:auto;border:1px solid var(--pc-line)}
#top #wrap_all .cgr-page #gform_wrapper_66 .gfield,
#top #wrap_all .cgr-page #gform_wrapper_66 #field_66_1,
#top #wrap_all .cgr-page #gform_wrapper_66 #field_66_2{grid-column:1/-1!important}
#top #wrap_all .cgr-page .gfield_visibility_hidden,#top #wrap_all .cgr-page .gform_validation_container{display:none!important}
#top #wrap_all .cgr-page :is(#gform_wrapper_76,#gform_wrapper_66) .gfield_checkbox .gchoice{align-items:flex-start}
#top #wrap_all .cgr-page .pc-form-note{line-height:1.6}
#top #wrap_all .cgr-page .pc-lede strong{color:var(--pc-blue)}
#top #wrap_all .cgr-page .pc-venue{scroll-margin-top:32px}
#top #wrap_all .cgr-page #customer-reservation{scroll-margin-top:28px}
@media(max-width:800px){#top #wrap_all .cgr-page .pc-hero-grid{grid-template-columns:1fr;gap:22px;padding:0 0 32px}#top #wrap_all .cgr-page .pc-hero-copy{padding:0}#top #wrap_all .cgr-page .pc-hero-photo img{border-radius:0}#top #wrap_all .cgr-page .pc-booking-grid,#top #wrap_all .cgr-page .pc-faq,#top #wrap_all .cgr-page .pc-contact{grid-template-columns:1fr}#top #wrap_all .cgr-page h1{font-size:42px}#top #wrap_all .cgr-page .pc-lede{max-width:640px}}
@media(max-width:380px){#top #wrap_all .cgr-page .pc-brand img{width:110px}#top #wrap_all .cgr-page .pc-nav{gap:10px}#top #wrap_all .cgr-page h1{font-size:37px}}

/* Groupon field pairs. No JavaScript-dependent submit visibility. */
#top #wrap_all .cgr-page #gform_wrapper_76 .gfield{grid-column:1/-1!important}
#top #wrap_all .cgr-page #gform_wrapper_76 #field_76_2{grid-column:1/-1!important}
#top #wrap_all .cgr-page #gform_wrapper_76 :is(#field_76_3,#field_76_4)>.gfield_label{min-height:36px}
#top #wrap_all .cgr-page #gform_wrapper_76 :is(#field_76_3,#field_76_5){grid-column:1/span 6!important}
#top #wrap_all .cgr-page #gform_wrapper_76 :is(#field_76_4,#field_76_6){grid-column:7/span 6!important}
#top #wrap_all .cgr-page h2 em{color:var(--pc-blue);font-weight:400}
#top #wrap_all .cgr-page #redeem{scroll-margin-top:36px}
#top #wrap_all .cgr-page .pc-invitation span{font-size:14px}
@media(max-width:700px){#top #wrap_all .cgr-page #gform_wrapper_76 :is(#field_76_3,#field_76_4,#field_76_5,#field_76_6){grid-column:1/-1!important}#top #wrap_all .cgr-page #gform_wrapper_76 :is(#field_76_3,#field_76_4)>.gfield_label{min-height:0}}

#top #wrap_all .cgr-page .pc-directions{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;padding:56px 0;border-top:1px solid var(--pc-line);scroll-margin-top:30px}
#top #wrap_all .cgr-page .pc-directions p{font-size:14px}#top #wrap_all .cgr-page .pc-directions h3{font-size:25px;margin-top:24px}
#top #wrap_all .cgr-page .pc-arrival-photo{margin:0}#top #wrap_all .cgr-page .pc-arrival-photo img,#top #wrap_all .cgr-page .pc-map-details img{display:block;width:100%;height:auto}#top #wrap_all .cgr-page .pc-arrival-photo figcaption{font-size:12px;color:var(--pc-muted);margin-top:10px}
#top #wrap_all .cgr-page .pc-map-details{margin-top:22px;border-top:1px solid var(--pc-line);padding-top:20px}#top #wrap_all .cgr-page .pc-map-details summary{cursor:pointer;color:var(--pc-blue);font-weight:700}#top #wrap_all .cgr-page .pc-map-details p{margin-top:15px}
@media(max-width:800px){#top #wrap_all .cgr-page .pc-directions{grid-template-columns:1fr;gap:26px;padding:36px 0}}
