@charset "UTF-8";
:root{--ink:#242620;--paper:#f3f0e8;--muted:#6f7169;--line:#d6d4ca;--accent:#ad482c;--white:#fffdf6;--gutter:clamp(24px,5vw,90px)}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;font-size:16px;line-height:1.85;-webkit-font-smoothing:antialiased}img{display:block;width:100%;height:auto}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible{outline:3px solid var(--accent);outline-offset:6px}h1,h2,h3,p,figure{margin:0}h1,h2,h3{line-height:1.3;font-weight:500}button,a{-webkit-tap-highlight-color:transparent}.skip-link{position:fixed;left:20px;top:-100px;padding:10px 20px;background:var(--white);color:var(--ink);z-index:100}.skip-link:focus{top:14px}.site-header{position:absolute;inset:0 0 auto;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:24px var(--gutter);gap:24px;color:var(--white)}.header-logo{font-size:18px;font-weight:600;letter-spacing:-.06em;white-space:nowrap}.header-logo span{margin-left:7px;letter-spacing:-.02em}.header-nav{display:flex;align-items:center;gap:30px;font-size:12px;letter-spacing:.05em}.header-nav a{padding:8px 0;position:relative}.header-nav a::after{content:"";position:absolute;bottom:4px;left:0;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .25s}.header-nav a:hover::after{transform:scaleX(1)}.hero{position:relative;min-height:780px;height:100svh;max-height:1150px;isolation:isolate;overflow:hidden;background:#3a3a34;color:var(--white)}.hero-image{position:absolute;inset:0;z-index:-3;height:100%;object-fit:cover;object-position:70% 45%;animation:hero-image-in 1.6s cubic-bezier(.2,.7,.2,1) both}.hero::before{content:"";position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(18,21,18,.88),rgba(18,21,18,.51) 44%,rgba(18,21,18,.06) 78%),linear-gradient(0deg,rgba(18,21,18,.64),transparent 38%)}.hero-content{position:absolute;left:var(--gutter);right:var(--gutter);top:22%;animation:hero-copy-in 1s .15s both}.hero-kicker{font-size:11px;letter-spacing:.22em;margin-bottom:24px}.hero-brand{font-size:clamp(70px,11.2vw,178px);font-weight:600;letter-spacing:-.082em;line-height:.96;white-space:nowrap}.hero-brand span{font-weight:400;letter-spacing:-.065em;margin-left:.1em}.hero-copy{font-size:clamp(28px,3.1vw,46px);line-height:1.65;letter-spacing:.1em;margin-top:35px}.hero-description{font-size:14px;line-height:2;margin-top:18px;letter-spacing:.03em;max-width:360px;color:#e6e5dc}.hero-action{margin-top:32px}.arrow-link{display:inline-flex;justify-content:space-between;align-items:center;gap:44px;padding:12px 0 10px;border-bottom:1px solid currentColor;font-size:13px;letter-spacing:.06em;min-height:46px}.arrow-link .arrow{display:inline-block;font-size:20px;transition:transform .25s}.arrow-link:hover .arrow{transform:translate(4px,-4px)}.hero-bottom{position:absolute;left:var(--gutter);right:var(--gutter);bottom:24px;display:flex;justify-content:space-between;align-items:end;gap:20px;color:#e2e0d6;font-size:10px;line-height:1.7;letter-spacing:.04em}.hero-bottom .scroll-cue{letter-spacing:.18em;white-space:nowrap}.section{padding:110px var(--gutter)}.eyebrow{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}.section-intro{display:flex;align-items:start;justify-content:space-between;gap:50px;margin-bottom:70px}.section-intro h2{font-size:clamp(28px,3.8vw,48px);letter-spacing:.05em;margin-top:16px;line-height:1.5}.intro-note{padding-top:30px;max-width:310px;font-size:13px;line-height:2.1;color:var(--muted)}.collection{display:grid;grid-template-columns:1.15fr 1fr;gap:clamp(36px,6vw,110px);align-items:center;padding-bottom:80px}.collection+.collection{padding-top:80px;border-top:1px solid var(--line)}.collection:last-child{padding-bottom:0}.collection-media{position:relative;overflow:hidden}.collection-media img{aspect-ratio:1/1;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1)}a.collection-media:hover img{transform:scale(1.035)}.image-note{font-size:10px;color:var(--muted);margin-top:10px;letter-spacing:.03em;line-height:1.7}.collection-number{font-size:11px;letter-spacing:.12em;color:var(--accent);margin-bottom:25px}.collection h3{font-size:clamp(29px,3vw,44px);line-height:1.5;letter-spacing:.04em}.collection-en{font-size:11px;letter-spacing:.1em;color:var(--muted);margin-top:15px}.collection-description{font-size:14px;line-height:2.1;margin-top:28px;max-width:360px}.collection .arrow-link{margin-top:26px}.collection-reverse .collection-visual{order:2}.collection-reverse .collection-copy{order:1}.collection-wordmark{font-size:57px!important;letter-spacing:.12em!important;line-height:1.3!important}.collection-wordmark small{display:block;font-size:13px;letter-spacing:.25em;margin-top:6px}.collection-category{font-size:12px;margin-top:30px;letter-spacing:.08em}.status-inline{display:inline-block;padding:5px 0;margin-top:20px;color:var(--muted);font-size:11px;letter-spacing:.06em;border-bottom:1px solid var(--line)}.process-section{background:#e9e7de}.process-section .section-intro{margin-bottom:55px}.process-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:48px}.process-list li{border-top:1px solid #bfc1b5;padding-top:24px}.process-list .process-no{color:var(--accent);font-size:11px;letter-spacing:.14em}.process-list h3{font-size:19px;margin-top:25px;letter-spacing:.05em}.process-list p{font-size:13px;color:var(--muted);margin-top:18px;line-height:2}.about-section{display:grid;grid-template-columns:1fr 1.3fr;gap:80px;padding-top:100px;padding-bottom:100px}.about-section h2{font-size:29px;margin-top:18px;line-height:1.7;letter-spacing:.06em}.about-body{font-size:14px;line-height:2.3;max-width:570px}.about-body p+p{margin-top:20px}.about-body .arrow-link{margin-top:22px}.site-footer{padding:48px var(--gutter) 30px;background:var(--ink);color:var(--white)}.footer-main{display:flex;justify-content:space-between;gap:40px}.footer-brand{font-size:clamp(29px,4.3vw,60px);font-weight:500;letter-spacing:-.07em;line-height:1}.footer-brand span{margin-left:.2em}.footer-company{font-size:12px;line-height:2;color:#d2d4c9}.footer-nav{display:flex;gap:25px;flex-wrap:wrap;margin-top:38px;padding-top:24px;border-top:1px solid #53564d;font-size:11px;color:#d2d4c9}.footer-bottom{display:flex;justify-content:space-between;gap:20px;margin-top:35px;font-size:10px;color:#9dA194;letter-spacing:.07em}.section .reveal{opacity:1;transform:none}.js-motion .reveal{opacity:0;transform:translateY(28px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.2,1)}.js-motion .reveal.in-view{opacity:1;transform:none}.puzzle-hero{background:#4b4c43}.puzzle-hero .hero-image{object-position:72% 43%}.puzzle-hero::before{background:linear-gradient(90deg,rgba(18,21,18,.87),rgba(18,21,18,.42) 47%,rgba(18,21,18,.02) 85%),linear-gradient(0deg,rgba(18,21,18,.65),transparent 45%)}.puzzle-hero .hero-content{top:24%}.puzzle-category{font-size:11px;letter-spacing:.16em;line-height:1.9;margin-bottom:20px}.puzzle-title{font-size:clamp(50px,7.5vw,110px);line-height:1.25;letter-spacing:.025em}.puzzle-hero .hero-description{margin-top:30px;font-size:15px}.puzzle-status{color:#e2e0d6;font-size:11px;letter-spacing:.07em;margin-top:24px}.puzzle-detail{display:grid;grid-template-columns:1fr 1fr;gap:clamp(35px,7vw,120px);align-items:start}.puzzle-detail h2{font-size:clamp(30px,3.8vw,52px);line-height:1.5;margin-top:20px;letter-spacing:.05em}.puzzle-detail-description{font-size:14px;line-height:2.2;margin-top:30px;max-width:430px}.detail-price{margin-top:35px;border-top:1px solid var(--line);padding-top:24px}.detail-price-label{font-size:11px;letter-spacing:.07em;color:var(--muted)}.detail-price strong{font-size:38px;line-height:1.5;font-weight:500;letter-spacing:-.02em}.detail-price strong span{font-size:12px;margin-left:8px;letter-spacing:0;font-weight:400}.detail-price-note{font-size:12px;line-height:1.9;color:var(--muted);margin-top:6px}.spec-list{margin:35px 0 0;font-size:12px}.spec-list div{display:flex;gap:24px;border-top:1px solid var(--line);padding:14px 0}.spec-list dt{width:90px;flex-shrink:0;color:var(--muted)}.spec-list dd{margin:0}.spec-list div:last-child{border-bottom:1px solid var(--line)}.development-status{font-size:12px;line-height:2;margin-top:25px;border-left:2px solid var(--accent);padding-left:18px;color:var(--muted)}.detail-visual img{aspect-ratio:1/1;object-fit:cover}.concept-section{background:#e9e7de}.concept-pair{display:grid;grid-template-columns:1fr 1fr;gap:48px}.concept-item .concept-image{overflow:hidden}.concept-item img{aspect-ratio:1/1;object-fit:cover;transition:transform .8s}.concept-item:hover img{transform:scale(1.025)}.concept-item h3{font-size:27px;letter-spacing:.05em;margin-top:25px}.concept-item .concept-number{color:var(--accent);font-size:10px;letter-spacing:.1em;margin-top:27px}.concept-item .concept-number+h3{margin-top:12px}.concept-item .concept-description{font-size:13px;color:var(--muted);line-height:2;margin-top:17px}.concept-item .concept-status{font-size:11px;margin-top:20px;color:var(--muted)}.puzzle-contact{display:flex;justify-content:space-between;align-items:center;gap:60px}.puzzle-contact h2{font-size:clamp(29px,3.5vw,46px);line-height:1.65;letter-spacing:.04em;margin-top:18px}.puzzle-contact p{font-size:13px;margin-top:24px;line-height:2.1;color:var(--muted)}.puzzle-contact-action{min-width:250px}.puzzle-contact .arrow-link{width:100%}.puzzle-contact .contact-fallback{font-size:10px;margin-top:13px;line-height:1.8}.breadcrumb{font-size:11px;letter-spacing:.04em;margin-bottom:35px;display:flex;gap:12px;flex-wrap:wrap;color:var(--muted)}.breadcrumb a{border-bottom:1px solid var(--line)}
@keyframes hero-copy-in{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}@keyframes hero-image-in{from{opacity:.4;transform:scale(1.06)}to{opacity:1;transform:scale(1)}}
@media(min-width:1500px){.hero-content{top:26%}.hero-brand{font-size:178px}}
@media(max-width:1000px){.header-nav{gap:20px}.section{padding-top:85px;padding-bottom:85px}.hero{min-height:780px}.hero-content{top:22%}.hero-brand{font-size:11.4vw}.hero-copy{font-size:33px}.section-intro{gap:35px;margin-bottom:50px}.collection{gap:40px;grid-template-columns:1fr 1fr}.collection h3{font-size:28px}.collection-description{font-size:13px;margin-top:20px}.collection-wordmark{font-size:48px!important}.collection-number{margin-bottom:18px}.process-list{gap:28px}.process-list h3{font-size:17px}.about-section{gap:45px}.puzzle-detail{gap:35px}.puzzle-contact{gap:35px}.puzzle-contact-action{min-width:220px}}
@media(max-width:700px){body{font-size:14px}.site-header{padding-top:18px;padding-bottom:18px}.header-logo{font-size:16px}.header-nav{gap:17px;font-size:10px}.header-nav .nav-about{display:none}.hero{height:100svh;min-height:740px;max-height:1000px}.hero-image{object-position:66% 50%}.hero::before{background:linear-gradient(180deg,rgba(18,21,18,.72),rgba(18,21,18,.45) 52%,rgba(18,21,18,.08) 80%),linear-gradient(90deg,rgba(18,21,18,.40),transparent)}.hero-content{top:20%}.hero-kicker{font-size:9px;margin-bottom:24px}.hero-brand{font-size:12vw;letter-spacing:-.08em}.hero-copy{font-size:29px;line-height:1.75;margin-top:34px}.hero-description{font-size:12px;line-height:2;margin-top:18px;max-width:260px}.hero-action{margin-top:25px}.hero-bottom{font-size:9px;bottom:21px;gap:14px}.hero-bottom .image-source-note{max-width:245px}.scroll-cue{display:none}.section{padding-top:68px;padding-bottom:68px}.section-intro{display:block;margin-bottom:40px}.section-intro h2{font-size:29px;line-height:1.55}.intro-note{font-size:12px;padding-top:23px;max-width:340px}.collection{grid-template-columns:1fr;gap:28px;padding-bottom:45px}.collection+.collection{padding-top:45px}.collection-reverse .collection-visual,.collection-reverse .collection-copy{order:initial}.collection-media img{aspect-ratio:1.1/1}.collection h3{font-size:28px;line-height:1.5}.collection-number{margin-bottom:12px}.collection-en{font-size:10px;margin-top:10px}.collection-description{font-size:13px;margin-top:20px}.collection .arrow-link{margin-top:19px}.collection-wordmark{font-size:48px!important}.collection-category{margin-top:20px}.image-note{font-size:9px}.status-inline{margin-top:12px}.process-list{grid-template-columns:1fr;gap:24px}.process-list li{position:relative;padding-top:20px;padding-left:42px}.process-list .process-no{position:absolute;left:0;top:22px}.process-list h3{margin-top:0;font-size:18px}.process-list p{margin-top:12px;font-size:12px;max-width:370px}.about-section{grid-template-columns:1fr;gap:30px}.about-section h2{font-size:28px}.about-body{font-size:13px;line-height:2.15}.site-footer{padding-top:38px}.footer-main{display:block}.footer-brand{font-size:40px}.footer-company{margin-top:26px;font-size:11px}.footer-nav{gap:20px;margin-top:26px;font-size:10px}.footer-bottom{font-size:9px;margin-top:30px}.puzzle-hero .hero-content{top:21%}.puzzle-hero .hero-image{object-position:63% 50%}.puzzle-hero::before{background:linear-gradient(180deg,rgba(18,21,18,.78),rgba(18,21,18,.38) 60%,rgba(18,21,18,.08)),linear-gradient(90deg,rgba(18,21,18,.4),transparent)}.puzzle-title{font-size:51px;letter-spacing:.02em;line-height:1.4}.puzzle-category{font-size:10px;margin-bottom:20px}.puzzle-hero .hero-description{font-size:13px;margin-top:23px;line-height:2}.puzzle-status{font-size:10px;margin-top:21px}.puzzle-detail{grid-template-columns:1fr;gap:40px}.puzzle-detail h2{font-size:33px}.puzzle-detail-description{font-size:13px;margin-top:23px}.puzzle-detail .detail-visual{order:-1}.detail-price{margin-top:28px}.detail-price strong{font-size:35px}.spec-list{font-size:11px;margin-top:27px}.development-status{font-size:11px;margin-top:22px}.concept-pair{grid-template-columns:1fr;gap:45px}.concept-item h3{font-size:26px}.concept-item .concept-number{margin-top:20px}.concept-item .concept-description{font-size:12px}.puzzle-contact{display:block}.puzzle-contact h2{font-size:29px}.puzzle-contact p{font-size:12px;margin-top:20px}.puzzle-contact-action{margin-top:30px;max-width:330px}.breadcrumb{font-size:10px;margin-bottom:27px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.js-motion .reveal{opacity:1;transform:none}}
