:root{--th-ink:#301b21;--th-burgundy:#702e41;--th-cream:#fbf8f2;--th-gold:#efce93;--th-muted:#68575b}
.th-wrap{width:min(1200px,calc(100% - 64px));margin-inline:auto}
.th-eyebrow{font:600 11px/1.5 var(--font-body--family);letter-spacing:.16em;margin:0 0 14px}
.th-navigation{background:#321923;color:#f5e7de;border-top:1px solid #71525d}
.th-navigation .th-wrap{display:flex;align-items:center;gap:32px;min-height:49px;overflow-x:auto;scrollbar-width:thin}
.th-navigation a{flex-shrink:0;color:inherit;text-decoration:none;font-size:12px;padding:15px 0}
.th-navigation a:last-child{margin-left:auto;color:var(--th-gold)}
.th-hero{background:var(--th-burgundy);color:#fff9f1;padding:64px 0}
.th-hero__grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.th-hero__copy{padding-block:24px}
.th-hero .th-eyebrow{color:var(--th-gold)}
.th-hero h1{font-size:clamp(40px,4.6vw,66px);line-height:1.06;letter-spacing:-.05em;color:inherit;margin:0 0 26px;max-width:12ch;font-weight:700}
.th-hero__intro{font-size:18px;line-height:1.65;max-width:36ch;color:#f3e3e1;margin-bottom:30px}
.th-button{display:inline-flex;justify-content:space-between;align-items:center;gap:32px;min-height:52px;padding:15px 22px;border:1px solid var(--th-gold);border-radius:3px;background:var(--th-gold);color:#321923;text-decoration:none;font-size:14px;font-weight:650}
.th-button:hover{background:#ffe5b6;color:#321923}
.th-hero__note{font-size:12px;line-height:1.6;color:#e7c7c9;margin-top:18px}
.th-feature{display:block;text-decoration:none;background:var(--th-cream);color:var(--th-ink);border-radius:4px;overflow:hidden;box-shadow:0 15px 40px #2e101735}
.th-feature__image{height:340px;background:#fff;overflow:hidden;display:flex;align-items:center;justify-content:center}
.th-feature__image img{width:100%;height:100%;object-fit:cover}
.th-feature__caption{display:flex;gap:18px;justify-content:space-between;align-items:center;padding:25px 28px}
.th-feature__caption .th-eyebrow{color:var(--th-burgundy);font-size:9px;margin-bottom:7px}
.th-feature h2{font-size:24px;letter-spacing:-.03em;margin:0 0 8px;color:var(--th-ink)}
.th-feature p:not(.th-eyebrow){font-size:13px;line-height:1.6;margin:0;color:var(--th-muted)}
.th-feature__price{font-size:17px;font-weight:650;white-space:nowrap;align-self:flex-end}
.th-promise{background:#eee5d7;color:#593f42;border-bottom:1px solid #dfd0bf}
.th-promise__inner{display:flex;justify-content:space-around;gap:20px;padding-block:19px;font-size:12px;line-height:1.5}
.th-promise__inner span::before{content:'✦';color:#895b2c;font-size:11px;margin-right:12px}
.th-catalogue{padding-bottom:76px}
.th-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;padding:64px 0 28px;scroll-margin-top:100px}
.th-section-heading .th-eyebrow{color:#875231;margin-bottom:9px}
.th-section-heading h2{font-size:clamp(27px,3vw,39px);line-height:1.18;letter-spacing:-.04em;color:var(--th-ink);margin:0;max-width:24ch}
.th-section-heading>p{font-size:14px;line-height:1.6;color:var(--th-muted);margin:0;max-width:29ch}
.th-products{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 24px}
.th-products--two{grid-template-columns:repeat(2,minmax(0,1fr))}
.th-product{display:flex;flex-direction:column;background:#fff;border:1px solid #e3d9cf;border-radius:4px;overflow:hidden;min-width:0}
.th-product__image{position:relative;display:block;aspect-ratio:1.25;background:#fff;overflow:hidden}
.th-product__image img{width:100%;height:100%;object-fit:contain;transition:transform .2s ease}
.th-product__image:hover img{transform:scale(1.025)}
.th-products--two .th-product__image{aspect-ratio:1.7}
.th-product__body{padding:22px;flex:1;display:flex;flex-direction:column;border-top:1px solid #f3ece4}
.th-product h3{font-size:18px;line-height:1.35;letter-spacing:-.02em;margin:0 0 9px;color:var(--th-ink)}
.th-product h3 a{text-decoration:none;color:inherit}
.th-product__summary{font-size:13px;line-height:1.6;color:var(--th-muted);margin:0 0 21px;max-width:42ch}
.th-product__bottom{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto}
.th-product__price{font-size:15px;font-weight:650;color:var(--th-ink)}
.th-product__link{display:inline-flex;gap:14px;align-items:center;min-height:44px;color:var(--th-burgundy);text-decoration:none;font-size:13px;font-weight:650}
.th-sold-out{position:absolute;left:12px;top:12px;background:#fff;padding:5px 10px;font-size:11px}
.th-details{background:#eee5d7;padding-block:62px;color:var(--th-ink);scroll-margin-top:100px}
.th-details__grid{display:grid;grid-template-columns:1fr 1fr;gap:90px}
.th-details h2{font-size:40px;line-height:1.15;letter-spacing:-.04em;margin:0 0 24px;color:var(--th-ink)}
.th-details p:not(.th-eyebrow){font-size:14px;line-height:1.75;max-width:52ch}
.th-details .th-eyebrow{color:#875231}
.th-faq h3{font-size:22px;letter-spacing:-.03em;margin:0 0 18px}
.th-faq details{border-top:1px solid #d0bead;padding:4px 0}
.th-faq details:last-child{border-bottom:1px solid #d0bead}
.th-faq summary{cursor:pointer;font-size:14px;font-weight:600;padding:16px 4px;line-height:1.5}
.th-faq details p{margin:0 4px 18px}
.th-faq a{color:inherit;text-underline-offset:3px;overflow-wrap:anywhere}
.th-footer{background:#321923;color:#f4e7de;padding:56px 0 32px}
.th-footer__grid{display:grid;grid-template-columns:1fr 1fr 1fr 1.4fr;gap:42px}
.th-footer__brand{font-size:26px!important;line-height:1.15!important;font-weight:650;letter-spacing:.01em;text-decoration:none!important;color:#efce93!important}
.th-footer__brand span{font-size:22px;font-style:italic;font-weight:400}
.th-footer h2{font-size:13px;color:#efce93;margin:0 0 18px}
.th-footer p,.th-footer a{font-size:12px;line-height:1.85}
.th-footer p{margin:14px 0;color:#dcc7c9}
.th-footer a{display:block;color:#f4e7de;margin-bottom:7px;text-decoration:none;overflow-wrap:anywhere}
.th-footer a:hover,.th-navigation a:hover,.th-product h3 a:hover{text-decoration:underline;text-underline-offset:4px}
[class^='th-'] a:focus-visible,[class^='th-'] summary:focus-visible{outline:3px solid #b97c2f;outline-offset:4px}
#vouchers,#admissions,#extras{scroll-margin-top:90px}
@media(max-width:999px){.th-wrap{width:calc(100% - 40px)}.th-hero__grid{gap:30px}.th-feature__image{height:270px}.th-feature__caption{padding:20px;display:block}.th-feature__price{display:block;margin-top:16px}.th-products{grid-template-columns:repeat(2,minmax(0,1fr))}.th-details__grid{gap:40px}.th-footer__grid{grid-template-columns:1fr 1fr;gap:35px}.th-navigation .th-wrap{gap:25px}.th-promise__inner{font-size:11px;gap:12px}.th-promise__inner span::before{margin-right:7px}}
@media(max-width:749px){.th-wrap{width:calc(100% - 32px)}.th-navigation .th-wrap{gap:24px;min-height:43px}.th-navigation a{font-size:11px;padding:13px 0}.th-hero{padding:32px 0}.th-hero__grid{grid-template-columns:1fr;gap:24px}.th-hero__copy{padding:0}.th-hero h1{font-size:43px;max-width:12ch;margin-bottom:20px}.th-hero__intro{font-size:16px;max-width:33ch;margin-bottom:22px}.th-button{min-height:50px;padding:13px 20px;font-size:13px}.th-hero__note{margin:14px 0 0}.th-feature__image{height:auto;aspect-ratio:1.6}.th-feature__caption{display:flex;align-items:flex-end;padding:20px}.th-feature__caption h2{font-size:22px}.th-feature__caption p:not(.th-eyebrow){font-size:12px}.th-feature__price{font-size:15px;white-space:normal;max-width:96px;text-align:right}.th-promise__inner{display:grid;grid-template-columns:1fr;gap:7px;padding-block:15px;font-size:12px}.th-section-heading{display:block;padding-top:40px;padding-bottom:22px}.th-section-heading>p{max-width:100%;margin-top:14px;font-size:13px}.th-section-heading h2{font-size:29px;max-width:20ch}.th-products{gap:20px;grid-template-columns:1fr}.th-products--two{grid-template-columns:1fr}.th-product__image,.th-products--two .th-product__image{aspect-ratio:1.6}.th-product__body{padding:20px}.th-product h3{font-size:19px}.th-product__summary{font-size:14px;margin-bottom:14px}.th-product__price{font-size:17px}.th-catalogue{padding-bottom:40px}.th-details{padding:40px 0}.th-details__grid{grid-template-columns:1fr;gap:28px}.th-details h2{font-size:33px}.th-footer{padding-top:36px}.th-footer__grid{grid-template-columns:1fr 1fr;gap:28px 18px}.th-footer__grid>div:last-child{grid-column:1/-1}.th-footer p,.th-footer a{font-size:12px}.th-eyebrow{font-size:10px}}
@media(prefers-reduced-motion:reduce){.th-product__image img{transition:none}}

.townhall-handwritten-card-message{display:grid;gap:8px;margin:18px 0;color:var(--th-ink)}
.townhall-handwritten-card-message label{font-weight:650;line-height:1.4}
.townhall-handwritten-card-message textarea{width:100%;min-height:112px;padding:13px 14px;border:1px solid #cdbda8;border-radius:2px;background:#fff;color:inherit;font:inherit;resize:vertical}
.townhall-handwritten-card-message textarea:focus{outline:2px solid var(--th-burgundy);outline-offset:2px}
.townhall-handwritten-card-message p{margin:0;color:var(--th-muted);font-size:12px;line-height:1.5}

/* Boutique cinema refinement — private draft, 21 September 2026. */
:root{--th-display:"Baskerville","Iowan Old Style","Palatino Linotype",Georgia,serif;--th-burgundy:#18174B;--th-gold:#e5c58c;--th-ink:#352129;--th-cream:#faf6ed}
.th-navigation{background:#18174B;border-top:1px solid #e5c58c26;border-bottom:1px solid #e5c58c36}
.th-navigation a{letter-spacing:.035em}
.th-hero{position:relative;isolation:isolate;padding:76px 0 80px;background:radial-gradient(ellipse at 75% 35%,#554B9A55,transparent 55%),radial-gradient(ellipse at 12% 100%,#37296855,transparent 65%),linear-gradient(115deg,#0F1036,#18174B 56%,#090B2B);border-bottom:1px solid #c5a36c}
.th-hero::before{content:"";position:absolute;inset:18px;border:1px solid #e5c58c38;pointer-events:none;z-index:-1}
.th-hero::after{content:"";position:absolute;inset:24px;border-top:1px solid #e5c58c20;border-bottom:1px solid #e5c58c20;pointer-events:none;z-index:-1}
.th-hero__grid{gap:64px;grid-template-columns:1.05fr 1fr}
.th-hero__copy{padding-block:20px}
.th-hero .th-eyebrow{font-size:10px;letter-spacing:.22em;display:flex;align-items:center;gap:14px;margin-bottom:28px}
.th-hero .th-eyebrow::before{content:"";width:30px;height:1px;background:var(--th-gold);flex-shrink:0}
.th-hero h1{font-family:var(--th-display);font-weight:400;font-size:clamp(48px,5.3vw,78px);line-height:1.04;letter-spacing:-.035em;max-width:15ch;margin-bottom:28px;text-wrap:balance}
.th-hero h1 em{font-weight:400;color:#eed4a4}
.th-hero__intro{font-size:16px;line-height:1.8;color:#e6d5d4;max-width:35ch;margin-bottom:30px}
.th-hero__note{color:#cfb8b8;font-size:11px;letter-spacing:.035em}
.th-button{border-radius:0;background:#e5c58c;color:#10112F;font-weight:500;font-size:13px;letter-spacing:.04em;box-shadow:inset 0 0 0 3px #e5c58c,inset 0 0 0 4px #56352345;min-height:54px;transition:background .2s ease}
.th-feature{position:relative;border:1px solid #d2b37980;border-radius:2px;box-shadow:0 24px 65px #0e06094d,0 0 0 7px #e5c58c08;transition:transform .25s ease}
.th-feature:hover{transform:translateY(-3px)}
.th-feature__image{height:320px}
.th-feature__caption{padding:25px 28px;background:linear-gradient(120deg,#fcf9f2,#eee4d4);border-top:1px solid #d2b37955}
.th-feature__caption .th-eyebrow{letter-spacing:.17em}
.th-feature h2{font-family:var(--th-display);font-weight:400;font-size:32px;letter-spacing:-.015em}
.th-feature__price{font-size:15px;font-weight:500}
.th-promise{background:#eae0cf;border-bottom:1px solid #c6af8f66}
.th-promise__inner{letter-spacing:.035em;font-size:11px;padding-block:20px}
.th-section-heading{padding-top:70px}
.th-section-heading h2,.th-details h2{font-family:var(--th-display);font-weight:400;font-size:clamp(36px,3.7vw,50px);line-height:1.12;letter-spacing:-.025em}
.th-section-heading .th-eyebrow{font-size:10px;letter-spacing:.2em;margin-bottom:15px}
.th-product{border-radius:1px;border-color:#d9c9b1;box-shadow:0 5px 18px #35212905}
.th-product__body{background:#faf6ed;border-top:1px solid #dfd1ba;padding:25px}
.th-product h3{font-family:var(--th-display);font-size:27px;line-height:1.15;font-weight:400;letter-spacing:-.015em}
.th-product__link{font-weight:500;letter-spacing:.025em}
.th-details{background:linear-gradient(110deg,#eee3d2,#e5d5c1);border-top:1px solid #c5a36c66}
.th-faq h3{font-family:var(--th-display);font-size:30px;font-weight:400}
.th-footer{background:#10112F;border-top:1px solid #c5a36c66}
.th-footer__brand{font-family:var(--th-display);font-weight:400}
@media(max-width:999px){.th-hero__grid{gap:32px}.th-feature__image{height:270px}.th-feature__caption{padding:22px}.th-hero h1{font-size:59px}}
@media(max-width:749px){.th-hero{padding:46px 0 40px}.th-hero::before{inset:10px}.th-hero::after{inset:15px}.th-hero .th-wrap{width:calc(100% - 48px)}.th-hero__grid{grid-template-columns:1fr;gap:32px}.th-hero__copy{padding:0}.th-hero .th-eyebrow{font-size:9px;letter-spacing:.16em;margin-bottom:22px;gap:10px}.th-hero .th-eyebrow::before{width:20px}.th-hero h1{font-size:clamp(43px,11.5vw,65px);line-height:1.06;margin-bottom:23px;max-width:15ch}.th-hero__intro{font-size:15px;margin-bottom:24px}.th-feature__image{height:auto;aspect-ratio:1.6}.th-feature__caption{padding:18px;gap:12px}.th-feature__caption h2{font-size:27px}.th-feature__price{font-size:14px;max-width:95px}.th-section-heading{padding-top:44px}.th-section-heading h2,.th-details h2{font-size:37px}.th-product h3{font-size:27px}.th-promise__inner{font-size:11px;gap:10px}.th-promise__inner span::before{margin-right:12px}}
@media(prefers-reduced-motion:reduce){.th-feature,.th-button{transition:none}.th-feature:hover{transform:none}}

/* Keep the original voucher pixels; mask only its photographic backdrop. */
.th-feature{background:#18174B}#header-component,#header-component .header__row{background:#18174B!important}
.th-feature__image{background:transparent;overflow:visible;filter:drop-shadow(0 12px 10px #13081066)}
.th-feature__image img{width:100%;height:auto;aspect-ratio:1;object-fit:contain;flex-shrink:0;mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1254 1254'%3E%3Cpath fill='white' d='M112 348H1142Q1142 419 1212 420V458C1193 462 1193 486 1212 492V512C1193 517 1193 539 1212 545V566C1193 571 1193 593 1212 599V618C1193 623 1193 646 1212 651V671C1193 676 1193 699 1212 704V724C1193 729 1193 752 1212 757V778C1193 783 1193 802 1212 808V832Q1142 832 1142 896H112Q112 832 42 832V808C61 802 61 781 42 776V755C61 750 61 728 42 723V702C61 697 61 675 42 670V650C61 645 61 623 42 617V597C61 592 61 570 42 565V544C61 539 61 517 42 512V492C61 487 61 464 42 459V420Q112 420 112 348Z'/%3E%3C/svg%3E");mask-size:100% 100%;mask-repeat:no-repeat}
@media(max-width:749px){.th-feature__image{aspect-ratio:1.75}}
.th-feature__image{position:relative}
.th-feature__image img{position:absolute;left:0;top:50%;transform:translateY(-50%)}

/* 27 September: a compact, voucher-led Town Hall homepage. */
.th-hero{padding:54px 0 56px}
.th-hero__grid{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);grid-template-rows:auto auto;column-gap:clamp(36px,5vw,72px);row-gap:0;align-items:center}
.th-hero__copy{grid-column:1;grid-row:1;padding:0;align-self:end}
.th-hero .th-eyebrow{margin-bottom:18px}
.th-hero h1{font-size:clamp(42px,4.3vw,64px);font-weight:400;line-height:1.07;margin:0;max-width:15ch}
.th-hero h1 em{display:block;font-weight:400}
.th-hero__visual{grid-column:2;grid-row:1/3;align-self:center;min-width:0;margin:0}
.th-hero__visual img{display:block;width:100%;height:auto;max-height:430px;object-fit:contain;filter:drop-shadow(0 22px 20px #16071066)}
.th-hero__visual figcaption{margin:4px 0 0;color:#efd4a4;font-size:10px;font-weight:600;line-height:1.4;letter-spacing:.08em;text-align:center;text-transform:uppercase}
.th-hero__actions{grid-column:1;grid-row:2;align-self:start;margin-top:26px}
.th-hero__actions .th-button{min-width:210px}
.th-hero__note{font-size:12px;line-height:1.5;margin:12px 0 0;max-width:38ch}
.th-catalogue>.th-section-heading:first-child{padding-top:40px}
.th-section-heading{padding-top:48px;padding-bottom:22px}
.th-product__bottom{border-top:1px solid #dccdb8;padding-top:11px;margin-top:0}
.th-product__summary{margin-bottom:12px}
@media(max-width:749px){
  .th-hero{padding:22px 0 24px}
  .th-hero::before{inset:8px}
  .th-hero::after{display:none}
  .th-hero .th-wrap{width:calc(100% - 32px)}
  .th-hero__grid{display:flex;flex-direction:column;align-items:stretch;gap:0}
  .th-hero__copy{align-self:auto}
  .th-hero .th-eyebrow{font-size:9px;letter-spacing:.15em;margin-bottom:12px}
  .th-hero h1{font-size:clamp(33px,8.7vw,38px);line-height:1.05;max-width:18ch}
  .th-hero__visual{align-self:auto;margin-top:6px}
  .th-hero__visual img{max-height:195px}
  .th-hero__visual figcaption{font-size:9px;letter-spacing:.05em;margin-top:1px}
  .th-hero__actions{align-self:auto;margin-top:11px}
  .th-hero__actions .th-button{min-height:44px;min-width:0;padding:10px 15px}
  .th-hero__note{font-size:11px;margin-top:7px}
  .th-promise{display:none}
  .th-catalogue>.th-section-heading:first-child{padding-top:28px}
  .th-section-heading{padding-top:34px;padding-bottom:16px}
  .th-section-heading h2{font-size:30px}
  .th-products,.th-products--two{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 12px}
  .th-product{align-self:start}
  .th-product__image,.th-products--two .th-product__image{aspect-ratio:1.08}
  .th-product__body{padding:12px;flex:0}
  .th-product h3{font-size:19px;line-height:1.15;margin-bottom:7px}
  .th-product__summary{font-size:11px;line-height:1.4;margin-bottom:10px}
  .th-product__price{font-size:12px}
  .th-product__link{min-height:30px;font-size:11px;gap:5px}
  .th-product__bottom{gap:5px;padding-top:8px}
}
