@font-face { font-family: 'Disco Slice Display'; src: url('assets/DiscoSliceDisplay-Regular.woff') format('woff'); font-weight:400; font-display:swap; }
body { font-family: 'JetBrains Mono', monospace; font-weight:400; }
.site-header nav,.eyebrow,.button,.orbit,.scroll-cue,.ticker div,.section-title>p,.pizza-card p,.side-label,.event-types span,.contact>p:first-child,footer a {font-family:'JetBrains Mono',monospace;font-weight:400;letter-spacing:.025em;font-size:.875rem;}
:root { --cream:#f3e4cf; --orange:#df5524; --burgundy:#5e1a19; --yellow:#f4e34f; }
.wordmark {width:164px;height:90px;}
.wordmark img {mix-blend-mode:multiply;}
.hero {grid-template-columns:1.15fr 1fr;min-height:660px;padding-block:70px;gap:40px;}
.hero:before{display:none;}
.hero h1 {font-family:'Disco Slice Display',sans-serif;font-weight:400;letter-spacing:-.02em;line-height:1.06;font-size:clamp(3.5rem,7.6vw,8rem);}
.hero h1 em{display:block;}
.hero h1 br{display:none;}
.hero .intro {font-size:1rem;max-width:510px;line-height:1.7;}
.pizza-stage {height:570px;background:var(--orange);overflow:hidden;align-self:stretch;isolation:isolate;}
.hero-pizza {position:absolute;width:145%;max-width:none;left:-15%;top:0;filter:drop-shadow(0 15px 20px #35120d35);animation:hero-drift 18s ease-in-out infinite alternate;}
@keyframes hero-drift{from{transform:translateY(0) rotate(-4deg)}to{transform:translateY(-10px) rotate(-1deg)}}
.organic-star {display:inline-block;flex:0 0 34px;width:34px;height:39px;background:var(--yellow);clip-path:polygon(46% 0,57% 30%,80% 12%,71% 40%,100% 48%,69% 57%,84% 89%,57% 73%,46% 100%,37% 69%,8% 85%,23% 56%,0 41%,33% 36%);}
.star-alt{transform:rotate(23deg);clip-path:polygon(44% 0,61% 34%,100% 31%,75% 58%,83% 100%,47% 78%,9% 94%,20% 55%,0 30%,35% 32%);}
.hero-star{position:absolute;right:24px;bottom:24px;width:76px;height:83px;transform:rotate(12deg);}
.ticker{padding:8px 0;}
.ticker .ticker-track{display:flex;width:max-content;animation:seamless 32s linear infinite;}
.ticker .ticker-group{display:flex;flex:none;align-items:center;gap:14px;padding-right:14px;min-width:max-content;justify-content:flex-start;animation:none;}
.ticker-group span{white-space:nowrap;text-transform:uppercase;font-size:.8125rem;letter-spacing:.06em;}
.ticker .organic-star{width:19px;height:22px;flex-basis:19px;}
.star-third{transform:rotate(-11deg);clip-path:polygon(47% 0,56% 28%,66% 38%,100% 44%,74% 55%,60% 65%,51% 100%,40% 72%,32% 60%,0 51%,28% 40%,37% 31%);}
@keyframes seamless{to{transform:translateX(-50%)}}
.section-title{margin-bottom:28px;}
.seasonal-note{margin:0 0 55px 25%;max-width:640px;line-height:1.7;}
.showcase-grid{gap:26px;}
.pizza-card{display:block;aspect-ratio:auto;padding:0;overflow:visible;background:none;color:var(--ink);}
.pizza-panel{aspect-ratio:1;display:grid;place-items:center;position:relative;}
.card-orange .pizza-panel{background:var(--orange);}.card-burgundy .pizza-panel{background:var(--burgundy);}.card-cream .pizza-panel{background:var(--cream);}
.pizza-card img{position:relative;width:97%;z-index:2;transition:transform 850ms cubic-bezier(.22,1,.36,1);}
.pizza-card:hover img{transform:rotate(5deg) scale(1.095);}
.pizza-card p{position:static;margin:20px 0 0;text-transform:uppercase;font-size:.8125rem;font-weight:300;letter-spacing:.035em;line-height:1.7;}
.events{grid-template-columns:.6fr 2.7fr;color:var(--cream);}
.event-copy>p{font-size:1rem;line-height:1.7;}
.contact-note{font-size:1rem;line-height:1.7;}
footer img{height:95px;width:70px;mix-blend-mode:multiply;}
@media(max-width:820px){.wordmark{width:120px;height:68px}.hero{grid-template-columns:1fr;gap:28px;min-height:0;padding:45px 20px}.hero h1{font-size:clamp(3rem,13vw,6.5rem)}.pizza-stage{height:85vw;max-height:560px;margin:0}.hero-pizza{width:125%;left:-8%;top:-6%}.hero-star{width:56px;height:64px}.seasonal-note{margin-left:0}.ticker .ticker-group{gap:28px;padding-right:28px;min-width:max-content}.events{grid-template-columns:1fr}.showcase-grid{gap:45px}.pizza-card:hover img{transform:rotate(3deg) scale(1.055)}}
@media(prefers-reduced-motion:reduce){.hero-pizza,.ticker .ticker-track{animation:none}.pizza-card img{transition:none}.pizza-card:hover img{transform:none}}
.ticker .ticker-group{gap:14px;padding-right:14px;}
.wordmark img,footer img{mix-blend-mode:normal;}

/* Balanced editorial hero and ribbon. */
.ticker{padding:12px 0;}
.ticker .ticker-group{gap:22px;padding-right:22px;}
.ticker-group span{font-size:.9375rem;}
.ticker .organic-star{width:23px;height:27px;flex-basis:23px;}
.hero{grid-template-columns:1fr 1fr;gap:clamp(36px,5vw,80px);min-height:0;padding:64px clamp(24px,5vw,80px) 76px;align-items:center;}
.hero-copy{max-width:580px;min-width:0;}
.hero h1{font-family:'Space Grotesk',sans-serif;font-weight:500;font-size:clamp(3.5rem,6.6vw,6.6rem);line-height:.9;letter-spacing:-.075em;margin:0;}
.hero h1 br{display:block;}
.hero h1 em{display:inline;}
.hero .intro{margin:26px 0;max-width:460px;}
.pizza-stage{height:auto;background:none;overflow:visible;align-self:center;isolation:isolate;min-width:0;margin:0;}
.hero-image-crop{position:relative;aspect-ratio:1 / 1.08;overflow:hidden;}
.hero-pizza{position:absolute;width:160%;max-width:none;left:-30%;top:-22%;animation:none;transform:rotate(-8deg);filter:none;}
.hero-star{z-index:3;width:112px;height:126px;left:-42px;right:auto;bottom:-26px;transform:rotate(12deg);}
.event-copy>p.happiness-copy{max-width:610px;margin:32px 0;font-size:clamp(1.1rem,1.7vw,1.4rem);line-height:1.5;}
footer .email-link{margin-left:auto;overflow-wrap:anywhere;}
footer .email-link+a{margin-left:0;}
@media(max-width:820px){.hero{grid-template-columns:1fr;padding:42px 24px 62px;gap:38px;}.hero h1{font-size:clamp(3.4rem,12vw,5.5rem);}.hero .intro{max-width:460px;}.pizza-stage{width:100%;max-width:540px;justify-self:center;}.hero-image-crop{aspect-ratio:1.12 / 1;}.hero-star{width:88px;height:98px;left:-15px;bottom:-26px;}footer .email-link{margin-left:0;}}

/* Centred brand masthead with gridded navigation. */
:root{--cream:#f7eedf;}
.site-header{height:auto;min-height:96px;padding:0;display:grid;grid-template-columns:112px 1fr;border-bottom:1px solid var(--orange);color:var(--burgundy);}
.site-header .wordmark{width:112px;height:100%;min-height:96px;display:grid;place-items:center;border-right:1px solid var(--orange);}
.site-header .wordmark img{width:48px;height:66px;object-fit:contain;}
.header-right{display:grid;grid-template-rows:1fr auto;min-width:0;}
.site-header nav{display:flex;justify-content:flex-end;gap:0;min-height:54px;border-bottom:1px solid var(--orange);}
.site-header nav a{display:grid;place-items:center;padding:14px 30px;border:0;border-left:1px solid var(--orange);font-size:.875rem;}
.site-header nav a:hover,.site-header nav a:focus-visible{background:var(--orange);color:var(--cream);}
.header-right p{margin:0;padding:12px 28px;text-align:right;font-size:.8125rem;line-height:1.5;}
.hero{display:flex;flex-direction:column;gap:0;min-height:0;padding:58px 5vw 0;overflow:hidden;}
.hero h1{width:100%;max-width:1600px;margin:0;line-height:0;}
.hero-logo{display:block;width:100%;height:auto;}
.hero-tagline{display:flex;align-items:center;justify-content:center;gap:clamp(25px,5vw,80px);width:100%;margin:30px 0 28px;}
.hero-tagline img{display:block;width:clamp(240px,49vw,740px);height:auto;max-width:72%;}
.hero-tagline .organic-star{width:clamp(38px,5vw,76px);height:clamp(44px,5.8vw,88px);flex-basis:auto;flex-shrink:0;}
.hero .pizza-stage{position:relative;width:min(850px,82vw);height:auto;aspect-ratio:2 / 1;max-height:none;margin:0;overflow:hidden;align-self:center;flex:none;}
.hero .hero-pizza{position:absolute;width:100%;height:auto;max-width:none;left:0;top:0;animation:none;transform:none;filter:none;}
.ticker{position:relative;z-index:5;}
@media(max-width:820px){.site-header{grid-template-columns:80px 1fr;}.site-header .wordmark{width:80px;min-height:90px;}.site-header .wordmark img{width:40px;height:56px;}.site-header nav a,.site-header nav a:not(:last-child){display:grid;padding:12px 10px;font-size:.75rem;}.site-header nav{min-height:44px;justify-content:stretch;}.site-header nav a{flex:1;}.header-right p{padding:9px 12px;font-size:.75rem;text-align:left;}.hero{padding:38px 5vw 0;}.hero-tagline{margin:22px 0 25px;gap:18px;}.hero-tagline .organic-star{width:30px;height:36px;}.hero .pizza-stage{width:94vw;}.hero-tagline img{width:68%;}}

/* Supporting copy flanks the burgundy script; stars frame the food. */
.header-right{display:block;}
.site-header nav{height:100%;min-height:96px;border-bottom:0;}
.hero h1{width:86%;max-width:1380px;}
.hero-tagline{display:grid;grid-template-columns:minmax(140px,1fr) minmax(0,3.2fr) minmax(140px,1fr);gap:30px;max-width:1380px;margin:34px 0 40px;}
.hero-tagline img{width:100%;max-width:100%;height:auto;}
.tagline-note{font-family:'JetBrains Mono',monospace;font-size:.8125rem;font-weight:400;line-height:1.65;letter-spacing:.035em;text-transform:uppercase;color:var(--burgundy);margin:0;text-align:center;}
.hero-stars{position:absolute;bottom:clamp(70px,9vw,160px);left:9%;right:9%;display:flex;justify-content:space-between;pointer-events:none;z-index:3;}
.hero-stars .organic-star{width:clamp(80px,9vw,140px);height:clamp(92px,10.3vw,161px);flex-basis:auto;transform:rotate(-12deg);}
.hero-stars .star-alt{transform:rotate(18deg);}
@media(max-width:820px){.site-header nav{min-height:90px;}.hero h1{width:94%;}.hero-tagline{grid-template-columns:1fr 2.1fr 1fr;gap:12px;margin:25px 0 32px;}.tagline-note{font-size:.75rem;line-height:1.5;letter-spacing:0;}.hero-stars{left:4%;right:4%;bottom:55px;}.hero-stars .organic-star{width:64px;height:74px;}}
@media(max-width:480px){.hero-tagline{grid-template-columns:1fr 1fr;gap:20px 24px;}.hero-tagline img{grid-column:1 / -1;grid-row:1;width:88%;justify-self:center;}.tagline-note{grid-row:2;}.hero-stars{bottom:35px;}.hero-stars .organic-star{width:54px;height:64px;}}

/* Quiet header and aligned supporting copy. */
.site-header{min-height:68px;grid-template-columns:108px 1fr;}
.site-header .wordmark{width:108px;min-height:68px;}
.site-header .wordmark img{width:72px;height:48px;filter:brightness(0) saturate(100%) invert(70%) sepia(16%) saturate(461%) hue-rotate(351deg) brightness(95%) contrast(89%);}
.site-header nav{min-height:68px;}
.hero-tagline{width:86%;max-width:1380px;grid-template-columns:minmax(120px,1fr) minmax(0,3.2fr) minmax(120px,1fr);}
.tagline-note{font-size:.75rem;font-weight:300;line-height:1.65;letter-spacing:.025em;text-align:left;}
.tagline-note:last-child{text-align:right;}
@media(max-width:820px){.site-header{grid-template-columns:88px 1fr;}.site-header .wordmark{width:88px;min-height:64px;}.site-header .wordmark img{width:60px;height:42px;}.site-header nav{min-height:64px;}.hero-tagline{width:94%;grid-template-columns:1fr 2.1fr 1fr;}.tagline-note{font-size:.75rem;}}
@media(max-width:480px){.hero-tagline{grid-template-columns:1fr 1fr;}}

/* Yellow text stickers with an inset white keyline. */
.site-header .wordmark img{filter:none;}
.hero-tagline{grid-template-columns:minmax(158px,1fr) minmax(0,3.2fr) minmax(158px,1fr);gap:24px;align-items:center;margin-block:26px 32px;}
.tagline-note,.tagline-note:last-child{display:flex;align-items:center;justify-content:center;min-height:145px;width:100%;max-width:220px;padding:27px 24px;background:url('assets/sticker-burst.svg') center / 100% 100% no-repeat;text-align:center;font-size:.75rem;font-weight:400;line-height:1.5;letter-spacing:.01em;transform:rotate(-7deg);}
.tagline-note:last-child{justify-self:end;transform:rotate(7deg);}
@media(max-width:820px){.hero-tagline{grid-template-columns:minmax(122px,1fr) minmax(0,2.2fr) minmax(122px,1fr);gap:12px;}.tagline-note,.tagline-note:last-child{min-height:126px;padding:23px 15px;font-size:.75rem;}}
@media(max-width:600px){.hero-tagline{grid-template-columns:1fr 1fr;gap:20px 24px;}.hero-tagline img{grid-column:1 / -1;grid-row:1;width:88%;justify-self:center;}.tagline-note,.tagline-note:last-child{grid-row:2;width:100%;max-width:180px;min-height:132px;}.tagline-note{justify-self:start;}}

.tagline-note,.tagline-note:last-child{display:block;padding:40px 18px;}
.tagline-note:last-child{padding-block:49px;}
@media(max-width:820px){.tagline-note{padding:32px 12px;}.tagline-note:last-child{padding:41px 12px;}}

/* Straight orange stickers frame the larger script. */
.hero-tagline{grid-template-columns:minmax(135px,1fr) minmax(0,5fr) minmax(135px,1fr);gap:24px;}
.tagline-note,.tagline-note:last-child{color:var(--white);transform:none;min-height:124px;padding:35px 16px;font-weight:400;}
.tagline-note:last-child{padding-block:44px;}
.hero-tagline img{width:100%;max-width:none;}
@media(max-width:820px){.hero-tagline{grid-template-columns:minmax(110px,1fr) minmax(0,3.6fr) minmax(110px,1fr);gap:12px;}.tagline-note,.tagline-note:last-child{padding:29px 12px;min-height:112px;}.tagline-note:last-child{padding-block:38px;}}
@media(max-width:600px){.hero-tagline{grid-template-columns:1fr 1fr;}.hero-tagline img{width:100%;}.tagline-note,.tagline-note:last-child{max-width:160px;}}

/* Complete vector stickers: type and outline scale as one image. */
.hero-tagline .tagline-sticker{display:block;width:100%;max-width:180px;height:auto;grid-column:auto;grid-row:auto;justify-self:start;}
.hero-tagline .tagline-sticker:last-child{justify-self:end;}
@media(max-width:600px){.hero-tagline .tagline-script{grid-column:1 / -1;grid-row:1;}.hero-tagline .tagline-sticker{grid-row:2;grid-column:1;width:100%;max-width:160px;}.hero-tagline .tagline-sticker:last-child{grid-column:2;}}

/* Approved symbol and dedicated happiness section. */
.site-header .wordmark img{width:58px;height:52px;}
.pizza-card p{width:80%;max-width:80%;text-wrap:balance;}
.happiness{padding:72px 24px 80px;text-align:center;background:var(--cream);color:var(--burgundy);}
.happiness-question{font-size:.875rem;font-weight:400;line-height:1.7;text-transform:uppercase;max-width:720px;margin:0 auto 24px;}
.happiness h2{font-family:'Space Grotesk',sans-serif;font-weight:500;font-size:clamp(2rem,4.2vw,4.25rem);letter-spacing:-.045em;line-height:1.06;margin:0 auto 24px;max-width:900px;}
.happiness-detail{font-size:1rem;line-height:1.7;max-width:660px;margin:0 auto;}
@media(max-width:820px){.site-header .wordmark img{width:50px;height:46px;}.happiness{padding:58px 24px 64px;}.pizza-card p{width:80%;}}

/* Symbol colour follows hover and keyboard focus. */
.site-header .wordmark{position:relative;}
.site-header .wordmark::after{content:"";position:absolute;width:58px;height:52px;background:var(--orange);mask:url('assets/disco-symbol.svg') center / contain no-repeat;-webkit-mask:url('assets/disco-symbol.svg') center / contain no-repeat;transition:background-color 180ms ease;pointer-events:none;}
.site-header .wordmark img{opacity:0;}
.site-header .wordmark:hover::after,.site-header .wordmark:focus-visible::after{background:var(--burgundy);}
@media(max-width:820px){.site-header .wordmark::after{width:50px;height:46px;}}
@media(prefers-reduced-motion:reduce){.site-header .wordmark::after{transition:none;}}

/* Natural caption wrapping and room for the seasonal introduction. */
.pizza-card p{width:80%;max-width:80%;text-wrap:wrap;}
.seasonal-note{max-width:none;width:75%;}
@media(max-width:820px){.seasonal-note{width:100%;}}

@font-face{font-family:'Disco Joy Headline';src:url('assets/DiscoJoyHeadline-Regular.woff') format('woff');font-weight:400;font-display:block;}
.happiness h2{width:100%;max-width:1440px;container-type:inline-size;line-height:1;margin:22px auto 26px;}
.joy-headline{font-family:'Disco Joy Headline';font-weight:400;font-size:calc(100cqw / 8.875);line-height:1.05;letter-spacing:0;white-space:nowrap;display:block;}

/* Match the main logo's width with a single uppercase heading. */
.happiness h2{width:min(77.4vw,1380px);max-width:none;container-type:inline-size;}
.happiness-heading-text{display:block;font-family:'Space Grotesk',sans-serif;font-weight:500;text-transform:uppercase;white-space:nowrap;letter-spacing:-.045em;font-size:4.65cqw;line-height:1.15;}
@media(max-width:820px){.happiness h2{width:84.6vw;}}

/* Mirror tiles and star fills appear on hover; outlines stay orange. */
.site-header .wordmark img{opacity:1;}
.site-header .wordmark::after{background:transparent url('assets/disco-symbol-hover.svg') center / contain no-repeat;mask:none;-webkit-mask:none;opacity:0;transition:opacity 180ms ease;}
.site-header .wordmark:hover::after,.site-header .wordmark:focus-visible::after{background:transparent url('assets/disco-symbol-hover.svg') center / contain no-repeat;opacity:1;}
.happiness-detail{font-family:'JetBrains Mono',monospace;font-size:.875rem;font-weight:400;line-height:1.7;text-transform:uppercase;max-width:720px;}

.hero{background-color:var(--cream);background-image:none;}
.hero-photo-row{position:relative;width:100%;display:flex;justify-content:center;}
