@font-face{font-family:Inter;src:url("../../../../fonts/inter/Inter-variable.ttf") format('truetype');font-weight:100 900;font-display:swap}
:root{--moriki-aqua:#35d4df;--moriki-pink:#f563e2;--moriki-yellow:#ffd339;--violet:#ad54ff}
:root[data-theme='light']{--violet:#603ac5}
body{font-family:Inter,Arial,sans-serif}
.topbar.has-compact-nav{--ink:#f4f3f5;--muted:#c6c0cf;--line:rgba(255,255,255,.16);--violet:#c9b8ff;--lime:#d9f33f}
.case-intro{padding-top:58px;padding-bottom:38px}
.project-section{margin-bottom:56px}
.moriki-story,#moriki-video{padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;backdrop-filter:none}
.moriki-story h2,.project-section-head h2{font-size:clamp(27px,3vw,40px);line-height:1.2;font-weight:800;letter-spacing:-.03em}
.moriki-story h2{max-width:720px;margin:0 0 18px}
.moriki-story-head{display:grid;grid-template-columns:minmax(0,1fr);gap:24px;margin-bottom:32px}
.moriki-story-head p{max-width:800px;margin:0;color:var(--muted)}
.moriki-story-head p,.project-section>p{font-size:16px;line-height:1.65}
.moriki-story h3{font-size:clamp(21px,2.3vw,28px);font-weight:750;line-height:1.3;letter-spacing:-.02em;margin:0 0 24px}
.project-section-head h2{display:inline-block;position:relative;padding-bottom:12px}
.project-section-head h2:after{content:'';position:absolute;bottom:0;left:0;width:66px;height:6px;border-radius:50%;background:var(--moriki-pink);transform:rotate(-3deg)}
.moriki-project-title,.project-section-head h2.moriki-project-title{font-size:clamp(21px,2.3vw,28px);line-height:1.3;font-weight:750;margin:0 0 24px;letter-spacing:-.02em;padding-bottom:0}
.project-section-head h2.moriki-project-title:after{display:none}
#moriki-other-work .project-section-head{margin-bottom:24px}
#moriki-other-work .moriki-project-title{margin:0}
.project-section>.moriki-project-description{max-width:950px;margin:24px 0 0;font-size:16px;line-height:1.65;color:var(--muted)}

/* Six steps, with colors drawn from the product artwork. */
.moriki-road{list-style:none;margin:0;padding:0;counter-reset:route;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;align-items:stretch}
.moriki-road li{--tile:#00818f;--step-ink:#ffffff;counter-increment:route;min-width:0;padding:24px;border:0;border-radius:28px 28px 28px 8px;background:var(--tile);color:var(--step-ink)}
.moriki-road li:nth-child(3n+2){--tile:#f563e2;--step-ink:#ffffff;border-radius:28px 8px 28px 28px}
.moriki-road li:nth-child(3n){--tile:#d3394d;--step-ink:#ffffff;border-radius:8px 28px 28px 28px}
.moriki-road li:nth-child(4){--tile:#48b4f2;--step-ink:#ffffff}
.moriki-road li:nth-child(5){--tile:#7333cc;--step-ink:#ffffff}
.moriki-road li:nth-child(6){--tile:#ff8b50;--step-ink:#ffffff}
.moriki-road li:before{content:counter(route,decimal-leading-zero);display:grid;place-items:center;width:42px;height:42px;margin-bottom:18px;border:2px solid currentColor;border-radius:50%;color:var(--step-ink);font-size:16px;font-weight:750;font-variant-numeric:tabular-nums;transform:rotate(-8deg)}
.moriki-road strong{display:block;font-size:21px;font-weight:800;line-height:1.3}
.moriki-road p{font-size:15px;line-height:1.65;margin:12px 0 0;color:var(--step-ink)}

/* Caption precedes the reflected octopus at the right edge. */
.moriki-gallery-head{display:flex;align-items:center;justify-content:flex-end;gap:20px;margin-bottom:18px}
.moriki-gallery-head .moriki-sticker{display:flex;flex:0 1 auto;align-items:center;justify-content:flex-end;gap:20px;max-width:100%;margin:0;padding:0;text-align:left;background:transparent}
.moriki-sticker img{display:block;order:1;width:145px;height:auto;flex:0 0 145px;margin:0;transform:scaleX(-1)}
.moriki-sticker figcaption{order:0;min-width:0;max-width:210px;font-family:'Portfolio Marker',cursive;font-size:29px;font-weight:700;line-height:1.1;color:var(--moriki-pink);transform:rotate(-4deg)}
:root[data-theme='light'] .moriki-sticker figcaption{color:#b51c93}

/* Five images on wide screens, keeping the artwork free of frames. */
#product-gallery .project-image-grid,#moriki-other-work .project-image-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:24px}
#product-gallery .project-image-grid figure,#moriki-other-work .project-image-grid figure{padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;overflow:visible}
#product-gallery .project-image-grid img,#moriki-other-work .project-image-grid img{border-radius:0}
.project-rich-image{border-radius:24px}
.project-video{border-radius:24px;margin-top:26px}
.zoomable:focus-visible{outline:3px solid var(--violet);outline-offset:5px}
.case-item img{max-width:none}
.case-marquee:focus-within .case-track{animation-play-state:paused}
.lightbox img[hidden],.lightbox-status[hidden]{display:none}
.lightbox-status{color:#fff;text-align:center;font-size:16px;line-height:1.5}
.lightbox--rich{overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable}
.lightbox--rich img{width:100%;max-width:1416px;height:auto;margin-inline:auto;object-fit:initial}
.lightbox--rich button{position:sticky;display:block;top:0;right:auto;z-index:1;margin:-44px 0 14px auto}
@media(max-width:900px){
 .moriki-road{grid-template-columns:repeat(2,minmax(0,1fr))}
 #product-gallery .project-image-grid,#moriki-other-work .project-image-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:600px){
 .case-intro{padding-top:30px;padding-bottom:24px}
 .project-section{margin-bottom:36px}
 .moriki-story-head{gap:20px;margin-bottom:28px}
 .moriki-road{grid-template-columns:1fr;gap:14px}
 .moriki-road li{padding:22px}
 .moriki-road li:before{width:36px;height:36px;margin-bottom:14px}
 .moriki-road strong{font-size:20px}
 .moriki-gallery-head,.moriki-gallery-head .moriki-sticker{gap:14px}
 .moriki-sticker img{width:105px;flex-basis:105px}
 .moriki-sticker figcaption{font-size:24px;max-width:175px}
 #product-gallery .project-image-grid,#moriki-other-work .project-image-grid{gap:14px}
 .project-video{border-radius:16px}
}
@media(max-width:420px){#product-gallery .project-image-grid,#moriki-other-work .project-image-grid{grid-template-columns:1fr}}

/* Bright editorial cover: product imagery, violet and pink blocks. */
.moriki-hero{padding-block:48px 24px}
.moriki-hero h1{margin-bottom:30px}
.moriki-hero-grid{display:grid;grid-template-columns:1fr 1fr 1.08fr;gap:16px;align-items:stretch}
.moriki-hero-product{display:block;min-width:0;overflow:hidden;border-radius:24px;background:#f4f3f6;text-decoration:none}
.moriki-hero-product img{display:block;width:100%;height:auto;aspect-ratio:3/4;object-fit:contain}
.moriki-hero-formats{display:grid;grid-template-rows:1fr 1fr;gap:16px;min-width:0}
.moriki-hero-format{position:relative;display:flex;flex-direction:column;justify-content:space-between;gap:16px;min-width:0;padding:24px 24px 26px;border-radius:24px;text-decoration:none}
.moriki-hero-format--violet{background:#7333cc;color:#fff}
.moriki-hero-format--pink{background:#f563e2;color:#fff}
.moriki-hero-label{display:block;max-width:calc(100% - 14px);font-size:13px;line-height:1.4;font-weight:500}
.moriki-hero-format strong{display:block;padding-right:18px;font-size:clamp(20px,2.2vw,32px);line-height:1.12;font-weight:800;letter-spacing:-.035em}
.moriki-hero-arrow{position:absolute;right:18px;bottom:18px;font-size:26px;line-height:1}
.moriki-hero-grid a:focus-visible{outline:3px solid var(--ink);outline-offset:5px}
.moriki-hero-grid a:hover{filter:brightness(1.05)}
@media(max-width:700px){
 .moriki-hero{padding-top:32px}
 .moriki-hero h1{margin-bottom:24px}
 .moriki-hero-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
 .moriki-hero-formats{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto;gap:12px}
 .moriki-hero-product,.moriki-hero-format{border-radius:18px}
 .moriki-hero-format{padding:20px 16px;gap:24px}
 .moriki-hero-label{font-size:12px}
 .moriki-hero-format strong{font-size:clamp(18px,3vw,24px);overflow-wrap:anywhere}
 .moriki-hero-arrow{right:12px;bottom:12px;font-size:22px}
}
@media(max-width:380px){.moriki-hero-formats{grid-template-columns:1fr}.moriki-hero-format{gap:16px}.moriki-hero-format strong{font-size:24px}}
.moriki-hero-product{display:flex;align-items:center;justify-content:center}



/* A shared title/sticker row avoids an empty strip above the product gallery. */
#moriki-generations{margin-bottom:24px}
.moriki-gallery-head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:24px;margin-bottom:24px}
.moriki-gallery-head .moriki-project-title{margin:0}
.moriki-gallery-head .moriki-sticker{justify-self:end}
@media(max-width:900px){.moriki-gallery-head .moriki-sticker{gap:12px}.moriki-gallery-head .moriki-sticker figcaption{max-width:150px;font-size:25px}.moriki-gallery-head .moriki-sticker img{width:120px;flex-basis:120px}}
@media(max-width:600px){#moriki-generations{margin-bottom:20px}.moriki-gallery-head{grid-template-columns:1fr;gap:12px;margin-bottom:20px}.moriki-gallery-head .moriki-sticker img{width:105px;flex-basis:105px}.moriki-gallery-head .moriki-sticker figcaption{font-size:24px}}

/* Return to the beginning after the long Rich image. */
#case-top{scroll-margin-top:90px}
#rich-content{margin-bottom:24px}
@media(max-width:600px){#rich-content{margin-bottom:20px}}


/* A yellow hand-drawn underline for the key ideas below each series. */
.moriki-marker{color:var(--ink);font-weight:600;padding-bottom:.16em;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 240 12' preserveAspectRatio='none'%3E%3Cpath d='M0 6L9 4 25 5 42 3 67 4 91 2 114 3 138 2 162 4 189 3 212 4 240 2 235 7 219 9 192 8 168 10 141 8 115 10 89 8 62 10 39 8 16 10 3 8Z' fill='%23f563e2'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:0 100%;background-size:100% .24em;-webkit-box-decoration-break:clone;box-decoration-break:clone}


/* Soft playful shapes in the free corner, above the text area. */
.moriki-road li{background-repeat:no-repeat;background-size:62px 62px;background-position:right 14px top 14px}
.moriki-road li:nth-child(1){background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20100%20100%22%3E%3Cpath%20fill%3D%22white%22%20fill-opacity%3D%22.13%22%20d%3D%22M50%204%2062%2034%2095%2036%2070%2058%2078%2091%2050%2073%2022%2091%2030%2058%205%2036%2038%2034Z%22%2F%3E%3C%2Fsvg%3E")}
.moriki-road li:nth-child(2){background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20100%20100%22%3E%3Cg%20fill%3D%22white%22%20fill-opacity%3D%22.13%22%3E%3Cpath%20d%3D%22M50%2030C22-11%202%2024%2027%2048%200%2070%2029%20103%2050%2073%2073%20103%20102%2071%2074%2049%20101%2023%2074-10%2050%2030Z%22%2F%3E%3C%2Fg%3E%3Ccircle%20cx%3D%2250%22%20cy%3D%2250%22%20r%3D%2212%22%20fill%3D%22white%22%20fill-opacity%3D%22.09%22%2F%3E%3C%2Fsvg%3E")}
.moriki-road li:nth-child(3){background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20100%20100%22%3E%3Cg%20transform%3D%22rotate%28-24%2050%2050%29%22%20fill%3D%22white%22%20fill-opacity%3D%22.13%22%3E%3Crect%20x%3D%2228%22%20y%3D%2230%22%20width%3D%2244%22%20height%3D%2240%22%20rx%3D%2215%22%2F%3E%3Cpath%20d%3D%22M28%2040%206%2028%2010%2050%206%2072%2028%2060ZM72%2040%2094%2028%2090%2050%2094%2072%2072%2060Z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E")}
.moriki-road li:nth-child(4){background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20100%20100%22%3E%3Cpath%20fill%3D%22white%22%20fill-opacity%3D%22.13%22%20d%3D%22M50%204%2062%2034%2095%2036%2070%2058%2078%2091%2050%2073%2022%2091%2030%2058%205%2036%2038%2034Z%22%2F%3E%3C%2Fsvg%3E")}
.moriki-road li:nth-child(5){background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20100%20100%22%3E%3Cg%20fill%3D%22white%22%20fill-opacity%3D%22.13%22%3E%3Cpath%20d%3D%22M50%2030C22-11%202%2024%2027%2048%200%2070%2029%20103%2050%2073%2073%20103%20102%2071%2074%2049%20101%2023%2074-10%2050%2030Z%22%2F%3E%3C%2Fg%3E%3Ccircle%20cx%3D%2250%22%20cy%3D%2250%22%20r%3D%2212%22%20fill%3D%22white%22%20fill-opacity%3D%22.09%22%2F%3E%3C%2Fsvg%3E")}
.moriki-road li:nth-child(6){background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20100%20100%22%3E%3Cg%20transform%3D%22rotate%28-24%2050%2050%29%22%20fill%3D%22white%22%20fill-opacity%3D%22.13%22%3E%3Crect%20x%3D%2228%22%20y%3D%2230%22%20width%3D%2244%22%20height%3D%2240%22%20rx%3D%2215%22%2F%3E%3Cpath%20d%3D%22M28%2040%206%2028%2010%2050%206%2072%2028%2060ZM72%2040%2094%2028%2090%2050%2094%2072%2072%2060Z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E")}
.moriki-hero-format{background-repeat:no-repeat;background-size:62px 62px;background-position:right 14px top 45px}
.moriki-hero-format--violet{background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20100%20100%22%3E%3Cpath%20fill%3D%22white%22%20fill-opacity%3D%22.13%22%20d%3D%22M50%204%2062%2034%2095%2036%2070%2058%2078%2091%2050%2073%2022%2091%2030%2058%205%2036%2038%2034Z%22%2F%3E%3C%2Fsvg%3E")}
.moriki-hero-format--pink{background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20100%20100%22%3E%3Cg%20transform%3D%22rotate%28-24%2050%2050%29%22%20fill%3D%22white%22%20fill-opacity%3D%22.13%22%3E%3Crect%20x%3D%2228%22%20y%3D%2230%22%20width%3D%2244%22%20height%3D%2240%22%20rx%3D%2215%22%2F%3E%3Cpath%20d%3D%22M28%2040%206%2028%2010%2050%206%2072%2028%2060ZM72%2040%2094%2028%2090%2050%2094%2072%2072%2060Z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E")}

/* Local audit fixes; approved tile colors and white text are preserved. */
.case-marquee:hover .case-track{animation-play-state:paused}
html body img.zoomable,html body .photo-enlarge-press{cursor:pointer}
html body .moriki-hero-product{scale:1;transition:scale .18s ease,filter .18s ease}
@media(hover:hover){html body .moriki-hero-product:hover{scale:.992;filter:brightness(.96)}}
html body .moriki-hero-product:active{scale:.984;filter:brightness(.92)}
.moriki-hero-format strong{padding-right:0;text-wrap:balance;overflow-wrap:normal}
.moriki-road p,.moriki-project-description,.moriki-story-head p,#moriki-video>p{text-wrap:pretty;overflow-wrap:break-word}
.moriki-project-title{text-wrap:balance}
html body .topbar.has-catalog-nav .header-catalog-pagination{gap:16px}
html body .topbar.has-catalog-nav .header-page-button{width:44px;height:44px;flex:0 0 44px;background:#080808;color:#fff;box-shadow:none;opacity:1}
html body .topbar.has-catalog-nav .header-page-button:disabled{background:#4a4a4a;color:#fff;opacity:1}
html body .topbar.has-catalog-nav .header-page-button:hover:not(:disabled){background:#272727}
html body .topbar.has-catalog-nav .header-page-button:active:not(:disabled){background:#373737}
html body .topbar.has-catalog-nav .header-page-button:focus-visible{outline:3px solid #b397ff;outline-offset:3px}
html body .topbar.has-catalog-nav .header-page-button::before{width:14px;height:20px;border:0;left:50%;top:50%;transform:translate(-50%,-50%);background:currentColor;clip-path:polygon(15% 0,0 10%,70% 50%,0 90%,15% 100%,100% 50%)}
html body .topbar.has-catalog-nav .header-page-button:first-child::before{transform:translate(-50%,-50%) rotate(180deg)}
@media(prefers-reduced-motion:reduce){html body .moriki-hero-product{transition:none}html body .moriki-hero-product:hover,html body .moriki-hero-product:active{scale:1}}

body:has(.footer .case-return-top)>.footer .footer-copyright{grid-column:1/-1;justify-self:end;margin:0}
