@font-face{font-family:DM Sans;src:url(assets/fonts/dm-sans-400.ttf) format("truetype");font-weight:400;font-display:swap}@font-face{font-family:DM Sans;src:url(assets/fonts/dm-sans-700.ttf) format("truetype");font-weight:700;font-display:swap}@font-face{font-family:DM Sans;src:url(assets/fonts/dm-sans-900.ttf) format("truetype");font-weight:900;font-display:swap}:root{--plum:#38213c;--pink:#ffdfeb;--lime:#d8ed68;--paper:#fff6f8;--gutter:clamp(22px,3.2vw,60px);--ease:cubic-bezier(.16,1,.3,1);color-scheme:light;font-family:DM Sans,sans-serif;color:var(--plum);background:var(--plum)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px;scrollbar-color:var(--pink) var(--plum)}body{margin:0}::selection{background:var(--lime);color:var(--plum)}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit}button{cursor:pointer}button:disabled{opacity:.6;cursor:wait}a,button{touch-action:manipulation}button{border:0}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #b03e72;outline-offset:5px}.hero button:focus-visible,.hero a:focus-visible,.intro button:focus-visible,.site-footer button:focus-visible{outline-color:var(--lime)}img{max-width:100%;display:block}h1,h2,h3,p{margin:0}h1,h2,h3{text-wrap:balance}button svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.7}.skip-link{position:fixed;z-index:110;left:20px;top:15px;padding:15px;background:var(--lime);transform:translateY(-160%)}.skip-link:focus{transform:none}.site-header{position:absolute;z-index:3;top:clamp(18px,3.4vh,34px);left:var(--gutter);right:var(--gutter);height:clamp(72px,8.9vh,90px);padding:10px 2.7%;display:flex;align-items:center;justify-content:space-between;gap:24px;background:var(--pink);border-radius:10px}.brand{text-decoration:none;display:flex;align-items:center;gap:10px;flex-shrink:0}.mascot{position:relative;display:block;width:54px;height:64px;overflow:hidden}.mascot img{position:absolute;max-width:none;width:93px;height:auto;left:-32px;top:0}.wordmark{font-family:Georgia,serif;font-weight:700;font-size:clamp(23px,2.4vw,36px);letter-spacing:-.04em;line-height:1}.wordmark small{display:block;text-align:center;font:700 8px DM Sans,sans-serif;letter-spacing:.14em;margin-top:6px}.site-header nav{display:flex;gap:clamp(20px,3.8vw,60px)}.site-header nav a{text-decoration:none;font-size:clamp(16px,1.45vw,22px)}.site-header nav a:hover{text-decoration:underline;text-underline-offset:6px}.button{display:inline-flex;justify-content:center;align-items:center;min-height:56px;border-radius:9px;padding:18px 30px;background:var(--lime);color:var(--plum);font-weight:900;font-size:clamp(17px,1.65vw,26px);text-decoration:none;transition:background .2s,transform .2s var(--ease)}.button:hover{background:#e6f790;transform:translateY(-2px)}.button:active{transform:translateY(0)}.header-quote{font-size:clamp(16px,1.4vw,22px);min-height:48px;padding:14px 30px}.menu-toggle{display:none}.hero{height:100svh;min-height:680px;max-height:1200px;position:relative;isolation:isolate;overflow:hidden;color:var(--pink)}.hero-photo{position:absolute;z-index:-2;width:100%;height:100%;object-fit:cover;object-position:center}.hero-copy{position:absolute;top:38.5%;left:7.3%;max-width:66%}.eyebrow{text-transform:uppercase;letter-spacing:.13em;font-size:clamp(14px,1.4vw,23px);margin-bottom:9px}.hero h1{font-size:clamp(64px,7.9vw,126px);font-weight:900;line-height:.92;letter-spacing:-.04em}.subheading{font-size:clamp(18px,1.88vw,30px);margin-top:24px;line-height:1.4;letter-spacing:-.025em}.hero-actions{display:flex;align-items:center;gap:26px;margin-top:32px}.text-link{display:inline-block;padding:7px 0;background:none;color:inherit;text-decoration:underline;text-underline-offset:7px;text-decoration-thickness:1px;font-size:inherit}.text-link:hover{text-decoration-thickness:2px}.hero-actions .text-link{font-size:clamp(17px,1.4vw,22px)}.hero-bottom{position:absolute;bottom:5.5%;left:4.2%;right:3.2%;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:16px}.hero-bottom nav{display:flex}.hero-bottom nav a{display:flex;gap:20px;text-decoration:none;padding:14px 38px;border-right:1px solid #ccadc2}.hero-bottom nav a:first-child{padding-left:0}.hero-bottom nav a:last-child{border:0}.hero-bottom nav a:hover{text-decoration:underline;text-underline-offset:6px}.hero-bottom nav span{font-weight:700;font-variant-numeric:tabular-nums}.hero-bottom p span{padding-left:15px}.section{padding:100px 7.3%;background:var(--paper)}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:50px;margin-bottom:56px}.section h2{font-size:clamp(36px,4vw,64px);line-height:1.05;letter-spacing:-.035em;font-weight:900;max-width:650px}.section-heading p{font-size:20px;line-height:1.6;max-width:400px}.mug-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}.mug-gallery article{scroll-margin-top:30px}.mug-gallery img{height:390px;width:100%;object-fit:cover;object-position:center;border-radius:3px}.mug-gallery h3{font-size:30px;margin-top:24px;letter-spacing:-.03em}.mug-gallery p{font-size:17px;line-height:1.6;margin:12px 0}.mug-gallery button{font-weight:700;text-align:left}.image-note{font-size:14px;margin-top:36px;line-height:1.6}.process{display:grid;grid-template-columns:1fr 1fr;gap:70px;background:var(--pink);border-top:1px solid #d3b5c8}.process p{font-size:20px;line-height:1.6;margin-bottom:20px;max-width:48ch}.process .button{margin-top:12px;font-size:20px}.site-footer{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:32px var(--gutter);color:var(--pink)}.site-footer>a{font-weight:900;font-size:22px;text-decoration:none}.site-footer p{font-size:13px}dialog{width:min(600px,calc(100% - 32px));max-height:90svh;overflow:auto;border:0;border-radius:14px;padding:40px;background:var(--paper);color:var(--plum)}dialog::backdrop{background:#211324c9;backdrop-filter:blur(5px)}dialog h2{font-weight:900;font-size:42px;letter-spacing:-.03em;margin-bottom:8px}dialog>p{margin-bottom:24px}.close-dialog{position:absolute;right:16px;top:16px;background:none;padding:8px;color:var(--plum)}form label{display:grid;gap:7px;font-size:15px;font-weight:700;margin-bottom:16px}input,select,textarea{width:100%;min-height:46px;padding:12px;border:1px solid #9c788f;border-radius:5px;background:#fff;color:var(--plum);caret-color:var(--plum)}textarea{resize:vertical}textarea::placeholder{color:#77556e;opacity:1}.form-row{display:grid;grid-template-columns:1.25fr 1fr;gap:16px}.preview-note{font-size:13px;line-height:1.5;margin:8px 0 20px}form .button{font-size:18px}#quote-status{margin-top:16px;font-size:14px}.intro{position:fixed;inset:0;z-index:100;background:var(--plum);overflow:hidden;contain:strict}.intro-grid{position:absolute;inset:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;transform-origin:center;will-change:transform}.intro-column{display:grid;grid-template-rows:repeat(3,minmax(0,1fr));gap:12px;min-height:0}.intro-tile{overflow:hidden;min-height:0;background:var(--pink);will-change:transform}.intro-tile img{width:100%;height:100%;object-fit:cover}.intro-tile.is-destination img{object-position:center}.intro-controls{position:absolute;z-index:2;bottom:24px;left:var(--gutter);right:var(--gutter);display:flex;align-items:center;justify-content:space-between;gap:16px}.intro-controls p,.intro-skip{background:var(--plum);color:var(--pink);padding:12px 18px;border-radius:6px;font-size:15px}.intro-skip{border:1px solid var(--pink);min-height:46px}.intro-skip:hover{background:var(--pink);color:var(--plum)}body.intro-playing{overflow:hidden}.intro-playing .hero-copy,.intro-playing .hero-bottom,.intro-playing .site-header{opacity:0}.hero-arrive .hero-copy,.hero-arrive .hero-bottom,.hero-arrive .site-header{animation:arrive .7s var(--ease) both}@keyframes arrive{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@media(min-width:1800px){.hero-copy{top:34%}.hero h1{font-size:140px}}@media(max-width:1050px){.site-header{gap:14px;padding:10px 20px}.site-header nav{gap:20px}.wordmark{font-size:25px}.hero{min-height:700px}.hero-copy{max-width:78%;left:6%;top:40%}.hero h1{font-size:clamp(68px,8.8vw,94px)}.hero-bottom nav a{padding:12px 24px}.hero-actions{gap:20px}.subheading{font-size:20px}.mug-gallery{gap:24px}.mug-gallery img{height:320px}.section-heading{align-items:start}.section-heading p{font-size:17px}}@media(max-width:700px){.site-header{top:16px;height:72px;left:16px;right:16px;padding:8px 16px;border-radius:8px;gap:12px}.brand{gap:6px}.wordmark{font-size:24px}.mascot{width:44px;height:54px}.mascot img{width:78px;left:-27px}.header-quote{display:none}.menu-toggle{display:flex;align-items:center;gap:8px;background:none;color:var(--plum);padding:12px 0;font-size:15px}.site-header nav{display:none;position:absolute;top:80px;left:0;right:0;padding:20px;background:var(--pink);border-radius:8px;box-shadow:0 16px 28px #25132840}.site-header nav.is-open{display:flex;flex-direction:column;gap:0}.site-header nav a{padding:14px;font-size:18px}.hero{min-height:760px;max-height:980px;height:100svh}.hero-photo{height:62%;object-fit:cover;object-position:68% top;mask-image:linear-gradient(black 68%,transparent 100%)}.hero-copy{inset:auto 24px 120px;max-width:none}.eyebrow{font-size:12px;letter-spacing:.12em;margin-bottom:16px}.hero h1{font-size:clamp(54px,13vw,86px);line-height:.96}.subheading{font-size:18px;max-width:350px;line-height:1.5;margin-top:20px;letter-spacing:-.015em}.hero-actions{align-items:flex-start;flex-direction:column;gap:13px;margin-top:24px}.hero-actions .button{font-size:18px;min-height:56px;padding:16px 24px}.hero-actions .text-link{font-size:16px}.hero-bottom{left:24px;right:24px;bottom:23px;display:block;font-size:13px}.hero-bottom nav{justify-content:space-between}.hero-bottom nav a{padding:10px 12px;gap:8px}.hero-bottom nav a:last-child{padding-right:0}.hero-bottom nav span{font-size:11px}.hero-bottom p{font-size:10px;margin-top:12px;text-align:right}.section{padding:64px 24px}.section-heading{display:block;margin-bottom:32px}.section-heading p{margin-top:20px}.mug-gallery{grid-template-columns:1fr;gap:48px}.mug-gallery img{height:400px;object-position:center 44%}.mug-gallery h3{font-size:30px}.mug-gallery p{max-width:45ch}.process{grid-template-columns:1fr;gap:26px}.process p{font-size:18px}.site-footer{flex-wrap:wrap;gap:18px;padding:28px 24px}.site-footer p{order:3;width:100%;font-size:12px;line-height:1.6}.site-footer button{font-size:14px}.intro-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.intro-column{grid-template-rows:repeat(3,minmax(0,1fr));gap:8px}.intro-controls p{display:none}.intro-controls{justify-content:flex-end}dialog{padding:36px 24px 24px}dialog h2{font-size:36px}.form-row{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.intro{display:none}.intro-playing .hero-copy,.intro-playing .hero-bottom,.intro-playing .site-header{opacity:1}}@media(max-width:700px){.intro-tile.is-destination{background:var(--plum)}.intro-tile.is-destination img{height:62%;object-position:68% top;mask-image:linear-gradient(black 68%,transparent 100%)}}html{scrollbar-gutter:stable}.intro-grid{right:auto;transform-origin:0 0}.intro-tile.is-destination{position:relative;background:var(--plum)}.destination-scene{position:absolute;left:0;top:0;transform-origin:0 0;background:var(--plum);overflow:hidden}.intro-tile.is-destination .destination-scene img{position:absolute;left:0;top:0;max-width:none}.hero-arrive .hero-copy,.hero-arrive .hero-bottom,.hero-arrive .site-header{animation:hero-reveal .8s var(--ease) both}@keyframes hero-reveal{0%{opacity:0}to{opacity:1}}.hero{display:flex;flex-direction:column;height:auto;min-height:max(760px,100svh);max-height:none;padding:clamp(200px,32svh,380px) 7.3% 32px;gap:44px}.hero-photo{inset:0}.hero-copy{position:relative;inset:auto;max-width:78%;flex:none}.hero-actions{flex-wrap:wrap}.hero-bottom{position:relative;inset:auto;margin-top:auto;flex:none;flex-wrap:wrap}.hero-bottom nav{flex-wrap:wrap}@media(max-width:1050px){.hero-copy{max-width:88%}}@media(max-width:700px){.hero{min-height:max(760px,100svh);padding:300px 24px 24px;gap:32px}.hero-copy{max-width:none}.hero-bottom{width:100%}.hero-bottom nav{gap:4px}.hero-bottom nav a{padding:10px 8px}.hero-photo{height:62%}}.hero-design-help{font-size:16px;line-height:1.5;margin-top:14px}.site-header nav{align-items:center;gap:clamp(14px,2vw,32px)}.site-header nav .nav-design-link{display:inline-flex;align-items:center;min-height:48px;padding:10px 14px;border:1px solid var(--plum);border-radius:6px;background:transparent;color:var(--plum);font-weight:700}.site-header nav .nav-design-link:hover{background:var(--paper);text-decoration:none}.site-header .header-quote{background:transparent;color:var(--plum);font-weight:700;text-decoration:underline;text-underline-offset:5px;padding:14px 12px}@media(max-width:700px){.hero-design-help{font-size:14px}.site-header nav .nav-design-link{align-self:stretch}}.hero-replay{position:absolute;top:calc(clamp(18px,3.4vh,34px) + clamp(72px,8.9vh,90px) + 8px);right:var(--gutter);min-height:44px;padding:10px 14px;border-radius:6px;background:#38213ce6;color:var(--pink);font-size:13px;text-decoration:underline;text-underline-offset:4px}.hero-replay:hover{background:var(--plum)}.intro-playing .hero-replay{visibility:hidden}@media(max-width:700px){.hero-replay{top:96px;right:16px;font-size:12px}}.site-header{height:auto;min-height:clamp(72px,8.9vh,90px);flex-wrap:wrap}.site-header nav{flex-wrap:wrap;min-width:0}.site-header nav a{overflow-wrap:anywhere}.hero-replay{top:var(--replay-top, calc(clamp(18px,3.4vh,34px) + clamp(72px,8.9vh,90px) + 8px) )}.hero{padding-top:max(clamp(200px,32svh,380px),var(--header-clearance,0px))}@media(max-width:700px){.site-header{min-height:72px}.site-header nav{top:calc(100% + 8px)}.hero-replay{top:var(--replay-top,96px)}.hero{padding-top:max(300px,var(--header-clearance,0px))}}main :where(article,section,div,figure,form,label,nav),.global-footer>*,.global-footer nav a{min-width:0;overflow-wrap:anywhere}.brand{min-width:0;max-width:100%;flex-shrink:1}.wordmark{min-width:0;overflow-wrap:anywhere}input,select,textarea{min-width:0;max-width:100%}.button{max-width:100%}.global-footer a:focus-visible{outline-color:var(--lime)}#mug-view:focus-visible,#artwork-map:focus-visible{outline:3px solid #b03e72;outline-offset:3px}
