@font-face{font-family:Arimo;src:url('/assets/arimo_n4.woff2') format('woff2');font-display:swap}@font-face{font-family:Arimo;src:url('/assets/arimo_n7.woff2') format('woff2');font-weight:700;font-display:swap}@font-face{font-family:Caveat;src:url('/assets/caveat_n4.woff2') format('woff2');font-display:swap}@font-face{font-family:Caveat;src:url('/assets/caveat_n7.woff2') format('woff2');font-weight:700;font-display:swap}
:root{--paper:#f9f8f6;--purple:#54148d;--pink:#fe3876;--ink:#5c195d;--border:#dbcce0}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:1rem/1.6 Arimo,Arial,sans-serif}a{color:var(--purple);text-underline-offset:4px}a:hover{color:#bc1951}a:focus-visible{outline:3px solid var(--purple);outline-offset:5px}img{display:block;max-width:100%;height:auto}h1,h2,h3{color:var(--pink);font-family:Caveat,cursive;font-weight:400;line-height:1.15;margin:0 0 .6em}h1{font-size:clamp(2.8rem,5vw,4.2rem)}h2{font-size:clamp(2.2rem,3.5vw,3rem)}h3{font-size:1.9rem}p{margin:0 0 1.25em}.wrap{max-width:1320px;margin:auto;padding-left:40px;padding-right:40px}.skip{position:absolute;z-index:10;left:20px;top:-100px;background:white;padding:12px}.skip:focus{top:10px}header{border-bottom:1px solid var(--border)}.header-inner{max-width:1320px;margin:auto;min-height:230px;display:flex;align-items:center;gap:44px;padding:15px 40px}.brand{flex:none}.brand img{width:204px;height:200px}nav{display:flex;flex-wrap:wrap;gap:20px 32px;min-width:0}nav a{font-size:2rem;line-height:1.3;text-decoration:none;color:var(--purple)}nav a[aria-current=page]{text-decoration:underline}.hero{position:relative;min-height:460px;height:65svh;max-height:750px;overflow:hidden}.hero>img{width:100%;height:100%;object-fit:cover;object-position:center}.hero h1{position:absolute;bottom:26px;left:5%;right:5%;text-align:center;color:var(--pink);margin:0;text-shadow:0 1px 8px #ffffffaa}.intro{padding-top:48px;padding-bottom:36px;text-align:center;max-width:1080px}.intro p{font-size:1.15rem}.intro a{font-weight:700}.gallery{padding-top:28px;padding-bottom:48px}.section-heading{display:flex;justify-content:space-between;gap:20px;align-items:baseline;margin-bottom:22px}.section-heading h2{margin:0}.section-heading>a{white-space:nowrap}.cards{gap:16px}.carousel{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:18px;scrollbar-color:var(--purple) var(--border);scrollbar-width:thin}.carousel .card{flex:0 0 calc((100% - 48px)/4);scroll-snap-align:start}.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px 18px}.card a{text-decoration:none}.card img{width:100%;aspect-ratio:1;object-fit:cover}.card h3{margin:16px 0 4px}.card a:hover h3{text-decoration:underline;text-underline-offset:5px}.promise{display:grid;grid-template-columns:240px 1fr;gap:64px;align-items:center;padding-top:46px;padding-bottom:70px;border-top:1px solid var(--border)}.promise img{margin:auto}.promise p{max-width:720px}.prose{max-width:1000px;padding-top:60px;padding-bottom:72px}.prose h1{text-align:center;margin-bottom:48px}.prose h2{margin-top:40px}.prose strong{font-weight:700}.prose li p{margin-bottom:.6em}.prose li{padding-left:8px}.charity-logo{margin:24px auto 36px}.contact{max-width:900px;padding-top:65px;padding-bottom:80px}.contact h1{margin-bottom:30px}.button{display:inline-block;background:var(--purple);color:white;padding:14px 24px;text-decoration:none;border:1px solid var(--purple);font-weight:700;margin-bottom:22px}.button:hover{background:#7829a8;color:white}.secondary{background:transparent;color:var(--purple)}.market{border-top:1px solid var(--border);padding-top:38px;margin-top:40px}.back{display:inline-block;margin:30px 0}.product{display:grid;grid-template-columns:1fr 1fr;gap:60px;padding-bottom:70px}.product-images{display:grid;gap:20px}.product-images img{width:100%;aspect-ratio:1;object-fit:cover}.product-copy{padding-top:16px}.product-copy h1{margin-bottom:28px}.product-copy h2{font-size:2.3rem}.enquiry{margin-top:30px;border-top:1px solid var(--border);padding-top:25px}.small{font-size:.9rem}footer{border-top:1px solid var(--border);padding:26px 40px}footer>div{max-width:1240px;margin:auto;display:flex;gap:30px;flex-wrap:wrap;font-size:.9rem}footer span{margin-right:auto}
@media(max-width:800px){.wrap{padding-left:22px;padding-right:22px}.header-inner{gap:22px;padding:20px 22px;min-height:200px;flex-direction:column;align-items:flex-start}.brand img{width:164px;height:160px}nav{gap:10px 20px}nav a{font-size:1.8rem}.hero{height:55svh;min-height:350px;max-height:530px}.hero h1{font-size:2.6rem;bottom:24px}.intro{padding-top:32px;padding-bottom:18px}.intro p{font-size:1rem}.carousel .card{flex-basis:66%}.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.card h3{font-size:1.7rem}.promise{grid-template-columns:1fr;gap:28px;text-align:center;padding-top:36px;padding-bottom:44px}.promise img{width:175px}.product{grid-template-columns:1fr;gap:24px}.product-copy{padding-top:0}.product-images{order:0}.prose{padding-top:36px}.prose h1{margin-bottom:30px}.section-heading{gap:12px}.section-heading h2{font-size:2.2rem}footer{padding:25px 22px}footer>div{gap:12px 24px}footer span{flex-basis:100%}.contact{padding-top:40px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Collapsible navigation on every screen size. */
.header-inner{justify-content:space-between;position:relative}.site-menu{position:relative;margin-left:auto;flex:none}.site-menu summary{display:flex;align-items:center;gap:12px;cursor:pointer;list-style:none;padding:14px;color:var(--purple);border:1px solid var(--border);border-radius:4px;min-width:48px;min-height:48px}.site-menu summary::-webkit-details-marker{display:none}.site-menu summary:focus-visible{outline:3px solid var(--purple);outline-offset:5px}.menu-label{font-size:1rem}.hamburger{display:flex;flex-direction:column;gap:6px;width:28px}.hamburger span{display:block;width:28px;height:2px;background:currentColor}.site-menu[open] summary{background:#eee3f2}.site-menu nav{position:absolute;right:0;top:calc(100% + 12px);z-index:20;display:flex;flex-direction:column;flex-wrap:nowrap;gap:0;background:var(--paper);border:1px solid var(--border);box-shadow:0 12px 32px #54148d22;min-width:360px;max-width:calc(100vw - 44px);max-height:65svh;overflow-y:auto;padding:14px}.site-menu nav a{display:block;padding:12px 16px;font-size:2rem;line-height:1.3}.site-menu nav a:hover{background:#eee3f2}.site-menu nav a[aria-current=page]{background:#eee3f2}@media(max-width:800px){.header-inner{flex-direction:row;align-items:center}.site-menu nav{min-width:min(360px,calc(100vw - 44px))}.site-menu nav a{font-size:1.8rem}.menu-label{display:none}}

/* Show the entire product banner without cropping its soaps or candles. */
.hero{height:auto;min-height:0;max-height:none;background:var(--paper)}.hero>img{width:100%;height:auto;object-fit:contain}.hero h1{bottom:18px;font-size:clamp(2rem,3.3vw,3.4rem);text-shadow:none}@media(max-width:800px){.hero h1{position:static;margin:0;padding:22px 20px 8px;font-size:2.5rem;line-height:1.15}.hero>img{height:auto}}

.social-links{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:14px;margin:24px 0 6px}.social-link{display:inline-flex;align-items:center;gap:10px;border:1px solid var(--purple);border-radius:999px;padding:11px 20px;background:var(--paper);text-decoration:none;font-size:1rem;font-weight:700;line-height:1.4}.social-link svg{width:23px;height:23px;flex:none}.social-link:hover{background:var(--purple);color:white}.intro .social-link{font-weight:700}footer .social-links{margin:0;gap:12px}footer .social-link{padding:7px 14px;font-size:.9rem}footer .social-link svg{width:20px;height:20px}

.product-images video{display:block;width:100%;height:auto;max-height:80svh;background:#000}

.about-beast{width:300px;max-width:100%;height:auto;margin:32px auto 40px}.about-beast.beast-together{width:480px;margin-top:40px;margin-bottom:0}

.prose .product-page-heading{margin-bottom:48px}.prose .product-page-heading h1{text-align:left;margin:0}@media(max-width:800px){.prose .product-page-heading{margin-bottom:30px;flex-wrap:wrap}}

main .page-title{color:#521a8b;font-weight:700}

/* Shared page hierarchy, accessible galleries and original brand artwork. */
.prose h1,.contact h1,.product-copy h1{text-align:left}.section-heading h1{margin:0;font-size:clamp(2.8rem,5vw,4.2rem)}
.section-heading{flex-wrap:wrap}.card h3{font-weight:700}.product-kind{font-size:1rem;font-weight:700;margin-top:12px}
.hero h1{position:static;padding:24px 22px 0;margin:0 auto;max-width:1100px;text-align:center}
.about-beast.original-art{mix-blend-mode:multiply}
.carousel{position:relative}.carousel:focus-visible{outline:3px solid var(--purple);outline-offset:5px}
.carousel-controls{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:8px}
.carousel-controls button{font:700 1rem/1.3 Arimo,Arial,sans-serif;min-height:44px;padding:10px 16px;border:1px solid var(--purple);border-radius:4px;background:var(--paper);color:var(--purple);cursor:pointer}
.carousel-controls button:hover:not(:disabled){background:var(--purple);color:white}.carousel-controls button:disabled{opacity:.45;cursor:default}
.carousel-controls button:focus-visible{outline:3px solid var(--purple);outline-offset:4px}.carousel-position{font-size:.95rem;text-align:center}
@media(max-width:420px){.carousel-controls button{padding:10px}.carousel-position{font-size:.85rem}}

/* Larger reading text; heading sizes remain unchanged. */
body{font-size:1.125rem}.intro p{font-size:1.25rem}
.small,footer>div,footer .social-link{font-size:1rem}
.social-link,.product-kind,.carousel-controls button{font-size:1.125rem}
.carousel-position{font-size:1rem}
@media(max-width:800px){.intro p{font-size:1.125rem}}
