.breadcrumb{font-size:var(--fs-small);color:var(--color-text-muted);margin-bottom:var(--space-3)}.breadcrumb ol{list-style:none;display:flex;flex-wrap:wrap;gap:.4rem;margin:0;padding:0}.breadcrumb li:after{content:"/";margin-left:.4rem;opacity:.5}.breadcrumb li:last-child:after{content:""}.breadcrumb a{text-decoration:none;border-bottom:1px solid rgba(37,39,32,.25)}.breadcrumb a:hover{border-bottom-color:var(--bloom-ink)}.page-hero{padding-block:var(--space-6) var(--space-7)}@media (min-width:900px){.page-hero{padding-block:var(--space-6) var(--space-8)}}.page-hero__grid{display:grid;gap:var(--space-5);grid-template-columns:1fr;align-items:center}@media (min-width:900px){.page-hero__grid{grid-template-columns:1.15fr .85fr;gap:var(--space-7)}}.page-hero h1{max-width:16ch}.page-hero__lead{font-size:var(--fs-body-lg);max-width:52ch;margin-top:var(--space-4)}.page-hero__actions{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-5)}.page-hero__media{border-radius:var(--radius-md);overflow:hidden;aspect-ratio:4/3;background:linear-gradient(160deg,#e6dfce,#cfc8b6);display:grid;place-items:center;color:var(--bloom-ink);font-size:var(--fs-small);text-align:center;padding:var(--space-4)}.prose{max-width:var(--measure)}.prose p+p{margin-top:var(--space-3)}.notice-grid{display:grid;gap:var(--space-3);grid-template-columns:1fr}@media (min-width:700px){.notice-grid{grid-template-columns:repeat(2,1fr);gap:var(--space-4)}}.notice-card{background:var(--bloom-white);border-radius:var(--radius-md);padding:var(--space-5);box-shadow:var(--shadow-card)}.notice-card h3{font-family:var(--font-display);font-style:italic;font-size:var(--fs-h3);margin-bottom:var(--space-3)}.notice-card ul{list-style:none;margin:0;padding:0;font-size:var(--fs-body)}.notice-card li{display:flex;gap:.6rem;margin-bottom:.55rem;line-height:1.5}.notice-card li:last-child{margin-bottom:0}.notice-card li:before{content:"";flex:none;width:7px;height:7px;border-radius:50%;background:var(--bloom-sage);margin-top:.62em}.reassure{margin-top:var(--space-5);background:#839a7e29;border-left:3px solid var(--bloom-sage);border-radius:var(--radius-sm);padding:var(--space-4);max-width:var(--measure)}.reassure p{font-size:var(--fs-body);margin:0}.detail-list{margin-top:var(--space-5);display:grid;gap:var(--space-4)}.detail{display:grid;gap:var(--space-2);grid-template-columns:1fr;padding-bottom:var(--space-4);border-bottom:1px solid var(--color-hairline)}.detail:last-child{border-bottom:0;padding-bottom:0}@media (min-width:800px){.detail{grid-template-columns:.9fr 2fr;gap:var(--space-5)}}.detail h3{font-size:var(--fs-h4);font-family:var(--font-body);font-weight:600}.detail p{margin:0;max-width:56ch}.where-grid{display:grid;gap:var(--space-3);grid-template-columns:1fr}@media (min-width:800px){.where-grid{grid-template-columns:repeat(3,1fr);gap:var(--space-4)}}.where-card{background:var(--bloom-white);border-radius:var(--radius-md);padding:var(--space-5);box-shadow:var(--shadow-card);display:flex;flex-direction:column;gap:var(--space-2)}.where-card h3{font-size:var(--fs-h4);font-family:var(--font-body);font-weight:600}.where-card p{font-size:var(--fs-small);margin:0}.where-card .link-arrow{margin-top:auto;padding-top:var(--space-3);font-size:var(--fs-small)}.signpost{display:grid;gap:var(--space-4);grid-template-columns:1fr;align-items:center}@media (min-width:900px){.signpost{grid-template-columns:1.4fr .6fr;gap:var(--space-6)}}.signpost h2{font-size:var(--fs-h3)}.signpost p{margin-top:var(--space-3);max-width:60ch}.routes{display:grid;gap:var(--space-3);grid-template-columns:1fr}@media (min-width:800px){.routes{grid-template-columns:repeat(3,1fr);gap:var(--space-4)}}.route{background:var(--bloom-white);border-radius:var(--radius-md);padding:var(--space-5);box-shadow:var(--shadow-card);display:flex;flex-direction:column;gap:var(--space-2)}.route h3{font-size:var(--fs-h4);font-family:var(--font-body);font-weight:600}.route p{font-size:var(--fs-small);margin:0}.route .link-arrow{margin-top:auto;padding-top:var(--space-3);font-size:var(--fs-small)}@media (max-width:699px){.page-hero{padding-block:var(--space-4) var(--space-6)}.page-hero__grid{gap:var(--space-4)}.page-hero__media{aspect-ratio:3/2}.page-hero__lead{margin-top:var(--space-3)}.page-hero__actions{margin-top:var(--space-4)}.notice-card,.where-card,.route{padding:var(--space-4)}.detail-list{gap:var(--space-3);margin-top:var(--space-4)}.detail{padding-bottom:var(--space-3)}.reassure{margin-top:var(--space-4);padding:var(--space-3)}}@media (min-width:800px){.where-grid--2{grid-template-columns:repeat(2,1fr)}}.scope-note{max-width:var(--measure);background:var(--bloom-white);border-radius:var(--radius-md);padding:var(--space-5);box-shadow:var(--shadow-card)}.scope-note h3{font-size:var(--fs-h4);font-family:var(--font-body);font-weight:600;margin-bottom:var(--space-2)}.scope-note p{font-size:var(--fs-body);margin:0}@media (max-width:699px){.scope-note{padding:var(--space-4)}}.programmes{display:grid;gap:var(--space-4);grid-template-columns:1fr;margin-top:var(--space-5)}@media (min-width:640px){.programmes{grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.programmes{grid-template-columns:repeat(3,1fr)}}.pcard{display:flex;flex-direction:column;background:var(--bloom-white);border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-card);height:100%;transition:transform var(--transition),box-shadow var(--transition)}.pcard:hover{transform:translateY(-3px);box-shadow:var(--shadow-card-hover)}.pcard__media{position:relative;aspect-ratio:3/2;background:linear-gradient(160deg,#e6dfce,#cfc8b6);display:grid;place-items:center;color:var(--bloom-ink);font-size:var(--fs-small);text-align:center;padding:var(--space-3)}.pcard__status{position:absolute;top:var(--space-3);left:var(--space-3);font-size:.75rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:.3rem .7rem;border-radius:var(--radius-pill)}.status--booking{background:var(--bloom-sage);color:var(--bloom-ink)}.status--soon{background:var(--bloom-cream);color:var(--bloom-ink)}.status--interest{background:transparent;color:var(--bloom-ink);border:1.5px solid var(--bloom-ink)}.status--full{background:var(--bloom-slate);color:var(--bloom-cream)}.pcard__body{padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-2);flex:1}.pcard__title{font-family:var(--font-display);font-style:italic;font-size:var(--fs-h3);line-height:1.2}.pcard__desc{font-size:var(--fs-small);margin:0}.pcard__meta{list-style:none;margin:var(--space-2) 0 0;padding:0;font-size:var(--fs-small);border-top:1px solid var(--color-hairline);padding-top:var(--space-3)}.pcard__meta li{display:flex;gap:.5rem;margin-bottom:.4rem;line-height:1.45}.pcard__meta li:last-child{margin-bottom:0}.pcard__meta dt{flex:none;font-weight:600;min-width:5.5rem}.pcard__cta{margin-top:auto;padding-top:var(--space-4)}.pcard__cta .btn{width:100%}.empty-state{background:var(--bloom-white);border-radius:var(--radius-md);box-shadow:var(--shadow-card);padding:var(--space-6) var(--space-5);text-align:center;max-width:64ch;margin:var(--space-5) auto 0}.empty-state p{margin:0 auto;max-width:52ch}.empty-state .btn{margin-top:var(--space-4)}.closing{background:var(--bloom-white);border-radius:var(--radius-md);box-shadow:var(--shadow-card);padding:var(--space-5);display:grid;gap:var(--space-4);align-items:center;grid-template-columns:1fr}@media (min-width:800px){.closing{grid-template-columns:1.6fr .8fr;gap:var(--space-6);padding:var(--space-6)}}.closing h2{font-size:var(--fs-h3)}.closing p{margin-top:var(--space-2);max-width:56ch}.preview-bar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3);margin-top:var(--space-4);padding:var(--space-3) var(--space-4);border:1px dashed rgba(84,87,76,.5);border-radius:var(--radius-sm);font-size:var(--fs-small)}.preview-bar strong{font-size:.6875rem;letter-spacing:.06em;text-transform:uppercase}.preview-bar button{font:inherit;font-weight:600;cursor:pointer;background:transparent;border:1.5px solid var(--bloom-slate);color:var(--bloom-ink);border-radius:var(--radius-pill);padding:.4rem 1rem}.preview-bar button:hover{background:#54574c14}@media (max-width:699px){.programmes{gap:var(--space-3);margin-top:var(--space-4)}.empty-state{padding:var(--space-5) var(--space-4)}.closing{padding:var(--space-4)}}
