/* Pool Season blocks. Only the pieces that stay dynamic live here; everything
   else on a page is Kadence Blocks and is styled by Kadence.
   Values are taken from the design canvas artboard Main.dc.html. */
.psc-b{--psc-navy:#0C4E91;--psc-ink:#10192A;--psc-mute:#5E6878;--psc-line:rgba(16,25,42,.10);
 --psc-orange:#F15D22;--psc-lime:#C1D836;--psc-teal:#49C3D0;--psc-sand:#E7DFD2;
 font-family:'Instrument Sans',system-ui,-apple-system,'Helvetica Neue',Arial,sans-serif;color:var(--psc-ink)}
.psc-b *{box-sizing:border-box}

/* The canvas sets labels and pills in Archivo, uppercase and widely tracked. */
.psc-b .psc-tag{font-family:Archivo,system-ui,sans-serif;font-size:10.5px;font-weight:700;
 letter-spacing:.18em;text-transform:uppercase;font-style:normal}

/* -------------------------------------------------------------- today card */
.psc-today{display:flex;flex-direction:column;background:#fff;border-radius:8px;overflow:hidden;
 box-shadow:0 18px 48px rgba(12,78,145,.14)}
.psc-today-head{display:flex;align-items:center;justify-content:space-between;padding:16px 22px;background:var(--psc-navy)}
.psc-today-head span{font-family:Archivo,system-ui,sans-serif;font-size:10.5px;font-weight:700;
 letter-spacing:.18em;text-transform:uppercase;color:#fff}
.psc-today-head em{font-family:Archivo,system-ui,sans-serif;font-style:normal;font-size:10.5px;font-weight:700;
 letter-spacing:.18em;text-transform:uppercase;color:#9EC3E8}
.psc-today-list{display:flex;flex-direction:column}
.psc-today-row{display:flex;align-items:center;gap:14px;padding:17px 22px;
 border-bottom:1px solid var(--psc-line);text-decoration:none;color:inherit}
.psc-today-row:last-of-type{border-bottom:0}
.psc-today-row:hover{background:#F7FAFD}
.psc-today-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0;background:var(--psc-lime)}
.psc-today-dot.is-free{background:var(--psc-teal)}
.psc-today-dot.is-night{background:#6B4BA1}
.psc-today-text{display:flex;flex-direction:column;gap:3px;min-width:0;margin-right:auto}
.psc-today-text strong{font-size:16px;font-weight:600;line-height:1.2}
.psc-today-text em{font-style:normal;font-size:12.5px;color:#5E6878}
.psc-today-tag{flex-shrink:0;display:inline-flex;align-items:center;height:34px;padding:0 15px;
 border-radius:999px;background:var(--psc-orange);color:#fff;
 font-family:Archivo,system-ui,sans-serif;font-size:10.5px;font-weight:700;letter-spacing:.18em;
 text-transform:uppercase;font-style:normal}
.psc-today-tag.is-free{background:var(--psc-lime);color:#2C3400}
.psc-today-tag.is-quiet{background:#F2EDE4;color:#5E6878}
.psc-today-more{display:flex;align-items:center;justify-content:center;height:56px;
 font-family:Archivo,system-ui,sans-serif;font-size:11px;font-weight:700;letter-spacing:.14em;
 text-transform:uppercase;text-decoration:none;color:var(--psc-navy);border-top:1px solid var(--psc-line)}
.psc-today-none{margin:0;padding:22px;font-size:14px;color:var(--psc-mute)}
.psc-today-note{margin:0;padding:14px 22px;background:#FFF8E6;font-size:12.5px;line-height:1.5;color:#8A6510;
 border-top:1px solid var(--psc-line)}

/* -------------------------------------------------------------- season pill */
.psc-status{display:flex;align-items:center;gap:12px}
.psc-status-pill{display:inline-flex;align-items:center;gap:7px;height:30px;padding:0 14px;border-radius:999px;
 background:var(--psc-lime);color:#2C3400;
 font-family:Archivo,system-ui,sans-serif;font-size:10.5px;font-weight:700;letter-spacing:.18em;text-transform:uppercase}
.psc-status-pill.is-off{background:#E1E6EB;color:#4A5666}
.psc-status-pill i{width:6px;height:6px;border-radius:50%;background:currentColor;font-style:normal}
.psc-status em{font-family:Archivo,system-ui,sans-serif;font-style:normal;font-size:11px;font-weight:700;
 letter-spacing:.14em;text-transform:uppercase;color:var(--psc-navy)}

/* -------------------------------------------------------------------- stats */
.psc-stat{display:flex;flex-direction:column;gap:3px}
.psc-stat strong{font-family:Archivo,system-ui,sans-serif;font-size:30px;font-weight:800;line-height:1;
 letter-spacing:-.02em;color:var(--psc-navy)}
.psc-stat span{font-family:Archivo,system-ui,sans-serif;font-size:10.5px;font-weight:700;letter-spacing:.18em;
 text-transform:uppercase;color:#5C6875}

/* ---------------------------------------------------------- hero decoration
   Three soft discs, as drawn on the canvas. Pseudo-elements on the row and a
   third on the inner wrap, so there is no image to manage. Remove the class
   "psc-hero-decor" on the row in the editor to turn them off. */
.psc-hero-decor{position:relative;overflow:hidden;isolation:isolate}
.psc-hero-decor::before,
.psc-hero-decor::after{content:"";position:absolute;border-radius:50%;pointer-events:none;z-index:0}
.psc-hero-decor::before{top:-180px;right:-120px;width:620px;height:620px;background:rgba(73,195,208,.34)}
.psc-hero-decor::after{top:180px;right:280px;width:280px;height:280px;background:rgba(193,216,54,.40)}
.psc-hero-decor > .kt-row-column-wrap::before{content:"";position:absolute;bottom:-140px;right:120px;
 width:340px;height:340px;border-radius:50%;background:rgba(241,93,34,.16);pointer-events:none;z-index:-1}
.psc-hero-decor > .kt-row-column-wrap{position:relative;z-index:1}
@media (max-width:1024px){
 .psc-hero-decor::before{top:-220px;right:-200px;width:440px;height:440px}
 .psc-hero-decor::after,
 .psc-hero-decor > .kt-row-column-wrap::before{display:none}
}

/* A hairline between the hero stat columns, as on the canvas. */
.psc-stat-row .wp-block-kadence-column + .wp-block-kadence-column{
 border-left:1px solid rgba(16,25,42,.14)}
.psc-stat-row .wp-block-kadence-column + .wp-block-kadence-column > .kt-inside-inner-col{padding-left:28px}
@media (max-width:767px){
 .psc-stat-row .wp-block-kadence-column + .wp-block-kadence-column{border-left:0}
 .psc-stat-row .wp-block-kadence-column + .wp-block-kadence-column > .kt-inside-inner-col{padding-left:0}
}

/* ------------------------------------------------------------ feature card
   The lead guide promo. The discs are pseudo-elements on the column so the
   card needs no image, and the label styles are plain classes you can use in
   any heading's rich text.
   Kadence paints a column's background on .kt-inside-inner-col, not on the
   outer div, so the discs have to live on the inner element or the
   background would cover them. Its own generated rules are equally specific
   and ship later in the document, so the selectors carry an extra class. */
.wp-block-kadence-column.psc-feature > .kt-inside-inner-col{position:relative;overflow:hidden;isolation:isolate;
 justify-content:flex-end}
.wp-block-kadence-column.psc-feature > .kt-inside-inner-col::before,
.wp-block-kadence-column.psc-feature > .kt-inside-inner-col::after{content:"";position:absolute;border-radius:50%;
 pointer-events:none;z-index:0}
.wp-block-kadence-column.psc-feature > .kt-inside-inner-col::before{top:-130px;right:-100px;width:400px;height:400px;
 background:rgba(73,195,208,.55)}
.wp-block-kadence-column.psc-feature > .kt-inside-inner-col::after{top:80px;right:140px;width:170px;height:170px;
 background:rgba(193,216,54,.55)}
.wp-block-kadence-column.psc-feature > .kt-inside-inner-col > *{position:relative;z-index:1}
@media (max-width:1024px){.wp-block-kadence-column.psc-feature > .kt-inside-inner-col::after{display:none}}

/* Inline labels, usable inside any Advanced Heading's text. */
.psc-pill{display:inline-flex;align-items:center;height:26px;padding:0 12px;margin-right:8px;
 border-radius:999px;background:#0C4E91;color:#fff;
 font-family:Archivo,system-ui,sans-serif;font-size:10.5px;font-weight:700;letter-spacing:.18em;
 text-transform:uppercase;vertical-align:middle}
.psc-meta{font-family:Archivo,system-ui,sans-serif;font-size:10.5px;font-weight:700;letter-spacing:.18em;
 text-transform:uppercase;color:#3E5763;font-style:normal}

/* ---------------------------------------------------------------- the list
   Kadence's side-image post loop, dressed as the canvas's stacked cards. */
.wp-block-kadence-postgrid.psc-list .kt-blocks-post-grid-item-inner-wrap{background:#fff;border:1px solid rgba(16,25,42,.12);
 border-radius:8px;padding:18px;gap:18px;align-items:center}
/* The side-image cell collapses to zero height in a grid layout, so pin it
   to the square the canvas draws. */
.wp-block-kadence-postgrid.psc-list .kt-blocks-post-grid-item-inner-wrap{grid-template-columns:92px minmax(0,1fr)}
.psc-list .kadence-post-image{width:92px;height:92px;border-radius:6px;overflow:hidden;margin:0}
.psc-list .kadence-post-image-intrisic{height:100%;padding-bottom:0!important}
.psc-list .kadence-post-image-inner-intrisic{position:static;height:100%}
.psc-list .kadence-post-image img{width:100%;height:100%;object-fit:cover;display:block}
@media (max-width:767px){
 .psc-list .kt-blocks-post-grid-item-inner-wrap{grid-template-columns:minmax(0,1fr)}
}
.psc-list .entry-title{font-family:Archivo,system-ui,sans-serif;font-size:21px;font-weight:700;
 line-height:1.16;letter-spacing:-.01em;margin:0}
.psc-list .kt-blocks-post-top-meta,
.psc-list .kt-blocks-post-footer{font-family:Archivo,system-ui,sans-serif;font-size:10.5px;font-weight:700;
 letter-spacing:.18em;text-transform:uppercase;color:#0C4E91}
.psc-list .kt-blocks-post-grid-item{margin-bottom:14px}
.psc-list .kt-blocks-post-grid-item:last-child{margin-bottom:0}

/* --------------------------------------------------------------- chip row */
.psc-chips{display:flex;flex-wrap:wrap;align-items:center;gap:10px}

/* --------------------------------------------------------- venue cards
   Three to a row on the sand band. A card is a link; every badge and the
   footer line come from the venue's own fields, so an unchecked or closed
   room says so rather than quietly looking the same as the rest. */
.psc-vcards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
@media (max-width:1024px){.psc-vcards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:767px){.psc-vcards{grid-template-columns:minmax(0,1fr)}}

.psc-vcard{display:flex;flex-direction:column;background:#fff;border-radius:8px;overflow:hidden;
 text-decoration:none;color:inherit;transition:transform .18s ease,box-shadow .18s ease}
.psc-vcard:hover{transform:translateY(-2px);box-shadow:0 14px 34px rgba(16,25,42,.10)}
.psc-vcard.is-closed{background:#F4F1EA}

.psc-vcard-img{position:relative;display:block;height:220px;background:#D8EDF1 center/cover no-repeat}
.psc-vcard.is-closed .psc-vcard-img{background:#DCD8CF}
.psc-vcard-status{position:absolute;left:14px;top:14px;display:inline-flex;align-items:center;gap:7px;
 padding:6px 12px;border-radius:999px;background:#fff;color:#10192A;
 font-family:Archivo,system-ui,sans-serif;font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase}
.psc-vcard-status i{width:6px;height:6px;border-radius:50%;font-style:normal}
.psc-vcard-free{position:absolute;right:14px;top:14px;display:inline-flex;align-items:center;height:26px;
 padding:0 11px;border-radius:999px;background:var(--psc-lime);color:#2C3400;
 font-family:Archivo,system-ui,sans-serif;font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase}

.psc-vcard-body{display:flex;flex-direction:column;gap:11px;padding:22px;flex-grow:1}
.psc-vcard-kicker{font-family:Archivo,system-ui,sans-serif;font-size:10.5px;font-weight:700;letter-spacing:.18em;
 text-transform:uppercase;color:#5E6878}
.psc-vcard-name{font-family:Archivo,system-ui,sans-serif;font-size:28px;font-weight:800;line-height:1.02;
 letter-spacing:-.02em}
.psc-vcard.is-closed .psc-vcard-name{color:#5E6878;text-decoration:line-through;text-decoration-thickness:1.5px}
.psc-vcard-blurb{font-size:14px;line-height:1.6;color:#4A5666}
.psc-vcard.is-closed .psc-vcard-blurb{color:#5E6878}
.psc-vcard-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto;
 padding-top:12px;border-top:1px solid rgba(16,25,42,.10)}
.psc-vcard-foot b{font-size:14px;font-weight:600}
.psc-vcard.is-closed .psc-vcard-foot b{color:var(--psc-navy)}
.psc-vcard-foot em{font-style:normal;font-size:11.5px;color:#5E6878}

/* Stat tones, for the tiles on the partner band. */
.psc-stat.is-lime strong{color:#5A6B00}
.psc-stat.is-orange strong{color:#C4430F}
.psc-stat.is-violet strong{color:#553984}
.psc-tile .psc-stat strong{font-size:34px}
.psc-tile .psc-stat span{font-family:'Instrument Sans',system-ui,sans-serif;font-size:13.5px;
 font-weight:400;line-height:1.5;letter-spacing:0;text-transform:none;color:#31404F}

/* ---------------------------------------------------------- signup strip
   The Thursday list. A real Kadence form, dressed to sit on the lime band:
   white pill input, dark pill button under it, fine print centred. */
.psc-signup .kb-advanced-form{display:flex;flex-direction:column;gap:11px}
.psc-signup .kb-adv-form-field{margin:0}
.psc-signup .wp-block-kadence-advanced-form .kb-field{width:100%;height:54px;padding:0 20px;border:0;border-radius:999px;
 background:#fff;color:#10192A;
 font-family:'Instrument Sans',system-ui,sans-serif;font-size:15px;line-height:54px}
.psc-signup .wp-block-kadence-advanced-form .kb-field::placeholder{color:#9AA2AE}
.psc-signup .wp-block-kadence-advanced-form .kb-field:focus{outline:2px solid #10192A;outline-offset:2px}
.psc-signup .kb-adv-form-submit-button{width:100%;justify-content:center}
.psc-signup .kb-adv-form-message{border-radius:8px;font-size:14px}

/* ------------------------------------------------------------- city cards
   The network row. A roundel on the left, the city and its season stacked on
   the right. Each card is a Kadence column, so the three blocks inside stay
   individually editable; this grid just places them. */
.wp-block-kadence-column.psc-city > .kt-inside-inner-col{
 display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;
 column-gap:14px;row-gap:2px;flex-direction:unset}
/* Placed by position, not by class: Advanced Heading composes its own class
   list, so a className passed in the attributes never reaches the markup. */
.psc-city > .kt-inside-inner-col > :nth-child(1){grid-row:1 / span 2;grid-column:1}
.psc-city > .kt-inside-inner-col > :nth-child(2){grid-column:2;margin:0;align-self:end}
.psc-city > .kt-inside-inner-col > :nth-child(3){grid-column:2;margin:0;align-self:start}

.psc-roundel{display:flex;align-items:center;justify-content:center;width:42px;height:42px;
 border-radius:50%;background:var(--psc-navy);color:#fff;overflow:hidden;
 font-family:Archivo,system-ui,sans-serif;font-weight:900;font-size:18px;line-height:1;letter-spacing:0}
.psc-roundel svg{display:block;width:100%;height:100%}

/* ------------------------------------------------------------------ phone
   The mobile artboards are not the desktop ones shrunk: buttons go full
   width, the decorative discs step out of the way of the text, and the
   guide list keeps its thumbnail beside the title rather than above it. */
@media (max-width:767px){
 .kb-btnspschHeroBtns .kb-btns-outer-wrap,
 .kb-btnspschBandBtns .kb-btns-outer-wrap{flex-direction:column;align-items:stretch}
 .kb-btnspschHeroBtns .kb-button,
 .kb-btnspschBandBtns .kb-button{width:100%;justify-content:center}

 /* The feature card's discs sat behind the headline at this width. */
 .wp-block-kadence-column.psc-feature > .kt-inside-inner-col::before{
  top:auto;bottom:-150px;right:-140px;width:300px;height:300px}

 /* Kadence moves the side image above the text on a phone; the canvas keeps
    the row, which reads better in a stacked list. */
 .wp-block-kadence-postgrid.psc-list .kt-blocks-post-grid-item-inner-wrap{
  grid-template-columns:72px minmax(0,1fr)}
 .psc-list .kadence-post-image{width:72px;height:72px}
 .psc-list .entry-title{font-size:17px}

 .psc-vcard-name{font-size:24px}
 .psc-today-head{padding:14px 18px}
 .psc-today-row{padding:15px 18px}
 .psc-today-text strong{font-size:15px}
 .psc-today-text em{font-size:12px}
}

/* ------------------------------------------------------- archive results
   One layout for every taxonomy archive. Venues reuse the directory card;
   guides and DJs get a lighter card of their own. */
.psc-arc-guides{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
@media (max-width:1024px){.psc-arc-guides{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:767px){.psc-arc-guides{grid-template-columns:minmax(0,1fr)}}

.psc-arc-card{display:flex;flex-direction:column;background:#fff;border:1px solid rgba(16,25,42,.12);
 border-radius:8px;overflow:hidden;text-decoration:none;color:inherit;
 transition:transform .18s ease,box-shadow .18s ease}
.psc-arc-card:hover{transform:translateY(-2px);box-shadow:0 14px 34px rgba(16,25,42,.10)}
.psc-arc-img{display:block;height:180px;background:#D8EDF1 center/cover no-repeat}
.psc-arc-body{display:flex;flex-direction:column;gap:9px;padding:18px}
.psc-arc-kicker{font-family:Archivo,system-ui,sans-serif;font-size:11px;font-weight:700;letter-spacing:.18em;
 text-transform:uppercase;color:#5E6878}
.psc-arc-name{font-family:Archivo,system-ui,sans-serif;font-size:21px;font-weight:700;line-height:1.16;
 letter-spacing:-.01em}
.psc-arc-blurb{font-size:14px;line-height:1.6;color:#4A5666}

.psc-arc-none{margin:0;padding:40px 0;font-size:16px;color:var(--psc-mute)}
.psc-arc-pages{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:40px;flex-wrap:wrap}
.psc-arc-pages .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:40px;
 padding:0 14px;border-radius:999px;border:1px solid rgba(16,25,42,.18);text-decoration:none;color:var(--psc-ink);
 font-family:Archivo,system-ui,sans-serif;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.psc-arc-pages .page-numbers.current{background:var(--psc-navy);border-color:var(--psc-navy);color:#fff}
.psc-arc-pages .page-numbers:hover:not(.current){border-color:var(--psc-navy);color:var(--psc-navy)}

/* Guides index: heading, holiday strip, topic and year chips */
.psc-ghead{padding:44px 0 26px}
.psc-ghead-h{font-family:Archivo,system-ui,sans-serif;font-size:60px;font-weight:700;line-height:1;letter-spacing:-.025em;color:#10192A;margin:0 0 14px}
.psc-ghead-d{font-size:17px;line-height:1.6;color:#4A5666;max-width:640px;margin:0}
.psc-occ{margin:0 0 34px;min-width:0}
.psc-occ-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px 16px;flex-wrap:wrap;margin:0 0 14px}
.psc-occ-h{font-family:Archivo,system-ui,sans-serif;font-size:22px;font-weight:700;line-height:1.2;color:#10192A;margin:0}
.psc-occ-d{font-size:14px;line-height:1.5;color:#4A5666;margin:0}
.psc-occ-grid{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:12px}
.psc-occ-card{display:flex;flex-direction:column;gap:8px;min-width:0;color:#10192A;text-decoration:none}
.psc-occ-img{display:block;aspect-ratio:4/3;border-radius:8px;border:1px solid rgba(16,25,42,.08);background:#E9F5F7 center/cover no-repeat}
.psc-occ-name{font-family:Archivo,system-ui,sans-serif;font-size:13px;font-weight:700;line-height:1.25}
.psc-occ-card:hover .psc-occ-name{color:#0C4E91}
.psc-gnav{display:flex;flex-direction:column;gap:12px;min-width:0;padding:18px 0;margin:0 0 28px;border-top:1px solid rgba(16,25,42,.12);border-bottom:1px solid rgba(16,25,42,.12)}
.psc-gnav-row{display:flex;align-items:center;gap:14px;min-width:0}
.psc-gnav-label{flex:0 0 48px;font-family:Archivo,system-ui,sans-serif;font-size:10.5px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:#4A5666}
.psc-gnav .psc-chips{gap:8px;min-width:0}
.psc-chip{display:inline-flex;align-items:center;gap:7px;height:32px;padding:0 14px;border-radius:999px;border:1px solid rgba(16,25,42,.18);background:#fff;color:#10192A;font-family:Archivo,system-ui,sans-serif;font-size:13px;font-weight:600;line-height:1;text-decoration:none;white-space:nowrap}
.psc-chip:hover{border-color:#0C4E91;color:#0C4E91}
.psc-chip.is-active{background:#0C4E91;border-color:#0C4E91;color:#fff}
.psc-chip-n{font-size:11px;font-weight:700;opacity:.6}
@media (max-width:1100px){.psc-occ-grid{grid-template-columns:repeat(9,150px);overflow-x:auto;padding-bottom:6px;scroll-snap-type:x mandatory}.psc-occ-card{scroll-snap-align:start}}
@media (max-width:767px){.psc-ghead{padding:26px 0 18px}.psc-ghead-h{font-size:36px}.psc-gnav-row{flex-direction:column;align-items:flex-start;gap:8px}.psc-gnav-label{flex:none}.psc-gnav .psc-chips{flex-wrap:nowrap;overflow-x:auto;width:100%;padding-bottom:4px}}

/* Guides: archive, series pages and the single guide */
.psc-gd-archive{min-width:0}
.psc-gd-head{padding:44px 0 22px;max-width:760px}
.psc-gd-eyebrow{font-family:Archivo,system-ui,sans-serif;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#5E6878;margin:0 0 12px}
.psc-gd-eyebrow a{color:#0C4E91;text-decoration:none}
.psc-gd-eyebrow a:hover{text-decoration:underline}
.psc-gd-h1{font-family:Archivo,system-ui,sans-serif;font-size:58px;font-weight:800;line-height:1.02;letter-spacing:-.025em;color:#10192A;margin:0 0 14px;text-wrap:balance}
.psc-gd-dek{font-size:19px;line-height:1.55;color:#3A4759;margin:0;max-width:680px}
.psc-gd-nav{margin-bottom:34px}
.psc-gd-series{margin:0 0 52px}
.psc-gd-series-head{display:flex;justify-content:space-between;align-items:flex-end;gap:10px 24px;flex-wrap:wrap;border-bottom:2px solid #10192A;padding-bottom:12px;margin:0 0 20px}
.psc-gd-h2{font-family:Archivo,system-ui,sans-serif;font-size:30px;font-weight:800;line-height:1.1;letter-spacing:-.015em;color:#10192A;margin:0;text-wrap:balance}
.psc-gd-series-d{font-size:15px;line-height:1.5;color:#5E6878;margin:6px 0 0;max-width:600px}
.psc-gd-all{font-family:Archivo,system-ui,sans-serif;font-size:13px;font-weight:700;color:#0C4E91;text-decoration:none;white-space:nowrap}
.psc-gd-all:hover{text-decoration:underline}
.psc-gd-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.psc-gd-card{display:flex;flex-direction:column;min-width:0;color:#10192A;text-decoration:none;background:#fff;border:1px solid rgba(16,25,42,.10);border-radius:10px;overflow:hidden;transition:transform .15s ease,box-shadow .15s ease}
.psc-gd-card:hover{transform:translateY(-2px);box-shadow:0 14px 34px rgba(16,25,42,.10)}
.psc-gd-card:focus-visible{outline:2px solid #F15D22;outline-offset:2px}
.psc-gd-img{display:block;aspect-ratio:16/9;background:#E9F5F7 center/cover no-repeat}
.psc-gd-body{display:flex;flex-direction:column;gap:8px;padding:18px 18px 16px;flex:1}
.psc-gd-kicker{font-family:Archivo,system-ui,sans-serif;font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#0C4E91}
.psc-gd-name{font-family:Archivo,system-ui,sans-serif;font-size:20px;font-weight:700;line-height:1.2;color:#10192A;text-wrap:balance}
.psc-gd-blurb{font-size:14.5px;line-height:1.55;color:#3A4759}
.psc-gd-meta{margin-top:auto;padding-top:6px;font-size:12.5px;color:#5E6878;font-variant-numeric:tabular-nums}
.psc-gd-single-head{padding:40px 0 22px;max-width:820px}
.psc-gd-facts{display:flex;flex-wrap:wrap;gap:6px 18px;margin:16px 0 0;font-size:13.5px;color:#5E6878}
.psc-gd-facts span+span::before{content:"";display:inline-block;width:4px;height:4px;border-radius:50%;background:#C9BFAE;margin-right:18px;vertical-align:3px}
.psc-gd-hero{margin:0 0 28px;border-radius:12px;overflow:hidden;background:#E9F5F7}
.psc-gd-hero-img{display:block;width:100%;height:auto;max-height:520px;object-fit:cover}
.psc-gd-toc{max-width:820px;margin:0 0 34px;padding:18px 22px;background:#fff;border:1px solid rgba(16,25,42,.10);border-radius:10px}
.psc-gd-toc ol{margin:10px 0 0;padding-left:20px;columns:2;column-gap:32px}
.psc-gd-toc li{break-inside:avoid;margin:0 0 6px;font-size:15px;line-height:1.4}
.psc-gd-toc a{color:#0C4E91;text-decoration:none}
.psc-gd-toc a:hover{text-decoration:underline}
.psc-gd-content{min-width:0;max-width:760px}
.psc-gd-content h2{scroll-margin-top:24px}
.psc-gd-related{margin:48px 0 0}
.psc-gd-cta{display:flex;justify-content:space-between;align-items:center;gap:18px 32px;flex-wrap:wrap;margin:44px 0 0;padding:28px 30px;background:#0C4E91;border-radius:12px;color:#fff}
.psc-gd-cta-h{font-family:Archivo,system-ui,sans-serif;font-size:24px;font-weight:800;line-height:1.15;color:#fff;margin:0 0 6px}
.psc-gd-cta p{margin:0;max-width:560px;font-size:15.5px;line-height:1.55;color:#DCE8F5}
.psc-gd-cta-btn{display:inline-flex;align-items:center;height:48px;padding:0 26px;border-radius:999px;background:#C9460F;color:#fff;font-family:Archivo,system-ui,sans-serif;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;white-space:nowrap}
.psc-gd-cta-btn:hover{background:#fff;color:#0C4E91}
@media (max-width:1024px){.psc-gd-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:767px){.psc-gd-head,.psc-gd-single-head{padding:26px 0 16px}.psc-gd-h1{font-size:36px}.psc-gd-dek{font-size:17px}.psc-gd-h2{font-size:24px}.psc-gd-grid{grid-template-columns:minmax(0,1fr)}.psc-gd-toc ol{columns:1}.psc-gd-cta{padding:24px 20px}}
@media (prefers-reduced-motion:reduce){.psc-gd-card{transition:none}}

/* Charts drawn from data */
.psc-ch{margin:30px 0;padding:22px 24px 18px;background:#fff;border:1px solid rgba(16,25,42,.10);border-radius:10px;min-width:0}
.psc-ch-title{font-family:Archivo,system-ui,sans-serif;font-size:18px;font-weight:700;line-height:1.25;color:#10192A;margin:0 0 16px;text-wrap:balance}
.psc-ch-plot{position:relative;padding-bottom:26px}
.psc-ch-row{display:grid;grid-template-columns:minmax(0,210px) minmax(0,1fr);gap:14px;align-items:center;min-height:30px}
.psc-ch-label{font-size:14px;line-height:1.3;color:#10192A;text-align:right}
.psc-ch-track{position:relative;display:block;height:30px;background:repeating-linear-gradient(to right,rgba(16,25,42,.08) 0 1px,transparent 1px calc(100% / var(--psc-ch-n,4)))}
.psc-ch-bar,.psc-ch-band{position:absolute;top:7px;height:16px;border-radius:3px;background:#9FC0E2}
.psc-ch-band{background:#9FC0E2}
.psc-ch-row.is-hl .psc-ch-bar,.psc-ch-row.is-hl .psc-ch-band{background:#0C4E91}
.psc-ch-val{position:absolute;top:6px;margin-left:8px;font-size:12.5px;font-weight:600;color:#3A4759;font-variant-numeric:tabular-nums;white-space:nowrap}
.psc-ch-axis{position:absolute;left:calc(min(210px,40%) + 14px);right:0;bottom:0;height:18px}
.psc-ch-axis span{position:absolute;transform:translateX(-50%);font-size:11.5px;color:#5E6878;font-variant-numeric:tabular-nums;white-space:nowrap}
.psc-ch-axis span:first-child{transform:none}
.psc-ch-axis span:last-child{transform:translateX(-100%)}
.psc-ch-dot{position:absolute;top:8px;width:14px;height:14px;margin-left:-7px;border-radius:50%;background:#9FC0E2;box-shadow:0 0 0 2px #fff}
.psc-ch-row.is-hl .psc-ch-dot{background:#0C4E91}
.psc-ch-val.is-flip{transform:translateX(-100%);margin-left:-8px}
.psc-ch-table{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.psc-ch-foot{margin:12px 0 0;font-size:13px;line-height:1.5;color:#5E6878}
.psc-ch-src a{color:#0C4E91}
@media (max-width:767px){.psc-ch{padding:18px 16px 14px}.psc-ch-row{grid-template-columns:minmax(0,1fr);gap:2px;margin-bottom:8px}.psc-ch-label{text-align:left}.psc-ch-axis{left:0}}
.psc-gd-label{display:block;font-family:Archivo,system-ui,sans-serif;font-size:10.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#0C4E91;margin-bottom:6px}

/* Guide single, phones: the element row and the answer band each add a gutter
   on top of the site container, which left the short answer 187px wide. */
@media (max-width:767px){
.kt-row-column-wrap:has(> .wp-block-kadence-column .psc-gd-content){padding-left:0;padding-right:0}
.psc-gd-content .kb-row-layout-wrap > .kt-row-column-wrap{padding-left:0;padding-right:0}
.psc-gd-content .kb-row-layout-wrap .kt-inside-inner-col{padding-left:18px;padding-right:18px}
}

/* Homepage sections: guides to start with, holiday weekends in date order, and the blog. */
.psc-hs{min-width:0}
.psc-hs-split{display:grid;grid-template-columns:minmax(0,59fr) minmax(0,41fr);gap:24px;margin:0 0 26px}
.psc-hs-feature,.psc-hs-pf{display:flex;flex-direction:column;min-width:0;border-radius:10px;overflow:hidden;color:#10192A;text-decoration:none}
.psc-hs-feature{background:#D8EDF1}
.psc-hs-pf{background:#fff;border:1px solid rgba(16,25,42,.10)}
.psc-hs-feature-img{display:block;aspect-ratio:16/8;background:#C9E2E8 center/cover no-repeat}
.psc-hs-feature-b{display:flex;flex-direction:column;align-items:flex-start;gap:12px;padding:26px 32px 30px}
.psc-hs-kicker{display:flex;align-items:center;flex-wrap:wrap;row-gap:6px}
.psc-hs-feature-h{font-family:Archivo,system-ui,sans-serif;font-size:34px;font-weight:700;line-height:1.08;letter-spacing:-.02em;text-wrap:balance}
.psc-hs-feature-p{font-size:16px;line-height:1.58;color:#31404F;max-width:560px}
.psc-hs-btn{display:inline-flex;align-items:center;height:48px;padding:0 28px;margin-top:4px;border-radius:999px;background:#10192A;color:#fff;font-family:Archivo,system-ui,sans-serif;font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.psc-hs-feature:hover .psc-hs-btn{background:#0C4E91}
.psc-hs-feature:hover .psc-hs-feature-h,.psc-hs-pf:hover .psc-hs-feature-h{color:#0C4E91}
.psc-hs-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px}
.psc-hs-list li{flex:1;display:flex;margin:0}
.psc-hs-item{flex:1;display:grid;grid-template-columns:92px minmax(0,1fr);gap:16px;align-items:center;padding:12px;background:#fff;border:1px solid rgba(16,25,42,.12);border-radius:8px;color:#10192A;text-decoration:none}
.psc-hs-thumb{display:block;width:92px;height:92px;border-radius:6px;background:#E9F5F7 center/cover no-repeat}
.psc-hs-item-b,.psc-hs-card-b{display:flex;flex-direction:column;gap:6px;min-width:0}
.psc-hs-label{font-family:Archivo,system-ui,sans-serif;font-size:10.5px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:#0C4E91}
.psc-hs-item-h{font-family:Archivo,system-ui,sans-serif;font-size:19px;font-weight:700;line-height:1.2;text-wrap:balance}
.psc-hs-item:hover .psc-hs-item-h,.psc-hs-card:hover .psc-hs-card-h{color:#0C4E91}
.psc-hs-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.psc-hs-card{display:flex;flex-direction:column;min-width:0;background:#fff;border:1px solid rgba(16,25,42,.10);border-radius:10px;overflow:hidden;color:#10192A;text-decoration:none}
.psc-hs-card-img{display:block;aspect-ratio:16/10;background:#E9F5F7 center/cover no-repeat}
.psc-hs-card-b{flex:1;padding:14px 16px 16px}
.psc-hs-card-h{font-family:Archivo,system-ui,sans-serif;font-size:17px;font-weight:700;line-height:1.22;text-wrap:balance}
.psc-hs-date{margin-top:auto;font-size:12.5px;color:#5E6878;font-variant-numeric:tabular-nums}
.psc-hs-feature:focus-visible,.psc-hs-pf:focus-visible,.psc-hs-item:focus-visible,.psc-hs-card:focus-visible,.psc-hs-ev:focus-visible{outline:2px solid #F15D22;outline-offset:3px}
.psc-hs-events{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:22px 18px}
.psc-hs-ev{display:flex;flex-direction:column;gap:8px;min-width:0;color:#10192A;text-decoration:none}
.psc-hs-ev-img{position:relative;display:block;aspect-ratio:4/3;border-radius:8px;border:1px solid rgba(16,25,42,.08);background:#E9F5F7 center/cover no-repeat}
.psc-hs-ev.is-next{grid-column:span 2;grid-row:span 2}
.psc-hs-ev.is-next .psc-hs-ev-img{aspect-ratio:auto;flex:1;min-height:0;border-radius:10px}
.psc-hs-flag{position:absolute;top:14px;left:14px;margin:0}
.psc-hs-ev-name{font-family:Archivo,system-ui,sans-serif;font-size:15px;font-weight:700;line-height:1.25}
.psc-hs-ev.is-next .psc-hs-ev-name{font-size:26px;letter-spacing:-.01em}
.psc-hs-ev-date{margin-top:-4px;font-size:13px;color:#4A5666;font-variant-numeric:tabular-nums}
.psc-hs-ev:hover .psc-hs-ev-name{color:#0C4E91}
@media (max-width:1024px){
.psc-hs-split{grid-template-columns:minmax(0,1fr)}
.psc-hs-events{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:200px;overflow-x:auto;padding-bottom:8px;scroll-snap-type:x mandatory}
.psc-hs-ev{scroll-snap-align:start}
.psc-hs-ev.is-next{grid-column:auto;grid-row:auto}
.psc-hs-ev.is-next .psc-hs-ev-img{aspect-ratio:4/3;flex:none}
.psc-hs-ev.is-next .psc-hs-ev-name{font-size:15px}
}
@media (max-width:767px){
.psc-hs-feature-b{padding:22px 22px 24px}
.psc-hs-feature-h{font-size:26px}
.psc-hs-item{grid-template-columns:72px minmax(0,1fr)}
.psc-hs-thumb{width:72px;height:72px}
.psc-hs-item-h{font-size:17px}
.psc-hs-grid{grid-template-columns:minmax(0,1fr)}
.psc-hs-events{grid-auto-columns:168px}
.psc-hs-chips{flex-wrap:nowrap;overflow-x:auto;padding-bottom:6px}
.psc-hs-chips .psc-chip{flex:none}
}
/* Phones: the latest posts beside the featured one become thumbnail rows, so the section stays scannable. */
@media (max-width:767px){
.psc-hs-grid{gap:12px}
.psc-hs-card{display:grid;grid-template-columns:88px minmax(0,1fr);align-items:center;gap:0}
.psc-hs-card-img{aspect-ratio:auto;width:88px;height:100%;min-height:96px}
.psc-hs-card-b{padding:12px 14px}
.psc-hs-card-h{font-size:15.5px}
}

/* ------------------------------------------------------- Group bookings
   Built to Group.dc.html. Classes come from build-pages.php. */
.psc-group-hero{position:relative;overflow:hidden;isolation:isolate}
.psc-group-hero::before,.psc-group-hero::after{content:"";position:absolute;border-radius:50%;pointer-events:none;z-index:0}
.psc-group-hero::before{top:-200px;right:-120px;width:640px;height:640px;background:rgba(73,195,208,.20)}
.psc-group-hero::after{bottom:-180px;right:300px;width:400px;height:400px;background:rgba(193,216,54,.14)}
.psc-group-hero>.kt-row-column-wrap{position:relative;z-index:1}
ul.psc-checks{display:flex;flex-wrap:wrap;gap:12px 26px;margin:0;padding:0;list-style:none}
ul.psc-checks li{display:flex;align-items:center;gap:9px;margin:0;font-size:14.5px;line-height:1.4;color:#fff}
ul.psc-checks li::before{content:"";flex-shrink:0;width:17px;height:17px;background:center/17px no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23C1D836' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4.5 12.5l5 5 10-11'/%3E%3C/svg%3E")}
.psc-spend-card>.kt-inside-inner-col{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.20)}
ul.psc-spend{margin:10px 0 18px;padding:0;list-style:none}
ul.psc-spend li{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.16);font-size:15px;line-height:1.35;color:#fff}
ul.psc-spend li:last-child{border-bottom:0}
ul.psc-spend strong{flex-shrink:0;font-family:Archivo,'Helvetica Neue',Arial,sans-serif;font-size:18px;font-weight:700;color:#C1D836;white-space:nowrap;font-variant-numeric:tabular-nums}
.psc-spend-card p{margin:0;font-size:12.5px;line-height:1.55;color:#9EC3E8}
.psc-spend-card p a{color:#fff;text-decoration:underline;text-underline-offset:2px}
.psc-spend-card p a:hover{color:#C1D836}
.psc-age{display:inline-flex;align-items:center;height:22px;padding:0 9px;margin-left:6px;vertical-align:4px;border-radius:999px;background:#10192A;color:#fff;
 font-family:Archivo,'Helvetica Neue',Arial,sans-serif;font-size:11px;font-weight:700;letter-spacing:.16em}
.psc-daycard>.kt-inside-inner-col{overflow:hidden;height:100%}
.psc-daycard .wp-block-kadence-advancedheading{display:flex;align-items:center;justify-content:space-between;gap:12px}
.psc-daycard .wp-block-kadence-advancedheading em{font-style:normal;color:#8FA3BC}
.kadence-columnpscGI2 .wp-block-kadence-advancedheading em{color:#9EC3E8}
ul.psc-itin{margin:0;padding:8px 22px 22px;list-style:none}
ul.psc-itin li{display:grid;grid-template-columns:52px minmax(0,1fr);column-gap:16px;row-gap:3px;margin:0;padding:14px 0;border-bottom:1px solid rgba(16,25,42,.08)}
ul.psc-itin li:last-child{border-bottom:0}
ul.psc-itin strong{grid-row:1/3;padding-top:3px;font-family:Archivo,'Helvetica Neue',Arial,sans-serif;font-size:10.5px;font-weight:700;letter-spacing:.16em;color:#0C4E91;font-variant-numeric:tabular-nums}
ul.psc-itin span{font-size:15px;font-weight:600;line-height:1.35;color:#10192A}
ul.psc-itin em{font-style:normal;font-size:13px;line-height:1.45;color:#5E6878}
ol.psc-steps{counter-reset:psc-step;display:flex;flex-direction:column;gap:20px;margin:30px 0 0;padding:0;list-style:none}
ol.psc-steps li{counter-increment:psc-step;position:relative;display:flex;flex-direction:column;gap:3px;min-height:34px;margin:0;padding:4px 0 0 50px}
ol.psc-steps li::before{content:counter(psc-step);position:absolute;top:0;left:0;display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;
 background:#0C4E91;color:#fff;font-family:Archivo,'Helvetica Neue',Arial,sans-serif;font-size:15px;font-weight:800}
ol.psc-steps strong{font-size:16px;font-weight:600;line-height:1.35;color:#10192A}
ol.psc-steps span{font-size:14.5px;line-height:1.5;color:#4A5666}
.psc-enquiry-card>.kt-inside-inner-col{border:1px solid rgba(16,25,42,.14);box-shadow:0 14px 40px rgba(12,78,145,.08)}
.psc-enquiry-card .kb-advanced-form .kb-row-layout-wrap{margin:0}
.psc-enquiry-card .kb-advanced-form .kt-row-column-wrap{padding:0;column-gap:12px;row-gap:0}
.psc-enquiry-card .kb-adv-form-field{margin:0 0 14px}
.psc-enquiry-card .kb-adv-form-label{display:block;margin:0 0 6px;font-family:Archivo,'Helvetica Neue',Arial,sans-serif;font-size:10.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#5E6878}
.psc-enquiry-card .wp-block-kadence-advanced-form .kb-field,
.psc-enquiry-card .wp-block-kadence-advanced-form select,
.psc-enquiry-card .wp-block-kadence-advanced-form textarea{width:100%;min-height:52px;padding:0 18px;border:1px solid rgba(16,25,42,.18);border-radius:6px;background:#fff;font-size:15px;color:#10192A;box-shadow:none}
.psc-enquiry-card .wp-block-kadence-advanced-form textarea{min-height:96px;padding:14px 18px}
.psc-enquiry-card .wp-block-kadence-advanced-form .kb-field:focus,
.psc-enquiry-card .wp-block-kadence-advanced-form select:focus,
.psc-enquiry-card .wp-block-kadence-advanced-form textarea:focus{border-color:#0C4E91;outline:2px solid rgba(12,78,145,.25);outline-offset:1px}
.psc-enquiry-card .wp-block-kadence-advanced-form-checkbox .kb-radio-check-item-wrap{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 0;padding:0;border:0}
.psc-enquiry-card .wp-block-kadence-advanced-form-checkbox legend{width:100%;margin-bottom:10px}
.psc-enquiry-card .wp-block-kadence-advanced-form-checkbox .kb-radio-check-item{position:relative;margin:0}
.psc-enquiry-card .wp-block-kadence-advanced-form-checkbox .kb-radio-check-item input{position:absolute;width:1px;height:1px;opacity:0}
.psc-enquiry-card .wp-block-kadence-advanced-form-checkbox .kb-radio-check-item label{display:flex;align-items:center;height:34px;margin:0;padding:0 14px;border:1px solid rgba(16,25,42,.20);border-radius:999px;cursor:pointer;
 font-family:Archivo,'Helvetica Neue',Arial,sans-serif;font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#10192A}
.psc-enquiry-card .wp-block-kadence-advanced-form-checkbox .kb-radio-check-item input:checked+label{background:#0C4E91;border-color:#0C4E91;color:#fff}
.psc-enquiry-card .wp-block-kadence-advanced-form-checkbox .kb-radio-check-item input:focus-visible+label{outline:2px solid #F15D22;outline-offset:2px}
.psc-enquiry-card .wp-block-kadence-advanced-form .kb-adv-form-submit-button{width:100%;min-height:56px;justify-content:center;border:0;border-radius:999px;background:#C9460F;color:#fff;
 font-family:Archivo,'Helvetica Neue',Arial,sans-serif;font-size:10.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
.psc-enquiry-card .wp-block-kadence-advanced-form .kb-adv-form-submit-button:hover{background:#D94E15}
@media (max-width:1024px){.psc-group-hero::after{display:none}}
@media (max-width:767px){
 .psc-group-hero::before{top:-220px;right:-200px;width:440px;height:440px}
 ul.psc-checks{flex-direction:column;gap:10px}
 ul.psc-spend li{font-size:14px}
 ul.psc-spend strong{font-size:16px}
 ul.psc-itin{padding:6px 18px 18px}
}
/* The SMS consent is an accept field: a legend holding the sentence, then the checkbox. Keep it a sentence beside a box, not a tag over a 52px field. */
.psc-enquiry-card .wp-block-kadence-advanced-form-accept .kb-radio-check-item-wrap{position:relative;margin:6px 0 0;padding:0;border:0}
.psc-enquiry-card .wp-block-kadence-advanced-form-accept legend.kb-adv-form-label{float:left;width:100%;margin:0;padding:0 0 0 29px;
 font-family:inherit;font-size:12.5px;font-weight:400;line-height:1.55;letter-spacing:0;text-transform:none;color:#5E6878}
.psc-enquiry-card .wp-block-kadence-advanced-form-accept .kb-radio-check-item{position:absolute;top:1px;left:0;margin:0}
.psc-enquiry-card .wp-block-kadence-advanced-form .kb-accept-field{width:18px;height:18px;min-height:0;margin:0;padding:0;border-radius:4px;accent-color:#0C4E91}
/* Kadence's global button fill outranks the card's colours, so the orange is forced here only. */
.psc-enquiry-card .wp-block-kadence-advanced-form .kb-adv-form-submit-button{background:#C9460F !important;color:#fff !important;border-radius:999px !important}
.psc-enquiry-card .wp-block-kadence-advanced-form .kb-adv-form-submit-button:hover{background:#D94E15 !important}

/* ------------------------------------------------------------- Media kit
   Built to MediaKit.dc.html. Classes come from build-pages.php; the enquiry
   card reuses .psc-enquiry-card from the group bookings section above. */
.psc-mk-hero{position:relative;overflow:hidden;isolation:isolate}
.psc-mk-hero::before,.psc-mk-hero::after{content:"";position:absolute;border-radius:50%;pointer-events:none;z-index:0}
.psc-mk-hero::before{top:-190px;right:-100px;width:600px;height:600px;background:rgba(73,195,208,.30)}
.psc-mk-hero::after{bottom:-150px;right:340px;width:300px;height:300px;background:rgba(193,216,54,.34)}
.psc-mk-hero>.kt-row-column-wrap{position:relative;z-index:1}
.psc-mk-numbers{border-bottom:1px solid rgba(16,25,42,.12)}
.psc-mk-numbers>.kt-row-column-wrap{padding-top:0;padding-bottom:0}
.psc-mk-numbers .wp-block-kadence-column+.wp-block-kadence-column{border-left:1px solid rgba(16,25,42,.12)}
.psc-mk-numbers .wp-block-kadence-column>.kt-inside-inner-col{padding:32px 28px}
.psc-mk-numbers .wp-block-kadence-column:first-child>.kt-inside-inner-col{padding-left:0}
.psc-mk-numbers .psc-stat{gap:8px}
.psc-mk-numbers .psc-stat strong{font-size:40px;color:#0C4E91}
.psc-mk-numbers .psc-stat span{font-family:inherit;font-size:13.5px;font-weight:400;line-height:1.45;letter-spacing:0;text-transform:none;color:#4A5666}
.wp-block-table.psc-inventory{margin:0;overflow-x:auto}
.psc-inventory table{width:100%;min-width:560px;border:1px solid rgba(16,25,42,.14);border-collapse:separate;border-spacing:0;border-radius:8px;overflow:hidden;background:#fff}
.psc-inventory thead{border:0}
.psc-inventory thead th{padding:14px 16px;border:0;background:#10192A;color:#8FA3BC;text-align:left;
 font-family:Archivo,'Helvetica Neue',Arial,sans-serif;font-size:10.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
.psc-inventory thead th:first-child{padding-left:20px;color:#fff}
.psc-inventory tbody td{padding:18px 16px;border:0;border-bottom:1px solid rgba(16,25,42,.09);background:#fff;font-size:14px;line-height:1.55;color:#4A5666;vertical-align:middle}
.psc-inventory tbody tr:nth-child(even) td{background:#FBF8F3}
.psc-inventory tbody tr:last-child td{border-bottom:0}
.psc-inventory tbody td:first-child{width:30%;padding-left:20px}
.psc-inventory tbody td:first-child strong{display:block;font-size:15.5px;font-weight:600;line-height:1.35;color:#10192A}
.psc-inventory tbody td:first-child span{display:block;margin-top:4px;font-size:12.5px;color:#5E6878}
.psc-inventory tbody td:last-child{width:16%;font-family:Archivo,'Helvetica Neue',Arial,sans-serif;font-size:17px;font-weight:700;color:#B8410F;white-space:nowrap}
@media (max-width:1024px){.psc-mk-hero::after{display:none}}
@media (max-width:767px){
 .psc-mk-hero::before{top:-220px;right:-220px;width:440px;height:440px}
 .psc-mk-numbers .wp-block-kadence-column{border-left:0!important;border-top:1px solid rgba(16,25,42,.12)}
 .psc-mk-numbers .wp-block-kadence-column:nth-child(-n+2){border-top:0}
 .psc-mk-numbers .wp-block-kadence-column>.kt-inside-inner-col,
 .psc-mk-numbers .wp-block-kadence-column:first-child>.kt-inside-inner-col{padding:22px 0}
 .psc-mk-numbers .psc-stat strong{font-size:32px}
}
/* Placeholders in the enquiry cards read as hints, not as typed answers. */
.psc-enquiry-card .wp-block-kadence-advanced-form .kb-field::placeholder,
.psc-enquiry-card .wp-block-kadence-advanced-form textarea::placeholder{color:#9AA2AE;opacity:1}

/* ---- Guide single, second pass: a tight head with share in the byline, the
   contents list beside the text on wide screens, and a steadier rhythm. ---- */
.single-guide .content-area{margin-top:36px}
.psc-gd-single-head{padding:0 0 28px;max-width:860px}
.psc-gd-single-head .psc-gd-eyebrow{margin:0 0 14px}
.psc-gd-single-head .psc-gd-h1{margin:0 0 16px}
.psc-gd-single-head .psc-gd-dek{margin:0}
.psc-gd-byline{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px 24px;margin:24px 0 0;padding:16px 0 0;border-top:1px solid rgba(16,25,42,.10)}
.psc-gd-single-head .psc-gd-facts{margin:0}
.psc-gd-hero{margin:0 0 40px}

.psc-gd-layout{display:grid;grid-template-columns:minmax(0,760px) minmax(0,280px);justify-content:space-between;gap:0 56px;align-items:start}
.psc-gd-layout.is-single{grid-template-columns:minmax(0,760px)}
.psc-gd-layout>.psc-gd-content{grid-column:1;grid-row:1}
.psc-gd-side{grid-column:2;grid-row:1;position:sticky;top:28px;min-width:0}
.psc-gd-side .psc-gd-toc{max-width:none;margin:0;padding:18px 20px 16px}
.psc-gd-side .psc-gd-toc ol{columns:1;margin:12px 0 0;padding:0;list-style:none;counter-reset:psc-toc}
.psc-gd-side .psc-gd-toc li{counter-increment:psc-toc;margin:0;font-size:14px;line-height:1.35}
.psc-gd-side .psc-gd-toc a{display:grid;grid-template-columns:22px 1fr;padding:7px 0 7px 10px;margin-left:-10px;border-left:2px solid transparent;color:#3A4759}
.psc-gd-side .psc-gd-toc a::before{content:counter(psc-toc);font-size:12px;font-weight:600;color:#5E6878;font-variant-numeric:tabular-nums}
.psc-gd-side .psc-gd-toc a:hover{color:#0C4E91;text-decoration:none}
.psc-gd-side .psc-gd-toc a.is-current{border-left-color:#F15D22;color:#10192A;font-weight:600}
.psc-gd-side .psc-gd-toc a.is-current::before{color:#F15D22}
.psc-gd-content h2{scroll-margin-top:28px}

/* article rhythm: bands sit flush with the text column and keep one gap */
.psc-gd-content .kb-row-layout-wrap.kb-row-layout-wrap{margin:0 0 32px}
.psc-gd-content .kb-row-layout-wrap.kb-row-layout-wrap>.kt-row-column-wrap{padding:0}
.psc-gd-content .kb-row-layout-wrap.kb-row-layout-wrap .kt-inside-inner-col{margin-bottom:0}
.psc-gd-content .kb-row-layout-wrap[class*="Ans "] .kt-inside-inner-col{padding:22px 26px 24px;border-radius:10px}
.psc-gd-content .kb-row-layout-wrap[class*="Info "] figure{max-width:560px;margin-left:auto;margin-right:auto}
.psc-gd-content .kb-row-layout-wrap[class*="Info "] img{display:block;width:100%;height:auto;border-radius:8px}
.psc-gd-content th{text-align:left}

@media (max-width:1100px){
 .psc-gd-layout{grid-template-columns:minmax(0,1fr)}
 .psc-gd-side{grid-column:1;grid-row:auto;position:static;margin:0 0 32px;max-width:760px}
 .psc-gd-layout>.psc-gd-content{grid-row:auto}
 .psc-gd-side .psc-gd-toc ol{columns:2;column-gap:28px}
 .psc-gd-side .psc-gd-toc li{break-inside:avoid}
}
@media (max-width:767px){
 .single-guide .content-area{margin-top:22px}
 .psc-gd-single-head{padding-bottom:22px}
 .psc-gd-byline{margin-top:18px;padding-top:14px}
 .psc-gd-hero{margin-bottom:28px;border-radius:10px}
 .psc-gd-side .psc-gd-toc ol{columns:1}
 .psc-gd-content .kb-row-layout-wrap[class*="Ans "] .kt-inside-inner-col{padding:18px 18px 20px}
}

/* ------------------------------------------------ Newsletter page (/newsletter/)
   A sky hero with the sign-up card, four "in an issue" cards, the sand
   "what you will not get" band and a short closing line. The card reuses the
   enquiry-card form styling from Group bookings. */
.psc-nl-hero{position:relative;overflow:hidden;isolation:isolate}
.psc-nl-hero::before,.psc-nl-hero::after{content:"";position:absolute;border-radius:50%;pointer-events:none;z-index:0}
.psc-nl-hero::before{top:-220px;right:-140px;width:620px;height:620px;background:rgba(73,195,208,.22)}
.psc-nl-hero::after{bottom:-200px;left:38%;width:380px;height:380px;background:rgba(193,216,54,.16)}
.psc-nl-hero>.kt-row-column-wrap{position:relative;z-index:1}
ul.psc-nl-checks{display:flex;flex-wrap:wrap;gap:10px 24px;margin:0;padding:0;list-style:none}
ul.psc-nl-checks li{display:flex;align-items:center;gap:9px;margin:0;font-size:14.5px;line-height:1.4;font-weight:600;color:#10192A}
ul.psc-nl-checks li::before{content:"";flex-shrink:0;width:18px;height:18px;border-radius:50%;background:#0C4E91 center/11px no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4.5 12.5l5 5 10-11'/%3E%3C/svg%3E")}
.psc-nl-card>.kt-inside-inner-col>p{margin:0 0 16px;font-size:14.5px;line-height:1.55;color:#4A5666}
.psc-nl-card>.kt-inside-inner-col>p.psc-nl-fine{margin:12px 0 0;font-size:12.5px;color:#5E6878}
.psc-nl-card>.kt-inside-inner-col>p.psc-nl-fine a{color:#0C4E91}
.psc-nl-until{max-width:640px;font-size:16px;line-height:1.6;color:#3A4759}
.psc-nl-until a{color:#0C4E91;font-weight:600}
@media (max-width:767px){.psc-nl-spacer{display:none}}

/* ------------------------------------------------------------ DJ index (/djs/)
   Only 18 of the 183 profiles have a photograph, so the rest show their initials
   rather than a grey box or a borrowed picture. Four columns rather than six:
   each card now carries a sentence, and that needs the width. */
.psc-djs{max-width:1200px;margin:0 auto;padding:0 24px}
.psc-djs-jump{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 34px;padding-bottom:22px;border-bottom:1px solid rgba(16,25,42,.12)}
.psc-djs-jump a{display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:40px;padding:0 10px;border:1px solid rgba(16,25,42,.12);border-radius:999px;background:#fff;font-family:Archivo,Arial,sans-serif;font-size:13px;font-weight:700;color:#10192A;text-decoration:none}
.psc-djs-jump a:hover{background:#0C4E91;border-color:#0C4E91;color:#fff}
.psc-djs-group{margin:0 0 40px}
.psc-djs-letter{margin:0 0 16px;font-family:Archivo,Arial,sans-serif;font-size:15px;font-weight:800;letter-spacing:.16em;color:#0C4E91}
.psc-djs-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:30px 22px;margin:0;padding:0;list-style:none}
.psc-djs-card a{display:flex;flex-direction:column;gap:10px;color:#10192A;text-decoration:none}
.psc-djs-text{display:flex;flex-direction:column;gap:5px;min-width:0}
.psc-djs-media{position:relative;display:block;aspect-ratio:1;overflow:hidden;border-radius:14px;background:#E9F5F7}
.psc-djs-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.psc-djs-card a:hover .psc-djs-media img{transform:scale(1.04)}
.psc-djs-media.is-blank{background:#0C4E91}
.psc-djs-tile{position:absolute;inset:0;width:100%;height:100%;display:block}
.psc-djs-initials{font-family:Archivo,Arial,sans-serif;font-size:30px;font-weight:800;letter-spacing:.02em;color:#fff}
.psc-djs-name{font-family:Archivo,Arial,sans-serif;font-size:16px;font-weight:700;line-height:1.2}
.psc-djs-card a:hover .psc-djs-name{color:#0C4E91}
.psc-djs-next{font-size:13px;line-height:1.4;color:#B5461A;font-weight:600}
/* Four lines fits most of these whole; the clamp is there for the long ones. */
.psc-djs-blurb{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;font-size:13.5px;line-height:1.45;color:#5E6878}
@media (prefers-reduced-motion:reduce){.psc-djs-media img{transition:none}}
@media (max-width:1100px){.psc-djs-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:860px){.psc-djs-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* On a phone the card turns on its side: a small picture and the whole sentence,
   rather than two cramped columns with the text clipped out of existence. */
@media (max-width:640px){
	.psc-djs{padding:0 16px}
	.psc-djs-grid{grid-template-columns:minmax(0,1fr);gap:0}
	.psc-djs-card{border-bottom:1px solid rgba(16,25,42,.1)}
	.psc-djs-card a{flex-direction:row;align-items:flex-start;gap:14px;padding:14px 0}
	.psc-djs-media{flex:0 0 76px;width:76px;border-radius:12px}
	.psc-djs-name{font-size:15px}
	.psc-djs-blurb{-webkit-line-clamp:5}
}

/* ------------------------------------------------------------ a DJ page
   Everything here is drawn from the lineups, so the page stays true as the
   imports change. The prose above it is the editor's to write. */
.psc-dj{max-width:760px;margin:32px auto 0}
.psc-dj h2{margin:0 0 14px;font-family:Archivo,Arial,sans-serif;font-size:22px;font-weight:800;letter-spacing:-.01em;color:#10192A}
.psc-dj-lead{margin:0 0 28px;padding:16px 18px;background:#E9F5F7;border-radius:14px;font-size:16.5px;line-height:1.55;color:#31404F}
.psc-dj section{margin:0 0 32px}
.psc-dj-dates ul,.psc-dj-venues ul{margin:0;padding:0;list-style:none}
.psc-dj-date{display:grid;grid-template-columns:86px minmax(0,1fr) auto;gap:16px;align-items:center;padding:12px 0;border-bottom:1px solid rgba(16,25,42,.1)}
.psc-dj-when strong{display:block;font-family:Archivo,Arial,sans-serif;font-size:15px;font-weight:700;color:#10192A}
.psc-dj-when span{font-size:12.5px;color:#5E6878;font-variant-numeric:tabular-nums}
.psc-dj-date.is-next .psc-dj-when strong{color:#B5461A}
.psc-dj-where a{font-weight:600}
.psc-dj-where span{display:block;font-size:13px;color:#5E6878}
.psc-dj-extra{display:flex;align-items:center;gap:10px}
.psc-dj-note{font-size:12.5px;color:#5E6878}
.psc-dj-tickets{display:inline-flex;align-items:center;height:36px;padding:0 16px;border-radius:999px;background:#F15D22;color:#fff!important;font-family:Archivo,Arial,sans-serif;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;text-decoration:none}
.psc-dj-tickets:hover{background:#D94E17}
.psc-dj-source{margin:14px 0 0;font-size:13px;color:#5E6878}
.psc-dj-venues li{display:flex;flex-wrap:wrap;align-items:baseline;gap:10px;padding:10px 0;border-bottom:1px solid rgba(16,25,42,.1)}
.psc-dj-venues li span{font-size:13px;color:#5E6878}
.psc-dj-chips{display:flex;flex-wrap:wrap;gap:8px;margin:0}
.psc-dj-chips a{display:inline-flex;align-items:center;min-height:38px;padding:0 14px;border:1px solid rgba(16,25,42,.12);border-radius:999px;background:#FAF7F2;font-size:13.5px;color:#10192A;text-decoration:none}
.psc-dj-chips a:hover{background:#0C4E91;border-color:#0C4E91;color:#fff}
/* The factoid. Set apart from the profile so it reads as an aside, not a claim
   buried in the prose. Nothing renders at all when the meta is empty. */
.psc-dj-fact{position:relative;margin:0 0 28px;padding:18px 20px 18px 22px;border-left:4px solid #F15D22;border-radius:0 14px 14px 0;background:#FDF3EC}
.psc-dj-fact-label{display:block;margin:0 0 6px;font-family:Archivo,Arial,sans-serif;font-size:10.5px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:#B5461A}
.psc-dj-fact p{margin:0;font-size:16px;line-height:1.6;color:#31404F}
.psc-dj-fact a{color:#B5461A}
/* Genre, kind of act, other billings, own site. */
.psc-dj-facts dl{margin:0;padding:18px 20px;border:1px solid rgba(16,25,42,.12);border-radius:14px;background:#FAF7F2}
.psc-dj-facts dl>div{display:grid;grid-template-columns:130px minmax(0,1fr);gap:14px;align-items:baseline;padding:9px 0;border-bottom:1px solid rgba(16,25,42,.08)}
.psc-dj-facts dl>div:first-child{padding-top:0}
.psc-dj-facts dl>div:last-child{padding-bottom:0;border-bottom:0}
.psc-dj-facts dt{font-family:Archivo,Arial,sans-serif;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#5E6878}
.psc-dj-facts dd{margin:0;font-size:15px;line-height:1.5;color:#31404F}
.psc-dj-facts .psc-dj-chips a{min-height:32px;padding:0 12px;font-size:13px}
@media (max-width:640px){.psc-dj-facts dl>div{grid-template-columns:1fr;gap:4px}}
.psc-dj-empty{padding:22px;border:1px dashed rgba(16,25,42,.25);border-radius:14px;background:#FAF7F2}
.psc-dj-empty p{margin:0 0 10px;font-size:15.5px;line-height:1.6;color:#31404F}
.psc-dj-empty p:last-child{margin:0}
.psc-djs-next.is-past{color:#5E6878;font-weight:500}
@media (max-width:640px){.psc-dj-date{grid-template-columns:72px minmax(0,1fr);gap:10px}.psc-dj-extra{grid-column:1 / -1;padding-left:82px}}
.psc-djs-count{margin:0 0 20px;font-size:15px;color:#4A5666}
.psc-dj-src{margin:18px 0 0;font-size:13px;color:#5E6878}
.psc-dj-src a{color:#0C4E91}
.psc-djs-defs{position:absolute;width:0;height:0;overflow:hidden}
.psc-djs-tile text{font-family:Archivo,'Helvetica Neue',Arial,sans-serif}
