/* Homepage 2026. Loaded on the redesigned homepage and in its block previews. */
.ts-homepage { --ts-unit:min(1vw,14.4px); --ts-navy:#04335f; --ts-purple:#662483; --ts-lime:#9ac137; margin:0; padding:0; color:var(--ts-navy); font-family:"massilia",Arial,sans-serif; }
.ts-homepage *, .ts-section * { box-sizing:border-box; }
.ts-main { margin:0; }
.ts-section { --ts-unit:min(1vw,14.4px); --ts-navy:#04335f; --ts-purple:#662483; --ts-lime:#9ac137; position:relative; width:100%; overflow:hidden; font-family:"massilia",Arial,sans-serif; color:var(--ts-navy); }
.ts-section img { display:block; max-width:100%; height:auto; }
.ts-section h1,.ts-section h2,.ts-section h3 { font-weight:900; line-height:1.04; margin:0; }
.ts-section p { margin:0 0 1.1em; }
.ts-section a { text-decoration:none; color:inherit; }
.ts-heading { font-size:clamp(34px,calc(var(--ts-unit) * 5.7),98px); line-height:1.05; text-align:center; text-transform:uppercase; }
.ts-visually-hidden,.ts-skip-link:not(:focus) { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }
.ts-homepage a:focus-visible,.ts-homepage button:focus-visible,.ts-mail__bubble:focus-visible { outline:3px solid #009fe3; outline-offset:6px; }
.ts-skip-link:focus { position:fixed; left:15px; top:15px; background:#fff; padding:12px 20px; z-index:100; }
.ts-top-bar { background:#f49800; color:#fff; font-family:"massilia",Arial,sans-serif; font-weight:900; font-size:20px; line-height:22px; letter-spacing:2px; padding:10px 4%; }
.ts-top-bar:hover,.ts-top-bar:focus { color:#fff; }
.ts-top-bar:focus-visible { outline:3px solid #04335f; outline-offset:-3px; }
.ts-header { --ts-unit:min(1vw,14.4px); min-height:clamp(100px,calc(var(--ts-unit) * 14.1),245px); display:flex; align-items:center; justify-content:space-between; gap:35px; padding:30px clamp(24px,calc(var(--ts-unit) * 4.5),78px); position:relative; z-index:20; background:#fff; font-family:"massilia",Arial,sans-serif; }
.ts-header__logo img { display:block; width:clamp(105px,calc(var(--ts-unit) * 15),240px); height:auto; }
.ts-navigation ul { display:flex; align-items:center; gap:clamp(18px,calc(var(--ts-unit) * 2.5),44px); list-style:none; margin:0; padding:0; }
.ts-navigation a { font-size:clamp(13px,calc(var(--ts-unit) * 1.6),25px); line-height:1.2; font-weight:700; text-transform:uppercase; text-decoration:none; color:#04335f; }
.ts-navigation a:hover,.ts-navigation .current-menu-item>a,.ts-navigation .current-menu-parent>a,.ts-navigation .current-menu-ancestor>a { color:#009fe3; }
.ts-menu-toggle { display:none; }
.ts-hero { height:calc(var(--ts-unit) * 58.97); background:var(--ts-lime); isolation:isolate; }
.ts-hero__shape { position:absolute; background:var(--ts-navy); z-index:-1; border-radius:44% 56% 46% 54% / 55% 47% 53% 45%; }
.ts-hero__shape--left { width:78%; height:150%; left:-29%; top:-92%; transform:rotate(43deg); }
.ts-hero__shape--right { width:68%; height:120%; right:-23%; bottom:-62%; transform:rotate(-20deg); }
.ts-hero__layer { position:absolute; transform:translate3d(var(--ts-motion-x,0px),var(--ts-motion-y,0px),0); }
.ts-hero[data-ts-motion="parallax"]:not(.ts-hero--paused) .ts-hero__layer { will-change:transform; }
.ts-hero[data-ts-motion="float"]:not(.ts-hero--paused) .ts-hero__float { will-change:transform; }
.ts-hero__float { --ts-float:10px; }
.ts-hero[data-ts-motion="float"] .ts-hero__float { animation:ts-hero-float 5.8s cubic-bezier(.45,0,.55,1) infinite; }
.ts-hero[data-ts-motion="float"] .ts-hero__layer--1 .ts-hero__float { --ts-float:12px; animation-delay:-2.9s; }
.ts-hero[data-ts-motion="float"] .ts-hero__layer--2 .ts-hero__float { --ts-float:8px; animation-delay:-1.45s; }
.ts-hero[data-ts-motion="float"] .ts-hero__layer--3 .ts-hero__float { --ts-float:11px; animation-delay:-4.35s; }
.ts-hero[data-ts-motion="float"] .ts-hero__layer--4 .ts-hero__float { --ts-float:7px; animation-delay:-2.9s; }
.ts-hero[data-ts-motion="float"] .ts-hero__layer--5 .ts-hero__float { --ts-float:7px; animation-delay:-1.45s; }
.ts-hero[data-ts-motion="float"].ts-hero--paused .ts-hero__float { animation-play-state:paused; }
@keyframes ts-hero-float {
  0%,100% { transform:translate3d(0,calc(var(--ts-float) * -1),0); }
  50% { transform:translate3d(0,var(--ts-float),0); }
}
.ts-hero__layer img { width:100%; max-height:100%; object-fit:contain; }
.ts-hero__layer--0 { width:34%; top:10%; left:47%; }
.ts-hero__layer--0 img { transform:rotate(31.7deg) scaleX(-1); }
.ts-hero__layer--1 { width:17%; left:12%; top:9%; }
.ts-hero__layer--1 img { transform:rotate(15deg); }
.ts-hero__layer--2 { width:19%; left:11%; top:64%; }
.ts-hero__layer--2 img { transform:rotate(-8deg); }
.ts-hero__layer--3 { width:21%; left:35%; top:78%; }
.ts-hero__layer--4 { width:15.3%; left:36.5%; top:55%; }
.ts-hero__layer--4 img { transform:rotate(-4deg); }
.ts-hero__layer--5 { width:14.1%; left:5.6%; top:20%; }
.ts-hero__layer--5 img { transform:rotate(4deg); }
.ts-hero__title { position:absolute; color:#fff; right:3%; bottom:13%; width:38%; text-align:center; text-transform:uppercase; transform:rotate(-3deg); }
.ts-hero__title span { display:block; font-size:clamp(20px,calc(var(--ts-unit) * 3.5),60px); line-height:1.08; white-space:nowrap; }
.ts-hero__title strong { display:block; font-size:clamp(48px,calc(var(--ts-unit) * 8.7),150px); line-height:1; font-weight:900; }
.ts-showcase { padding:clamp(40px,calc(var(--ts-unit) * 6.5),112px) 3.8% clamp(45px,calc(var(--ts-unit) * 5),86px); background:var(--ts-purple); color:#fff; }
.ts-showcase__grid { display:grid; grid-template-columns:repeat(var(--ts-columns,4),minmax(0,1fr)); align-items:start; gap:1.4%; margin-top:clamp(30px,calc(var(--ts-unit) * 6),104px); }
.ts-product-card { display:block; text-align:center; min-width:0; }
.ts-product-card__art { position:relative; aspect-ratio:0.85; isolation:isolate; }
.ts-product-card__blob { position:absolute; inset:0; height:100%!important; width:100%; object-fit:fill; z-index:-1; }
.ts-product-card__pack { height:82%!important; width:72%; object-fit:contain; position:absolute; top:9%; left:14%; transition:transform .32s cubic-bezier(.2,.7,.25,1); filter:drop-shadow(0 5px 3px #0002); }
.ts-product-card:hover .ts-product-card__pack,.ts-product-card:focus-visible .ts-product-card__pack { transform:scale(1.075); }
.ts-product-card__label { padding-top:clamp(16px,calc(var(--ts-unit) * 2),35px); max-width:95%; margin:auto; }
.ts-product-card__label span { display:block; font-size:clamp(13px,calc(var(--ts-unit) * 1.8),31px); line-height:1.2; font-weight:600; margin-bottom:6px; }
.ts-product-card__label h3 { font-size:clamp(17px,calc(var(--ts-unit) * 2.25),39px); line-height:1.1; text-wrap:balance; }
.ts-showcase--favourites { padding-bottom:clamp(65px,calc(var(--ts-unit) * 13),224px); }
.ts-showcase--favourites .ts-showcase__grid { margin-top:clamp(40px,calc(var(--ts-unit) * 11),190px); gap:2%; }
.ts-features { background:var(--ts-lime); padding:clamp(45px,calc(var(--ts-unit) * 5.4),94px) 5% clamp(30px,calc(var(--ts-unit) * 5),86px); }
.ts-features__crisp { width:42%; max-height:440px; object-fit:contain; margin:clamp(30px,calc(var(--ts-unit) * 5),86px) auto 0; }
.ts-features__list { display:grid; grid-template-columns:repeat(4,1fr); gap:4%; margin:clamp(25px,calc(var(--ts-unit) * 5),86px) 0 0; padding:0; list-style:none; text-align:center; }
.ts-features__list img { width:80%; max-width:260px; aspect-ratio:1; object-fit:contain; margin:auto; }
.ts-features__list h3 { width:min-content; font-size:clamp(12px,calc(var(--ts-unit) * 1.7),29px); line-height:1.2; margin-top:clamp(15px,calc(var(--ts-unit) * 2.8),48px); text-transform:uppercase; }
.ts-ranges { background:var(--ts-navy); padding:32px 24px; }
.ts-ranges__grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.ts-range { background:var(--ts-range-colour); display:flex; flex-direction:column; text-align:center; color:#fff!important; }
.ts-range__art { position:relative; overflow:hidden; }
.ts-range__image { width:100%; aspect-ratio:.62; object-fit:cover; transition:transform .5s ease; }
.ts-range:hover .ts-range__image,.ts-range:focus-visible .ts-range__image { transform:scale(1.025); }
.ts-range__title { position:absolute; top:3.5%; left:25%; width:50%; padding:7% 8%; font-size:clamp(16px,calc(var(--ts-unit) * 2.2),38px); background:var(--ts-navy); border-radius:45% 55% 47% 53% / 47% 49% 51% 53%; }
.ts-range p { padding:5% 10%; margin:0; font-size:clamp(14px,calc(var(--ts-unit) * 1.65),28px); line-height:1.23; font-weight:400; }
.ts-james { background:#5daefb; min-height:min(calc(var(--ts-unit) * 64.64),1117px); display:grid; grid-template-columns:1fr 1fr; isolation:isolate; }
.ts-james__shape { position:absolute; z-index:-1; background:var(--ts-navy); border-radius:47% 53% 50% 50%; }
.ts-james__shape--top { width:64%; height:100%; right:-22%; top:-24%; transform:rotate(-35deg); }
.ts-james__shape--bottom { width:80%; height:125%; left:-39%; bottom:-97%; transform:rotate(-35deg); }
.ts-james__copy { padding:8% 4% 8% 14%; font-size:clamp(16px,calc(var(--ts-unit) * 1.55),27px); line-height:1.3; color:#fff; z-index:1; }
.ts-james__copy h2 { color:var(--ts-navy); font-size:clamp(38px,calc(var(--ts-unit) * 5.5),95px); margin-bottom:.55em; }
.ts-james__copy p { margin-bottom:1.3em; }
.ts-james__image { align-self:end; justify-self:center; width:92%; max-height:96%; object-fit:contain; object-position:bottom; }
.ts-popcorn-intro { background:#f2b8f7; padding:5.5% 6.8% 4%; isolation:isolate; }
.ts-popcorn-intro:before,.ts-pop-panel:before { content:""; position:absolute; inset:0; z-index:-1; background-image:var(--ts-popcorn-pattern,none); background-position:center; background-size:cover; opacity:.58; }
.ts-popcorn-intro__copy { max-width:48%; font-size:clamp(16px,calc(var(--ts-unit) * 1.65),28px); line-height:1.2; }
.ts-popcorn-intro__copy h2 { font-size:clamp(38px,calc(var(--ts-unit) * 5.7),99px); white-space:nowrap; }
.ts-popcorn-intro__copy h3 { font-size:clamp(24px,calc(var(--ts-unit) * 3.6),62px); margin:8px 0 18px; }
.ts-popcorn-intro__packs { display:grid; grid-template-columns:repeat(4,1fr); gap:2%; margin-top:6%; align-items:end; }
.ts-popcorn-intro__packs img { width:100%; height:100%; max-height:460px; object-fit:contain; transition:transform .3s ease; }
.ts-popcorn-intro__packs a:hover img,.ts-popcorn-intro__packs a:focus-visible img { transform:translateY(-8px); }
.ts-pop-panels>.ts-heading { background:#19365c; color:#fff; padding:4.7% 3%; }
.ts-pop-mark { --ts-pop-rise:12px; --ts-pop-drift:5px; --ts-pop-turn:18deg; display:inline-block; width:.65em; height:.65em; vertical-align:middle; margin-left:.15em; }
.ts-pop-mark img { width:100%; height:100%; object-fit:contain; }
.ts-pop-panels__grid { display:grid; grid-template-columns:1fr 1fr; }
.ts-pop-panel { position:relative; display:flex; flex-direction:column; align-items:center; padding:5% 4% 4%; min-height:min(calc(var(--ts-unit) * 63),1082px); isolation:isolate; }
.ts-pop-panel--classics { background:#a5cefa; }
.ts-pop-panel--indulgent { background:#d49a1f; color:#fff!important; flex-direction:column-reverse; }
.ts-pop-panel:before { background-size:auto 100%; opacity:.65; mix-blend-mode:screen; }
.ts-pop-panel h3 { text-align:center; font-size:clamp(38px,calc(var(--ts-unit) * 6.5),112px); text-transform:uppercase; line-height:.98; z-index:2; }
.ts-pop-panel h3 span { display:block; font-size:.56em; font-weight:600; line-height:1.2; }
.ts-pop-panel__packs { position:relative; width:100%; flex:1; min-height:380px; }
.ts-pop-panel__pack { position:absolute; width:57%; max-height:85%; object-fit:contain; transition:transform .4s ease; }
.ts-pop-panel__pack--first { top:6%; left:0; transform:rotate(-10deg); }
.ts-pop-panel__pack--second { top:14%; right:0; transform:rotate(9deg); }
.ts-pop-panel--indulgent .ts-pop-panel__pack--first { top:0; }
.ts-pop-panel--indulgent .ts-pop-panel__pack--second { top:10%; }
.ts-pop-panel:hover .ts-pop-panel__pack--first,.ts-pop-panel:focus-visible .ts-pop-panel__pack--first { transform:rotate(-13deg) translateY(-7px); }
.ts-pop-panel:hover .ts-pop-panel__pack--second,.ts-pop-panel:focus-visible .ts-pop-panel__pack--second { transform:rotate(12deg) translateY(-5px); }
.ts-pop-panels__stage { position:relative; }
.ts-popcorn-effects { position:absolute; inset:0; max-width:1440px; margin-inline:auto; z-index:5; pointer-events:none; }
.ts-pop-panel__pop { --ts-pop-rise:clamp(45px,7vw,100px); --ts-pop-drift:28px; --ts-pop-turn:35deg; position:absolute; width:6%; pointer-events:none; }
.ts-pop-panel__pop img { width:100%; height:auto; display:block; }
.ts-pop-panel__pop--0 { top:4%; left:6%; }
.ts-pop-panel__pop--1 { --ts-pop-drift:-24px; --ts-pop-turn:-28deg; top:39%; left:36%; width:7.5%; }
.ts-pop-panel__pop--2 { --ts-pop-drift:-32px; --ts-pop-turn:-40deg; top:61%; left:40.5%; width:14%; }
.ts-pop-panel__pop--3 { --ts-pop-drift:-18px; top:8%; left:86%; }
.ts-pop-panel__pop--4 { --ts-pop-drift:24px; --ts-pop-turn:45deg; top:43%; left:61%; width:10.5%; }
.ts-pop-mark img,.ts-pop-panel__pop img { animation:ts-popcorn-repeat 4.8s both infinite; animation-play-state:paused; transform-origin:50% 80%; }
.ts-popcorn-effects .ts-pop-panel__pop--0 img { animation-delay:-.8s; }
.ts-popcorn-effects .ts-pop-panel__pop--1 img { animation-delay:-2.4s; }
.ts-popcorn-effects .ts-pop-panel__pop--2 img { animation-delay:-4s; }
.ts-popcorn-effects .ts-pop-panel__pop--3 img { animation-delay:-1.6s; }
.ts-popcorn-effects .ts-pop-panel__pop--4 img { animation-delay:-3.2s; }
.ts-pop-panels.is-animating .ts-pop-mark img,.ts-pop-panels.is-animating .ts-pop-panel__pop img { animation-play-state:running; }
.ts-pop-panels.is-animating .ts-pop-panel__pop img { will-change:transform,opacity; }
@keyframes ts-popcorn-repeat {
  0%,8% { opacity:0; transform:translate(0,18px) rotate(0deg) scale(.15); animation-timing-function:cubic-bezier(.12,.65,.3,1); }
  14% { opacity:1; transform:translate(calc(var(--ts-pop-drift) * .25),calc(var(--ts-pop-rise) * -.6)) rotate(calc(var(--ts-pop-turn) * .2)) scale(1.08); animation-timing-function:ease-out; }
  25% { opacity:1; transform:translate(calc(var(--ts-pop-drift) * .55),calc(var(--ts-pop-rise) * -1)) rotate(calc(var(--ts-pop-turn) * .5)) scale(1); animation-timing-function:cubic-bezier(.55,0,.85,.45); }
  43% { opacity:1; transform:translate(var(--ts-pop-drift),24px) rotate(var(--ts-pop-turn)) scale(.95); animation-timing-function:ease-in; }
  50%,100% { opacity:0; transform:translate(calc(var(--ts-pop-drift) * 1.2),70px) rotate(calc(var(--ts-pop-turn) * 1.3)) scale(.65); }
}
@media (prefers-reduced-motion:reduce) {
 .ts-pop-mark img,.ts-pop-panel__pop img { animation:none!important; opacity:1!important; transform:none!important; }
}
.ts-mail { background:var(--ts-purple); color:#fff; padding:6% 8% 7%; }
.ts-mail__bubbles { position:relative; height:min(calc(var(--ts-unit) * 46),795px); margin-top:5%; }
.ts-mail__bubble { position:absolute; width:25%; height:30%; margin:0; display:grid; place-items:center; color:#fff; background:var(--ts-lime); border-radius:48% 52% 46% 54% / 57% 46% 54% 43%; transition:transform .48s cubic-bezier(.2,.8,.25,1); transform:translate(var(--ts-bubble-x,0px),var(--ts-bubble-y,0px)) scale(var(--ts-bubble-scale,1)); z-index:1; cursor:default; }
.ts-mail__bubble blockquote { margin:0; padding:20%; font-size:clamp(14px,calc(var(--ts-unit) * 1.7),29px); font-weight:700; line-height:1.16; }
.ts-mail__bubble--0 { left:8%; top:2%; transform-origin:top left; }
.ts-mail__bubble--1 { left:42%; top:34%; }
.ts-mail__bubble--2 { right:7%; top:0; transform:translate(var(--ts-bubble-x,0px),var(--ts-bubble-y,0px)) rotate(-7deg) scale(var(--ts-bubble-scale,1)); }
.ts-mail__bubble--3 { left:11%; bottom:3%; }
.ts-mail__bubble--4 { right:3%; bottom:5%; }
.ts-mail__bubble.is-active { --ts-bubble-scale:1.55; z-index:2; }
.ts-retailers { padding:4.8% 4% 5%; background:#fff; text-align:center; }
.ts-retailers p { font-size:clamp(24px,calc(var(--ts-unit) * 3.4),59px); color:var(--ts-navy); font-weight:700; line-height:1.2; margin:1% 0 4%; }
.ts-retailers__logos { gap:clamp(24px,4vw,64px); width:100%; margin:auto; }
.ts-retailers__item { display:flex; justify-content:center; align-items:center; min-width:0; }
.ts-retailers__item a { display:flex; justify-content:center; }
.ts-retailers__item .ts-retailers__logo { display:block; width:auto; max-width:190px; height:auto; max-height:100px; object-fit:contain; }
.ts-retailers__item a:focus-visible { outline:3px solid var(--ts-navy); outline-offset:8px; }
.ts-homepage .block-contact { padding:3% 0 5%; }
.ts-homepage .block-contact .container { max-width:none; width:100%; padding:0 4%; }
.ts-homepage .block-contact h2 { font-size:clamp(28px,calc(var(--ts-unit) * 3.8),66px); line-height:1.08; }
.ts-homepage .block-contact .contact_text { font-size:clamp(16px,calc(var(--ts-unit) * 1.65),28px); line-height:1.3; padding-right:3%; }
.ts-homepage .block-contact .contact_form { padding-left:3%; }
.ts-homepage .block-contact .gform_wrapper .gfield input,.ts-homepage .block-contact .gform_wrapper .gfield textarea { border-radius:0; }
.ts-homepage .block-contact .gform_wrapper .gfield textarea { height:250px; }
.ts-homepage .block-contact .gform_wrapper .gfield_label { font-weight:400!important; }
.ts-footer { background:#19365c; color:#fff; padding:5% 4% 0; font-size:clamp(12px,calc(var(--ts-unit) * 1.2),20px); text-align:center; overflow:hidden; }
.ts-footer__brand>img { width:clamp(140px,calc(var(--ts-unit) * 18),300px); height:auto; margin:auto; display:block; }
.ts-footer__brand p { margin:15px 0 35px; font-weight:600; }
.ts-footer nav ul { display:flex; flex-wrap:wrap; justify-content:center; gap:15px 24px; list-style:none; padding:0; margin:0 auto 5%; }
.ts-footer a { color:#fff; text-decoration:none; }
.ts-footer a:hover { text-decoration:underline; }
.ts-footer__bottom { display:grid; grid-template-columns:1fr 2fr 1fr; align-items:end; gap:25px; }
.ts-footer__social { display:flex; gap:20px; flex-wrap:wrap; padding-bottom:35px; text-align:left; }
.ts-footer__social a { min-width:26px; font-size:20px; }
.ts-footer__packs { width:100%; max-height:350px; object-fit:contain; object-position:bottom; display:block; margin:auto; }
.ts-footer__legal { display:flex; flex-direction:column; gap:6px; align-items:end; padding-bottom:35px; }
.ts-footer__legal small { font-size:inherit; }
@media (max-width:900px) {
 .ts-header { min-height:110px; padding:20px 6%; gap:20px; }
 .ts-top-bar { font-size:16px; }
 .ts-header__logo img { width:120px; }
 .ts-menu-toggle { display:flex; gap:12px; align-items:center; padding:12px 0 12px 15px; border:0; color:#04335f; background:transparent; font:700 16px "massilia",Arial,sans-serif; }
 .ts-menu-toggle__icon { display:block; width:24px; height:18px; border-top:2px solid currentColor; border-bottom:2px solid currentColor; position:relative; }
 .ts-menu-toggle__icon:before { content:""; position:absolute; left:0; right:0; top:6px; border-top:2px solid currentColor; }
 .ts-menu-toggle[aria-expanded=true] .ts-menu-toggle__icon { border-bottom:0; transform:rotate(45deg); height:0; }
 .ts-menu-toggle[aria-expanded=true] .ts-menu-toggle__icon:before { transform:rotate(90deg); top:-2px; }
 .ts-navigation { display:none; position:absolute; left:0; right:0; top:100%; background:#fff; padding:16px 6% 28px; box-shadow:0 12px 20px #04335f1a; }
 .ts-navigation.is-open { display:block; }
 .ts-navigation ul { display:block; }
 .ts-navigation a { display:block; padding:14px 0; font-size:18px; }
 .ts-james__copy { font-size:16px; padding:8% 4% 8% 10%; }
 .ts-james__copy h2 { font-size:44px; }
 .ts-james__image { width:100%; }
 .ts-pop-panel__packs { min-height:300px; }
 .ts-homepage .block-contact .gform_wrapper .gfield textarea { height:190px; }
}
@media (max-width:600px) {
 .ts-hero[data-ts-motion="float"] .ts-hero__float { --ts-float:6px; }
 .ts-top-bar { font-size:12px; line-height:16px; letter-spacing:1px; }
 .ts-heading { font-size:clamp(32px,calc(var(--ts-unit) * 8.8),52px); }
 .ts-hero { height:calc(var(--ts-unit) * 118); max-height:710px; }
 .ts-hero__shape--left { width:105%; height:100%; top:-50%; left:-38%; }
 .ts-hero__shape--right { width:112%; height:100%; bottom:-35%; right:-39%; }
 .ts-hero__layer--0 { width:48%; top:10%; left:44%; }
 .ts-hero__layer--1 { width:22%; top:7%; left:12%; }
 .ts-hero__layer--2 { width:27%; top:73%; left:7%; }
 .ts-hero__layer--3 { width:31%; top:50%; left:15%; }
 .ts-hero__layer--4 { width:23%; top:42%; left:16%; }
 .ts-hero__layer--5 { width:22%; top:16%; left:8%; }
 .ts-hero__title { right:5%; bottom:14%; width:53%; }
 .ts-hero__title span { font-size:calc(var(--ts-unit) * 4.8); }
 .ts-hero__title strong { font-size:calc(var(--ts-unit) * 12); }
 .ts-showcase { padding:40px 6% 45px; }
 .ts-showcase__grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px 20px; margin-top:32px; }
 .ts-product-card__label span { font-size:13px; }
 .ts-product-card__label h3 { font-size:19px; }
 .ts-showcase--favourites { padding-bottom:48px; }
 .ts-showcase--favourites .ts-showcase__grid { margin-top:35px; }
 .ts-showcase--favourites .ts-product-card:last-child:nth-child(odd) { grid-column:1 / -1; width:calc(50% - 10px); justify-self:center; }
 .ts-features { padding:40px 6%; }
 .ts-features__crisp { width:75%; max-height:260px; margin:35px auto 15px; }
 .ts-features__list { grid-template-columns:repeat(2,1fr); gap:30px 18px; margin-top:25px; }
 .ts-features__list img { width:65%; }
 .ts-features__list h3 { font-size:14px; margin-top:15px; }
 .ts-ranges { padding:24px 20px; }
 .ts-ranges__grid { grid-template-columns:1fr; gap:24px; max-width:480px; }
 .ts-range__image { aspect-ratio:.7; object-position:center 54%; }
 .ts-range__title { font-size:26px; padding:7% 5%; top:4%; }
 .ts-range p { font-size:18px; padding:25px 9%; }
 .ts-james { display:flex; flex-direction:column; }
 .ts-james__copy { padding:40px 7% 20px; font-size:17px; }
 .ts-james__copy h2 { font-size:44px; }
 .ts-james__image { width:74%; max-height:540px; align-self:center; }
 .ts-james__shape--top { width:135%; height:75%; right:-73%; top:18%; }
 .ts-james__shape--bottom { width:150%; height:75%; bottom:-42%; left:-80%; }
 .ts-popcorn-intro { padding:40px 7%; }
 .ts-popcorn-intro__copy { max-width:100%; font-size:17px; }
 .ts-popcorn-intro__copy h2 { font-size:42px; white-space:normal; }
 .ts-popcorn-intro__copy h3 { font-size:27px; }
 .ts-popcorn-intro__packs { grid-template-columns:repeat(2,1fr); gap:25px 20px; margin-top:28px; }
 .ts-popcorn-intro__packs img { max-height:260px; }
 .ts-pop-panels>.ts-heading { padding:25px 5%; }
 .ts-pop-panels__grid { grid-template-columns:1fr; }
 .ts-pop-panel { min-height:630px; padding:32px 6%; }
 .ts-pop-panel h3 { font-size:58px; }
 .ts-pop-panel__packs { min-height:400px; }
 .ts-pop-panel__pack { max-height:85%; width:55%; }
 .ts-mail { padding:40px 6% 50px; }
 .ts-mail__bubbles { height:650px; margin-top:35px; }
 .ts-mail__bubble { width:44%; height:25%; }
 .ts-mail__bubble.is-active { --ts-bubble-scale:1.45; }
 .ts-mail__bubble blockquote { font-size:16px; padding:16%; }
 .ts-mail__bubble--0 { left:0; top:0; }
 .ts-mail__bubble--1 { left:27%; top:36%; }
 .ts-mail__bubble--2 { right:0; top:6%; }
 .ts-mail__bubble--3 { left:0; bottom:0; }
 .ts-mail__bubble--4 { right:0; bottom:4%; }
 .ts-retailers { padding:35px 6%; }
 .ts-retailers p { font-size:23px; margin:12px 0 25px; }
 .ts-retailers__logos { gap:20px 28px; }
 .ts-retailers__item .ts-retailers__logo { max-width:110px; max-height:56px; }
 .ts-homepage .block-contact { padding:10px 0 40px; }
 .ts-homepage .block-contact .container { padding:0 7%; }
 .ts-homepage .block-contact .contact_text,.ts-homepage .block-contact .contact_form { width:100%; padding:0 12px; }
 .ts-homepage .block-contact .contact_text { font-size:17px; margin-bottom:25px; }
 .ts-homepage .block-contact h2 { font-size:31px; }
 .ts-homepage .block-contact .gform_wrapper .gfield_label { font-size:16px!important; }
 .ts-footer { padding:40px 7% 0; font-size:13px; }
 .ts-footer nav ul { gap:12px 18px; margin-bottom:30px; }
 .ts-footer__bottom { display:flex; flex-wrap:wrap; justify-content:space-between; gap:25px; }
 .ts-footer__social { padding-bottom:0; gap:15px; }
 .ts-footer__legal { padding-bottom:0; font-size:11px; }
 .ts-footer__packs { order:3; width:85%; margin:auto; max-height:240px; }
}
@media (prefers-reduced-motion:reduce) {
 .ts-section *, .ts-homepage * { scroll-behavior:auto!important; animation:none!important; transition:none!important; }
 .ts-hero__layer { transform:none!important; will-change:auto; }
 .ts-hero__float,.ts-pop-panels.is-animating .ts-pop-panel__pop img { will-change:auto!important; }
 .ts-mail__bubble { --ts-bubble-scale:1!important; --ts-bubble-x:0px!important; --ts-bubble-y:0px!important; }
}

/* Full-width backgrounds; content and artwork stop growing at 1440px. */
.ts-content { width:100%; max-width:1440px; margin-inline:auto; position:relative; }
.ts-header { display:block; padding:0; }
.ts-header>.ts-content { display:flex; align-items:center; justify-content:space-between; gap:35px; min-height:clamp(100px,calc(var(--ts-unit)*14.1),245px); padding:30px clamp(24px,calc(var(--ts-unit)*4.5),78px); }
.ts-hero>.ts-content { height:100%; isolation:isolate; }
.ts-showcase { padding:0; }
.ts-showcase>.ts-content { padding:clamp(40px,calc(var(--ts-unit)*6.5),112px) calc(var(--ts-unit)*3.8) clamp(45px,calc(var(--ts-unit)*5),86px); }
.ts-showcase--favourites>.ts-content { padding-bottom:clamp(65px,calc(var(--ts-unit)*13),224px); }
.ts-features { padding:0; }
.ts-features>.ts-content { padding:clamp(45px,calc(var(--ts-unit)*5.4),94px) calc(var(--ts-unit)*5) clamp(30px,calc(var(--ts-unit)*5),86px); }
.ts-range__art { width:100%; margin-inline:auto; }
.ts-range p { width:100%; margin-inline:auto; padding-inline:35px; }
.ts-james { display:block; min-height:0; }
.ts-james>.ts-content { display:grid; grid-template-columns:1fr 1fr; min-height:calc(var(--ts-unit)*64.64); isolation:isolate; }
.ts-popcorn-intro { padding:0; }
.ts-popcorn-intro>.ts-content { padding:calc(var(--ts-unit)*5.5) calc(var(--ts-unit)*6.8) calc(var(--ts-unit)*4); }
.ts-popcorn-intro:before,.ts-pop-panel:before { background-size:1440px auto; background-position:center top; }
.ts-pop-panel__packs { max-width:720px; }
.ts-pop-panel h3 { max-width:720px; }
.ts-mail { padding:0; }
.ts-mail>.ts-content { padding:calc(var(--ts-unit)*6) calc(var(--ts-unit)*8) calc(var(--ts-unit)*7); }
.ts-retailers { padding:0; }
.ts-retailers>.ts-content { padding:calc(var(--ts-unit)*4.8) calc(var(--ts-unit)*4) calc(var(--ts-unit)*5); }
.ts-homepage .block-contact .container { max-width:1440px; padding-inline:calc(var(--ts-unit)*4); }
.ts-footer { padding:0; }
.ts-footer>.ts-content { padding:calc(var(--ts-unit)*5) calc(var(--ts-unit)*4) 0; }
@media (max-width:900px) {
 .ts-header>.ts-content { min-height:110px; padding:20px 6%; gap:20px; }
 .ts-james__copy { padding:8% 4% 8% 10%; }
}
@media (max-width:600px) {
 .ts-showcase>.ts-content,.ts-showcase--favourites>.ts-content { padding:40px 6% 45px; }
 .ts-features>.ts-content { padding:40px 6%; }
 .ts-range__art { max-width:none; }
 .ts-range p { max-width:none; padding:25px 9%; }
 .ts-james>.ts-content { display:flex; flex-direction:column; min-height:0; }
 .ts-popcorn-intro>.ts-content { padding:40px 7%; }
 .ts-mail>.ts-content { padding:40px 6% 50px; }
 .ts-retailers>.ts-content { padding:35px 6%; }
 .ts-homepage .block-contact .container { padding-inline:7%; }
 .ts-footer>.ts-content { padding:40px 7% 0; }
}

.ts-pop-panels>.ts-heading { padding:calc(var(--ts-unit)*4.7) calc(var(--ts-unit)*3); }
.ts-pop-panel { padding:calc(var(--ts-unit)*5) calc(var(--ts-unit)*4) calc(var(--ts-unit)*4); }
@media (max-width:600px) {
 .ts-pop-panels>.ts-heading { padding:25px 5%; }
 .ts-pop-panel { padding:32px 6%; }
 .ts-popcorn-effects { max-width:none; }
 .ts-pop-panel__pop--0 { top:2%; left:24%; width:12%; }
 .ts-pop-panel__pop--1 { top:19.5%; left:72%; width:15%; }
 .ts-pop-panel__pop--2 { top:30.5%; left:64%; width:23%; }
 .ts-pop-panel__pop--3 { top:54%; left:72%; width:12%; }
 .ts-pop-panel__pop--4 { top:78%; left:12%; width:21%; }
}

/* Shared header preserves access to the site's range and about pages. */
.ts-header * { box-sizing:border-box; }
.ts-header a:focus-visible,.ts-header button:focus-visible { outline:3px solid #009fe3; outline-offset:5px; }
.ts-navigation li { position:relative; }
.ts-navigation .menu-item-has-children { display:flex; align-items:center; flex-wrap:wrap; gap:4px; }
.ts-navigation ul.sub-menu { display:none; position:absolute; top:100%; left:0; min-width:250px; padding:16px; background:#fff; box-shadow:0 8px 20px #04335f26; z-index:25; }
.ts-navigation .sub-menu li { display:block; }
.ts-navigation .sub-menu a { display:block; font-size:15px; padding:8px 0; }
.ts-navigation .sub-menu .current-menu-item>a { text-decoration:underline; text-underline-offset:4px; }
.ts-navigation .is-submenu-open>ul.sub-menu { display:block; }
.ts-site-header:not(.ts-homepage) .page__section>div:first-of-type { padding-top:50px; }
@media (max-width:900px) {
 .ts-navigation ul.sub-menu { position:static; width:100%; min-width:0; box-shadow:none; padding:8px 0 8px 16px; }
 .ts-navigation .sub-menu a { font-size:16px; }
 .ts-navigation.is-open { max-height:calc(100dvh - 110px); overflow-y:auto; }
 .ts-site-header:not(.ts-homepage) .page__section>div:first-of-type { padding-top:30px; }
}

/* Trade sits above the main menu, right aligned. */
.ts-header__menus { flex-direction:column; align-items:flex-end; gap:clamp(10px,calc(var(--ts-unit) * 1.4),20px); }
.ts-utility-navigation a { font-size:clamp(12px,calc(var(--ts-unit) * 1.15),17px); line-height:1.2; color:#04335f; }
.ts-utility-navigation a:hover,.ts-utility-navigation .current-menu-item>a { color:#009fe3; }
.ts-utility-navigation svg { width:.9em; height:.9em; flex:none; }
@media (max-width:900px) {
 .ts-header__menus { flex-direction:row; align-items:center; gap:22px; }
 .ts-utility-navigation a { font-size:14px; }
}
