:root{--color-bg:#fafaf8;--color-surface:#f3f2ef;--color-border:#e8e6e1;--color-text:#796c6c;--color-muted:#7a7772;--color-brand:#b07d5a;--color-brand-hover:#8f6344;--palette-01:#e7f4d8;--palette-02:#cfe4ba;--palette-03:#e6eef7;--palette-04:#afbedd;--palette-05:#e6e1fa;--palette-06:#d2c9fa;--palette-07:#f6d8ef;--palette-08:#efc0e1;--palette-09:#f7e9dc;--palette-10:#f6cbc0;--palette-11:#fdf8ce;--palette-12:#f8ebaf;--palette-13:#fdfbfa;--palette-14:#e5dbd2;--palette-15:#a99d9d;--palette-16:#796c6c;--font-sans:"Inter", system-ui, sans-serif;--font-serif:"Playfair Display", Georgia, serif;--font-hero:"Baloo 2", var(--font-sans);--font-size-base:1rem;--line-height:1.6;--radius-card:.75rem;--radius-tag:9999px;--nav-height:3.5rem;--transition:.15s ease}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}body{font-size:var(--font-size-base);line-height:var(--line-height);background-color:var(--color-bg);color:var(--color-text)}.header-logo{font-family:var(--font-hero);font-weight:700}.nav-link{font-family:var(--font-hero);color:var(--color-muted);transition:color var(--transition), background-color var(--transition);cursor:pointer;border-radius:.375rem;align-items:center;padding:.375rem .75rem;font-size:.9375rem;font-weight:600;text-decoration:none;display:inline-flex}.nav-link:hover,.group:hover .nav-link{color:var(--color-text);background-color:var(--color-surface)}.dropdown{background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-card);opacity:0;visibility:hidden;pointer-events:none;min-width:160px;transition:opacity var(--transition), transform var(--transition);z-index:100;padding:.375rem;position:absolute;top:calc(100% + 6px);left:50%;transform:translate(-50%)translateY(-4px);box-shadow:0 8px 24px -4px #00000014,0 2px 8px -2px #0000000a}.group:hover .dropdown{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%)translateY(0)}.dropdown-item{color:var(--color-muted);transition:color var(--transition), background-color var(--transition);white-space:nowrap;border-radius:.3rem;padding:.4rem .75rem;font-size:.8125rem;text-decoration:none;display:block}.dropdown-item:hover{color:var(--color-text);background-color:var(--color-surface)}.hero-section{width:100%;height:calc(100vh - var(--nav-height));margin-top:var(--nav-height);background-color:var(--color-bg);position:relative;overflow:hidden}.hero-stage{--span-w:.79;--span-left-frac:.0862;--stage-w:calc(100vw / var(--span-w));bottom:0;left:calc(-1 * var(--span-left-frac) * var(--stage-w));width:var(--stage-w);aspect-ratio:4096/1714;position:absolute}.hero-bg{z-index:0;position:absolute;inset:0}.hero-bg img{object-fit:cover;width:100%;height:100%;display:block}.hero-sprites{position:absolute;inset:0}.sprite{left:var(--x);top:var(--y);width:var(--w);z-index:1;position:absolute}.sprite img{width:100%;height:auto;display:block}.sprite--claw{z-index:3;will-change:transform;transform:translateY(calc(-55% + (115% * var(--claw-progress,0))))}.hero-text{left:var(--x);top:var(--y);width:var(--w);z-index:2;text-align:center;position:absolute}.hero-text__title{font-family:var(--font-hero);color:var(--color-text);margin:0 0 .4em;font-size:clamp(1.75rem,5.2vw,3.75rem);font-weight:700;line-height:1.05}.hero-text__tagline{font-family:"Gaegu", var(--font-sans);color:var(--color-muted);white-space:nowrap;margin:0;font-size:clamp(.8rem,1.6vw,1.25rem);font-weight:700}.hero-text__star{color:#e8c85a}.hero-icon{left:var(--x);top:var(--y);width:var(--w);aspect-ratio:1;z-index:2;display:block;position:absolute;transform:translate(-50%,-50%)}.hero-icon__bob{display:block;position:absolute;inset:0}.hero-icon__img{position:absolute;inset:0}.hero-icon__img img{object-fit:contain;width:100%;height:100%;display:block}.hero-icon__img--closed{opacity:1;transition:opacity .22s}.hero-icon__img--open{opacity:0;transition:opacity .22s}.hero-icon:hover .hero-icon__img--closed,.hero-icon:focus-visible .hero-icon__img--closed{opacity:0}.hero-icon:hover .hero-icon__img--open,.hero-icon:focus-visible .hero-icon__img--open{opacity:1}.hero-icon:focus-visible{outline:2px solid var(--color-brand);outline-offset:4px;border-radius:999px}.wiggle-sprite{will-change:translate}.bob-a,.bob-b,.bob-c,.bob-d,.bob-e,.bob-v1,.bob-v2{animation-duration:var(--bob-dur,6s);animation-delay:var(--bob-delay,0s);animation-timing-function:ease-in-out;animation-iteration-count:infinite}.bob-a{animation-name:bob-a}.bob-b{animation-name:bob-b}.bob-c{animation-name:bob-c}.bob-d{animation-name:bob-d}.bob-e{animation-name:bob-e}.bob-v1{animation-name:bob-v1}.bob-v2{animation-name:bob-v2}@keyframes bob-a{0%,to{transform:translate(0)}50%{transform:translate(2.5%,-6%)}}@keyframes bob-b{0%,to{transform:translate(0)}50%{transform:translate(-4%,-5%)}}@keyframes bob-c{0%,to{transform:translate(0)}50%{transform:translate(-3%,5%)}}@keyframes bob-d{0%,to{transform:translate(0)}50%{transform:translate(4%,4%)}}@keyframes bob-e{0%{transform:translate(0)}25%{transform:translate(2.5%,-4%)}50%{transform:translate(-2%,-6.5%)}75%{transform:translate(-3.5%,-2%)}to{transform:translate(0)}}@keyframes bob-v1{0%,to{transform:translate(0)}50%{transform:translateY(-6%)}}@keyframes bob-v2{0%,to{transform:translate(0)}50%{transform:translateY(5%)}}@media (prefers-reduced-motion:reduce){.bob-a,.bob-b,.bob-c,.bob-d,.bob-e,.bob-v1,.bob-v2{animation:none}}@media (width<=640px){.hero-section{height:calc(100vh - var(--nav-height))}.hero-stage{aspect-ratio:auto;width:100%;margin-left:0;position:absolute;inset:0}.hero-text,.sprite,.hero-icon{left:var(--x-mobile,var(--x));top:var(--y-mobile,var(--y));width:var(--w-mobile,var(--w))}.hero-hide-mobile{display:none}}.full-page-section{justify-content:center;align-items:center;min-height:100vh;padding:4rem 0;display:flex}.carousel{position:relative}.carousel-inner{background-position:50%;background-size:cover;min-height:300px}.carousel-controls{justify-content:space-between;align-items:center;display:flex}.carousel-prev,.carousel-next{cursor:pointer;transition:color var(--transition);background:0 0;border:none;padding:.5rem 1rem;font-size:.875rem;font-weight:500}.carousel-prev:hover,.carousel-next:hover{color:var(--color-brand)!important}.carousel-indicator{font-size:.75rem}.reveal-box{cursor:pointer;transition:all var(--transition)}.reveal-box:hover{box-shadow:0 4px 16px -4px #0000000f}.reveal-trigger{align-items:center;gap:.5rem;display:flex}.reveal-content{animation:.3s slideDown}.reveal-content.hidden{display:none}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.section-label{letter-spacing:.12em;text-transform:uppercase;color:var(--color-muted);font-size:.6875rem;font-weight:500}.card{background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-card);transition:border-color var(--transition), box-shadow var(--transition);padding:1.5rem}.card:hover{border-color:var(--color-brand);box-shadow:0 4px 16px -4px #0000000f}.card-tag{letter-spacing:.08em;text-transform:uppercase;color:var(--color-brand);background-color:color-mix(in srgb, var(--color-brand) 10%, transparent);border-radius:var(--radius-tag);margin-bottom:.75rem;padding:.2rem .6rem;font-size:.6875rem;font-weight:500;display:inline-block}.card-title{color:var(--color-text);margin-bottom:.5rem;font-size:1.0625rem;font-weight:500}.card-body{color:var(--color-muted);font-size:.875rem;line-height:1.65}.card-links{gap:1rem;margin-top:1.25rem;display:flex}.link{color:var(--color-brand);transition:color var(--transition);font-size:.8125rem;font-weight:500;text-decoration:none}.link:hover{color:var(--color-brand-hover)}.illustrated-section{padding:4rem 0}.illustrated-canvas{aspect-ratio:4096/1714;width:100%;max-width:1400px;margin:0 auto;position:relative}.illustrated-layer{pointer-events:none;width:100%;height:100%;display:block;position:absolute;inset:0}.illustrated-layer img{object-fit:contain;width:100%;height:100%;display:block}.blindbox{pointer-events:none;position:absolute;inset:0}.blindbox-closed,.blindbox-open-back,.blindbox-open-front{transition:opacity .22s}.blindbox-closed{opacity:1;z-index:1}.blindbox-open-back{opacity:0;z-index:1}.blindbox-open-front{opacity:0;z-index:3}.blindbox-hit{z-index:2;cursor:pointer;pointer-events:auto;-webkit-tap-highlight-color:transparent;background:0 0;border:none;margin:0;padding:0;display:block;position:absolute}.blindbox-hit:hover~.blindbox-closed,.blindbox-hit.expanded~.blindbox-closed{opacity:0}.blindbox-hit:hover~.blindbox-open-back,.blindbox-hit.expanded~.blindbox-open-back,.blindbox-hit:hover~.blindbox-open-front,.blindbox-hit.expanded~.blindbox-open-front{opacity:1}.blindbox-hit.expanded~.blindbox-open-back,.blindbox-hit.expanded~.blindbox-open-front{transition:transform .32s,opacity .22s;transform:translateY(22%)}.blindbox-details{opacity:0;text-align:left;font-family:var(--font-hero);color:var(--color-text);margin:0;padding:0 0 0 1em;font-size:clamp(.55rem,1vw,.85rem);line-height:1.35;list-style:outside;transition:opacity .22s;position:absolute;inset:30% 20% 4% 14%;overflow:hidden}.blindbox-details li+li{margin-top:.3em}.blindbox-hit:hover .blindbox-details,.blindbox-hit.expanded .blindbox-details{opacity:1}.illustrated-title{position:absolute}.illustrated-title__name{font-family:var(--font-hero);color:var(--color-text);margin:0 0 .5rem;font-size:clamp(1.5rem,3.2vw,3rem);font-weight:700;line-height:1.05}.illustrated-title__tagline{color:var(--color-muted);margin:0;font-size:clamp(.75rem,1.1vw,1rem);line-height:1.5}.illustrated-mobile__details{color:var(--color-muted);margin:0;padding-left:1.25rem;line-height:1.6;list-style:outside}.illustrated-mobile__details li+li{margin-top:.4em}.hover-expand{--hover-scale:1;scale:var(--hover-scale);transition:scale .15s}.hover-expand:hover,.hover-expand:focus-visible{--hover-scale:1.06}.illustrated-button{justify-content:center;align-items:center;text-decoration:none;display:flex;position:absolute}.illustrated-button__label{z-index:1;font-family:var(--font-hero);color:var(--color-text);white-space:nowrap;pointer-events:none;font-size:clamp(.6rem,.9vw,.85rem);font-weight:600;position:relative}.illustrated-button img{width:100%;height:100%;display:block;position:absolute;inset:0}.illustrated-carousel-slot{position:absolute}.image-carousel{align-items:center;gap:2%;display:flex;position:absolute;inset:0}.carousel-stage{flex:1;height:100%;position:relative}.carousel-rect{font:inherit;cursor:pointer;background:#ffffff8c;border:3px solid #b9cbe8;border-radius:14px;margin:0;padding:0;display:block;position:absolute;box-shadow:0 6px 16px -6px #3c50822e}.carousel-rect:focus-visible{outline:2px solid var(--color-brand);outline-offset:3px}.carousel-arrow-btn{aspect-ratio:1;cursor:pointer;opacity:.8;background:0 0;border:none;flex:none;justify-content:center;align-items:center;width:8%;padding:0;transition:opacity .15s,scale .15s;display:flex}.carousel-arrow-btn:hover{opacity:1}.carousel-arrow-btn img{object-fit:contain;width:100%;height:100%;display:block}.carousel-arrow-btn--left img{transform:scaleX(-1)}.carousel-caption{font-family:var(--font-hero);color:var(--color-muted);text-align:center;margin:0;font-size:clamp(.65rem,1vw,.9rem);display:grid;position:absolute;bottom:-3.2em;left:8%;right:8%}.carousel-caption__item{opacity:0;grid-area:1/1;transition:opacity .22s}.carousel-caption__item.active{opacity:1}.carousel-expand .carousel-rect{--carousel-base-scale:.8;aspect-ratio:3/4;opacity:.7;width:40%;scale:calc(var(--carousel-base-scale) * var(--hover-scale,1));z-index:1;transition:scale .26s,opacity .26s}.carousel-expand .carousel-rect[data-index="0"]{top:30%;left:0%}.carousel-expand .carousel-rect[data-index="1"]{top:0%;left:22%}.carousel-expand .carousel-rect[data-index="2"]{top:14%;left:44%}.carousel-expand .carousel-rect[data-index="3"]{top:34%;left:60%}.carousel-expand .carousel-rect.active{--carousel-base-scale:1;opacity:1;z-index:5}.carousel-rotate .carousel-rect{scale:var(--hover-scale,1);transition:left .32s,top .32s,width .32s,height .32s,scale .15s}.carousel-rotate .carousel-rect[data-slot="0"]{z-index:5;width:46%;height:56%;top:42%;left:22%}.carousel-rotate .carousel-rect[data-slot="1"]{z-index:2;width:32%;height:40%;top:2%;left:2%}.carousel-rotate .carousel-rect[data-slot="2"]{z-index:2;width:28%;height:36%;top:0%;left:58%}.carousel-rotate .carousel-rect[data-slot="3"]{z-index:1;width:24%;height:30%;top:46%;left:0%}
