/* A single arched hero, with copy inside the photographic composition. */
.unified-hero{display:block;position:relative;max-width:1180px;padding:42px 5% 55px;margin:auto}
.unified-hero .hero-photo{margin:0;border:1px solid #c9b999;padding:9px;border-radius:50% 50% 0 0 / 60% 60% 0 0;position:relative}
.unified-hero .hero-slide-frame{width:100%;height:auto;aspect-ratio:1.2;border-radius:50% 50% 0 0 / 60% 60% 0 0}
.unified-hero .hero-slide-frame:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 22%,#20160d33 35%,#20160dcc 69%,#20160dec);z-index:2;pointer-events:none}
.unified-hero .hero-copy{position:absolute;bottom:110px;left:15%;right:15%;text-align:center;z-index:5;color:#fffdf8}
.unified-hero h1{font-size:clamp(42px,6vw,78px);line-height:1.06;letter-spacing:-1.5px;margin-bottom:18px}
.unified-hero .hero-copy>p:not(.eyebrow){color:#fffdf8;max-width:600px;margin:0 auto;font-size:17px;line-height:1.65}
.unified-hero .eyebrow{margin-bottom:17px;text-shadow:0 2px 10px #0008}
.unified-hero .actions{justify-content:center;margin-top:25px}.unified-hero .button{background:var(--cream);color:var(--brown);border-color:var(--cream)}
.unified-hero .round-stamp{top:34%;right:-20px}
.oven-portal{border-radius:50% 50% 0 0 / 60% 60% 0 0}.oven-shutter{border-radius:inherit}
.moving-ribbon:hover .ribbon-track,.moving-ribbon:focus-within .ribbon-track{animation-play-state:running}
.story-band{padding-top:65px;padding-bottom:65px}.story-band h2{font-size:clamp(38px,4vw,58px)}
/* Worn-ink underline, shared by navigation and text links. */
a:not(.brand):not(.skip):not(:has(img)){position:relative;text-decoration:none;transition:color .2s,background-color .2s}
a:not(.brand):not(.skip):not(.button):not(:has(img)):after{content:'';position:absolute;left:0;right:0;bottom:-4px;height:5px;background:currentColor;mask:url('../assets/brush-edge.svg') center/100% 100% no-repeat;-webkit-mask:url('../assets/brush-edge.svg') center/100% 100% no-repeat;transform:scaleX(0);transform-origin:left;transition:transform .25s ease;pointer-events:none}
a:hover:after,a:focus-visible:after{transform:scaleX(1)!important}
.header nav a:hover,.header nav a[aria-current]{border-bottom-color:transparent}.header nav a[aria-current]:after{transform:scaleX(1)}
a.button{isolation:isolate}a.button:after{content:'';position:absolute;inset:3px;border:1px dashed currentColor;opacity:0;transition:opacity .2s;pointer-events:none}a.button:hover:after,a.button:focus-visible:after{opacity:.65}
.text-link{border-bottom:0}.colour-review a{text-decoration:none}
.reveal-item{transition:opacity .7s ease,transform .8s cubic-bezier(.2,.65,.25,1);transition-delay:var(--reveal-delay,0ms)}
.reveal-pending{opacity:0;transform:translate3d(var(--reveal-x,0),var(--reveal-y,24px),0)}
@media(max-width:600px){.unified-hero{padding:30px 6% 40px}.unified-hero .hero-photo{padding:6px;border-radius:50% 50% 0 0 / 40% 40% 0 0}.unified-hero .hero-slide-frame{aspect-ratio:.8;height:auto;border-radius:50% 50% 0 0 / 40% 40% 0 0}.unified-hero .hero-copy{bottom:74px;left:12%;right:12%}.unified-hero h1{font-size:clamp(36px,9vw,52px)}.unified-hero .hero-copy>p:not(.eyebrow){font-size:15px}.unified-hero .actions{gap:16px;margin-top:19px}.unified-hero .button{padding:12px 15px;gap:15px}.unified-hero .eyebrow{font-size:10px;letter-spacing:1.5px}.unified-hero .round-stamp{top:25%;right:-10px;width:80px;height:80px;font-size:8px}.unified-hero .round-stamp strong{font-size:27px}.story-band{padding:45px 6%}}
@media(prefers-reduced-motion:reduce){.reveal-item{transition:none}.reveal-pending{opacity:1;transform:none}a:after{transition:none!important}}
.topbar{align-items:center;padding-top:0;padding-bottom:0;min-height:44px}.topbar-social{display:flex;gap:4px;align-items:center}.topbar-social a{display:grid;place-items:center;width:44px;height:44px}.topbar-social svg{width:19px;height:19px;stroke:currentColor;stroke-width:1.6;fill:none;stroke-linecap:round;stroke-linejoin:round}.topbar .topbar-social a:after{bottom:5px;left:10px;right:10px}
@media(max-width:600px){.topbar{justify-content:space-between;gap:6px;flex-wrap:nowrap;font-size:9px;letter-spacing:.8px}.topbar-social{gap:0}.topbar-social a{width:40px}.topbar-social{flex-shrink:0}}
