:root,:root[data-theme="light"]{--paper:#faf9f6;--surface:#fff;--ink:#252722;--ink-soft:#68685e;--line:#dfdfd5;--pine:#353e32;--pine-deep:#293128;--brass:#94754b;--maxw:1400px;--serif:'Cormorant Garamond',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}
[hidden]{display:none!important}button,input,select,textarea{font-family:var(--sans)}button,a{touch-action:manipulation}button{cursor:pointer}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid #94754b;outline-offset:5px}body{font-size:16px}h1,h2,h3{font-weight:400}button{color:inherit}html{scrollbar-gutter:auto}.catalogue-header{height:106px;padding:14px 4%;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px;background:var(--paper);position:relative;z-index:10}.brand-home{border:0;background:none}.catalogue-header .brand-home{display:flex;align-items:center;gap:14px;text-align:left;padding:0}.brand-home img{width:67px;height:67px;object-fit:contain;mix-blend-mode:multiply}.brand-home span{font:26px var(--serif);white-space:nowrap}.brand-home small{display:block;font:10px var(--sans);letter-spacing:2px;margin-top:5px;color:var(--ink-soft)}.header-nav{display:flex;gap:24px}.header-nav button{border:0;background:none;min-height:44px;padding:0;font-size:14px;position:relative}.header-nav button[aria-current="page"]:after{content:"";height:1px;background:var(--brass);position:absolute;bottom:2px;left:0;right:0}.selection-link{border:1px solid var(--line);background:transparent;border-radius:0;padding:12px 15px;white-space:nowrap;font-size:14px;min-height:44px}.selection-link span{margin-left:8px;color:var(--brass)}
#home{max-width:1600px;min-height:calc(100svh - 106px);margin:auto;padding:30px 4% 20px;position:relative;display:flex;flex-direction:column;justify-content:center}.home-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin:0 0 25px}.eyebrow{font:12px var(--sans);letter-spacing:2.5px;color:var(--brass);margin:0 0 8px}.home-heading h1{font:clamp(32px,3.5vw,56px)/1.12 var(--serif);margin:0;letter-spacing:-1px}.home-note{font:15px/1.6 var(--sans);text-align:right;color:var(--ink-soft);margin:0 0 4px}.collection-panels{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px;perspective:1400px}.collection-panel{display:flex;flex-direction:column;min-width:0;border:0;background:transparent;padding:0;text-align:left;transform:rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .35s ease;transform-style:preserve-3d}.panel-image{height:clamp(245px,43vh,510px);position:relative;width:100%;background:#eeede7;box-shadow:0 12px 24px -22px #25272270;overflow:hidden;border-radius:110px 110px 0 0;transition:box-shadow .4s,filter .4s}.panel-image img{display:block;width:100%;height:100%;object-fit:contain;transform:translate(var(--px,0px),var(--py,0px)) scale(.94);transition:transform .5s ease;mix-blend-mode:multiply}.giveaways .panel-image{background:#e5e9e3}.christmas .panel-image{background:#efe5df}.collection-panel:hover .panel-image,.collection-panel:focus-visible .panel-image,.collection-panel.chosen .panel-image{box-shadow:0 18px 28px -22px #25272280;filter:brightness(1.02)}.collection-panel.chosen .explore-arrow{background:var(--pine);color:white;transform:scale(1.15)}.panel-caption{display:flex;align-items:center;gap:12px;padding-top:18px;width:100%}.collection-number{font:12px var(--sans);color:var(--brass);align-self:flex-start;margin-top:8px}.panel-caption h2{font:clamp(23px,2.4vw,36px)/1.12 var(--serif);margin:0 0 7px;letter-spacing:-.5px}.panel-caption p{font:13px/1.4 var(--sans);color:var(--ink-soft);margin:0}.explore-arrow{border:1px solid #c9c9bc;border-radius:50%;width:38px;height:38px;display:grid;place-items:center;flex-shrink:0;margin-left:auto;font-size:21px;transition:.3s}.home-footer{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:18px;margin-top:70px;color:var(--ink-soft);gap:20px}.home-footer p{font:14px var(--sans);margin:0}.home-footer span{font:10px var(--sans);letter-spacing:1.5px}.home-status{font-size:14px;text-align:center}.guide-sprite{width:90px;height:120px;background:url('assets/mascot-poses.png') 0 0/400% 100% no-repeat;filter:drop-shadow(0 4px 3px #25272220)}#guide{position:absolute;left:4%;bottom:50px;z-index:12;pointer-events:none;will-change:transform}.running .guide-sprite{animation:run-poses .18s steps(1) infinite,hop .18s ease-in-out infinite}.tapping .guide-sprite{background-position:100% 0;transform:translateY(-8px)}@keyframes run-poses{0%,49%{background-position:33.333% 0}50%,100%{background-position:66.666% 0}}@keyframes hop{50%{transform:translateY(-5px) rotate(2deg)}}
#app{max-width:1400px;padding:0 4%;}.collection-heading{padding:25px 0 18px}.text-back{font-size:14px;padding:8px 0;margin-bottom:22px;min-height:44px}.collection-heading-line{display:flex;justify-content:space-between;align-items:center;gap:20px}.collection-heading h1{font:46px/1.1 var(--serif);margin:0}.collection-heading-line span{font-size:14px;color:var(--ink-soft)}#collectionDescription{font-size:15px;line-height:1.5;color:var(--ink-soft);margin:12px 0}.mosaic{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px 20px;padding:10px 0 130px;position:relative}.mosaic .tile,.mosaic .promo{position:relative;top:auto;left:auto;transform:none!important;width:auto!important;visibility:visible;align-self:start}.tile{background:none;border:0;border-radius:0;box-shadow:none;overflow:visible}.tile .photo{background:#fff;overflow:hidden;border-radius:2px}.tile .photo img{mix-blend-mode:normal;filter:none;opacity:1}.photo-open{position:absolute;inset:0;border:0;z-index:1;background:transparent;cursor:zoom-in}.tile figcaption{padding:12px 0}.tile .nm{font:22px/1.12 var(--serif);display:block;min-height:0;overflow:visible;letter-spacing:0}.price-row{margin-top:10px}.price{font-size:15px;font-weight:500;color:var(--ink);margin-left:0}.size-inline{font-size:13px;font-weight:400}.tile .cw{font-size:14px;margin-top:7px;color:var(--ink-soft)}.q-add,.q-btn{width:44px;height:44px;font-size:23px}.q-add{background:#fff;color:var(--ink);border:1px solid #ddd;box-shadow:0 2px 6px #0001}.q-step{background:var(--pine);box-shadow:none}.q-n{font-weight:400;font-size:16px}.qty{top:10px;left:10px}.new-badge{font-size:11px;border-radius:0;background:#fff;color:var(--pine);box-shadow:none}.promo{border:0;border-radius:2px;background:#fff;box-shadow:none}.promo video{max-height:330px;object-fit:contain}.promo-name{font:23px var(--serif)}.promo-trait{font:14px var(--sans)}.promo-cap{padding:15px}.bottombar{background:var(--paper);border-top:1px solid var(--line);padding:14px 4%;}.bottombar .inner{display:flex;align-items:center;justify-content:space-between;gap:20px}.bottombar .inner>span{font:24px var(--serif)}.bottombar small{display:block;font:13px var(--sans);margin-top:3px;color:var(--ink-soft)}.bigbtn{border-radius:1px;box-shadow:none;font-size:15px;font-weight:400;min-height:48px}.bottombar .bigbtn{width:auto;min-width:250px}.pill{font-size:14px}.lv-wrap{max-width:1000px;padding:25px 24px 60px}.lv-head h2{font:38px var(--serif)}.lv-list .nm{font:23px var(--serif)}.lv-list .sub,.lv-list .code{font-size:14px}.th-note{font-size:14px}.backbtn{min-height:44px;font-size:14px}.export-zone{max-width:1000px;margin:auto;padding:15px 24px 40px}.list-summary{font-size:15px;line-height:1.8}.ship{font-size:14px}.empty{font-size:18px}.row .qty{position:static}.export-close{position:fixed;top:20px;right:24px;z-index:100;border:1px solid var(--line);background:var(--paper);font-size:25px;width:48px;height:48px}.sheet h3{font:32px var(--serif)}.modal textarea{font-size:15px}.viewer{background:#f6f5f1;color:var(--ink)}.v-top{color:var(--ink)}.v-close{background:var(--paper);color:var(--ink);border:1px solid var(--line);width:48px;height:48px}.v-bottom{background:var(--paper);border-top:1px solid var(--line);padding:18px 20px;color:var(--ink)}.v-bottom .nm{font:30px var(--serif);color:var(--ink)}.v-bottom .meta{font-size:16px;color:var(--ink-soft)}.v-bottom .hint{font-size:13px;color:var(--ink-soft);margin-top:10px}.nav{background:var(--paper);color:var(--ink);border:1px solid var(--line);width:48px;height:48px}.photo-count{font-size:14px}.dots i{background:#aaa}.dots i.on{background:var(--pine)}#variantLabel{display:flex;justify-content:center;align-items:center;gap:12px;margin:10px auto;font-size:14px}#variantSelect{padding:9px 12px;max-width:65vw;min-height:44px;border:1px solid var(--line);background:var(--surface);font-size:15px;color:var(--ink)}#productLink{display:inline-block;color:var(--brass);font-size:14px;padding:9px;min-height:36px}.stage{bottom:210px}.status-banner{font-size:14px}.contact-form label{font-size:15px}.contact-form input,.contact-form textarea{font-size:16px}
@media(min-width:1500px){#home{padding-top:40px;padding-bottom:30px}.panel-image{height:48vh;max-height:530px}}
@media(max-width:1100px){.catalogue-header{height:90px;padding:12px 3%;gap:14px}.brand-home span{font-size:23px}.brand-home img{width:54px;height:54px}.header-nav{gap:16px}.header-nav button{font-size:13px}.selection-link{font-size:13px;padding:10px}.brand-home small{font-size:9px;letter-spacing:1.5px}#home{min-height:calc(100svh - 90px);padding:24px 3% 18px}.collection-panels{gap:18px}.panel-image{border-radius:90px 90px 0 0}.panel-caption{gap:7px}.panel-caption p{font-size:12px}.explore-arrow{width:30px;height:30px;font-size:18px}.home-heading h1{font-size:39px}.home-footer{margin-top:65px}.mosaic{grid-template-columns:repeat(3,minmax(0,1fr))}.tile .nm{font-size:23px}}
@media(max-width:760px){.header-nav{display:none}.catalogue-header{height:85px}.brand-home span{font-size:23px}.home-heading{align-items:start}.home-heading h1{font-size:36px}.home-note{display:none}.collection-panels{grid-template-columns:1fr;gap:32px}.panel-image{height:350px;border-radius:120px 120px 0 0}.panel-caption h2{font-size:34px}.panel-caption p{font-size:14px}.home-footer{margin-top:100px;display:block}.home-footer span{display:block;margin-top:10px}#guide{bottom:85px}.mosaic{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 14px}.tile .nm{font-size:22px}.collection-heading h1{font-size:38px}.bottombar .inner>span{display:none}.bottombar .bigbtn{width:100%}.brand-home small{font-size:9px}.selection-link{font-size:12px}.collection-heading-line span{font-size:13px}.tile .cw{font-size:13px}#variantLabel{flex-direction:column;gap:5px}.stage{bottom:235px}.v-bottom .nm{font-size:26px}}
@media (max-height:700px) and (min-width:761px){.catalogue-header{height:80px}#home{min-height:calc(100svh - 80px);padding-top:16px}.home-heading{margin-bottom:15px}.home-heading h1{font-size:34px}.panel-image{height:36vh;min-height:200px}.home-footer{margin-top:48px;padding-top:12px}.panel-caption{padding-top:12px}.guide-sprite{width:69px;height:92px}#guide{bottom:38px}.panel-caption h2{font-size:25px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.collection-panel,.panel-image img{transform:none!important}}
/* Keep product options interactive and preserve the complete photo. */
.v-bottom{pointer-events:auto}.stage{position:absolute;inset:64px 18px 250px;padding:0;place-items:center}.stage-inner{height:100%;width:100%;display:flex;align-items:center;justify-content:center}.stage img{max-height:100%;max-width:100%;object-fit:contain}.v-qty .q-add{background:var(--pine);color:white}.sheet .export-note p{font-size:14px}.send-ic-label{font-size:14px}.sheet{max-height:88dvh;overflow:auto}.photo-open:focus-visible{outline-offset:-4px}.panel-caption p{font-size:14px}.home-footer span{font-size:12px}.brand-home small{font-size:12px;letter-spacing:1px}
@media(min-width:768px){.viewer .stage{inset:55px 40% 35px 25px;padding:0}.viewer .stage img{max-height:100%;max-width:100%}.v-bottom{left:62%;width:38%;top:0;bottom:0;border-top:0;border-left:1px solid var(--line);display:flex;flex-direction:column;justify-content:center;align-items:center;padding:65px 24px;text-align:center}.v-bottom .nm{font-size:38px;line-height:1.1}.v-bottom .meta{margin:18px 0}.v-bottom .hint{margin-top:24px}.nav.prev{left:20px}.nav.next{right:40%}.v-top{z-index:5}#variantLabel{flex-direction:column;gap:10px;width:100%}#variantSelect{max-width:100%;width:100%}}
@media(max-width:1100px){.brand-home span{font-size:21px}.brand-home small{font-size:10px}.header-nav{gap:12px}.header-nav button{font-size:14px}.panel-caption p{font-size:13px}.home-footer span{font-size:12px}}

/* Minimal collection presentation. */
:root,:root[data-theme="light"]{--serif:'Cinzel',Georgia,serif;--sans:'Cinzel',Arial,sans-serif}
#home{padding-top:28px;padding-bottom:130px;justify-content:center}
.home-heading{margin-bottom:24px;justify-content:center}
.home-heading h1{font:400 18px/1.5 var(--serif);letter-spacing:2px;text-transform:uppercase}
.panel-image img{object-fit:cover;transform:none;mix-blend-mode:normal}
.collection-panel .panel-image{box-shadow:none}
.panel-caption h2{font:400 clamp(18px,1.9vw,29px)/1.4 var(--serif);letter-spacing:0}
.panel-caption p{font:400 13px/1.6 var(--sans)}
.panel-caption{align-items:start}.explore-arrow{margin-top:3px}
.brand-home span{font:400 21px/1.3 var(--serif)}
.brand-home small{font:400 10px/1.6 var(--sans);letter-spacing:.65px;max-width:34ch;white-space:normal}
.tile .nm{font:400 18px/1.45 var(--serif)}
.header-nav{gap:16px}.header-nav button{font-size:12px}
#guide{left:4%;bottom:8px;top:auto}
.guide-sprite{width:160px;height:204px;background-image:url('assets/mascot-walk.png');background-size:400% 200%;background-position:66.666667% 100%;filter:drop-shadow(0 3px 2px #25272218)}
.running .guide-sprite{animation:walk-poses var(--walk-cycle,180ms) steps(1) infinite}
.tapping .guide-sprite{animation:none;background-position:100% 100%;transform:none}
@keyframes walk-poses{0%{background-position:0% 0%}16.6667%{background-position:33.333333% 0%}33.3333%{background-position:66.666667% 0%}50%{background-position:100% 0%}66.6667%{background-position:0% 100%}83.3333%{background-position:33.333333% 100%}}
@media(max-width:1100px){.catalogue-header{gap:12px}.brand-home span{font-size:18px}.header-nav{gap:10px}.header-nav button{font-size:11px}.panel-caption h2{font-size:20px}.panel-caption p{font-size:12px}.home-heading h1{font-size:17px}}
@media(max-width:760px){#home{padding-bottom:145px}.panel-caption h2{font-size:23px}.panel-caption p{font-size:14px}.brand-home small{font-size:9px}.home-heading h1{font-size:17px}.guide-sprite{width:132px;height:168px}.v-bottom .nm{font-size:22px}}
@media(max-height:700px) and (min-width:761px){#home{padding-top:18px;padding-bottom:120px}.home-heading h1{font-size:16px}.panel-image{height:35vh;min-height:180px}.guide-sprite{width:132px;height:168px}.panel-caption h2{font-size:19px}}

/* Square collection photos with restrained rounded corners. */
.collection-panel .panel-image{width:100%;height:auto;min-height:0;max-height:none;aspect-ratio:1 / 1;border-radius:16px}

/* A circular gallery: one front collection, two receding neighbours. */
#home{overflow:hidden;padding-top:24px;padding-bottom:112px;justify-content:center}
.collection-panels{--card-size:clamp(317.4px,57.96vh,579.6px);display:block;position:relative;height:calc(var(--card-size) + 105px);width:100%;perspective:1000px;touch-action:pan-y;isolation:isolate}
.collection-panel{position:absolute;left:50%;top:0;width:var(--card-size);display:block;transform:var(--orbit-transform);transform-style:preserve-3d;transition:opacity .2s;will-change:transform;backface-visibility:hidden;-webkit-tap-highlight-color:transparent}
.collection-panel .panel-image{aspect-ratio:1;border-radius:16px;box-shadow:0 27px 26px -27px #25272280}
.collection-panel:hover .panel-image,.collection-panel:focus-visible .panel-image,.collection-panel.chosen .panel-image{box-shadow:0 27px 26px -27px #25272280;filter:none}
.collection-panel .panel-caption{display:block;text-align:center;padding-top:22px;opacity:0;visibility:hidden;transition:opacity .22s;pointer-events:none}
.collection-panel.is-front .panel-caption{opacity:1;visibility:visible}
.panel-caption h2{font-size:clamp(20px,2.1vw,28px);margin-bottom:8px}.panel-caption p{font-size:13px;line-height:1.6}
.collection-panel:not(.is-front){cursor:grab}.collection-panel.is-front{cursor:pointer}
.home-heading{margin-bottom:24px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
@media(max-width:760px){.collection-panels{--card-size:min(92.46vw,483px);height:calc(var(--card-size) + 125px)}#home{min-height:calc(100svh - 85px);padding-bottom:160px}.panel-caption h2{font-size:21px}.panel-caption p{font-size:12px}}
@media(max-height:700px) and (min-width:761px){.collection-panels{--card-size:clamp(276px,53.82vh,427.8px)}#home{padding-top:16px;padding-bottom:95px}.home-heading{margin-bottom:18px}.panel-caption{padding-top:18px!important}.panel-caption h2{font-size:20px}}
@media(prefers-reduced-motion:reduce){.collection-panel{transform:var(--orbit-transform)!important}}

/* Give the title its own space above the enlarged gallery. */
#home{justify-content:flex-start;padding-top:30px;padding-bottom:105px}
.home-heading{flex-direction:column;align-items:center;gap:14px;margin-bottom:36px;flex-shrink:0}
.home-heading::after{content:"";display:block;width:120px;height:1px;background:linear-gradient(90deg,transparent,rgba(151,132,98,.38),transparent)}
.collection-panels{flex-shrink:0}
.guide-sprite{width:220px;height:220px;background-image:url('assets/mascot-full-rope.webp');background-size:400% 200%}
@media(max-width:760px){.guide-sprite{width:180px;height:180px}#home{padding-bottom:185px}.home-heading{margin-bottom:32px}}
@media(max-height:700px) and (min-width:761px){#home{padding-top:22px}.home-heading{margin-bottom:30px}.guide-sprite{width:190px;height:190px}}

/* Keep the landing gallery and the full mascot inside one screen. */
:root{--catalogue-header-height:106px}
#home{height:calc(100svh - var(--catalogue-header-height));min-height:0;padding-bottom:0}
.collection-panels{--card-size:min(57.96vh,579.6px,calc(100svh - var(--catalogue-header-height) - 220px),85vw)}
@media(max-width:1100px){:root{--catalogue-header-height:90px}}
@media(max-width:760px){:root{--catalogue-header-height:85px}.collection-panels{--card-size:min(92.46vw,483px,calc(100svh - 365px))}#home{padding-bottom:0}}
@media(max-height:700px) and (min-width:761px){:root{--catalogue-header-height:80px}.collection-panels{--card-size:min(53.82vh,427.8px,calc(100svh - 285px))}}

/* Preserve original photography and keep the brand tagline together. */
.brand-home small{max-width:none;white-space:nowrap}
.collection-panel .panel-image,.collection-panel .panel-image img,.tile.sold-out{filter:none;mix-blend-mode:normal}
/* Hide neighbouring-frame bleed at the empty bottom-right of the idle cell. */
#guide:not(.running):not(.tapping):not(.ticklish):not(.tickle-pending) .guide-sprite{clip-path:polygon(0 0,100% 0,100% 85%,94% 85%,94% 100%,0 100%)}

.promo video,.promo img{background:#fff;mix-blend-mode:normal;filter:none;opacity:1}

.v-top{justify-content:space-between}.v-top #vClose{order:-1;width:auto;min-width:88px;border-radius:0;padding:0 14px;font:16px var(--sans)}

#exportZone{z-index:60;background:var(--paper);box-shadow:0 -8px 30px #00000014;animation:up .25s ease;max-height:85dvh;overflow-y:auto}#orderSummary .list-summary{margin:0 0 14px}#listView .lv-wrap{padding-bottom:300px}

/* Story is an editorial section, separate from the three collections. */
.header-nav .story-link{border-left:1px solid var(--line);padding-left:20px;margin-left:4px;color:var(--brass)}
.story-page{max-width:1050px;margin:0 auto;padding:26px 5% 70px}
.story-content{max-width:720px;margin:30px auto}.story-content h1{font:500 clamp(36px,4vw,54px)/1.2 var(--serif);margin:12px 0 22px}.story-rule{height:1px;width:100px;background:var(--line);margin-bottom:30px}
.story-full-link{display:inline-flex;align-items:center;min-height:44px;max-width:100%;font:400 16px/1.6 var(--serif);color:var(--brass);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}.story-full-link:hover,.story-full-link:focus-visible{color:var(--ink)}
.story-content p{font:16px/1.85 var(--sans);color:var(--ink-soft);margin-bottom:22px}.story-content .eyebrow{font-size:11px;letter-spacing:2px;color:var(--brass)}.story-content .story-intro{font:24px/1.5 var(--serif);color:var(--ink)}.story-content h2{font:500 22px/1.5 var(--serif);margin:32px 0 12px}.story-return{padding:12px 0;margin-top:12px;color:var(--brass);font:14px var(--sans)}
@media(min-width:761px) and (max-width:1100px){.catalogue-header{gap:10px;padding-left:2%;padding-right:2%}.brand-home small{font-size:8px;letter-spacing:.2px}.catalogue-header .brand-home{gap:8px}.header-nav{gap:9px}.header-nav button{font-size:10px}.header-nav .story-link{padding-left:10px;margin-left:0}.selection-link{font-size:11px}}
@media(max-width:760px){.catalogue-header{flex-wrap:wrap;height:120px}.header-nav{display:flex;order:3;width:100%;justify-content:center}.header-nav button{font-size:10px;min-height:28px}.header-nav .story-link{padding-left:12px}:root{--catalogue-header-height:120px}.story-content{margin-top:15px}}

.story-team-photo{display:block;width:100%;height:auto;margin:20px 0 28px;filter:none;mix-blend-mode:normal;opacity:1}

.story-press-logos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:center;margin:24px 0 32px}.story-press-logos img{display:block;width:100%;height:182px;object-fit:contain;filter:none;mix-blend-mode:normal;opacity:1}@media(max-width:600px){.story-press-logos{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.story-press-logos img{height:154px}}

.story-press-logos{align-items:start}.story-press-logos figure{margin:0;text-align:center}.story-press-logos figcaption{margin-top:14px;font:400 13px/1.6 var(--serif);color:var(--ink)}

/* One warm gold flash at the mascot’s tap, then original photo colours. */
.collection-gold-flash{position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:0;background:linear-gradient(115deg,rgba(180,130,40,.45) 0%,rgba(229,188,91,.8) 35%,rgba(255,237,183,.95) 52%,rgba(219,175,74,.75) 70%,rgba(180,130,40,.4) 100%)}

/* Portrait phone catalogue. Tablet presentation remains above 760px. */
@media(max-width:760px){
 :root{--catalogue-header-height:160px}
 .catalogue-header{height:160px;padding:10px 16px 0;gap:4px 10px;align-content:start;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:86px 54px}
 .catalogue-header .brand-home{gap:8px;min-width:0;align-items:flex-start}
 .brand-home img{width:42px;height:42px;flex-shrink:0}
 .brand-home span{font-size:16px;white-space:normal;line-height:1.4}
 .brand-home small{font-size:9px;letter-spacing:0;white-space:normal;max-width:25ch;margin-top:3px}
 .selection-link{font-size:12px;padding:9px 8px;align-self:start;margin-top:8px;min-height:44px}
 .selection-link span{margin-left:3px}
 .header-nav{grid-column:1/-1;width:100%;overflow-x:auto;justify-content:flex-start;gap:18px;align-self:end;scrollbar-width:none}
 .header-nav::-webkit-scrollbar{display:none}
 .header-nav button{font-size:12px;min-height:48px;flex-shrink:0;white-space:nowrap}
 .header-nav .story-link{padding-left:16px;margin-left:0}
 #home{height:calc(100svh - 160px);min-height:0;padding:18px 12px 0;overflow:hidden}
 .home-heading{margin-bottom:20px;gap:10px}
 .home-heading h1{font-size:15px;letter-spacing:1.3px}
 .collection-panels{--card-size:min(78vw,420px,calc(100svh - 365px));height:calc(var(--card-size) + 92px)}
 .collection-panel .panel-caption{padding-top:14px}
 .panel-caption h2{font-size:20px;margin-bottom:5px}
 .panel-caption p{font-size:12px;line-height:1.5}
 #guide{--mobile-guide-size:clamp(135px,22.5svh,187.5px);left:calc(var(--mobile-guide-size) * -.4);bottom:0}
 .guide-sprite{width:var(--mobile-guide-size);height:var(--mobile-guide-size)}
 #app{padding:0 16px;width:100%}
 .collection-heading{padding:16px 0 12px}
 .text-back{margin-bottom:14px}
 .collection-heading-line{display:block}
 .collection-heading h1{font-size:30px;line-height:1.25;overflow-wrap:anywhere}
 .collection-heading-line span{display:block;margin-top:10px;font-size:13px}
 #collectionDescription{font-size:14px}
 .mosaic{gap:22px 12px;padding-bottom:110px}
 .tile .nm{font-size:15px;line-height:1.45;overflow-wrap:anywhere}
 .price-row{flex-wrap:wrap;gap:5px}.price{font-size:14px}.size-inline{font-size:12px;text-align:left}
 .tile .cw{font-size:12px}.qty{top:6px;left:6px}
 .q-add,.q-btn{width:44px;height:44px}.q-n{width:30px;min-width:24px;font-size:16px}
 .new-badge{top:auto;bottom:6px;right:6px;font-size:10px}
 .promo-name{font-size:18px}.promo-cap{padding:12px}.promo-trait{font-size:13px}
 .bottombar{padding:10px 16px calc(10px + env(safe-area-inset-bottom))}.bottombar .bigbtn{min-width:0;width:100%}
 .viewer{height:100dvh;touch-action:pan-y}
 .v-top{position:relative;flex:0 0 68px;padding:10px 12px;align-items:center}
 .v-top .v-qty{position:static;margin-left:auto;order:1}
 .viewer .stage{position:relative;inset:auto;flex:1 1 0;min-height:0;margin:0 12px;padding:0}
 .v-bottom{position:relative;inset:auto;flex:0 1 auto;max-height:43dvh;overflow-y:auto;touch-action:pan-y;padding:14px 16px calc(16px + env(safe-area-inset-bottom))}
 .v-bottom .nm{font-size:21px;line-height:1.35}.v-bottom .meta{font-size:15px}
 #variantLabel{font-size:14px}#variantSelect{width:100%;max-width:100%;font-size:16px}
 .v-bottom .hint{font-size:12px;line-height:1.5}
 .viewer .nav{top:35%;width:44px;height:44px}.nav.prev{left:8px}.nav.next{right:8px;box-shadow:none}
 #listView .lv-wrap{padding:0 0 var(--mobile-summary-space,290px)}
 .lv-head{padding:12px;z-index:2;gap:10px}.lv-head h2{font-size:22px}.lv-head .sub{font-size:13px}
 .lv-list{padding:14px 12px 24px}
 .row{display:grid;grid-template-columns:56px minmax(0,1fr);gap:10px;padding:12px}
 .row img{width:56px;height:56px;grid-row:1 / 3}.row .info .row-top{display:block}
 .row .info .nm{font-size:16px;line-height:1.5}.row .info .price{display:block;margin-top:5px}
 .row .qty{grid-column:2;justify-self:end}.row .info .sub,.row .info .code{font-size:12px}
 #exportZone{padding:12px 16px calc(16px + env(safe-area-inset-bottom));max-height:78dvh;overscroll-behavior:contain}
 .list-summary{padding:10px 12px;font-size:13px;line-height:1.5}.list-summary .em{font-size:12px}
 .bigbtn{font-size:14px;white-space:normal;line-height:1.5}.th-note{font-size:12px}
 .contact-form input,.contact-form textarea{font-size:16px}.contact-form label{font-size:14px}
 .sheet{width:100%;padding:20px 16px calc(20px + env(safe-area-inset-bottom));max-height:90dvh}.sheet h3{font-size:26px;padding-right:44px}
 .export-close{top:12px;right:12px}.send-row{flex-wrap:wrap;gap:12px}
 .story-page{padding:18px 20px 40px}.story-content{margin:12px auto}.story-content h1{font-size:34px}
 .story-content h2{font-size:21px;line-height:1.5}.story-content p{font-size:16px;line-height:1.8}
 .story-press-logos{gap:24px 14px}.story-press-logos img{height:140px}.story-press-logos figcaption{font-size:12px;line-height:1.6;overflow-wrap:anywhere}
}
@media(max-width:360px){.brand-home img{width:34px;height:34px}.brand-home span{font-size:14px}.selection-link{font-size:11px}.header-nav{gap:14px}.mosaic{gap:20px 10px}.q-n{width:24px}.panel-caption h2{font-size:18px}}
@media(max-width:760px) and (max-height:520px){
 #home{height:auto;min-height:calc(100svh - 160px);padding-bottom:110px}
 .collection-panels{--card-size:min(48svh,300px)}
 #guide{--mobile-guide-size:135px}
}

.brand-home small .brand-place{font:inherit;letter-spacing:inherit;color:inherit;white-space:nowrap}

/* Touch the character, leaving the surrounding photo and trailing rope unobstructed. */
#tickleMascot{position:absolute;left:51%;top:10%;width:43%;height:82%;min-width:44px;min-height:44px;padding:0;border:0;background:transparent;pointer-events:auto;cursor:pointer;touch-action:manipulation;border-radius:40%;-webkit-appearance:none;appearance:none}
#guide,#guide *{-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
#tickleMascot:focus:not(:focus-visible){outline:none}
#guide .guide-sprite{transform-origin:73% 90%}
#guide.running #tickleMascot,#guide.tapping #tickleMascot{pointer-events:none}

/* Dedicated reaction artwork keeps her face, limbs and ropes expressive. */
#guide.ticklish .guide-sprite{background-image:none;animation:none;transform:none;clip-path:none}
#guide .guide-sprite{position:relative;overflow:visible}
/* Exclude isolated sprite specks in the empty corner beyond her right foot. */
#guide .guide-sprite .tickle-playback{position:absolute;left:-8%;top:-8%;display:block;width:116%;height:116%;max-width:none;pointer-events:none;clip-path:polygon(0 0,100% 0,100% 86%,90% 86%,90% 100%,0 100%)}
