*{box-sizing:border-box}html,body{margin:0;padding:0}body{color:#211e1a;background:#f4f2ed}a{color:inherit;text-decoration:none}button{font:inherit}
.ex{--ink:#211e1a;--base:#f4f2ed;--a:#dce86a;--b:#efa3b8;--c:#9ed5e7;min-height:100svh;color:var(--ink);background:var(--base);overflow:hidden;font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif}.ex-head{height:76px;padding:0 4vw;display:flex;justify-content:space-between;align-items:center;position:relative;z-index:80;border-bottom:1px solid}.ex button{color:inherit}.ex-logo{border:0;background:none;font-weight:900;font-size:18px;cursor:pointer}.ex-logo i{margin-left:10px;font:9px Arial}.ex-head nav{display:flex;gap:25px;align-items:center}.ex-head nav button,.ex-head nav a{border:0;background:none;font-size:10px;font-weight:800;cursor:pointer}.ex-stage{height:calc(100svh - 112px);min-height:650px;position:relative;isolation:isolate}.ex-words{position:absolute;z-index:5;inset:50% auto auto 50%;transform:translate(-50%,-50%);width:70vw}.ex-words h1{margin:0;display:grid;grid-template-columns:1fr 1fr;font-size:clamp(55px,7vw,118px);line-height:.9;letter-spacing:-.09em}.ex-words span:nth-child(odd),.ex-words em:nth-child(odd){text-align:right;padding-right:.08em;transform:translateX(-16vw);animation:meetLeft 1.1s .15s cubic-bezier(.2,.8,.2,1) forwards}.ex-words span:nth-child(even),.ex-words em:nth-child(even){padding-left:.08em;transform:translateX(16vw);animation:meetRight 1.1s .15s cubic-bezier(.2,.8,.2,1) forwards}.ex-words em{font-style:normal;color:#cf536f}@keyframes meetLeft{to{transform:none}}@keyframes meetRight{to{transform:none}}.ex-homecopy{position:absolute;z-index:8;left:50%;bottom:9%;transform:translateX(-50%);text-align:center}.ex-homecopy p{margin:0 0 8px;font-size:11px}.ex-homecopy b{font:7px Arial;letter-spacing:.2em}.ex-node,.ex-price-cat{position:absolute;z-index:12;border:0;background:transparent;cursor:pointer;transition:.5s cubic-bezier(.2,.8,.2,1)}.ex-node img,.ex-price-cat img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 20px 16px #0002)}.ex-node span,.ex-price-cat span{position:absolute;min-width:150px;padding:11px 13px;background:#fff;border:1px solid;text-align:left;opacity:0;transform:scale(.7);transition:.3s;pointer-events:none}.ex-node span b,.ex-node span small,.ex-price-cat span b,.ex-price-cat span small{display:block}.ex-node span small,.ex-price-cat span small{margin-top:5px;font-size:8px}.ex-node:hover,.ex-node:focus,.ex-price-cat:hover{z-index:20;transform:scale(1.22) rotate(3deg)}.ex-node:hover span,.ex-node:focus span,.ex-price-cat:hover span{opacity:1;transform:scale(1)}.ex-node--tl{width:210px;height:210px;left:2%;top:2%}.ex-node--tl span{left:70%;top:15%}.ex-node--tr{width:230px;height:220px;right:2%;top:2%}.ex-node--tr span{right:65%;top:20%}.ex-node--bl{width:220px;height:190px;left:3%;bottom:2%}.ex-node--bl span{left:65%;bottom:25%}.ex-node--br{width:205px;height:205px;right:3%;bottom:1%}.ex-node--br span{right:65%;bottom:20%}.ex-price-cat{width:130px;height:130px;right:1%;top:43%}.ex-price-cat span{right:70%;top:10%}.ex-foot{height:36px;padding:0 4vw;display:flex;justify-content:space-between;align-items:center;font-size:8px;border-top:1px solid}.ex-panel{position:absolute;z-index:40;inset:0;padding:6vw 8vw;background:var(--base);opacity:0;visibility:hidden;transform:scale(.96) translateY(20px);transition:.65s cubic-bezier(.2,.8,.2,1);overflow:auto}.ex-panel>button{position:absolute;right:4vw;top:35px;border:0;background:none;cursor:pointer}.ex-panel>small{font:8px Arial;letter-spacing:.2em}.ex-panel>h2{font-size:clamp(55px,8vw,120px);line-height:.88;letter-spacing:-.09em}.ex-panel--service{background:var(--a)}.ex-panel--service>div{display:grid;grid-template-columns:repeat(3,1fr);border-block:2px solid}.ex-panel article{padding:25px;border-right:1px solid}.ex-panel article h3{margin:70px 0 15px;font-size:35px}.ex-panel article p{font-size:11px}.ex-panel--works{background:#211e1a;color:white}.ex-panel--works>div{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid}.ex-panel--works a{min-height:220px;padding:30px;border-right:1px solid #fff5;font-size:25px;transition:.3s}.ex-panel--works a:hover{background:#38332e;transform:translateY(-8px)}.ex-panel--works a span{float:right}.ex-panel--faq{background:var(--c)}.ex-panel--faq details{margin-left:28%;border-top:1px solid}.ex-panel--faq summary{padding:22px;cursor:pointer;font-weight:800}.ex-panel--faq p{padding:0 22px 20px}.ex-panel--contact{background:var(--b)}.ex-panel--contact p{line-height:2}.ex-panel--contact a{display:inline-block;margin-top:20px;padding:16px 20px;background:#211e1a;color:white}.ex--service .ex-panel--service,.ex--works .ex-panel--works,.ex--faq .ex-panel--faq,.ex--contact .ex-panel--contact{opacity:1;visibility:visible;transform:none}
.price-page{--ink:#211e1a;min-height:100vh;color:var(--ink);background:#f4f2ed;font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif}.price-page>header{height:76px;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid;font-weight:800}.price-hero{min-height:680px;position:relative;padding:120px 7vw;overflow:hidden;background:#dce86a}.price-hero small,.price-detail small{font:8px Arial;letter-spacing:.2em}.price-hero h1{font-size:clamp(65px,10vw,150px);letter-spacing:-.09em;margin:30px 0}.price-hero p{line-height:2}.price-hero img{position:absolute;width:min(36vw,520px);right:4%;bottom:-10%;filter:drop-shadow(0 25px 20px #0002)}.price-three{display:grid;grid-template-columns:repeat(3,1fr);padding:0 6vw;background:#f4f2ed}.price-three article{min-height:390px;padding:45px 30px;border-right:1px solid}.price-three article:last-child{border:0}.price-three strong{display:block;margin:85px 0 20px;font:900 clamp(50px,5vw,78px) Arial}.price-three em{font:12px sans-serif;font-style:normal}.price-three p{font-size:11px;line-height:1.8}.price-detail{padding:120px 8vw;display:grid;grid-template-columns:1fr 1fr;background:#9ed5e7}.price-detail h2,.price-contact h2{font-size:clamp(50px,7vw,100px);line-height:.9}.price-detail ul{list-style:none;margin:0;padding:0;border-top:1px solid}.price-detail li{padding:18px 5px;border-bottom:1px solid}.price-detail--dark{color:white;background:#211e1a}.price-contact{padding:130px 8vw;background:#efa3b8}.price-contact a{display:inline-block;margin-top:30px;padding:16px 20px;background:#211e1a;color:white}
@media(max-width:800px){.ex-head{height:66px;padding:0 17px}.ex-head nav button{display:none}.ex-stage{height:calc(100svh - 101px);min-height:650px}.ex-words{width:90vw}.ex-words h1{font-size:14vw;display:block;text-align:center}.ex-words h1>*{display:block!important;text-align:center!important;padding:0!important}.ex-words span:nth-child(odd),.ex-words em:nth-child(odd){transform:translateX(-60vw)}.ex-words span:nth-child(even),.ex-words em:nth-child(even){transform:translateX(60vw)}.ex-node--tl{width:125px;height:125px;left:-25px}.ex-node--tr{width:135px;height:135px;right:-25px}.ex-node--bl{width:130px;height:120px;left:-20px}.ex-node--br{width:120px;height:120px;right:-15px}.ex-price-cat{width:85px;height:85px;top:43%;right:-12px}.ex-node span,.ex-price-cat span{display:none}.ex-panel{padding:80px 24px 30px}.ex-panel>h2{font-size:15vw}.ex-panel--service>div,.ex-panel--works>div{grid-template-columns:1fr}.ex-panel article,.ex-panel--works a{min-height:140px;border-right:0;border-bottom:1px solid}.ex-panel article h3{margin-top:35px}.ex-panel--faq details{margin-left:0}.price-hero{min-height:700px;padding:90px 24px}.price-hero h1{font-size:17vw}.price-hero img{width:75vw;right:-12%;bottom:-8%}.price-three{grid-template-columns:1fr;padding:0 24px}.price-three article{min-height:300px;border-right:0;border-bottom:1px solid}.price-three strong{margin-top:55px}.price-detail{grid-template-columns:1fr;padding:90px 24px}.price-detail h2,.price-contact h2{font-size:14vw}.price-detail ul{margin-top:50px}.price-contact{padding:90px 24px}}
.ex-node,.ex-price-cat{--enter-x:0;--enter-y:0;--sway:2deg;animation:catArrive .9s both cubic-bezier(.16,.84,.24,1),catDrift 3.8s .95s infinite ease-in-out}
.ex-node--tl{--enter-x:-42vw;--enter-y:-25vh;--sway:-2.5deg;animation-delay:.05s,1s}
.ex-node--tr{--enter-x:42vw;--enter-y:-25vh;--sway:2deg;animation-delay:.18s,1.13s;animation-duration:.9s,4.4s}
.ex-node--bl{--enter-x:-42vw;--enter-y:25vh;--sway:2.7deg;animation-delay:.31s,1.26s;animation-duration:.9s,4.1s}
.ex-node--br{--enter-x:42vw;--enter-y:25vh;--sway:-2deg;animation-delay:.44s,1.39s;animation-duration:.9s,4.7s}
.ex-price-cat{--enter-x:35vw;--sway:2.5deg;animation-delay:.58s,1.53s;animation-duration:.9s,3.6s}
.ex-node:hover,.ex-node:focus,.ex-price-cat:hover{animation-play-state:paused;transform:scale(1.22) rotate(3deg)}
@keyframes catArrive{from{opacity:0;transform:translate(var(--enter-x),var(--enter-y)) scale(.45) rotate(calc(var(--sway) * -3))}70%{opacity:1}to{opacity:1;transform:translate(0,0) scale(1) rotate(0)}}
@keyframes catDrift{0%,100%{transform:translate(0,0) rotate(calc(var(--sway) * -.45))}50%{transform:translate(0,-12px) rotate(var(--sway))}}
.ex-words h1>*{animation-duration:1.1s,6.8s!important;animation-timing-function:cubic-bezier(.2,.8,.2,1),ease-in-out!important;animation-iteration-count:1,infinite!important;animation-fill-mode:forwards,both!important}
.ex-words h1>:nth-child(1){animation-name:meetLeft,wordRipple!important;animation-delay:.15s,1.8s!important}
.ex-words h1>:nth-child(2){animation-name:meetRight,wordRipple!important;animation-delay:.15s,2.05s!important}
.ex-words h1>:nth-child(3){animation-name:meetLeft,wordRipple!important;animation-delay:.15s,2.3s!important}
.ex-words h1>:nth-child(4){animation-name:meetRight,wordRipple!important;animation-delay:.15s,2.55s!important}
@keyframes wordRipple{0%,17%,100%{transform:translateY(0) rotate(0);filter:drop-shadow(4px 5px 0 #211e1a2b)}4%{transform:translateY(-9px) rotate(-1deg);filter:drop-shadow(9px 12px 0 #211e1a44)}8%{transform:translateY(3px) rotate(.5deg);filter:drop-shadow(6px 8px 0 #211e1a35)}12%{transform:translateY(-3px) rotate(-.25deg);filter:drop-shadow(4px 5px 0 #211e1a2b)}}
.ex-words h1>span{filter:drop-shadow(3px 4px 0 #211e1a18)}
.ex-words h1>em{filter:drop-shadow(4px 5px 0 #8e334a2b)}
.ex-words h1>:nth-child(3),.ex-words h1>:nth-child(4){animation-name:meetLeft,pinkWordRipple!important}.ex-words h1>:nth-child(4){animation-name:meetRight,pinkWordRipple!important}
@keyframes pinkWordRipple{0%,17%,100%{transform:translateY(0) rotate(0);filter:drop-shadow(4px 5px 0 #8e334a2b)}4%{transform:translateY(-9px) rotate(-1deg);filter:drop-shadow(9px 12px 0 #8e334a44)}8%{transform:translateY(3px) rotate(.5deg);filter:drop-shadow(6px 8px 0 #8e334a35)}12%{transform:translateY(-3px) rotate(-.25deg);filter:drop-shadow(4px 5px 0 #8e334a2b)}}
.ex-node--tl{width:252px;height:252px}.ex-node--tr{width:276px;height:264px}.ex-node--bl{width:264px;height:228px}.ex-node--br{width:197px;height:197px}.ex-price-cat{width:156px;height:156px}
.ex-node:after,.ex-price-cat:after{content:"";position:absolute;z-index:-1;left:17%;right:17%;bottom:7%;height:12%;border-radius:50%;background:#211e1a33;filter:blur(10px);transform:scaleX(.9)}
.ex-node img,.ex-price-cat img{filter:drop-shadow(0 13px 10px #211e1a30) drop-shadow(0 3px 2px #211e1a22)}
@media(min-width:801px) and (max-width:1199px){.ex-node--tl{width:222px;height:222px}.ex-node--tr{width:226px;height:216px}.ex-node--bl{width:216px;height:187px}.ex-node--br{width:173px;height:173px}.ex-price-cat{width:133px;height:133px}}
@media(max-width:800px){.ex-node--tl{width:150px;height:150px}.ex-node--tr{width:162px;height:162px}.ex-node--bl{width:156px;height:144px}.ex-node--br{width:115px;height:115px}.ex-price-cat{width:102px;height:102px}}
@media(max-width:800px){.ex-node span,.ex-price-cat span{display:block;min-width:0;width:max-content;max-width:112px;padding:6px 8px;opacity:.9;transform:none;background:#f4f2eddd;backdrop-filter:blur(5px);font-size:9px;line-height:1.2;box-shadow:2px 3px 0 #211e1a18}.ex-node span small,.ex-price-cat span small{display:none}.ex-node--tl span{left:62%;top:10%}.ex-node--tr span{right:55%;top:11%}.ex-node--bl span{left:58%;bottom:18%}.ex-node--br span{right:55%;bottom:14%}.ex-price-cat span{right:66%;top:12%}}
@property --ex-mid{syntax:"<color>";inherits:false;initial-value:#ece9e2}@property --ex-edge{syntax:"<color>";inherits:false;initial-value:#dfdcd5}
.ex{--ex-mid:#ece9e2;--ex-edge:#dfdcd5;background:radial-gradient(ellipse at 50% 39%,#fffdfa 0,#f7f5f0 42%,var(--ex-mid) 78%,var(--ex-edge) 100%);animation:exBackgroundBreath 56s ease-in-out infinite}
@keyframes exBackgroundBreath{0%,100%{--ex-mid:#e9e5dc;--ex-edge:#d7d2c8}32%{--ex-mid:#f1dfdf;--ex-edge:#dfc4c8}66%{--ex-mid:#e2e8d7;--ex-edge:#cbd7bd}}
.ex.ex-bg--greige{animation:none;--ex-mid:#e9e5dc;--ex-edge:#d7d2c8}.ex.ex-bg--sakura{animation:none;--ex-mid:#f1dfdf;--ex-edge:#dfc4c8}.ex.ex-bg--sage{animation:none;--ex-mid:#e2e8d7;--ex-edge:#cbd7bd}.ex.ex-bg--loop{animation:exBackgroundBreath 56s ease-in-out infinite}
.ex-bg-switcher{position:fixed;z-index:9;right:18px;bottom:51px;display:flex;gap:7px;padding:7px;border:1px solid #211e1a38;border-radius:24px;background:#fffdf8b5;box-shadow:0 8px 22px #211e1a16;backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px)}.ex-bg-choice{position:relative;width:22px;height:22px;padding:0;border:1px solid #211e1a45;border-radius:50%;cursor:pointer;box-shadow:inset 0 0 0 2px #fff9;transition:transform .25s,box-shadow .25s}.ex-bg-choice:hover,.ex-bg-choice:focus-visible{transform:scale(1.2)}.ex-bg-choice[aria-pressed="true"]{box-shadow:inset 0 0 0 2px #fff,0 0 0 2px #211e1a}.ex-bg-choice--greige{background:#d7d2c8}.ex-bg-choice--sakura{background:#dfc4c8}.ex-bg-choice--sage{background:#cbd7bd}.ex-bg-choice--loop{display:grid;place-items:center;background:#f7f5f0;color:#211e1a;font-size:15px;line-height:1}.ex-bg-choice:after{content:attr(data-label);position:absolute;right:0;bottom:31px;width:max-content;padding:5px 8px;border:1px solid #211e1a55;border-radius:12px;background:#fffdf8e8;color:#211e1a;font-size:9px;font-weight:700;opacity:0;transform:translateY(4px);pointer-events:none;transition:.2s}.ex-bg-choice:hover:after,.ex-bg-choice:focus-visible:after{opacity:1;transform:none}
.ex-stage{background:linear-gradient(to bottom,transparent 74%,#c8c4bb24 100%)}.ex-stage:after{content:"";position:absolute;z-index:1;inset:0;pointer-events:none;opacity:.16;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 140 140' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.17'/%3E%3C/svg%3E")}
.ex-node,.ex-price-cat{will-change:translate,transform;animation-name:catArrive!important;animation-duration:.9s!important;animation-iteration-count:1!important;animation-fill-mode:both!important;animation-timing-function:cubic-bezier(.16,.84,.24,1)!important}.ex-node--tl{animation-delay:.05s!important}.ex-node--tr{animation-delay:.18s!important}.ex-node--bl{animation-delay:.31s!important}.ex-node--br{animation-delay:.44s!important}.ex-price-cat{animation-delay:.58s!important}
.ex-node span,.ex-price-cat span{border-radius:22px;background:#fffdf8c9;border:1.5px solid #211e1a70;backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px);box-shadow:0 8px 22px #211e1a17,2px 3px 0 #211e1a16;transform:scale(.82) translateY(5px)}
.ex-node:hover span,.ex-node:focus span,.ex-price-cat:hover span{transform:scale(1) translateY(0)}
.ex-node .ex-cat-visual,.ex-price-cat .ex-cat-visual{position:absolute;inset:0;display:block;min-width:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;opacity:1;transform:none;transition:transform .45s cubic-bezier(.2,.8,.2,1)}
.ex-node .ex-cat-label,.ex-price-cat .ex-cat-label{position:absolute}.ex-node:hover .ex-cat-visual,.ex-node:focus .ex-cat-visual,.ex-price-cat:hover .ex-cat-visual{transform:scale(1.34) rotate(3deg)}
.ex-node:hover .ex-cat-label,.ex-node:focus .ex-cat-label,.ex-price-cat:hover .ex-cat-label{opacity:1;transform:scale(1) translateY(0)}
.ex-words{top:calc(50% - clamp(10px,1vw,16px))}.ex-words h1{display:flex;flex-direction:column;align-items:center;gap:0}.ex-words h1>*{position:relative;width:max-content;text-align:center!important;padding:0!important}.ex-words h1>:nth-child(3){margin-top:clamp(20px,2vw,32px)}.ex-words h1 i{position:absolute;left:100%;bottom:0;font:inherit;font-style:normal;color:inherit}
.ex-homecopy p{margin-bottom:3px;font-size:13px;font-weight:600;text-shadow:2px 2px 0 #211e1a12}.ex-homecopy b{font-size:9px;font-weight:700;text-shadow:1.5px 1.5px 0 #211e1a18}.ex-homecopy p em{display:none;font-style:normal}
@media(max-width:800px){.ex-bg-switcher{right:9px;bottom:43px;gap:5px;padding:5px}.ex-bg-choice{width:19px;height:19px}.ex-bg-choice--loop{font-size:13px}.ex-bg-choice:after{display:none}.ex-words{top:calc(50% - 9px)}.ex-words h1>:nth-child(3){margin-top:18px}.ex-homecopy p span{display:none}.ex-homecopy p em{display:inline}.ex-homecopy p{font-size:13px;font-weight:600}.ex-homecopy b{font-size:9px;font-weight:700}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;scroll-behavior:auto!important}}

/* Shared site navigation */
.site-header{color:#211e1a}
.site-header{height:72px;padding:0 4vw;display:grid;grid-template-columns:1fr auto;align-items:center;position:relative;z-index:90;border-bottom:1px solid #5d49373b;background:#fffaf0a8;box-shadow:0 8px 30px #49382b0a;backdrop-filter:blur(18px) saturate(1.15);-webkit-backdrop-filter:blur(18px) saturate(1.15)}.ex>.site-header+.ex-stage{height:calc(100svh - 72px)}.site-brand{display:grid;grid-template-columns:32px auto;grid-template-rows:auto auto;align-items:center;column-gap:11px;width:max-content}.site-brand>b{font-size:18px;font-weight:900;letter-spacing:.02em}.site-brand>small{grid-column:2;color:#7b6b5e;font:700 6px Arial;letter-spacing:.18em}.site-paw{grid-row:1/3;width:30px;height:30px;position:relative;display:block;transform:rotate(-9deg);transition:.3s}.site-brand:hover .site-paw{transform:rotate(7deg) scale(1.08)}.site-paw i,.site-paw b{position:absolute;display:block;background:#cf6c84}.site-paw i{width:6px;height:8px;border-radius:50%}.site-paw i:nth-child(1){left:2px;top:5px;transform:rotate(-28deg)}.site-paw i:nth-child(2){left:9px;top:1px;transform:rotate(-8deg)}.site-paw i:nth-child(3){right:7px;top:2px;transform:rotate(10deg)}.site-paw i:nth-child(4){right:1px;top:7px;transform:rotate(28deg)}.site-paw b{left:7px;top:11px;width:17px;height:15px;border-radius:48% 48% 58% 58%;transform:rotate(4deg)}.site-header nav{display:flex;align-items:center;gap:clamp(17px,2vw,30px)}.site-header nav>a,.site-header nav>button{position:relative;padding:8px 0;border:0;background:transparent;color:inherit;font-size:10px;font-weight:800;cursor:pointer;transition:color .22s,transform .22s}.site-header nav>a:not(.site-line):after,.site-header nav>button:after{content:"";position:absolute;left:50%;right:50%;bottom:2px;height:2px;border-radius:9px;background:#cf6c84;transition:.25s}.site-header nav>a:hover,.site-header nav>button:hover{color:#b84f6a;transform:translateY(-2px)}.site-header nav>a:hover:after,.site-header nav>button:hover:after{left:0;right:0}.site-header .site-line{min-width:132px;padding:9px 17px 10px;border:1px solid #a94f67;border-radius:24px;background:#e98da3;color:#2b2020;box-shadow:0 5px 0 #c85f78;transform:translateY(-2px);text-align:center}.site-header .site-line:hover{color:#2b2020;transform:translateY(1px);box-shadow:0 2px 0 #c85f78}.site-line small{display:block;margin-bottom:1px;font-size:6px;font-weight:700;letter-spacing:.12em;opacity:.72}.site-line span{margin-left:5px}.site-menu-toggle{display:none}
.site-footer{position:relative;z-index:30;min-height:310px;padding:65px clamp(24px,6vw,90px) 24px;display:grid;grid-template-columns:1.35fr .7fr 1fr;column-gap:8vw;row-gap:55px;color:#eeeae2;background:#211e1a}.site-footer-brand>a{font-size:21px;font-weight:900}.site-footer-brand i{margin-left:6px;font:10px Arial;font-style:normal}.site-footer-brand p{margin-top:38px;font-size:14px;font-weight:700;line-height:1.75}.site-footer-brand em{color:#e6819a;font-style:normal}.site-footer nav{display:flex;flex-direction:column;align-items:flex-start;gap:11px}.site-footer nav b{margin-bottom:8px;color:#a9a198;font:800 9px Arial;letter-spacing:.16em}.site-footer nav a{font-size:10px;line-height:1.45;transition:color .2s,transform .2s}.site-footer nav a:hover{color:#efa3b8;transform:translateX(3px)}.site-footer-bottom{grid-column:1/-1;padding-top:20px;display:flex;justify-content:space-between;border-top:1px solid #ffffff30;color:#a9a198;font-size:8px}.site-footer-bottom small{font:8px Arial;letter-spacing:.16em}
@media(max-width:800px){.site-header{height:64px;padding:0 17px;grid-template-columns:1fr auto}.ex>.site-header+.ex-stage{height:calc(100svh - 64px)}.site-brand{grid-template-columns:27px auto;column-gap:8px}.site-brand>b{font-size:14px}.site-brand>small{font-size:5px}.site-paw{width:26px;height:26px;transform:rotate(-9deg) scale(.86)}.site-menu-toggle{display:flex;align-items:center;gap:8px;padding:8px 0;border:0;background:transparent;font-size:9px;font-weight:800;cursor:pointer}.site-paw-mini{width:17px;height:17px;display:grid;place-items:center;border-radius:50%;background:#e98da3;color:#7c3347!important;font-size:0!important}.site-paw-mini:after{content:"🐾";font-size:10px}.site-header nav{position:absolute;top:64px;left:0;right:0;padding:24px 20px 28px;display:flex;flex-direction:column;align-items:stretch;gap:5px;background:#fffaf0e8;border-bottom:1px solid #5d49373b;box-shadow:0 22px 35px #211e1a1c;backdrop-filter:blur(18px);opacity:0;visibility:hidden;transform:translateY(-10px);transition:.28s}.site-header nav.is-open{opacity:1;visibility:visible;transform:none}.site-header nav>a,.site-header nav>button{padding:12px;text-align:left;font-size:12px}.site-header .site-line{margin-top:10px;padding:11px 15px 12px;text-align:center}.site-footer{min-height:0;padding:55px 24px 24px;grid-template-columns:1fr 1fr;column-gap:30px;row-gap:45px}.site-footer-brand{grid-column:1/-1}.site-footer-brand p{margin-top:25px}.site-footer nav a{font-size:9px}.site-footer-bottom{gap:15px;flex-direction:column}.price-page>.site-header{height:64px}}

/* Mii and caretaker */
.mii-about{color:#211e1a;background:#f4f0e7}.mii-about small{font:800 9px Arial;letter-spacing:.2em}.mii-about-hero{min-height:850px;padding:90px 7vw;display:grid;grid-template-columns:45% 55%;align-items:center;background:radial-gradient(circle at 72% 35%,#fff9f2,#efe5d8 68%,#e3d7c8)}.mii-about-hero h1{margin:30px 0;font-size:clamp(56px,7vw,108px);line-height:1.02;letter-spacing:-.08em}.mii-about-hero h1 em{color:#cf536f;font-style:normal}.mii-about-hero p{font-size:14px;line-height:2}.mii-about-hero figure{margin:0;justify-self:center;width:min(47vw,600px);transform:rotate(1.2deg);filter:drop-shadow(0 25px 28px #4837252b)}.mii-about-hero figure img{display:block;width:100%;border:8px solid #fffaf1}.mii-about-hero figcaption{padding-top:10px;text-align:right;font-size:9px}.mii-about-story{padding:130px 8vw;background:#211e1a;color:#f5eee4}.mii-about-story>header{display:grid;grid-template-columns:25% 75%}.mii-about-story h2,.mii-about-character h2,.mii-about-human h2{margin:0;font-size:clamp(48px,7vw,98px);line-height:1.02;letter-spacing:-.075em}.mii-timeline{margin:90px 0 0 25%;border-top:1px solid #fff5}.mii-timeline article{padding:30px 5px;display:grid;grid-template-columns:18% 30% 1fr;gap:25px;align-items:start;border-bottom:1px solid #fff4}.mii-timeline time{color:#efa3b8;font:800 10px Arial}.mii-timeline h3{margin:0;font-size:18px}.mii-timeline p{margin:0;color:#c6bbb0;font-size:11px;line-height:1.9}.mii-about-character{padding:130px 7vw;background:#eadfce}.mii-about-character>header{text-align:center}.mii-about-character>div{margin-top:90px;display:grid;grid-template-columns:repeat(4,1fr);border-block:1px solid}.mii-about-character article{min-height:300px;padding:28px;border-right:1px solid}.mii-about-character article:last-child{border:0}.mii-about-character article>b{font:800 10px Arial}.mii-about-character h3{margin:95px 0 18px;font-size:26px}.mii-about-character p{font-size:11px;line-height:1.8}.mii-about-human{min-height:720px;display:grid;grid-template-columns:58% 42%;background:#dbe1cf}.mii-about-human>div{padding:110px 8vw}.mii-about-human h2{margin:30px 0 45px}.mii-about-human p{font-size:12px;line-height:2}.mii-about-human a{display:inline-block;margin-top:25px;padding:15px 20px;border-radius:25px;background:#211e1a;color:white;font-size:11px}.mii-about-human>img{width:100%;height:100%;object-fit:contain;padding:45px;filter:drop-shadow(0 24px 18px #211e1a35)}
@media(max-width:800px){.mii-about-hero{min-height:0;padding:75px 20px;grid-template-columns:1fr}.mii-about-hero h1{font-size:14vw}.mii-about-hero figure{width:100%;margin-top:55px}.mii-about-story,.mii-about-character{padding:90px 24px}.mii-about-story>header{grid-template-columns:1fr;gap:25px}.mii-about-story h2,.mii-about-character h2,.mii-about-human h2{font-size:13vw}.mii-timeline{margin:60px 0 0}.mii-timeline article{grid-template-columns:1fr;gap:10px}.mii-about-character>div{grid-template-columns:1fr;margin-top:60px}.mii-about-character article{min-height:230px;border-right:0;border-bottom:1px solid}.mii-about-character h3{margin-top:55px}.mii-about-human{grid-template-columns:1fr}.mii-about-human>div{padding:90px 24px}.mii-about-human>img{height:470px;padding:20px}}

/* Clear, familiar paw mark */
.site-paw{width:32px;height:30px;transform:rotate(-5deg)}
.site-brand:hover .site-paw{transform:rotate(5deg) scale(1.08)}
.site-paw i{width:7px;height:8px}
.site-paw i:nth-child(1){left:1px;right:auto;top:6px;transform:rotate(-20deg)}
.site-paw i:nth-child(2){left:8px;right:auto;top:1px;transform:rotate(-7deg)}
.site-paw i:nth-child(3){left:17px;right:auto;top:1px;transform:rotate(7deg)}
.site-paw i:nth-child(4){left:24px;right:auto;top:6px;transform:rotate(20deg)}
.site-paw b{left:7px;top:12px;width:19px;height:17px;border-radius:52% 52% 46% 46%;transform:none}
.site-paw--mini{grid-row:auto;width:32px;height:30px;transform:scale(.56);transform-origin:center}
.site-paw--mini i,.site-paw--mini b{background:#b84f6a}
.site-menu-toggle:hover .site-paw--mini{transform:scale(.62) rotate(5deg)}

/* Readable type scale: Japanese copy stays legible on desktop and mobile */
.site-brand>small{font-size:8px}
.site-header nav>a,.site-header nav>button{font-size:14px}
.site-line small{font-size:9px}
.ex-homecopy p{font-size:14px}
.ex-homecopy b{font-size:9px}
.ex-node span b,.ex-price-cat span b{font-size:14px}
.ex-node span small,.ex-price-cat span small{font-size:11px}
.ex-panel>button{font-size:13px}
.ex-panel>small{font-size:11px}
.ex-panel article p{font-size:15px;line-height:1.8}
.ex-panel--works a{font-size:28px}
.ex-panel--faq summary{font-size:16px}
.ex-panel--faq p,.ex-panel--contact p{font-size:15px}
.ex-panel--contact a{font-size:14px}
.site-footer-brand>a{font-size:25px}
.site-footer-brand i{font-size:12px}
.site-footer-brand p{font-size:17px}
.site-footer nav b{font-size:12px}
.site-footer nav a{font-size:14px}
.site-footer-bottom{font-size:12px}
.site-footer-bottom small{font-size:10px}
.price-hero small,.price-detail small{font-size:11px}
.price-hero p,.price-three p,.price-detail li,.price-contact p{font-size:15px;line-height:1.8}
.price-three em{font-size:14px}
.mii-about small{font-size:11px}
.mii-about-hero p{font-size:16px}
.mii-timeline time{font-size:11px}
.mii-timeline p,.mii-about-character p,.mii-about-human p{font-size:14px}
.mii-about-human a{font-size:14px}

@media(max-width:800px){
 .site-brand>small{font-size:7px}
 .site-header nav>a,.site-header nav>button{font-size:16px}
 .site-menu-toggle{font-size:13px}
 .ex-homecopy p{font-size:13px}
 .ex-homecopy b{font-size:8px}
 .ex-panel>button{font-size:14px}
 .ex-panel article p,.ex-panel--faq p,.ex-panel--contact p{font-size:14px}
 .site-footer nav b{font-size:11px}
 .site-footer nav a{font-size:13px}
 .site-footer-bottom{font-size:11px}
}

.price-accordion-items article:nth-child(even){border-right:1px solid}

.site-footer-logo{display:grid;grid-template-columns:38px auto;grid-template-rows:auto auto;align-items:center;column-gap:13px;width:max-content}
.site-footer-logo .site-paw{grid-row:1/3;transform:rotate(-5deg) scale(1.08)}
.site-footer-logo strong{font-size:25px;font-weight:900;line-height:1.1}
.site-footer-logo small{grid-column:2;color:#a9a198;font:700 8px Arial;letter-spacing:.18em}
.site-footer-logo:hover .site-paw{transform:rotate(5deg) scale(1.15)}
@media(max-width:800px){.site-footer-logo{grid-template-columns:34px auto;column-gap:10px}.site-footer-logo strong{font-size:21px}.site-footer-logo small{font-size:7px}}

/* Keep footer wordmark together regardless of inherited footer link styles */
.site-footer-logo{display:flex;align-items:center;gap:13px;font-size:inherit;white-space:nowrap}
.site-footer-logo .site-paw{flex:0 0 32px}
.site-footer-logo-copy{display:flex;flex-direction:column;align-items:flex-start;gap:4px;line-height:1}
.site-footer-logo-copy strong{display:block;font-size:25px;font-weight:900;line-height:1.1}
.site-footer-logo-copy small{display:block;color:#a9a198;font:700 8px Arial;letter-spacing:.18em;line-height:1}
@media(max-width:800px){.site-footer-logo{gap:10px}.site-footer-logo-copy strong{font-size:21px}.site-footer-logo-copy small{font-size:7px}}
@media(max-width:520px){.site-footer{grid-template-columns:1fr;row-gap:38px}.site-footer-brand{grid-column:auto}.site-footer nav{grid-column:auto}.site-footer nav a{font-size:14px}.site-footer-bottom{grid-column:auto}}

/* One shared logo lockup, inserted in both header and footer */
.site-logo{display:flex;align-items:center;gap:13px;width:max-content;white-space:nowrap}
.site-logo>.site-paw{grid-row:auto;flex:0 0 32px;width:32px;height:30px;transform:rotate(-5deg)}
.site-logo-copy{display:flex;flex-direction:column;align-items:flex-start;gap:5px;line-height:1}
.site-logo-copy strong{display:block;font-size:25px;font-weight:900;line-height:1;letter-spacing:.02em}
.site-logo-copy small{display:block;color:#7b6b5e;font:700 9px/1 Arial;letter-spacing:.18em}
.site-logo--dark{color:#f5f1ea}
.site-logo--dark .site-logo-copy small{color:#a9a198}
.site-brand:hover .site-logo>.site-paw,.site-footer-logo:hover .site-logo>.site-paw{transform:rotate(5deg) scale(1.08)}
.site-footer-logo{display:block;font-size:inherit}
.site-footer-logo .site-logo>.site-paw{transform:rotate(-5deg)}
@media(max-width:800px){.site-logo{gap:10px}.site-logo-copy strong{font-size:21px}.site-logo-copy small{font-size:7px}}

/* Fixed artwork files used by both placements */
.site-brand{display:block;width:auto}
.site-logo-image{display:block;width:264px;height:48px;object-fit:contain;object-position:left center}
.site-footer-logo{display:block;width:max-content}
.site-footer-logo .site-logo-image{width:264px;height:48px}
.site-menu-toggle>img{display:block;width:20px;height:22px}
@media(max-width:800px){.site-logo-image,.site-footer-logo .site-logo-image{width:211px;height:38px}.site-menu-toggle>img{width:18px;height:20px}}

/* Hero title breathing room and balanced depth */
.ex-words h1>span{filter:drop-shadow(4px 5px 0 #211e1a2b)}
.ex-words h1>:nth-child(2){margin-top:clamp(8px,.8vw,12px)}
.ex-words h1>:nth-child(4){margin-top:clamp(14px,1.35vw,20px)}

/* Softer automatic background control */
.ex-bg-choice{border-color:#6f62586b;box-shadow:none}
.ex-bg-choice[aria-pressed="true"]{border-color:#8d716f80;box-shadow:0 0 0 2px #cf6c845c}
.ex-bg-choice--loop{color:#4c4038;padding:0;line-height:1;font-size:14px}
.ex-bg-choice--loop>span{display:block;width:1em;height:1em;line-height:1;transform:translate(-1px,-1px)}
.ex-bg-switcher{flex-direction:column;align-items:center;gap:3px;border-radius:18px}
.ex-bg-choices{display:flex;gap:7px}
.ex-bg-caption{display:block;color:#8f8981;font:700 7px/1 Arial,sans-serif;letter-spacing:.22em;text-indent:.22em;opacity:.68}
@media(max-width:800px){.ex-bg-choice--loop{padding:0;font-size:12px}.ex-bg-choices{gap:5px}.ex-bg-caption{font-size:6px}}
@media(hover:none),(pointer:coarse){.ex-bg-choice--loop.is-touch-hint:after{display:block;content:"LOOP";opacity:1;transform:none}}

/* Independent guide pages */
.guide-page{min-height:100vh;color:#211e1a;background:#f4f2ed;font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif}.guide-page small{font:800 11px Arial;letter-spacing:.2em}.guide-hero{min-height:720px;padding:90px 7vw;display:grid;grid-template-columns:58% 42%;align-items:center;position:relative;overflow:hidden;background:#dce86a}.guide-hero h1,.works-hero h1,.faq-hero h1,.contact-hero h1{margin:28px 0 35px;font-size:clamp(62px,8vw,124px);line-height:.9;letter-spacing:-.09em}.guide-hero p,.works-hero p,.faq-hero p,.contact-hero p{font-size:16px;line-height:2}.guide-hero>img{width:100%;height:580px;object-fit:contain;filter:drop-shadow(0 24px 18px #211e1a30)}
.guide-cards{padding:0 6vw;display:grid;grid-template-columns:repeat(3,1fr);background:#f4f2ed}.guide-cards article{min-height:430px;padding:45px 32px;border-right:1px solid}.guide-cards article:last-child{border:0}.guide-cards article>b{font:900 12px Arial}.guide-cards h2{margin:115px 0 22px;font-size:42px}.guide-cards p{font-size:15px;line-height:1.9}.guide-next{padding:120px 8vw;background:#9ed5e7}.guide-next h2{margin:28px 0 45px;font-size:clamp(48px,7vw,96px);line-height:.95;letter-spacing:-.075em}.guide-next a{display:inline-block;padding:16px 20px;background:#211e1a;color:white;font-size:15px;font-weight:800}
.guide-page--works{background:#211e1a;color:#f5f1ea}.works-hero{min-height:650px;padding:110px 7vw;background:#211e1a}.works-hero p{color:#bdb4a8}.works-list{padding:0 6vw 120px;display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.work-tile{min-height:470px;padding:28px;display:flex;flex-direction:column;border:1px solid #ffffff55;transition:.4s cubic-bezier(.2,.8,.2,1)}.work-tile:hover{transform:translateY(-12px) rotate(-1deg);box-shadow:0 28px 55px #0006}.work-tile>small{font-size:11px}.work-tile>div{margin:auto 0 35px}.work-tile h2{font-size:clamp(34px,4vw,58px);line-height:1.05;letter-spacing:-.06em}.work-tile p{font-size:14px;line-height:1.8}.work-tile>b{align-self:flex-end;font-size:14px}.work-tile--simple{background:#f8f6f0;color:#211e1a}.work-tile--crafted{background:#e6814e;color:#211e1a}.work-tile--mii{background:#efa3b8 url('/mii-gallery/06.webp') right bottom/58% auto no-repeat;color:#211e1a}
.guide-page--faq{background:#f4f2ed}.faq-hero{min-height:650px;padding:90px 7vw;display:grid;grid-template-columns:60% 40%;align-items:center;background:#9ed5e7;overflow:hidden}.faq-hero>img{width:100%;height:540px;object-fit:contain;filter:drop-shadow(0 24px 18px #211e1a30)}.faq-list{padding:110px 8vw}.faq-list details{border-top:1px solid}.faq-list details:last-child{border-bottom:1px solid}.faq-list summary{padding:28px 5px;display:grid;grid-template-columns:70px 1fr auto;align-items:center;cursor:pointer;font-size:19px;font-weight:800;list-style:none}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary b{font:800 12px Arial}.faq-list summary span{font-size:24px;transition:.25s}.faq-list details[open] summary span{transform:rotate(45deg)}.faq-list details p{max-width:760px;margin:0 0 30px 70px;font-size:15px;line-height:2}
.guide-page--contact{background:#f4f2ed}.contact-hero{min-height:780px;padding:70px 7vw 40px;display:grid;grid-template-columns:58% 42%;align-items:center;background:#efa3b8;overflow:hidden}.contact-copy{position:relative;z-index:2}.contact-hero h1 em{color:#fff8f0;font-family:"Yu Mincho",serif;font-style:normal}.contact-hero p{max-width:630px}.contact-actions{display:grid;grid-template-columns:repeat(2,minmax(210px,280px));gap:14px;margin-top:34px}.contact-hero .contact-actions a{min-height:118px;padding:18px 20px;display:grid;grid-template-columns:1fr auto;align-content:space-between;border:2px solid;box-shadow:5px 5px 0 #211e1a;transition:transform .2s,box-shadow .2s}.contact-hero .contact-actions a:hover{transform:translate(-3px,-3px);box-shadow:9px 9px 0 #211e1a}.contact-actions small{grid-column:1/-1;font-size:9px}.contact-actions b{font-size:16px}.contact-actions span{font-size:21px}.contact-action--line{background:#dce86a}.contact-action--instagram{background:#fff8f0}.contact-reply-note{margin:26px 0 0;padding-left:20px;border-left:2px solid;font-size:12px!important;line-height:1.8!important}.contact-cat{position:relative;align-self:end;height:650px}.contact-cat img{width:118%;height:100%;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 24px 18px #211e1a30)}.contact-cat span{position:absolute;z-index:2;left:-5%;top:16%;padding:18px 22px;border:2px solid;border-radius:50%;background:#fff8f0;font-size:13px;font-weight:800;line-height:1.6;transform:rotate(-5deg)}.contact-before{padding:110px 8vw;display:grid;grid-template-columns:1fr 1fr;gap:8vw;background:#dce86a}.contact-before h2{margin:28px 0 24px;font-size:clamp(48px,6vw,84px);line-height:1;letter-spacing:-.07em}.contact-before p{font-size:14px}.contact-before ul{margin:0;padding:0;list-style:none;border-top:2px solid}.contact-before li{padding:25px 8px;display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid;font-size:16px;font-weight:800}.contact-before li i{font-style:normal}
@media(max-width:800px){.guide-hero,.faq-hero,.contact-hero{min-height:0;padding:75px 24px 0;grid-template-columns:1fr}.guide-hero h1,.works-hero h1,.faq-hero h1,.contact-hero h1{font-size:15vw}.guide-hero>img,.faq-hero>img{height:380px;width:100%}.guide-hero p,.works-hero p,.faq-hero p,.contact-hero p{font-size:14px}.guide-cards{grid-template-columns:1fr;padding:0 24px}.guide-cards article{min-height:300px;border-right:0;border-bottom:1px solid}.guide-cards h2{margin-top:65px}.guide-next{padding:90px 24px}.guide-next h2{font-size:13vw}.works-hero{min-height:0;padding:90px 24px 70px}.works-list{padding:0 24px 90px;grid-template-columns:1fr}.work-tile{min-height:390px}.faq-list{padding:80px 24px}.faq-list summary{grid-template-columns:45px 1fr auto;font-size:16px}.faq-list details p{margin-left:45px;font-size:14px}.contact-actions{grid-template-columns:1fr}.contact-hero .contact-actions a{min-height:102px}.contact-cat{height:380px}.contact-cat img{width:110%}.contact-cat span{left:0;top:20%;font-size:11px;padding:14px 18px}.contact-before{padding:85px 24px;grid-template-columns:1fr}.contact-before h2{font-size:13vw}.contact-before li{font-size:14px}}

/* Contact playground */
.contact-play{--cp-ink:#211e1a;--cp-cream:#fff8ec;--cp-lime:#dce86a;--cp-pink:#f0a4bc;--cp-blue:#98d9ee;--cp-orange:#ef7d43;color:var(--cp-ink);background:var(--cp-cream);overflow:hidden}.contact-play *{box-sizing:border-box}.contact-play small{font:800 9px/1.2 Arial,sans-serif;letter-spacing:.2em}.contact-play-hero{min-height:820px;padding:105px 6vw 90px;position:relative;display:grid;grid-template-columns:52% 48%;align-items:center;background:linear-gradient(115deg,var(--cp-cream) 0 55%,var(--cp-blue) 55%);isolation:isolate}.contact-play-intro{position:relative;z-index:4}.contact-play-intro h1{margin:25px 0 34px;font-size:clamp(62px,8.3vw,132px);line-height:.88;letter-spacing:-.09em}.contact-play-intro h1 em{color:#cf536f;font-family:"Yu Mincho",serif;font-style:normal;font-weight:500}.contact-play-intro p{font-size:15px;line-height:2}.contact-channel-stack{position:relative;z-index:6;width:min(510px,100%);justify-self:end}.contact-channel{min-height:225px;padding:30px;display:grid;grid-template-columns:100px 1fr auto;align-items:center;gap:24px;border:2px solid;background:#fff;box-shadow:10px 10px 0 var(--cp-ink);transition:.4s cubic-bezier(.2,.8,.2,1)}.contact-channel--line{background:var(--cp-lime);transform:rotate(-4deg)}.contact-channel--instagram{margin:-17px 0 0 38px;background:var(--cp-pink);transform:rotate(3deg)}.contact-channel:hover{z-index:5;transform:translate(-6px,-10px) rotate(0);box-shadow:17px 19px 0 var(--cp-ink)}.contact-channel span>b{display:block;margin-top:14px;font-size:clamp(25px,3vw,40px);line-height:1.05;letter-spacing:-.05em}.contact-channel-arrow{align-self:start;font-size:30px;font-style:normal;transition:.3s}.contact-channel:hover .contact-channel-arrow{transform:translate(5px,-5px)}.contact-social-icon{width:88px;height:88px;display:grid;place-items:center;position:relative;flex:none}.contact-social-icon--line{border-radius:24px;background:#06c755}.contact-social-icon--line:after{content:"";position:absolute;left:13px;bottom:-10px;border:14px solid transparent;border-top-color:#06c755;transform:rotate(18deg)}.contact-social-icon--line i{position:relative;z-index:1;color:#fff;font:900 17px Arial;font-style:normal;letter-spacing:-.06em}.contact-social-icon--instagram{border-radius:24px;background:radial-gradient(circle at 68% 72%,#ffd36b 0 13%,#f44c62 35%,#be32a5 60%,#5b5ee8 100%)}.contact-social-icon--instagram:before{content:"";width:48px;height:48px;border:6px solid #fff;border-radius:15px}.contact-social-icon--instagram:after{content:"";position:absolute;width:16px;height:16px;border:5px solid #fff;border-radius:50%}.contact-social-icon--instagram i{position:absolute;right:18px;top:17px;width:7px;height:7px;border-radius:50%;background:#fff}.contact-play-cat{position:absolute;z-index:3;left:42%;bottom:23px;width:210px;height:240px;pointer-events:none;animation:contactCatPeek 5s 1.8s ease-in-out infinite}.contact-play-cat img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 15px 12px #211e1a33)}.contact-marquee{height:48px;position:absolute;z-index:7;left:-2%;right:-2%;bottom:0;display:flex;overflow:hidden;border-block:2px solid;background:var(--cp-orange);transform:rotate(-1deg);white-space:nowrap}.contact-marquee span{min-width:max-content;padding:13px 0;font:900 15px Arial;animation:contactMarquee 20s linear infinite}.contact-play-shape{position:absolute;border:2px solid;border-radius:50%;pointer-events:none}.contact-play-shape--one{left:-55px;top:110px;width:180px;height:180px;background:var(--cp-lime);animation:contactOrb 6s ease-in-out infinite}.contact-play-shape--two{left:46%;top:85px;width:60px;height:60px;background:var(--cp-pink);animation:contactOrb 4s .5s ease-in-out infinite reverse}
.contact-seeds{padding:150px 7vw 170px;background:var(--cp-ink);color:var(--cp-cream)}.contact-seeds header{display:grid;grid-template-columns:22% 1fr 30%;align-items:start}.contact-seeds header small{padding-top:12px}.contact-seeds h2{margin:0;font-size:clamp(50px,7vw,103px);line-height:.92;letter-spacing:-.08em}.contact-seeds h2 em{color:var(--cp-lime);font-style:normal}.contact-seeds header p{padding-top:13px;font-size:13px;line-height:1.9;color:#c9c0b4}.contact-seed-cloud{margin-top:110px;display:grid;grid-template-columns:repeat(6,1fr);gap:16px;align-items:center}.contact-seed{min-height:210px;padding:24px;position:relative;display:flex;flex-direction:column;color:var(--cp-ink);border:2px solid var(--cp-cream);box-shadow:7px 7px 0 var(--cp-cream);transform:rotate(calc((var(--seed-index) - 2) * 1.4deg));transition:.35s cubic-bezier(.2,.8,.2,1);animation:contactSeedFloat 5s calc(var(--seed-index) * -.7s) ease-in-out infinite}.contact-seed:nth-child(1),.contact-seed:nth-child(4){grid-column:span 2}.contact-seed:nth-child(2),.contact-seed:nth-child(3){grid-column:span 2;min-height:260px}.contact-seed:nth-child(5){grid-column:3/span 2}.contact-seed:hover{z-index:4;transform:translateY(-14px) rotate(0) scale(1.05);animation-play-state:paused}.contact-seed b{margin:auto 0 10px;font-size:clamp(21px,2.2vw,32px);line-height:1.15}.contact-seed>span{align-self:flex-end}.seed--lime{background:var(--cp-lime)}.seed--blue{background:var(--cp-blue)}.seed--pink{background:var(--cp-pink)}.seed--orange{background:var(--cp-orange)}.seed--cream{background:var(--cp-cream)}
.contact-one-line{min-height:760px;padding:125px 8vw;position:relative;display:grid;grid-template-columns:42% 48%;gap:10%;align-items:center;background:var(--cp-blue);overflow:hidden}.contact-one-line h2{margin:28px 0;font-size:clamp(52px,7vw,100px);line-height:.9;letter-spacing:-.08em}.contact-one-line-copy p{font-size:14px}.contact-chat-demo{position:relative;z-index:2;padding:42px;border:2px solid;border-radius:36px;background:var(--cp-cream);box-shadow:14px 14px 0 var(--cp-ink);transform:rotate(2deg)}.contact-chat-demo div{width:max-content;max-width:95%;margin:0 0 15px auto;padding:15px 19px;border:2px solid;border-radius:22px 22px 4px 22px;background:var(--cp-lime);font-size:14px;font-weight:800;opacity:0;animation:contactMessage 7s infinite}.contact-chat-demo div:nth-child(2){background:var(--cp-pink);animation-delay:.7s}.contact-chat-demo div:nth-child(3){background:var(--cp-orange);animation-delay:1.4s}.contact-chat-demo span{display:block;margin-top:28px;text-align:center;font-size:11px;font-weight:800}.contact-one-line>img{position:absolute;right:-50px;bottom:-70px;width:260px;transform:rotate(-15deg);filter:drop-shadow(0 18px 12px #211e1a35);transition:.5s}.contact-one-line:hover>img{right:0;bottom:-35px;transform:rotate(-6deg)}
.contact-reply{min-height:460px;padding:90px 9vw;position:relative;display:flex;align-items:center;justify-content:center;gap:7vw;background:var(--cp-orange);overflow:hidden}.contact-reply-stamp{width:145px;height:145px;display:grid;place-items:center;border:3px solid;border-radius:50%;background:var(--cp-cream);box-shadow:9px 9px 0;text-align:center;font:900 24px/1.05 Arial;transform:rotate(-9deg);animation:contactStamp 4s ease-in-out infinite}.contact-reply h2{margin:20px 0;font-size:clamp(45px,6vw,82px);letter-spacing:-.07em}.contact-reply p{font-size:15px;line-height:1.9}.contact-reply-paws{position:absolute;right:-20px;bottom:-25px;color:#211e1a18;font-size:100px;font-weight:900;transform:rotate(-12deg)}
.contact-final{padding:140px 7vw;text-align:center;background:var(--cp-pink)}.contact-final h2{margin:30px 0 70px;font-size:clamp(52px,7.5vw,110px);line-height:.92;letter-spacing:-.08em}.contact-final>div{max-width:920px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:18px}.contact-final a{min-height:250px;padding:34px;display:grid;grid-template-columns:auto 1fr;align-items:center;gap:25px;border:2px solid;background:var(--cp-cream);box-shadow:9px 9px 0;text-align:left;transition:.35s}.contact-final a:first-child{background:var(--cp-lime)}.contact-final a:hover{transform:translate(-5px,-7px);box-shadow:15px 17px 0}.contact-final a>b{font-size:30px}.contact-final a>span:last-child{grid-column:2;font-size:13px;font-weight:800}
@keyframes contactMarquee{to{transform:translateX(-100%)}}@keyframes contactOrb{50%{transform:translate(18px,22px) scale(1.12)}}@keyframes contactCatPeek{0%,65%,100%{transform:translateY(80px) rotate(-6deg)}75%,90%{transform:translateY(0) rotate(2deg)}}@keyframes contactSeedFloat{50%{margin-top:-14px}}@keyframes contactMessage{0%,10%{opacity:0;transform:translateY(12px) scale(.94)}18%,85%{opacity:1;transform:none}95%,100%{opacity:0}}@keyframes contactStamp{50%{transform:rotate(5deg) scale(1.06)}}
@media(max-width:800px){.contact-play-hero{min-height:0;padding:80px 20px 100px;display:block;background:linear-gradient(160deg,var(--cp-cream) 0 55%,var(--cp-blue) 55%)}.contact-play-intro h1{font-size:16vw}.contact-play-intro p br{display:none}.contact-channel-stack{margin-top:70px}.contact-channel{min-height:165px;padding:20px;grid-template-columns:68px 1fr auto;gap:14px}.contact-channel--instagram{margin:-8px 0 0 12px}.contact-channel span>b{font-size:25px}.contact-social-icon{width:62px;height:62px;border-radius:18px}.contact-social-icon--line i{font-size:13px}.contact-social-icon--line:after{left:10px;bottom:-8px;border-width:10px}.contact-social-icon--instagram:before{width:34px;height:34px;border-width:4px;border-radius:11px}.contact-social-icon--instagram:after{width:11px;height:11px;border-width:3px}.contact-social-icon--instagram i{right:12px;top:12px;width:5px;height:5px}.contact-play-cat{left:auto;right:-15px;width:120px;height:145px}.contact-seeds{padding:100px 20px}.contact-seeds header{grid-template-columns:1fr;gap:22px}.contact-seeds h2{font-size:14vw}.contact-seeds header p{padding:0}.contact-seed-cloud{margin-top:65px;grid-template-columns:1fr 1fr;gap:11px}.contact-seed,.contact-seed:nth-child(n){min-height:170px;grid-column:span 1;padding:17px}.contact-seed:nth-child(5){grid-column:1/-1}.contact-seed b{font-size:19px}.contact-one-line{min-height:720px;padding:95px 20px;display:block}.contact-one-line h2{font-size:14vw}.contact-chat-demo{margin-top:65px;padding:25px 17px;border-radius:26px;box-shadow:9px 9px 0;transform:rotate(1deg)}.contact-chat-demo div{font-size:12px}.contact-one-line>img{width:150px}.contact-reply{padding:85px 24px;display:block;text-align:center}.contact-reply-stamp{width:110px;height:110px;margin:0 auto 55px;font-size:19px}.contact-reply h2{font-size:13vw}.contact-reply p{font-size:13px}.contact-final{padding:100px 20px}.contact-final h2{font-size:14vw}.contact-final>div{grid-template-columns:1fr}.contact-final a{min-height:170px;padding:25px}.contact-final a>b{font-size:25px}}
@media(prefers-reduced-motion:reduce){.contact-play-shape,.contact-play-cat,.contact-marquee span,.contact-seed,.contact-chat-demo div,.contact-reply-stamp{animation:none}}

/* Mii stays hidden, then peeks out briefly. */
.contact-play-hero{overflow:hidden}
.contact-channel--email{margin:-17px 20px 0 12px;background:#f6efe4;transform:rotate(-2deg)}
.contact-social-icon--email{border:2px solid;border-radius:24px;background:#fff}.contact-social-icon--email:before{content:"";position:absolute;width:48px;height:34px;border:5px solid;border-radius:6px}.contact-social-icon--email:after{content:"";position:absolute;width:31px;height:31px;border-left:5px solid;border-bottom:5px solid;transform:translateY(-9px) rotate(-45deg)}.contact-social-icon--email i{display:none}
.contact-social-icon--x{border:2px solid;border-radius:24px;background:#211e1a;color:#fff}.contact-social-icon--x i{font:700 42px Arial;font-style:normal}
.site-footer-contact{margin-top:24px;display:flex;flex-direction:column;align-items:flex-start;gap:8px}.site-footer-contact a{font-size:11px;color:#d8d1c8;transition:color .2s}.site-footer-contact a:hover{color:#efa3b8}
@media(max-width:800px){.contact-channel--email{margin:-8px 0 0 12px}.contact-social-icon--email:before{width:36px;height:25px;border-width:4px}.contact-social-icon--email:after{width:23px;height:23px;border-width:0 0 4px 4px;transform:translateY(-7px) rotate(-45deg)}.contact-social-icon--x i{font-size:31px}.site-footer-contact a{font-size:13px}}

/* Four contact doors: compact 2 x 2 grids on desktop and mobile. */
.contact-channel-stack{width:min(680px,100%);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.contact-channel{min-height:190px;margin:0;padding:22px;position:relative;grid-template-columns:70px 1fr;gap:18px;box-shadow:8px 8px 0 var(--cp-ink)}
.contact-channel--line{transform:rotate(-2deg)}
.contact-channel--instagram{margin:0;background:var(--cp-pink);transform:rotate(1.5deg)}
.contact-channel--email{margin:0;transform:rotate(1deg)}
.contact-channel--email{background:var(--cp-blue)}
.contact-channel--x{background:var(--cp-orange);transform:rotate(-1.5deg)}
.contact-channel span>b{font-size:clamp(20px,2vw,29px)}
.contact-channel-arrow{position:absolute;right:17px;top:14px;font-size:24px}
.contact-channel .contact-social-icon{width:68px;height:68px;border-radius:20px}
.contact-channel .contact-social-icon--line i{font-size:14px}
.contact-channel .contact-social-icon--instagram:before{width:38px;height:38px;border-width:5px;border-radius:12px}
.contact-channel .contact-social-icon--instagram:after{width:13px;height:13px;border-width:4px}
.contact-channel .contact-social-icon--instagram i{right:14px;top:13px;width:6px;height:6px}
.contact-channel .contact-social-icon--x i{font-size:34px}
.contact-final-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:800px){
 .contact-channel-stack{margin-top:55px;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 .contact-channel{min-height:132px;margin:0;padding:13px;grid-template-columns:42px 1fr;gap:9px;box-shadow:5px 5px 0 var(--cp-ink);transform:none}
 .contact-channel span>b{margin-top:9px;font-size:14px;line-height:1.08}
 .contact-channel span small{font-size:6px;letter-spacing:.13em}
 .contact-channel-arrow{right:9px;top:7px;font-size:17px}
 .contact-channel .contact-social-icon{width:42px;height:42px;border-radius:13px}
 .contact-channel .contact-social-icon--line i{font-size:9px}
 .contact-channel .contact-social-icon--line:after{left:7px;bottom:-6px;border-width:7px}
 .contact-channel .contact-social-icon--instagram:before{width:24px;height:24px;border-width:3px;border-radius:8px}
 .contact-channel .contact-social-icon--instagram:after{width:8px;height:8px;border-width:2px}
 .contact-channel .contact-social-icon--instagram i{right:9px;top:8px;width:4px;height:4px}
 .contact-channel .contact-social-icon--email:before{width:27px;height:19px;border-width:3px}
 .contact-channel .contact-social-icon--email:after{width:17px;height:17px;border-width:0 0 3px 3px;transform:translateY(-5px) rotate(-45deg)}
 .contact-channel .contact-social-icon--x i{font-size:23px}
 .contact-final{padding:80px 14px}
 .contact-final h2{margin-bottom:45px}
 .contact-final>div,.contact-final-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 .contact-final a{min-height:138px;padding:14px;grid-template-columns:42px 1fr;gap:10px;box-shadow:5px 5px 0}
 .contact-final a .contact-social-icon{width:42px;height:42px;border-radius:13px}
 .contact-final a>b{font-size:17px}
 .contact-final a>span:last-child{grid-column:1/-1;font-size:9px;overflow-wrap:anywhere}
}

/* Playful contact invitation. */
.contact-invitation{width:max-content;max-width:100%;margin-top:28px;padding:12px 15px;border:2px solid;border-radius:3px;background:#fff;box-shadow:4px 4px 0;transform:rotate(-1deg)}
.contact-invitation b,.contact-invitation span{display:block;font-size:11px;line-height:1.65}.contact-invitation span{font-weight:500}
.contact-channel-stack{perspective:900px}
.contact-channel{transform-origin:50% 55%;animation:contactDoorDrop .68s cubic-bezier(.18,.9,.28,1.18) both,contactDoorNudge 9s ease-in-out infinite;animation-delay:calc(var(--door-delay,0) * 1s),calc(3.5s + var(--door-delay,0) * 1s)}
.contact-channel:nth-child(1){--door-delay:.08;transform:translate(-5px,-8px) rotate(-2.4deg)}
.contact-channel:nth-child(2){--door-delay:.17;transform:translate(7px,4px) rotate(1.8deg)}
.contact-channel:nth-child(3){--door-delay:.26;transform:translate(4px,2px) rotate(1.1deg)}
.contact-channel:nth-child(4){--door-delay:.35;transform:translate(-7px,8px) rotate(-1.9deg)}
.contact-channel span em{display:block;max-height:0;margin-top:0;overflow:hidden;font-size:10px;font-style:normal;font-weight:900;opacity:0;transform:translateY(5px);transition:.25s}
.contact-channel:hover span em,.contact-channel:focus-visible span em{max-height:28px;margin-top:9px;opacity:1;transform:none}
.contact-channel:hover,.contact-channel:focus-visible{z-index:8;animation-play-state:paused;transform:translate(-3px,-9px) rotate(0) scale(1.025);box-shadow:14px 17px 0 var(--cp-ink);outline:0}
.contact-door-paw{position:absolute;z-index:10;left:88%;top:-88px;width:58px;height:64px;pointer-events:none;filter:drop-shadow(3px 4px 0 #fff);transform:rotate(-18deg);animation:contactPawPress 9s 3.2s ease-in-out infinite}
.contact-door-note{position:absolute;z-index:9;left:58%;top:-58px;width:160px;margin:0;padding:9px 12px;border:2px solid;border-radius:50%;background:var(--cp-orange);box-shadow:4px 4px 0;font-size:10px;font-weight:900;line-height:1.35;text-align:center;pointer-events:none;transform:rotate(-3deg);animation:contactNoteInvade 11s 2.2s ease-in-out infinite}
.contact-prompt-bubbles{position:absolute;z-index:8;left:5vw;right:5vw;bottom:58px;height:42px;pointer-events:none}
.contact-prompt-bubbles span{position:absolute;left:0;bottom:0;padding:8px 12px;border:2px solid;border-radius:99px;background:var(--cp-cream);box-shadow:3px 3px 0;font-size:10px;font-weight:900;opacity:0;animation:contactPromptSwap 16s calc(var(--prompt-index) * 4s) ease-in-out infinite}
.contact-final a{transform:rotate(-.7deg);animation:contactFinalShuffle 10s ease-in-out infinite}.contact-final a:nth-child(1){background:var(--cp-lime);animation-delay:0s}.contact-final a:nth-child(2){background:var(--cp-blue);transform:translateY(7px) rotate(.8deg);animation-delay:-2.5s}.contact-final a:nth-child(3){background:var(--cp-pink);transform:translateX(5px) rotate(.6deg);animation-delay:-5s}.contact-final a:nth-child(4){background:var(--cp-orange);transform:translate(2px,8px) rotate(-1deg);animation-delay:-7.5s}
@keyframes contactDoorDrop{0%{opacity:0;transform:translateY(-80px) rotate(9deg) scale(.88)}70%{opacity:1}100%{opacity:1}}
@keyframes contactDoorNudge{0%,76%,100%{}82%{translate:0 0;rotate:0deg}86%{translate:7px -4px;rotate:1.2deg}90%{translate:-3px 2px;rotate:-.6deg}94%{translate:0 0;rotate:0deg}}
@keyframes contactPawPress{0%,74%,100%{opacity:0;translate:20px 18px;rotate:12deg}79%,91%{opacity:1;translate:0 0;rotate:0deg}84%{translate:-12px -8px;rotate:-8deg}}
@keyframes contactNoteInvade{0%,58%,100%{translate:0 0;rotate:0deg}66%{translate:-70px 185px;rotate:5deg}74%{translate:-45px 205px;rotate:-3deg}82%{translate:0 0;rotate:0deg}}
@keyframes contactPromptSwap{0%,100%{opacity:0;transform:translateY(8px) rotate(-2deg)}5%,21%{opacity:1;transform:none}25%{opacity:0;transform:translateY(-6px) rotate(2deg)}}
@keyframes contactFinalShuffle{0%,72%,100%{}80%{translate:0 -5px;rotate:1deg}88%{translate:3px 2px;rotate:-.7deg}}
@media(max-width:800px){
 .contact-invitation{margin-top:22px;padding:9px 11px}.contact-invitation b,.contact-invitation span{font-size:9px}
 .contact-channel:nth-child(n){transform:none;animation-duration:.48s,11s}
 .contact-channel span em{font-size:8px}.contact-channel:hover,.contact-channel:focus-visible{transform:translateY(-4px) rotate(0) scale(1.01);box-shadow:8px 9px 0 var(--cp-ink)}
 .contact-door-paw{left:85%;top:-58px;width:38px;height:42px}.contact-door-note{left:49%;top:-38px;width:118px;padding:6px 8px;font-size:7px;transform:rotate(-2deg)}
 .contact-prompt-bubbles{left:20px;right:20px;bottom:56px;height:32px}.contact-prompt-bubbles span{padding:6px 9px;font-size:8px}
 .contact-final a:nth-child(n){transform:none}.contact-final a:hover{transform:translateY(-4px)}
}
@media(prefers-reduced-motion:reduce){.contact-channel,.contact-door-paw,.contact-door-note,.contact-prompt-bubbles span,.contact-final a{animation:none}.contact-channel{opacity:1}}
@keyframes contactCatPeek{0%,58%,100%{transform:translateY(235px) rotate(-8deg)}66%{transform:translateY(102px) rotate(3deg)}72%{transform:translateY(118px) rotate(-2deg)}78%,88%{transform:translateY(92px) rotate(2deg)}96%{transform:translateY(235px) rotate(-8deg)}}
@keyframes contactCatPeekMobile{0%,58%,100%{transform:translateY(145px) rotate(-8deg)}66%{transform:translateY(65px) rotate(3deg)}72%{transform:translateY(75px) rotate(-2deg)}78%,88%{transform:translateY(58px) rotate(2deg)}96%{transform:translateY(145px) rotate(-8deg)}}
@media(max-width:800px){.contact-play-cat{animation-name:contactCatPeekMobile}}
@media(prefers-reduced-motion:reduce){.contact-play-cat{animation:none}}

/* Mii peeks from behind the message card. */
.contact-one-line>img{z-index:1;right:-30px;bottom:55px;width:245px;transform:translateX(105%) rotate(-10deg);animation:contactSidePeek 6.5s 1s ease-in-out infinite}
.contact-one-line:hover>img{right:-30px;bottom:55px;transform:translateX(0) rotate(-5deg)}
@keyframes contactSidePeek{0%,52%,100%{transform:translateX(105%) rotate(-10deg)}62%{transform:translateX(8%) rotate(-3deg)}68%{transform:translateX(17%) rotate(-7deg)}75%,88%{transform:translateX(0) rotate(-4deg)}96%{transform:translateX(105%) rotate(-10deg)}}
@media(max-width:800px){.contact-one-line>img{right:-18px;bottom:18px;width:150px}.contact-one-line:hover>img{right:-18px;bottom:18px}}
@media(prefers-reduced-motion:reduce){.contact-one-line>img{animation:none;transform:translateX(20%) rotate(-4deg)}}

/* Keep both peeking cats in front of cards and ribbons. */
.contact-play-cat{z-index:9}
.contact-one-line>img{z-index:4}

/* Keep the hero headline in one bold Gothic voice. */
.contact-play-intro h1 em{font-family:inherit;font-weight:inherit}

/* Page transition sample lab */
.transition-samples{padding:120px 6vw 140px;color:#211e1a;background:#f4f2ed}.transition-samples>header{display:grid;grid-template-columns:25% 1fr;align-items:start}.transition-samples>header small{grid-row:1/4}.transition-samples h2{margin:0;font-size:clamp(48px,7vw,98px);line-height:.95;letter-spacing:-.075em}.transition-samples>header p{font-size:15px}.transition-sample-grid{margin-top:85px;display:grid;grid-template-columns:repeat(3,1fr);border-block:1px solid}.transition-sample-grid article{min-height:350px;padding:30px;border-right:1px solid}.transition-sample-grid article:last-child{border:0}.transition-sample-grid article>b{font:900 12px Arial}.transition-sample-grid h3{margin:90px 0 18px;font-size:30px}.transition-sample-grid p{min-height:54px;font-size:14px;line-height:1.8}.transition-sample-grid button{margin-top:25px;padding:13px 17px;border:1px solid;border-radius:99px;background:transparent;font-size:13px;font-weight:800;cursor:pointer;transition:.25s}.transition-sample-grid button:hover{color:white;background:#211e1a;transform:translateY(-3px)}
.transition-demo{position:fixed;z-index:2000;inset:0;overflow:hidden;pointer-events:none}.transition-demo strong{position:absolute;z-index:5;left:50%;top:50%;transform:translate(-50%,-50%);white-space:nowrap;font-size:clamp(20px,3vw,45px)}
.transition-demo--cat{animation:demoHide 1.9s both}.transition-demo-cat-bg{position:absolute;inset:0;background:#dce86a;animation:demoCatSweep 1.9s cubic-bezier(.78,0,.22,1) both}.transition-demo--cat>img{position:absolute;z-index:3;left:-28vw;bottom:-8vh;width:min(36vw,520px);height:80vh;object-fit:contain;filter:drop-shadow(0 25px 18px #211e1a30);animation:demoCatWalk 1.9s cubic-bezier(.45,0,.55,1) both}.transition-demo--cat strong{animation:demoMessage 1.9s both}
@keyframes demoCatSweep{0%{transform:translateX(-105%)}28%,66%{transform:translateX(0)}100%{transform:translateX(105%)}}@keyframes demoCatWalk{0%{transform:translateX(0) rotate(-6deg)}65%{transform:translateX(78vw) rotate(4deg)}100%{transform:translateX(150vw) rotate(8deg)}}@keyframes demoMessage{0%,25%,75%,100%{opacity:0}38%,65%{opacity:1}}@keyframes demoHide{0%,99%{visibility:visible}100%{visibility:hidden}}
.transition-demo--paw{background:#fffaf0;animation:demoPawRoom 1.9s both}.transition-demo-paws{position:absolute;left:50%;top:50%;width:min(76vw,850px);height:230px;transform:translate(-50%,-50%) rotate(-9deg)}.transition-demo-paws img{position:absolute;width:62px;height:66px;opacity:0;animation:demoPawPop .42s cubic-bezier(.2,1.5,.4,1) forwards}.transition-demo-paws img:nth-child(1){left:0;bottom:0;animation-delay:.1s}.transition-demo-paws img:nth-child(2){left:20%;bottom:50px;animation-delay:.28s}.transition-demo-paws img:nth-child(3){left:40%;bottom:12px;animation-delay:.46s}.transition-demo-paws img:nth-child(4){left:60%;bottom:68px;animation-delay:.64s}.transition-demo-paws img:nth-child(5){left:80%;bottom:30px;animation-delay:.82s}.transition-demo--paw strong{top:72%;animation:demoPawCopy 1.9s both}@keyframes demoPawPop{from{opacity:0;transform:scale(.25) rotate(-25deg)}to{opacity:.9;transform:scale(1) rotate(0)}}@keyframes demoPawCopy{0%,50%,100%{opacity:0}62%,86%{opacity:1}}@keyframes demoPawRoom{0%,100%{opacity:0}8%,88%{opacity:1}}
.transition-demo--panel{display:grid;grid-template-columns:1fr 1fr}.transition-demo--panel i{display:block}.transition-demo--panel i:first-child{background:#efa3b8;animation:demoPanelLeft 1.9s cubic-bezier(.78,0,.22,1) both}.transition-demo--panel i:nth-child(2){background:#9ed5e7;animation:demoPanelRight 1.9s cubic-bezier(.78,0,.22,1) both}.transition-demo--panel strong{padding:15px 20px;background:#fffaf0;border:1px solid;animation:demoMessage 1.9s both}@keyframes demoPanelLeft{0%{transform:translateX(-101%)}27%,68%{transform:translateX(0)}100%{transform:translateX(-101%)}}@keyframes demoPanelRight{0%{transform:translateX(101%)}27%,68%{transform:translateX(0)}100%{transform:translateX(101%)}}
@media(max-width:800px){.transition-samples{padding:90px 24px}.transition-samples>header{grid-template-columns:1fr;gap:20px}.transition-samples>header small{grid-row:auto}.transition-samples h2{font-size:13vw}.transition-sample-grid{grid-template-columns:1fr;margin-top:55px}.transition-sample-grid article{min-height:280px;border-right:0;border-bottom:1px solid}.transition-sample-grid h3{margin-top:55px}.transition-demo-paws img{width:42px;height:46px}.transition-demo--cat>img{width:70vw;left:-45vw}.transition-demo--cat strong{font-size:7vw}}
@media(prefers-reduced-motion:reduce){.transition-demo{display:none}}

/* Four production-ready transition effects */
.transition-sample-grid{grid-template-columns:repeat(4,1fr)}
.transition-effect--classic{position:fixed;z-index:2000;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;color:#211e1a;background:#dce86a;pointer-events:none;animation:classicScreen 1.25s cubic-bezier(.78,0,.22,1) both}.transition-classic-cat{width:130px;height:112px;display:flex;flex-direction:column;align-items:center;justify-content:center;border:3px solid;border-radius:48%;background:#efa3b8;animation:catBounce .45s ease infinite alternate}.transition-classic-cat span{font:900 18px Arial;letter-spacing:-.16em}.transition-classic-cat b{font:900 23px Arial}.transition-effect--classic strong{font-size:14px}@keyframes classicScreen{0%{transform:translateX(-105%)}35%,75%{transform:translateX(0)}100%{transform:translateX(105%)}}
@media(max-width:800px){.transition-sample-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.transition-effect--classic{display:none}}

/* Works lab entrances and dedicated labs */
.lab-entrances{padding:0 6vw 130px;display:grid;grid-template-columns:1fr 1fr;gap:18px;background:#211e1a}.lab-entrance{min-height:430px;padding:38px;display:flex;flex-direction:column;color:#211e1a;transition:.4s cubic-bezier(.2,.8,.2,1)}.lab-entrance:hover{transform:translateY(-12px);box-shadow:0 28px 55px #0006}.lab-entrance--looks{background:linear-gradient(135deg,#efa3b8 0 33%,#9ed5e7 33% 66%,#dce86a 66%)}.lab-entrance--motion{color:#f7f1e8;background:#2d2722;box-shadow:inset 0 0 0 4px #fff}.lab-entrance h2{margin:auto 0 12px;font-size:clamp(48px,6vw,88px);letter-spacing:-.08em}.lab-entrance p{font-size:16px}.lab-entrance b{align-self:flex-end;margin-top:30px;font-size:14px}.lab-page{min-height:100vh;color:#211e1a;background:#f4f2ed}.lab-hero{min-height:540px;padding:100px 7vw;display:flex;flex-direction:column;justify-content:center}.lab-hero h1{margin:25px 0;font-size:clamp(75px,11vw,170px);line-height:.85;letter-spacing:-.1em}.lab-hero p{font-size:16px;line-height:2}.lab-page--motion .lab-hero{color:#f5f1ea;background:#211e1a}.lab-page--looks .lab-hero{background:linear-gradient(105deg,#f4f2ed 0 52%,#efa3b8 52% 69%,#9ed5e7 69% 84%,#dce86a 84%)}.lab-back{padding:35px 6vw;display:flex;justify-content:space-between;background:#f4f2ed;border-top:1px solid;font-size:14px;font-weight:800}
.lab-page--motion .transition-samples{padding-top:100px}.lab-page--motion .transition-samples>header{display:none}
.palette-lab,.finish-lab{padding:120px 6vw}.palette-lab{background:#f4f2ed}.palette-lab>header,.finish-lab>header{display:grid;grid-template-columns:24% 1fr}.palette-lab>header small,.finish-lab>header small{grid-row:1/4}.palette-lab h2,.finish-lab h2{margin:0;font-size:clamp(48px,7vw,96px);line-height:.95;letter-spacing:-.075em}.palette-lab>header p,.finish-lab>header p{font-size:15px}.palette-workbench{margin-top:80px;display:grid;grid-template-columns:33% 67%;min-height:640px;border:1px solid}.palette-options{padding:20px;background:#e9e4da}.palette-options button{width:100%;padding:18px;display:grid;grid-template-columns:110px 1fr;grid-template-rows:auto auto;align-items:center;text-align:left;border:1px solid transparent;background:transparent;cursor:pointer;transition:.25s}.palette-options button:hover,.palette-options button.is-active{background:#fffaf0;border-color:#211e1a;transform:translateX(6px)}.palette-options button>span{grid-row:1/3;display:flex}.palette-options button i{width:21px;height:45px}.palette-options button b{font-size:17px}.palette-options button small{font-size:10px;letter-spacing:.05em}.mini-site{--p1:#dce86a;--p2:#efa3b8;--p3:#9ed5e7;--p4:#fffaf0;--p5:#211e1a;display:grid;grid-template-columns:68% 32%;grid-template-rows:75px 1fr;color:var(--p5);background:var(--p4);transition:background .5s,color .5s}.mini-site nav{grid-column:1/3;padding:0 38px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--p5);background:color-mix(in srgb,var(--p4) 84%,var(--p1));transition:.5s}.mini-site nav b{font-size:20px}.mini-site nav span{font:800 9px Arial;letter-spacing:.14em}.mini-site main{padding:75px 7%;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.mini-site main small{color:var(--p2);font-size:10px}.mini-site h3{margin:25px 0;font-size:clamp(38px,5vw,72px);line-height:1;letter-spacing:-.07em}.mini-site main p{font-size:13px;line-height:1.8}.mini-site main button{margin-top:22px;padding:14px 18px;border:0;background:var(--p2);color:var(--p5);font-weight:900}.mini-site aside{padding:45px 25px;display:flex;align-items:flex-end;background:linear-gradient(160deg,var(--p1),var(--p3));font:900 clamp(25px,3vw,46px)/.95 Arial;writing-mode:vertical-rl}.finish-lab{background:#211e1a;color:#f5f1ea}.finish-showcase{margin-top:90px;display:grid;grid-template-columns:42% 58%;align-items:center}.finish-orb{width:min(32vw,430px);aspect-ratio:1;margin:auto;display:grid;place-items:center;border-radius:50%;background:#e75480;box-shadow:0 30px 70px #0007;transition:.55s}.finish-orb span{font-size:22px;font-weight:900}.finish-options{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #fff5}.finish-options button{padding:20px;display:flex;align-items:center;gap:18px;text-align:left;color:inherit;border:0;border-bottom:1px solid #fff5;background:transparent;cursor:pointer}.finish-options button:hover,.finish-options button.is-active{background:#ffffff12}.finish-options button.is-active{box-shadow:inset 4px 0 #efa3b8}.finish-swatch{width:54px;height:54px;flex:0 0 54px;border-radius:50%;background:#e75480}.finish-options span b,.finish-options span small{display:block}.finish-options span b{font-size:16px}.finish-options span small{margin-top:4px;color:#bdb4a8;font-size:10px;letter-spacing:.05em}.finish-orb--vivid,.finish-swatch--vivid{background:#f0195d}.finish-orb--muted,.finish-swatch--muted{background:#b97988}.finish-orb--pastel,.finish-swatch--pastel{color:#55313b;background:#f3c4d1}.finish-orb--deep,.finish-swatch--deep{background:#711f3d}.finish-orb--metallic,.finish-swatch--metallic{color:#33202a;background:linear-gradient(110deg,#7d3b50,#f6c7d1 28%,#a5556e 51%,#ffe6eb 69%,#743147);box-shadow:inset 0 0 20px #fff7,0 30px 70px #0008}.finish-orb--neon,.finish-swatch--neon{background:#ff2370;box-shadow:0 0 22px #ff2370,0 0 75px #ff2370aa}.finish-orb--glass,.finish-swatch--glass{color:#fff;background:linear-gradient(135deg,#ffffff66,#e7548077);border:1px solid #fff9;box-shadow:inset 8px 8px 24px #fff6,inset -8px -8px 24px #e7548055,0 30px 70px #0006;backdrop-filter:blur(10px)}.finish-orb--matte,.finish-swatch--matte{background:#bb7183;box-shadow:inset 0 0 0 1px #fff1,0 24px 45px #0005;filter:saturate(.72)}
@media(max-width:800px){.lab-entrances{padding:0 24px 90px;grid-template-columns:1fr}.lab-entrance{min-height:330px;padding:25px}.lab-hero{min-height:430px;padding:80px 24px}.lab-hero h1{font-size:20vw}.lab-page--looks .lab-hero{background:linear-gradient(160deg,#f4f2ed 0 65%,#efa3b8 65% 77%,#9ed5e7 77% 89%,#dce86a 89%)}.palette-lab,.finish-lab{padding:90px 24px}.palette-lab>header,.finish-lab>header{grid-template-columns:1fr;gap:20px}.palette-lab>header small,.finish-lab>header small{grid-row:auto}.palette-lab h2,.finish-lab h2{font-size:13vw}.palette-workbench{grid-template-columns:1fr}.palette-options button{grid-template-columns:90px 1fr}.palette-options button i{width:17px}.mini-site{min-height:570px;grid-template-columns:1fr;grid-template-rows:65px 1fr 125px}.mini-site nav{grid-column:auto;padding:0 20px}.mini-site nav span{display:none}.mini-site main{padding:50px 25px}.mini-site aside{padding:18px;writing-mode:horizontal-tb;align-items:center}.finish-showcase{grid-template-columns:1fr}.finish-orb{width:72vw;margin-bottom:70px}.finish-options{grid-template-columns:1fr}.lab-back{gap:20px;font-size:12px}}

/* Motion lab should visibly move */
.lab-entrance--motion{position:relative;overflow:hidden;background:radial-gradient(circle at 78% 24%,#4a3a48,#2d2722 52%)}.lab-entrance--motion:before,.lab-entrance--motion:after{content:"";position:absolute;border-radius:50%;opacity:.75}.lab-entrance--motion:before{right:9%;top:12%;width:72px;height:72px;background:#efa3b8;animation:motionOrb 3.4s ease-in-out infinite}.lab-entrance--motion:after{right:28%;top:24%;width:34px;height:34px;background:#dce86a;animation:motionOrb 2.7s .4s ease-in-out infinite reverse}.lab-entrance--motion>*{position:relative;z-index:1}.lab-entrance--motion h2{display:inline-block;animation:labShiver 4.2s 1.1s infinite}.lab-entrance--motion:hover{animation:labHoverShake .32s linear 2}.lab-page--motion .lab-hero{position:relative;overflow:hidden;background:radial-gradient(circle at 82% 28%,#493947,#211e1a 58%)}.lab-page--motion .lab-hero:before{content:"うごく";position:absolute;right:-3vw;bottom:-3vw;color:#efa3b81f;font-size:clamp(120px,20vw,330px);font-weight:900;letter-spacing:-.12em;animation:labShiver 5s 1.5s infinite}.lab-page--motion .lab-hero h1{position:relative;animation:labShiver 4.2s 1.1s infinite}@keyframes labShiver{0%,77%,100%{transform:translate(0) rotate(0)}79%{transform:translate(-3px,2px) rotate(-.5deg)}81%{transform:translate(4px,-2px) rotate(.5deg)}83%{transform:translate(-2px,-1px) rotate(-.3deg)}85%{transform:translate(2px,1px) rotate(.2deg)}87%{transform:translate(0)}}@keyframes labHoverShake{0%,100%{transform:translateY(-12px) translateX(0)}25%{transform:translateY(-12px) translateX(-4px) rotate(-.3deg)}75%{transform:translateY(-12px) translateX(4px) rotate(.3deg)}}@keyframes motionOrb{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(-20px,24px) scale(1.18)}}
.mini-site main button{cursor:default}.mini-site--feminine{background:#fffdfb}.mini-site--feminine nav{background:#fdf4f7}.mini-site--feminine aside{background:linear-gradient(160deg,#fffdfb,#f6dbe4 48%,#edaec2)}
@media(prefers-reduced-motion:reduce){.lab-entrance--motion h2,.lab-page--motion .lab-hero h1,.lab-page--motion .lab-hero:before,.lab-entrance--motion:before,.lab-entrance--motion:after{animation:none}}

/* Motion lab: interactive text, button and photo studies */
.motion-demos{background:#f4f2ed}.motion-demo-section{padding:120px 6vw;border-top:1px solid #211e1a}.motion-demo-section:nth-child(2){background:#dce86a}.motion-demo-section:nth-child(3){background:#9ed5e7}.motion-demo-heading{display:grid;grid-template-columns:24% 1fr}.motion-demo-heading>span{font:900 12px Arial;letter-spacing:.2em}.motion-demo-heading small{font:900 11px Arial;letter-spacing:.2em}.motion-demo-heading h2{margin:16px 0 22px;font-size:clamp(48px,7vw,96px);line-height:.95;letter-spacing:-.075em}.motion-demo-heading p{font-size:15px}.motion-demo-grid{margin-top:75px;display:grid;grid-template-columns:repeat(3,1fr);border:1px solid}.motion-demo-card{min-width:0;border-right:1px solid}.motion-demo-card:last-child{border-right:0}.motion-stage{height:330px;padding:28px;display:grid;place-items:center;overflow:hidden;border-bottom:1px solid;background:#fffaf0}.motion-stage--text{background:#211e1a;color:#f5f1ea}.motion-stage--button{background:#f6eee2}.motion-stage--photo{background:#2d2722}.motion-stage p{margin:0}.motion-fade,.motion-letters,.motion-meet{font-size:clamp(25px,2.5vw,40px);font-weight:900;line-height:1.25;letter-spacing:-.06em}.motion-letters span{display:inline-block}.motion-meet{display:flex;flex-direction:column}.motion-meet span:last-child{color:#efa3b8}.motion-stage.is-fade .motion-fade{animation:motionTextFade 1s cubic-bezier(.2,.8,.2,1) both}.motion-stage.is-letters .motion-letters span{opacity:0;animation:motionLetter .38s cubic-bezier(.2,.8,.2,1) calc(var(--i)*.045s) forwards}.motion-stage.is-meet .motion-meet span:first-child{animation:motionMeetLeft .8s cubic-bezier(.2,.8,.2,1) both}.motion-stage.is-meet .motion-meet span:last-child{animation:motionMeetRight .8s .12s cubic-bezier(.2,.8,.2,1) both}@keyframes motionTextFade{from{opacity:0;filter:blur(12px);transform:translateY(25px)}to{opacity:1;filter:blur(0);transform:none}}@keyframes motionLetter{from{opacity:0;transform:translateY(22px) rotate(8deg)}to{opacity:1;transform:none}}@keyframes motionMeetLeft{from{opacity:0;transform:translateX(-90px)}to{opacity:1;transform:none}}@keyframes motionMeetRight{from{opacity:0;transform:translateX(90px)}to{opacity:1;transform:none}}
.motion-sample-button{min-width:190px;padding:17px 21px;display:flex;justify-content:center;align-items:center;gap:24px;border:2px solid #211e1a;border-radius:99px;color:#211e1a;background:#efa3b8;box-shadow:0 7px 0 #bd526c;font-size:15px;font-weight:900;cursor:pointer}.motion-sample-button--arrow{justify-content:space-between;background:#fffaf0;box-shadow:none}.motion-sample-button--arrow b{font-size:21px}.motion-sample-button--paw{position:relative;background:#dce86a;box-shadow:0 7px 0 #9ea943}.motion-sample-button--paw b{position:absolute;right:12px;top:8px;width:18px;height:18px;color:#cf6c84;font-size:0}.motion-sample-button--paw b:before{content:"● ●\A ●";white-space:pre;position:absolute;font-size:7px;line-height:6px;transform:rotate(12deg)}.motion-stage.is-press .motion-sample-button{animation:motionPress .5s ease both}.motion-stage.is-arrow .motion-sample-button b{animation:motionArrow .65s cubic-bezier(.2,.8,.2,1) both}.motion-stage.is-paw .motion-sample-button b{animation:motionPaw .65s cubic-bezier(.2,1.6,.4,1) both}@keyframes motionPress{0%,100%{transform:none;box-shadow:0 7px 0 #bd526c}45%{transform:translateY(6px) scale(.94,1.06);box-shadow:0 1px 0 #bd526c}70%{transform:translateY(-3px) scale(1.04,.96)}}@keyframes motionArrow{0%{transform:translateX(0)}45%{opacity:0;transform:translateX(28px)}46%{opacity:0;transform:translateX(-28px)}100%{opacity:1;transform:none}}@keyframes motionPaw{0%{opacity:0;transform:scale(.1) rotate(-25deg)}65%{opacity:1;transform:scale(1.8) rotate(12deg)}100%{transform:scale(1) rotate(12deg)}}
.motion-photo-frame{position:relative;width:78%;height:78%;overflow:hidden;background:#111;box-shadow:0 20px 40px #0007}.motion-photo-frame img{width:100%;height:100%;display:block;object-fit:cover}.motion-photo-frame i{position:absolute;inset:0;background:#efa3b8}.motion-stage.is-zoom img{animation:motionZoom 2.3s cubic-bezier(.2,.8,.2,1) both}.motion-stage.is-float .motion-photo-frame{animation:motionFloat 1.2s cubic-bezier(.2,.8,.2,1) both}.motion-stage.is-curtain i{animation:motionCurtain 1.15s cubic-bezier(.78,0,.22,1) both}@keyframes motionZoom{from{transform:scale(1)}to{transform:scale(1.18)}}@keyframes motionFloat{0%{transform:translateY(20px) rotate(-2deg);box-shadow:0 4px 8px #0004}55%{transform:translateY(-14px) rotate(2deg);box-shadow:0 34px 48px #0008}100%{transform:none}}@keyframes motionCurtain{0%{transform:translateX(0)}100%{transform:translateX(102%)}}
.motion-demo-caption{padding:28px;min-height:290px;display:flex;flex-direction:column}.motion-demo-caption h3{margin:0 0 26px;font-size:28px}.motion-demo-caption dl{margin:0}.motion-demo-caption dl>div{margin-bottom:12px;display:grid;grid-template-columns:92px 1fr;gap:8px}.motion-demo-caption dt{font:900 9px Arial;letter-spacing:.08em}.motion-demo-caption dd{margin:0;font-size:13px;line-height:1.5}.motion-demo-caption button{margin-top:auto;padding:13px 17px;display:flex;justify-content:space-between;border:1px solid;border-radius:99px;background:transparent;font-size:13px;font-weight:900;cursor:pointer;transition:.25s}.motion-demo-caption button:hover{color:white;background:#211e1a;transform:translateY(-3px)}
@media(max-width:900px){.motion-demo-grid{grid-template-columns:1fr}.motion-demo-card{border-right:0;border-bottom:1px solid}.motion-demo-card:last-child{border-bottom:0}.motion-demo-caption{min-height:245px}.motion-stage{height:300px}}
@media(max-width:800px){.motion-demo-section{padding:90px 24px}.motion-demo-heading{grid-template-columns:1fr;gap:18px}.motion-demo-heading h2{font-size:13vw}.motion-demo-grid{margin-top:55px}.motion-stage{height:270px}.motion-photo-frame{width:85%}.motion-demo-caption h3{font-size:25px}}
@media(prefers-reduced-motion:reduce){.motion-stage *{animation-duration:.01ms!important;animation-iteration-count:1!important}}

/* Full-scale industry demos */
.works-list--showcase{grid-template-columns:repeat(2,1fr);gap:18px}.works-list--showcase .work-tile{min-height:560px}.work-tile--salon{color:#34302b;background:linear-gradient(145deg,#eee8df,#f9f7f2 57%,#b6a795)}.work-tile--handmade{color:#4e3f42;background:radial-gradient(circle at 80% 22%,#fff 0 4%,transparent 4.3%),linear-gradient(135deg,#ffdce7,#fff0be 55%,#b8e3dc)}.work-tile--luxury{color:#eee9df;background:linear-gradient(145deg,#0b0d0f,#2b3035 65%,#806e50)}.work-tile--ryotei{color:#f5efe2;background:linear-gradient(120deg,#202a24,#384c3a 55%,#806547)}.mii-about-gallery-link{min-height:720px;position:relative;overflow:hidden;padding:120px 7vw;color:#211e1a;background:#efa3b8 url('/mii-gallery/12.webp') 88% 45%/32% auto no-repeat}.mii-about-gallery-link h2{margin:25px 0;font-size:clamp(60px,9vw,130px);line-height:.85;letter-spacing:-.09em}.mii-about-gallery-link p{font-size:16px;line-height:1.9}.mii-about-gallery-link a{width:min(470px,48vw);min-height:98px;display:flex;align-items:center;justify-content:space-between;gap:28px;position:relative;z-index:2;margin-top:32px;padding:20px 25px;border:3px solid;background:#fffaf0;color:#211e1a;box-shadow:10px 11px 0 #211e1a;font-weight:900;transition:transform .25s,box-shadow .25s,background .25s;animation:miiGalleryCta 2.2s ease-in-out infinite}.mii-about-gallery-link a:hover{transform:translate(-4px,-4px) rotate(-1deg);box-shadow:15px 16px 0 #211e1a;background:#ffe04d;animation-play-state:paused}.mii-about-gallery-link a span{display:flex;flex-direction:column;gap:8px}.mii-about-gallery-link a small{font:900 9px Arial;letter-spacing:.14em}.mii-about-gallery-link a b{font-size:clamp(19px,2.2vw,30px);line-height:1.15}.mii-about-gallery-link a i{display:grid;place-items:center;width:48px;height:48px;flex:0 0 48px;border:2px solid;border-radius:50%;font:900 27px Arial;font-style:normal;animation:miiGalleryArrow 1.15s ease-in-out infinite}.mii-about-gallery-paw{position:absolute;left:calc(7vw + 405px);bottom:92px;font-size:56px;filter:grayscale(1);opacity:.24;transform:rotate(-18deg);animation:miiGalleryPaw 2.8s ease-in-out infinite}@keyframes miiGalleryCta{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}@keyframes miiGalleryArrow{0%,100%{transform:translateX(0)}50%{transform:translateX(7px)}}@keyframes miiGalleryPaw{0%,100%{transform:translateY(0) rotate(-18deg)}50%{transform:translateY(-12px) rotate(-10deg)}}@media(prefers-reduced-motion:reduce){.mii-about-gallery-link a,.mii-about-gallery-link a i,.mii-about-gallery-paw{animation:none}}
.demo{min-height:100vh}.demo button,.demo a{font:inherit}.demo-exit{position:fixed;z-index:1000;right:18px;bottom:18px;padding:11px 15px;border:1px solid;border-radius:99px;font:800 11px/1 sans-serif;letter-spacing:.04em;backdrop-filter:blur(10px)}.demo-exit--dark{color:#eee;background:#111b}.demo-exit--light{color:#222;background:#fffc}.demo>header{height:90px;padding:0 5vw;display:flex;align-items:center;justify-content:space-between}.demo>header nav{font-size:12px}.demo>header button{padding:12px 18px;background:transparent;border:1px solid;cursor:pointer}
.demo-salon{color:#37322d;background:#f4f0ea;font-family:Georgia,'Yu Mincho',serif}.demo-salon>header b{font-size:30px;font-weight:400;letter-spacing:.2em}.salon-hero{min-height:760px;padding:70px 8vw;display:grid;grid-template-columns:56% 44%;align-items:center;background:#e7e0d6}.salon-hero small,.salon-concept small,.salon-menu small{font:700 10px Arial;letter-spacing:.25em}.salon-hero h1{margin:35px 0;font-size:clamp(62px,7vw,112px);font-weight:400;line-height:.95;letter-spacing:-.06em}.salon-hero h1 em{font-style:italic;color:#756b60}.salon-hero p{line-height:2}.salon-hero a{display:inline-block;margin-top:50px;padding-bottom:8px;border-bottom:1px solid;font:700 10px Arial;letter-spacing:.18em}.salon-hero figure{height:570px;margin:0;display:grid;place-items:center;background:linear-gradient(145deg,#c4b7a7,#ede7de);box-shadow:inset 0 0 0 18px #ffffff38}.salon-hero figure span{font-size:180px;font-style:italic;color:#fff8}.salon-concept{padding:150px 12vw;display:grid;grid-template-columns:22% 45% 1fr;align-items:start}.salon-concept h2{margin:0;font-size:clamp(45px,5vw,78px);font-weight:400;line-height:1.25}.salon-concept p{line-height:2}.salon-menu{padding:0 6vw 140px;display:grid;grid-template-columns:repeat(3,1fr)}.salon-menu article{padding:55px 35px;border-top:1px solid;border-right:1px solid}.salon-menu article:last-child{border-right:0}.salon-menu h3{margin:65px 0 18px;font-size:30px;font-weight:400}.salon-menu p{min-height:70px;line-height:1.8}.salon-menu b{font-weight:400}.demo-salon>footer{padding:100px 8vw;color:#f4f0ea;background:#37322d}.demo-salon>footer h2{font-size:80px;font-weight:400;letter-spacing:.15em}.demo-salon>footer p{line-height:2}.demo-salon>footer button{margin-top:30px;padding:18px 22px;color:inherit;border:1px solid;background:transparent}
.demo-handmade{color:#514145;background:#fffaf4;font-family:'Hiragino Maru Gothic ProN','Yu Gothic',sans-serif}.demo-handmade>header{background:#fffaf4}.demo-handmade>header b{font-size:24px;color:#d46887}.demo-handmade>header span,.demo-handmade>header nav{font-size:11px}.hm-hero{min-height:730px;padding:110px 9vw;position:relative;overflow:hidden;background:linear-gradient(145deg,#ffdbe7,#fff0bd)}.hm-flower{position:absolute;right:7vw;top:70px;color:#fff9;font-size:390px;line-height:1;transform:rotate(15deg)}.hm-hero small{font-weight:900;letter-spacing:.15em}.hm-hero h1{position:relative;margin:28px 0;font-size:clamp(58px,7.5vw,116px);line-height:1.05;letter-spacing:-.07em}.hm-hero p{position:relative;line-height:2}.hm-hero button{position:relative;margin-top:35px;padding:17px 24px;border:0;border-radius:99px;color:#fff;background:#d46887;font-weight:900}.hm-items{padding:130px 6vw}.hm-items>header{height:auto;padding:0;display:block}.hm-items h2{font-size:clamp(42px,5vw,72px)}.hm-items>div{margin-top:60px;display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.hm-items article figure{height:360px;margin:0;display:grid;place-items:center;border-radius:180px 180px 22px 22px}.hm-items article:nth-child(1) figure{background:#f3bdcd}.hm-items article:nth-child(2) figure{background:#f4dd8c}.hm-items article:nth-child(3) figure{background:#a9dcd5}.hm-items figure span{padding:12px 18px;border-radius:50%;background:#fff9;font:italic 22px Georgia}.hm-items h3{font-size:20px}.hm-items p{font-size:13px}.hm-story{padding:120px 10vw;display:grid;grid-template-columns:40% 1fr;align-items:center;background:#b8e3dc}.hm-story>span{width:320px;aspect-ratio:1;display:grid;place-items:center;border:2px dashed;border-radius:50%;font:italic 22px Georgia;animation:hmSpin 18s linear infinite}.hm-story h2{font-size:clamp(40px,5vw,70px);line-height:1.15}.hm-story p{line-height:2}.demo-handmade>footer{padding:90px 7vw;text-align:center;background:#514145;color:#fffaf4}.demo-handmade>footer b{font-size:38px;color:#ffd1df}.demo-handmade>footer button{display:block;margin:28px auto 0;padding:15px 22px;border:1px solid;border-radius:99px;color:inherit;background:transparent}@keyframes hmSpin{to{transform:rotate(360deg)}}
.demo-car{color:#e8e7e2;background:#0a0c0e;font-family:Arial,'Yu Gothic',sans-serif}.demo-car>header{border-bottom:1px solid #fff3}.demo-car>header b{font-size:18px;letter-spacing:.18em}.demo-car>header i{display:block;color:#a99672;font-size:8px;font-style:normal;letter-spacing:.4em}.demo-car>header button{color:inherit;border-color:#a99672}.car-hero{min-height:790px;padding:80px 6vw;position:relative;display:flex;align-items:center;overflow:hidden;background:radial-gradient(ellipse at 73% 55%,#515961 0,#242a2f 24%,#0a0c0e 58%)}.car-lines{position:absolute;right:-8%;top:17%;width:62%;height:58%;border:1px solid #a99672;border-radius:48% 52% 20% 25%;transform:skewX(-16deg);box-shadow:0 0 70px #a9967233,inset 0 0 70px #fff1}.car-hero>div:nth-child(2){position:relative}.car-hero small,.car-philosophy small,.car-contact small{color:#a99672;font-size:10px;letter-spacing:.3em}.car-hero h1{margin:30px 0;font-size:clamp(78px,11vw,170px);line-height:.78;letter-spacing:-.07em}.car-hero h1 em{font-weight:300;color:transparent;-webkit-text-stroke:1px #e8e7e2}.car-hero p{line-height:2}.car-hero button,.car-contact button{margin-top:35px;padding:16px 20px;color:inherit;border:1px solid #a99672;background:#1118}.car-hero aside{position:absolute;right:5vw;bottom:50px;display:grid;grid-template-columns:auto auto;gap:8px 22px}.car-hero aside span{font-size:9px;color:#aaa}.car-philosophy{padding:170px 10vw}.car-philosophy h2,.car-contact h2{font-size:clamp(55px,7vw,105px);line-height:.95}.car-philosophy p{line-height:2}.car-model{min-height:650px;padding:80px 8vw;display:flex;align-items:flex-end;justify-content:space-between;background:linear-gradient(130deg,#25292d,#090a0b)}.car-model h2{font-size:clamp(55px,7vw,100px)}.car-model span{color:#ffffff12;font-size:300px;font-weight:900}.car-contact{padding:150px 10vw;background:#181b1e}.demo-car>footer{padding:50px 6vw;display:flex;justify-content:space-between;border-top:1px solid #fff3;font-size:10px;letter-spacing:.15em}
.demo-ryotei{color:#292821;background:#eee9dd;font-family:'Yu Mincho','Hiragino Mincho ProN',serif}.demo-ryotei>header{color:#f3eee2;background:#263329}.demo-ryotei>header b{font-size:30px;letter-spacing:.18em}.demo-ryotei>header button{color:inherit}.ryotei-hero{min-height:800px;padding:90px 10vw;position:relative;display:flex;flex-direction:column;justify-content:center;color:#f3eee2;background:linear-gradient(120deg,#1d2821,#3f5442);overflow:hidden}.ryotei-moon{position:absolute;right:12%;top:15%;width:370px;aspect-ratio:1;border-radius:50%;background:#d7c49e;box-shadow:0 0 100px #d7c49e44}.ryotei-hero p{writing-mode:vertical-rl;letter-spacing:.55em}.ryotei-hero h1{position:relative;margin:20px 0;font-size:clamp(75px,10vw,145px);font-weight:400;line-height:1.05;letter-spacing:.08em}.ryotei-hero h1 em{font-style:normal;color:#d7c49e}.ryotei-hero small{letter-spacing:.45em}.ryotei-intro{padding:160px 11vw;display:grid;grid-template-columns:1fr 1fr;gap:10vw}.ryotei-intro small,.ryotei-season small,.ryotei-rooms small{letter-spacing:.4em}.ryotei-intro h2,.ryotei-season h2,.ryotei-rooms h2{font-size:clamp(48px,6vw,88px);font-weight:400;line-height:1.3}.ryotei-intro p{padding-top:65px;line-height:2.4}.ryotei-season{min-height:680px;padding:90px 10vw;display:grid;grid-template-columns:1fr 1fr;align-items:center;color:#f3eee2;background:#4b3028}.ryotei-season p,.ryotei-season b{line-height:2.2}.ryotei-season figure{height:500px;margin:0;display:grid;place-items:center;background:radial-gradient(circle,#d7c49e 0 14%,transparent 14.5%),linear-gradient(145deg,#1e2820,#546a51)}.ryotei-season figure span{font-size:120px;color:#eee9ddaa}.ryotei-rooms{padding:150px 10vw}.ryotei-rooms>div{margin-top:70px;display:grid;grid-template-columns:1fr 1fr;border-block:1px solid}.ryotei-rooms article{padding:50px;border-right:1px solid}.ryotei-rooms article:last-child{border:0}.ryotei-rooms h3{font-size:35px;font-weight:400}.demo-ryotei>footer{padding:110px 9vw;color:#f3eee2;background:#263329}.demo-ryotei>footer h2{font-size:65px;font-weight:400;letter-spacing:.2em}.demo-ryotei>footer p{line-height:2}.demo-ryotei>footer button{margin-top:28px;padding:16px 22px;color:inherit;border:1px solid;background:transparent}
@media(max-width:800px){.works-list--showcase{grid-template-columns:1fr}.works-list--showcase .work-tile{min-height:430px}.mii-about-gallery-link{min-height:960px;padding:90px 24px 430px;background-position:center bottom;background-size:82% auto}.mii-about-gallery-link p br{display:none}.mii-about-gallery-link a{width:100%;min-height:104px;margin-top:28px;padding:18px 20px;box-shadow:8px 9px 0 #211e1a}.mii-about-gallery-link a b{font-size:22px}.mii-about-gallery-link a i{width:44px;height:44px;flex-basis:44px}.mii-about-gallery-paw{left:auto;right:25px;bottom:355px;font-size:44px}.demo>header{height:72px;padding:0 20px}.demo>header nav{display:none}.demo>header button{padding:9px}.salon-hero,.ryotei-season{min-height:0;padding:80px 25px;grid-template-columns:1fr}.salon-hero figure{height:380px;margin-top:55px}.salon-concept,.ryotei-intro{padding:90px 25px;grid-template-columns:1fr}.salon-concept h2{margin:30px 0}.salon-menu{padding:0 25px 90px;grid-template-columns:1fr}.salon-menu article{border-right:0;border-bottom:1px solid}.hm-hero{min-height:650px;padding:90px 25px}.hm-flower{font-size:240px;right:-70px}.hm-items{padding:90px 25px}.hm-items>div{grid-template-columns:1fr}.hm-story{padding:90px 25px;grid-template-columns:1fr}.hm-story>span{width:220px;margin-bottom:50px}.car-hero{min-height:720px;padding:70px 25px}.car-lines{width:100%;right:-50%;top:25%}.car-hero aside{left:25px;right:auto}.car-philosophy,.car-contact{padding:100px 25px}.car-model{min-height:520px;padding:55px 25px}.car-model span{font-size:130px}.demo-car>footer{gap:20px;flex-wrap:wrap}.ryotei-hero{min-height:700px;padding:70px 25px}.ryotei-moon{width:210px;right:-30px}.ryotei-intro p{padding-top:0}.ryotei-season figure{height:390px;margin-top:55px}.ryotei-rooms{padding:90px 25px}.ryotei-rooms>div{grid-template-columns:1fr}.mii-about-gallery-link a:active{transform:translate(3px,3px);box-shadow:4px 4px 0 #211e1a}.ryotei-rooms article{border-right:0;border-bottom:1px solid}.demo-exit{right:10px;bottom:10px}}

/* Policy and legal information pages */
.info-page{min-height:100vh;color:#211e1a;background:#f4f2ed}.info-hero{min-height:560px;padding:110px 8vw;display:flex;flex-direction:column;justify-content:center;background:linear-gradient(120deg,#f4f2ed 0 65%,#dce86a 65%)}.info-hero small{font:900 11px Arial;letter-spacing:.22em}.info-hero h1{margin:28px 0;font-size:clamp(58px,8vw,115px);line-height:.95;letter-spacing:-.08em}.info-hero p{max-width:680px;font-size:16px;line-height:2}.info-body{padding:90px 8vw 140px}.info-body>article{padding:48px 0;display:grid;grid-template-columns:12% 1fr;border-top:1px solid}.info-body>article>span{font:900 11px Arial;letter-spacing:.16em}.info-body>article>div{max-width:850px}.info-body h2{margin:0 0 24px;font-size:clamp(28px,3.2vw,46px);letter-spacing:-.045em}.info-body p,.info-body li{font-size:15px;line-height:2}.info-body ul{margin:0;padding-left:1.3em}.info-body aside{margin:70px 0;padding:28px 32px;border:1px solid;background:#fffaf0}.info-body aside b{font-size:15px}.info-body aside p{margin-bottom:0;font-size:13px;line-height:1.9}.info-body>nav{margin-top:70px;display:flex;gap:15px}.info-body>nav a{padding:15px 20px;border:1px solid;font-size:14px;font-weight:900}.info-body>nav a:first-child{background:#efa3b8;box-shadow:5px 5px 0 #211e1a}
@media(max-width:800px){.info-hero{min-height:440px;padding:85px 24px;background:linear-gradient(155deg,#f4f2ed 0 78%,#dce86a 78%)}.info-hero h1{font-size:14vw}.info-hero p{font-size:14px}.info-body{padding:60px 24px 100px}.info-body>article{grid-template-columns:1fr;gap:18px}.info-body p,.info-body li{font-size:14px}.info-body>nav{flex-direction:column}.info-body>nav a{text-align:center}}

/* Service page: honest, small and concrete */
.service-story{min-height:100vh;color:#211e1a;background:#f4f2ed}.service-story small{font:900 11px Arial;letter-spacing:.2em}.service-opening{min-height:790px;padding:85px 7vw;display:grid;grid-template-columns:64% 36%;align-items:center;position:relative;overflow:hidden;background:#dce86a}.service-opening h1{margin:30px 0;font-size:clamp(65px,9vw,145px);line-height:.88;letter-spacing:-.095em}.service-opening h1 em{font-style:normal;color:#cf6c84}.service-opening p{font-size:18px;line-height:1.9}.service-opening a{display:inline-block;margin-top:35px;padding-bottom:7px;border-bottom:1px solid;font-size:13px;font-weight:900}.service-opening img{width:115%;height:650px;object-fit:contain;filter:drop-shadow(0 28px 18px #211e1a35)}
.service-simple{padding:150px 8vw;display:grid;grid-template-columns:52% 48%;background:#f4f2ed}.service-simple h2,.service-can h2,.service-delegate h2,.service-cannot h2,.service-why h2,.service-result h2,.service-close h2{font-size:clamp(50px,7vw,105px);line-height:.95;letter-spacing:-.075em}.service-simple h2{margin:25px 0}.service-simple>div{padding-top:90px}.service-simple p{font-size:17px;line-height:2}.service-simple b{display:block;margin-top:45px;padding:28px;border:1px solid;background:#fffaf0;font-size:22px;line-height:1.7;box-shadow:8px 8px 0 #efa3b8}
.service-can{padding:140px 6vw;background:#9ed5e7}.service-can>header{display:grid;grid-template-columns:22% 48% 1fr;align-items:end}.service-can h2{margin:0}.service-can>header p{font-size:15px;line-height:1.9}.service-can>div{margin-top:90px;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid;border-left:1px solid}.service-can article{min-height:280px;padding:28px;display:flex;flex-direction:column;border-right:1px solid;border-bottom:1px solid;background:#ffffff22;transition:.25s}.service-can article:hover{background:#fffaf0;transform:translate(-4px,-4px);box-shadow:8px 8px 0 #211e1a}.service-can article span{font:900 10px Arial}.service-can article h3{margin:auto 0 16px;font-size:27px}.service-can article p{min-height:48px;margin:0;font-size:13px;line-height:1.8}
.service-delegate{min-height:720px;padding:120px 8vw;display:grid;grid-template-columns:55% 45%;color:#f5f1ea;background:#211e1a}.service-delegate h2{margin:25px 0}.service-delegate p{font-size:16px;line-height:2}.service-delegate strong{display:block;margin:35px 0;color:#efa3b8;font-size:35px;line-height:1.4}.service-delegate>div>p:last-child{max-width:600px}.service-delegate aside{min-height:500px;position:relative;border:1px solid #fff6;border-radius:50%;animation:delegateFloat 5s ease-in-out infinite}.service-delegate aside span{position:absolute;padding:9px 13px;border:1px solid;border-radius:99px;background:#211e1a;font:900 10px Arial;letter-spacing:.1em}.service-delegate aside span:nth-child(1){left:9%;top:22%}.service-delegate aside span:nth-child(2){right:8%;top:19%}.service-delegate aside span:nth-child(3){left:14%;bottom:18%}.service-delegate aside span:nth-child(4){right:9%;bottom:23%}.service-delegate aside b{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);white-space:nowrap;text-align:center;color:#dce86a;font-size:48px;line-height:1.2}@keyframes delegateFloat{50%{transform:translateY(-12px) rotate(1deg)}}
.service-cannot{padding:140px 6vw;color:#f5f1ea;background:#cf6c84}.service-cannot>header{display:grid;grid-template-columns:22% 48% 1fr;align-items:end}.service-cannot h2{margin:0}.service-cannot h2 em{font-style:normal;color:#211e1a}.service-cannot>header p{font-size:15px;line-height:1.9}.service-cannot>div{margin-top:90px;border-top:1px solid}.service-cannot article{min-height:92px;padding:0 15px;display:grid;grid-template-columns:80px 1fr 50px;align-items:center;border-bottom:1px solid;transition:.2s}.service-cannot article:hover{padding-left:28px;color:#211e1a;background:#f4f2ed}.service-cannot article span{font:300 42px Arial}.service-cannot article b{font-size:20px}.service-cannot article small{text-align:right}.service-cannot-note{margin:60px 0 0 auto;max-width:650px;font-size:16px;line-height:2}
.service-why{display:grid;grid-template-columns:1fr 1fr}.service-why>div{min-height:680px;padding:100px 7vw;display:flex;flex-direction:column;justify-content:center}.service-why>div:first-child{background:#fffaf0}.service-why>div:last-child{background:#e8e2d7}.service-why h2{margin:25px 0;font-size:clamp(45px,5vw,78px)}.service-why p{font-size:15px;line-height:2}.service-why a{align-self:flex-start;margin-top:25px;padding:15px 20px;border:1px solid;background:#dce86a;font-weight:900}
.service-result{padding:150px 7vw;background:#dce86a}.service-result h2{margin:35px 0 90px}.service-result h2 em{font-style:normal;color:#cf6c84}.service-result>div{display:grid;grid-template-columns:repeat(4,1fr);border-block:1px solid}.service-result>div p{min-height:170px;margin:0;padding:35px 20px;display:grid;place-items:center;text-align:center;border-right:1px solid;font-size:18px;font-weight:900;line-height:1.7}.service-result>div p:last-child{border-right:0}
.service-close{min-height:760px;padding:90px 8vw;display:grid;grid-template-columns:42% 58%;align-items:center;background:#f4f2ed}.service-close img{width:100%;height:620px;object-fit:contain;filter:drop-shadow(0 28px 18px #211e1a30)}.service-close h2{margin:25px 0}.service-close p{font-size:16px;line-height:2}.service-close a{display:inline-block;margin:25px 12px 0 0;padding:16px 20px;border:1px solid;font-weight:900}.service-close a:first-of-type{background:#efa3b8;box-shadow:6px 6px 0 #211e1a}
@media(max-width:800px){.service-opening{min-height:0;padding:80px 24px 30px;grid-template-columns:1fr}.service-opening h1{font-size:17vw}.service-opening p{font-size:15px}.service-opening img{height:400px;width:100%}.service-simple{padding:90px 24px;grid-template-columns:1fr}.service-simple h2,.service-can h2,.service-delegate h2,.service-cannot h2,.service-result h2,.service-close h2{font-size:13vw}.service-simple>div{padding-top:25px}.service-simple p{font-size:15px}.service-simple b{font-size:18px}.service-can,.service-cannot{padding:90px 24px}.service-can>header,.service-cannot>header{grid-template-columns:1fr;gap:25px}.service-can>div{margin-top:55px;grid-template-columns:1fr}.service-can article{min-height:240px}.service-delegate{min-height:0;padding:90px 24px;grid-template-columns:1fr}.service-delegate strong{font-size:27px}.service-delegate aside{min-height:360px;margin-top:60px}.service-delegate aside b{font-size:37px}.service-cannot>div{margin-top:55px}.service-cannot article{grid-template-columns:45px 1fr 35px;min-height:105px}.service-cannot article b{font-size:16px;line-height:1.5}.service-cannot-note{font-size:14px}.service-why{grid-template-columns:1fr}.service-why>div{min-height:530px;padding:80px 24px}.service-why h2{font-size:12vw}.service-result{padding:90px 24px}.service-result h2{margin-bottom:60px}.service-result>div{grid-template-columns:1fr}.service-result>div p{min-height:110px;border-right:0;border-bottom:1px solid}.service-result>div p:last-child{border-bottom:0}.service-close{min-height:0;padding:60px 24px 90px;grid-template-columns:1fr}.service-close img{height:400px}.service-close a{display:block;text-align:center}.service-story .site-footer{margin-top:0}}
@media(prefers-reduced-motion:reduce){.service-delegate aside{animation:none}}

/* Compact service lists on phones */
@media(max-width:800px){.service-can article{min-height:0;padding:20px;display:grid;grid-template-columns:42px 1fr;grid-template-rows:auto auto;column-gap:8px}.service-can article span{grid-row:1/3;padding-top:5px}.service-can article h3{margin:0 0 7px;font-size:21px}.service-can article p{min-height:0;font-size:12px;line-height:1.65}.service-can article:hover{transform:none;box-shadow:none}.service-cannot article{min-height:82px}.service-why>div{min-height:0;padding-top:75px;padding-bottom:75px}.service-why h2{font-size:11vw;line-height:1.05}}

/* Mobile menu must fully cover the page below */
@media(max-width:800px){.site-header{background:#fffaf0;backdrop-filter:none;-webkit-backdrop-filter:none}.site-header nav{z-index:100;background:#fffaf0;backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:0 22px 35px #211e1a38}.site-header nav.is-open{opacity:1}}

/* The two prices are one continuous service, not separate plans */
.price-set{padding:130px 7vw;background:#fffaf0;border-block:1px solid}.price-set>header{display:grid;grid-template-columns:20% 50% 1fr;align-items:end}.price-set>header h2{margin:0;font-size:clamp(55px,7vw,104px);line-height:.9;letter-spacing:-.08em}.price-set>header p{font-size:15px;line-height:1.9}.price-l-diagram{margin-top:90px;display:grid;grid-template-columns:44% 9% 47%;grid-template-rows:120px 360px}.price-l-start,.price-l-monthly{padding:42px;display:flex;flex-direction:column;border:2px solid #211e1a}.price-l-start{grid-column:1;grid-row:1/3;background:#f4f2ed}.price-l-monthly{grid-column:3;grid-row:2;background:#9ed5e7}.price-l-start h3,.price-l-monthly h3{margin:15px 0;font-size:24px}.price-l-start strong,.price-l-monthly strong{margin:auto 0 35px;white-space:nowrap;font:900 clamp(65px,7.5vw,118px)/.8 Arial;letter-spacing:-.08em}.price-l-start strong>span,.price-l-monthly strong>span{font-size:.35em;vertical-align:top;letter-spacing:0}.price-l-start strong>small,.price-l-monthly strong>small{margin-left:15px;font-size:11px;letter-spacing:.06em}.price-l-start p,.price-l-monthly p{font-size:14px}.price-l-corner{grid-column:2/4;grid-row:1;position:relative;border-left:14px solid #211e1a;border-bottom:14px solid #211e1a}.price-l-corner:after{content:"";position:absolute;right:-1px;bottom:-22px;border-left:18px solid #211e1a;border-top:15px solid transparent;border-bottom:15px solid transparent}.price-l-corner span{position:absolute;left:25px;bottom:18px;font-size:13px;font-weight:900}.price-set-note{margin:35px 0 0;padding:22px 25px;text-align:center;border:1px solid;background:#dce86a;font-size:14px;line-height:1.8}
@media(max-width:800px){.price-set{padding:85px 24px}.price-set>header{grid-template-columns:1fr;gap:20px}.price-set>header h2{font-size:14vw}.price-l-diagram{margin-top:55px;grid-template-columns:32px 1fr;grid-template-rows:auto 82px auto}.price-l-start{grid-column:1/3;grid-row:1;padding:28px;min-height:350px}.price-l-corner{grid-column:1;grid-row:2/4;border-left:8px solid #211e1a;border-bottom:8px solid #211e1a}.price-l-corner:after{right:-12px;bottom:-15px;border-left-width:14px;border-top-width:11px;border-bottom-width:11px}.price-l-corner span{left:15px;bottom:auto;top:23px;width:max-content;font-size:11px}.price-l-monthly{grid-column:2;grid-row:3;padding:27px;min-height:330px}.price-l-start h3,.price-l-monthly h3{font-size:20px}.price-l-start strong,.price-l-monthly strong{font-size:17vw}.price-set-note{padding:18px;text-align:left;font-size:12px}.price-set-note b{display:block}}

/* Price guide: clear terms with a little honest personality */
.price-guide{min-height:100vh;color:#211e1a;background:#f4f2ed}.price-guide small{font:900 11px Arial;letter-spacing:.2em}.price-guide-hero{min-height:600px;padding:110px 8vw;display:flex;flex-direction:column;justify-content:center;background:#f4f2ed}.price-guide-hero h1{margin:25px 0;font-size:clamp(70px,10vw,150px);line-height:.9;letter-spacing:-.1em}.price-guide-hero h1 span,.price-set>header h2 span{display:block;white-space:nowrap}.price-guide-hero p{font-size:17px;line-height:2}
.price-guide-plans{display:grid;grid-template-columns:1fr 1fr}.price-plan{min-height:620px;padding:65px 6vw;display:flex;flex-direction:column;border-top:1px solid;border-bottom:1px solid}.price-plan:first-child{border-right:1px solid}.price-plan--initial{background:#fffaf0}.price-plan--monthly{background:#9ed5e7}.price-plan h2{margin:16px 0;font-size:25px}.price-plan strong{margin:auto 0 30px;white-space:nowrap;font:900 clamp(70px,8vw,128px)/.8 Arial;letter-spacing:-.08em}.price-plan strong>span{font-size:.35em;vertical-align:top;letter-spacing:0}.price-plan strong>small{margin-left:15px;font-size:11px;letter-spacing:.08em}.price-plan p{font-size:15px;line-height:1.9}
.price-guide-included,.price-guide-monthly,.price-guide-separate{padding:140px 6vw}.price-guide-included{background:#dce86a}.price-guide-included>header,.price-guide-monthly>header,.price-guide-separate>header{display:grid;grid-template-columns:21% 49% 1fr;align-items:end}.price-guide-included h2,.price-guide-monthly h2,.price-guide-separate h2,.price-photo-note h2,.price-guide-cancel h2,.price-guide-summary h2{margin:0;font-size:clamp(52px,7vw,100px);line-height:.95;letter-spacing:-.075em}.price-guide-included header p,.price-guide-monthly header p,.price-guide-separate header p{font-size:15px;line-height:1.9}.price-guide-included>div{margin-top:85px;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid;border-left:1px solid}.price-guide-included article{min-height:190px;padding:25px;display:flex;flex-direction:column;border-right:1px solid;border-bottom:1px solid}.price-guide-included article span{font:900 10px Arial}.price-guide-included article b{margin-top:auto;font-size:17px;line-height:1.5}
.price-guide-monthly{color:#f5f1ea;background:#211e1a}.price-guide-monthly>div{margin-top:85px;display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #fff8}.price-guide-monthly article{min-height:105px;padding:20px;display:grid;grid-template-columns:55px 1fr 40px;align-items:center;border-right:1px solid #fff8;border-bottom:1px solid #fff8}.price-guide-monthly article:nth-child(even){border-right:0}.price-guide-monthly article>span{color:#dce86a;font-size:25px}.price-guide-monthly article>b{font-size:16px;line-height:1.5}.price-guide-monthly article>small{text-align:right;color:#aaa}
.price-photo-note{padding:120px 8vw;display:grid;grid-template-columns:46% 54%;gap:7vw;background:#efa3b8}.price-photo-note h2{margin-top:25px}.price-photo-note>div:last-child{padding:45px;border:2px solid;background:#fffaf0;box-shadow:12px 12px 0 #211e1a;transform:rotate(1deg)}.price-photo-note p{font-size:16px;line-height:1.9}.price-photo-note p strong{background:linear-gradient(transparent 55%,#dce86a 55%)}.price-photo-note b{display:block;margin-top:30px;padding-top:25px;border-top:1px solid;font-size:15px;line-height:1.8}
.price-guide-separate{background:#f4f2ed}.price-guide-separate>div{margin-top:85px;display:grid;grid-template-columns:1fr 1fr;border-top:1px solid}.price-guide-separate article{min-height:85px;padding:18px;display:grid;grid-template-columns:60px 1fr;align-items:center;border-right:1px solid;border-bottom:1px solid}.price-guide-separate article:nth-child(even){border-right:0}.price-guide-separate article span{font:900 10px Arial}.price-guide-separate article b{font-size:16px}.price-guide-separate aside{margin:70px 0 0 auto;max-width:720px;padding:32px;color:#f5f1ea;background:#211e1a}.price-guide-separate aside strong{font-size:23px}.price-guide-separate aside p{margin-bottom:0;font-size:14px;line-height:1.8}
.price-guide-included>.price-accordion,.price-guide-monthly>.price-accordion,.price-guide-separate>.price-accordion{margin-top:85px;display:block;border:0;border-top:1px solid}.price-accordion details{border-bottom:1px solid}.price-accordion summary{min-height:112px;padding:18px 12px;display:grid;grid-template-columns:65px 1fr auto 35px;gap:18px;align-items:center;cursor:pointer;list-style:none}.price-accordion summary::-webkit-details-marker{display:none}.price-accordion summary>span{font:900 10px Arial}.price-accordion summary h3{margin:0;font-size:27px}.price-accordion summary p{margin:7px 0 0;font-size:12px;line-height:1.6}.price-accordion summary>small{font-size:9px;white-space:nowrap;opacity:.65}.price-accordion summary>b{font:300 32px Arial;transition:.25s}.price-accordion details[open] summary>b{transform:rotate(45deg)}.price-accordion-items{padding:0 0 20px 65px;display:grid;grid-template-columns:repeat(2,1fr);gap:7px}.price-accordion-items article{min-height:75px;padding:16px;display:grid;grid-template-columns:27px 1fr;align-items:center;border:1px solid;background:#fffaf0}.price-accordion-items i{font-style:normal;font-weight:900}.price-accordion-items strong{font-size:14px;line-height:1.5}.price-accordion--monthly{border-color:#fff8}.price-accordion--monthly details{border-color:#fff8}.price-accordion--monthly .price-accordion-items article{color:#211e1a;border-color:#fff4;background:#34312c}.price-accordion--monthly .price-accordion-items article{color:#f5f1ea}.price-accordion--monthly .price-accordion-items i{color:#dce86a}.price-accordion--separate .price-accordion-items article{background:#fffaf0}
.price-guide-cancel{padding:130px 8vw;color:#f5f1ea;background:#211e1a}.price-guide-cancel h2{margin:30px 0}.price-guide-cancel h2 em{font-style:normal;color:#dce86a}.price-guide-cancel p{font-size:16px;line-height:2}.price-guide-summary{padding:150px 8vw;display:grid;grid-template-columns:65% 35%;align-items:end;background:#9ed5e7}.price-guide-summary h2{margin:25px 0}.price-guide-summary p{font-size:16px;line-height:2}.price-guide-summary nav{display:flex;flex-direction:column;gap:14px}.price-guide-summary a{padding:17px 20px;border:1px solid;background:#fffaf0;font-size:14px;font-weight:900}.price-guide-summary a:last-child{background:#efa3b8;box-shadow:6px 6px 0 #211e1a}
@media(max-width:800px){.price-guide-hero{min-height:470px;padding:85px 24px}.price-guide-hero h1{font-size:12.5vw;line-height:.96}.price-guide-hero p{font-size:14px}.price-guide-plans{grid-template-columns:1fr}.price-plan{min-height:400px;padding:45px 24px}.price-plan:first-child{border-right:0}.price-plan strong{font-size:20vw}.price-guide-included,.price-guide-monthly,.price-guide-separate{padding:90px 16px}.price-guide-included>header,.price-guide-monthly>header,.price-guide-separate>header{grid-template-columns:1fr;gap:22px}.price-guide-included h2,.price-guide-monthly h2,.price-guide-separate h2,.price-photo-note h2,.price-guide-cancel h2,.price-guide-summary h2{font-size:13vw}.price-guide-included>.price-accordion,.price-guide-monthly>.price-accordion,.price-guide-separate>.price-accordion{margin-top:48px}.price-accordion summary{min-height:86px;padding:12px 4px;grid-template-columns:34px 1fr auto 25px;gap:7px}.price-accordion summary h3{font-size:19px}.price-accordion summary p{font-size:9px;line-height:1.45}.price-accordion summary>small{font-size:7px;letter-spacing:.08em}.price-accordion summary>b{font-size:24px}.price-accordion-items{padding:0 0 10px;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}.price-accordion-items article{min-height:69px;padding:10px;grid-template-columns:19px 1fr}.price-accordion-items strong{font-size:11px;line-height:1.4}.price-photo-note{padding:90px 24px;grid-template-columns:1fr}.price-photo-note>div:last-child{margin-top:25px;padding:27px;box-shadow:8px 8px 0 #211e1a;transform:none}.price-photo-note p{font-size:14px}.price-guide-separate aside{margin-top:45px}.price-guide-separate aside strong{font-size:19px;line-height:1.5}.price-guide-cancel{padding:90px 24px}.price-guide-cancel p{font-size:14px}.price-guide-summary{padding:90px 24px;grid-template-columns:1fr}.price-guide-summary p{font-size:14px}.price-guide-summary nav{margin-top:45px}}

/* One contract: production fee + monthly maintenance */
.price-set>header{grid-template-columns:18% 52% 1fr;gap:2vw}.price-set>header h2{font-size:clamp(42px,5.4vw,82px);line-height:1.02}.price-set-card{margin-top:76px;display:grid;grid-template-columns:1fr 90px 1fr;border:2px solid #211e1a;background:#f4f2ed}.price-set-item{min-height:430px;padding:44px;display:flex;flex-direction:column}.price-set-item--keep{background:#9ed5e7}.price-set-item h3{margin:16px 0;font-size:26px}.price-set-item strong{margin:auto 0 34px;white-space:nowrap;font:900 clamp(65px,7vw,110px)/.82 Arial;letter-spacing:-.075em}.price-set-item strong small{margin:0 8px;font-size:.2em;letter-spacing:.03em;vertical-align:middle}.price-set-item p{max-width:390px;font-size:14px;line-height:1.8}.price-set-plus{display:grid;place-items:center;background:#211e1a;color:#fff}.price-set-plus span{font:300 48px/1 Arial}.price-set-note{display:flex;align-items:center;justify-content:center;gap:28px}.price-set-note b{font-size:16px}.price-set-note span{font-size:13px}.price-set-note small{font-size:9px}
@media(max-width:800px){.price-set>header{grid-template-columns:1fr;gap:18px}.price-set>header h2{font-size:7vw;line-height:1.12;letter-spacing:-.06em}.price-set>header p{font-size:14px}.price-set-card{margin-top:50px;grid-template-columns:1fr;grid-template-rows:auto 58px auto}.price-set-item{min-height:310px;padding:28px}.price-set-item h3{font-size:21px}.price-set-item strong{font-size:17vw;margin:52px 0 24px}.price-set-item strong small{font-size:.22em;margin:0 5px}.price-set-item p{font-size:13px}.price-set-plus span{font-size:34px}.price-set-note{padding:20px;display:block;text-align:left}.price-set-note b,.price-set-note span,.price-set-note small{display:block}.price-set-note span{margin-top:6px}.price-set-note small{margin-top:12px}}

/* Price page: compact opening on phones without crushing the type */
@media(max-width:800px){
 .price-guide-hero{min-height:0;padding:62px 24px 58px}
 .price-guide-hero h1{margin:22px 0 26px;font-size:11.5vw;line-height:1.08;letter-spacing:-.075em}
 .price-guide-hero p{margin:0;line-height:1.85}
 .price-set{padding:58px 24px 65px}
 .price-set>header{gap:14px}
 .price-set>header h2{font-size:6.7vw;line-height:1.18;letter-spacing:-.045em}
 .price-set>header p{margin:7px 0 0;line-height:1.8}
}

/* Home cat labels sit directly beneath each cat */
.ex-node .ex-cat-label,.ex-price-cat .ex-cat-label{left:50%;right:auto;top:calc(100% - 10px);bottom:auto;width:max-content;max-width:180px;text-align:center;transform:translateX(-50%) scale(.82) translateY(5px)}
.ex-node:hover .ex-cat-label,.ex-node:focus .ex-cat-label,.ex-price-cat:hover .ex-cat-label{transform:translateX(-50%) scale(1) translateY(0)}
@media(max-width:800px){.ex-node .ex-cat-label,.ex-price-cat .ex-cat-label{left:50%;right:auto;top:calc(100% - 8px);bottom:auto;max-width:120px;transform:translateX(-50%);white-space:nowrap}.ex-node--tr .ex-cat-label{top:79%;left:49%}.ex-node--bl .ex-cat-label{top:76%;left:51%}}

/* Compact mobile works overview */
@media(max-width:800px){
 .works-list--showcase{padding:0 16px 44px;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 .works-list--showcase .work-tile{min-height:210px;padding:14px}
 .works-list--showcase .work-tile>small{font-size:8px;letter-spacing:.08em}
 .works-list--showcase .work-tile>div{margin:auto 0 16px}
 .works-list--showcase .work-tile h2{margin:0;font-size:20px;line-height:1.12}
 .works-list--showcase .work-tile p{display:none}
 .works-list--showcase .work-tile>b{font-size:9px}
 .lab-entrances{padding:0 16px 70px;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 .lab-entrance{min-height:190px;padding:14px}
 .lab-entrance>small{font-size:8px;letter-spacing:.1em}
 .lab-entrance h2{margin:auto 0 8px;font-size:25px;line-height:1}
 .lab-entrance p{display:none}
 .lab-entrance b{margin-top:12px;font-size:9px}
 .lab-entrance--motion:before{width:42px;height:42px}
 .lab-entrance--motion:after{width:21px;height:21px}
}

/* Compact mobile controls inside Look Lab */
@media(max-width:800px){
 .palette-options{padding:8px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
 .palette-options button{min-height:78px;padding:9px;grid-template-columns:72px 1fr}
 .palette-options button:nth-child(5){grid-column:1/-1}
 .palette-options button:hover,.palette-options button.is-active{transform:none}
 .palette-options button i{width:14px;height:32px}
 .palette-options button b{font-size:14px;line-height:1.15}
 .palette-options button small{font-size:8px;line-height:1.35;letter-spacing:0}
 .finish-showcase{margin-top:55px}
 .finish-orb{width:48vw;margin-bottom:42px}
 .finish-orb span{font-size:16px}
 .finish-options{grid-template-columns:repeat(2,minmax(0,1fr))}
 .finish-options button{min-height:84px;padding:10px;gap:10px;border-right:1px solid #fff5}
 .finish-options button:nth-child(even){border-right:0}
 .finish-swatch{width:40px;height:40px;flex-basis:40px}
 .finish-options span b{font-size:14px;line-height:1.15}
 .finish-options span small{font-size:8px;line-height:1.35;letter-spacing:0}
}

/* Compact mobile controls inside Motion Lab */
@media(max-width:800px){
 .lab-page--motion .transition-samples{padding:48px 16px 58px}
 .transition-sample-grid{margin-top:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;border:0}
 .transition-sample-grid article{min-height:138px;padding:12px;display:flex;flex-direction:column;border:1px solid #211e1a}
 .transition-sample-grid article:last-child{border:1px solid #211e1a}
 .transition-sample-grid article>b{font-size:9px}
 .transition-sample-grid h3{margin:auto 0 7px;font-size:18px;line-height:1.12}
 .transition-sample-grid p{display:none}
 .transition-sample-grid button{margin-top:7px;padding:9px 10px;font-size:10px}
 .transition-sample-grid article{position:relative;overflow:hidden;box-shadow:3px 3px 0 #211e1a;transition:transform .2s,box-shadow .2s}
 .transition-sample-grid article:nth-child(1){background:#f7b7c8}
 .transition-sample-grid article:nth-child(2){background:#9ed5e7}
 .transition-sample-grid article:nth-child(3){background:#dce86a}
 .transition-sample-grid article:nth-child(4){background:#ffd8a8}
 .transition-sample-grid article:after{content:"";position:absolute;right:10px;top:10px;width:10px;height:10px;border-radius:50%;background:#fff;box-shadow:15px 5px 0 #ffffffaa;pointer-events:none}
 .transition-sample-grid article:active{transform:translate(3px,3px);box-shadow:0 0 0 #211e1a}
 .transition-sample-grid button{width:100%;border:2px solid #211e1a;background:#fffaf0;box-shadow:0 4px 0 #211e1a;font-weight:900}
 .transition-sample-grid button:active{transform:translateY(4px);box-shadow:0 0 0 #211e1a}
 .motion-demo-section{padding:55px 16px}
 .motion-demo-heading{gap:8px}
 .motion-demo-heading>span,.motion-demo-heading small{font-size:9px}
 .motion-demo-heading h2{margin:8px 0;font-size:32px;line-height:1}
 .motion-demo-heading p{margin-bottom:0;font-size:11px;line-height:1.55}
 .motion-demo-grid{margin-top:28px;grid-template-columns:repeat(3,minmax(0,1fr))}
 .motion-demo-card{border-right:1px solid;border-bottom:0}
 .motion-demo-card:last-child{border-right:0}
 .motion-stage{height:112px;padding:8px}
 .motion-fade,.motion-letters,.motion-meet{font-size:14px;line-height:1.2}
 .motion-sample-button{min-width:0;width:100%;padding:10px 7px;gap:5px;border-width:1px;box-shadow:0 4px 0 #bd526c;font-size:10px;white-space:nowrap}
 .motion-sample-button--arrow b{font-size:13px}
 .motion-photo-frame{width:88%;height:82%;box-shadow:0 8px 16px #0007}
 .motion-demo-caption{min-height:112px;padding:10px}
 .motion-demo-caption h3{margin:0 0 9px;font-size:15px;line-height:1.1}
 .motion-demo-caption dl{display:none}
 .motion-demo-caption button{margin-top:auto;padding:8px 7px;font-size:9px}
}

/* FAQ information desk */
.faq-page{min-height:100vh;color:#211e1a;background:#f4f2ed}.faq-new-hero{min-height:610px;padding:90px 7vw;display:grid;grid-template-columns:62% 38%;align-items:center;overflow:hidden;background:#9ed5e7}.faq-new-hero small,.faq-group small,.faq-domain small,.faq-closing small,.faq-jump small{font:900 10px Arial;letter-spacing:.18em}.faq-new-hero h1{margin:25px 0;font-size:clamp(65px,8vw,124px);line-height:.9;letter-spacing:-.085em}.faq-new-hero h1 em{color:#cf536f;font-style:normal}.faq-new-hero p{font-size:16px;line-height:2}.faq-new-hero img{width:100%;height:500px;object-fit:contain;filter:drop-shadow(0 24px 18px #211e1a30)}
.faq-jump{padding:28px 6vw 80px;display:grid;grid-template-columns:repeat(3,1fr);gap:10px;background:#211e1a}.faq-jump>a{min-height:155px;padding:20px;display:flex;flex-direction:column;color:#211e1a}.faq-jump>a:nth-child(1){background:#9ed5e7}.faq-jump>a:nth-child(2){background:#dce86a}.faq-jump>a:nth-child(3){background:#efa3b8}.faq-jump b{margin:auto 0 15px;font-size:25px}.faq-jump span{font-size:10px;font-weight:900}.faq-jump .faq-domain-jump{grid-column:1/-1;min-height:78px;display:grid;grid-template-columns:22% 1fr auto;align-items:center;color:#f5f1ea;background:#211e1a;border:1px solid #ffffff60}.faq-domain-jump b{margin:0}.faq-domain-jump span{text-align:right}
.faq-group{padding:115px 7vw}.faq-group--before{background:#9ed5e7}.faq-group--cost{background:#dce86a}.faq-group--after{background:#efa3b8}.faq-group>header{display:grid;grid-template-columns:24% 1fr;align-items:end}.faq-group h2{margin:0;font-size:clamp(55px,7vw,98px);line-height:.9;letter-spacing:-.075em}.faq-question-grid{margin-top:70px;display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.faq-question-grid button{min-height:125px;padding:18px;display:grid;grid-template-columns:1fr auto;grid-template-rows:auto 1fr;text-align:left;color:#211e1a;border:1px solid #211e1a;background:#fffaf0;cursor:pointer}.faq-question-grid button.is-active{color:#f5f1ea;background:#211e1a}.faq-question-grid button small{grid-column:1/-1;font-size:8px}.faq-question-grid button b{align-self:end;font-size:17px;line-height:1.35}.faq-question-grid button span{align-self:end;font-size:24px}.faq-answer{margin-top:8px;min-height:310px;padding:45px;display:grid;grid-template-columns:20% 1fr;grid-template-rows:auto 1fr;background:#fffaf0;border:1px solid}.faq-answer>small{grid-row:1/3}.faq-answer h3{margin:0 0 30px;font-size:clamp(30px,4vw,58px);letter-spacing:-.055em}.faq-answer p{max-width:800px;margin:0;font-size:16px;line-height:2}
.faq-domain{padding:125px 7vw;color:#f5f1ea;background:#211e1a}.faq-domain>header{display:grid;grid-template-columns:22% 50% 1fr;align-items:end}.faq-domain h2{margin:0;font-size:clamp(55px,7vw,98px);line-height:.92;letter-spacing:-.075em}.faq-domain>header p{font-size:15px;line-height:1.8}.faq-domain-example{margin-top:85px;padding:55px;border:1px solid #ffffff60;background:#2d2925}.faq-domain-example strong{display:block;font:900 clamp(38px,7vw,100px)/1 Arial;letter-spacing:-.07em}.faq-domain-example strong em{color:#efa3b8;font-style:normal}.faq-domain-example>div{margin-top:40px;display:grid;grid-template-columns:2fr 1fr;gap:15px}.faq-domain-example p{margin:0;padding-top:17px;border-top:1px solid #ffffff60}.faq-domain-example p b,.faq-domain-example p span{display:block}.faq-domain-example p b{font-size:20px}.faq-domain-example p span{margin-top:7px;color:#bdb4a8;font-size:12px}.faq-domain-facts{display:grid;grid-template-columns:1fr 1fr}.faq-domain-facts article{min-height:240px;padding:35px;border:1px solid #ffffff60;border-top:0}.faq-domain-facts article:first-child{border-right:0}.faq-domain-facts b{display:block;margin:55px 0 17px;font-size:28px}.faq-domain-facts p{color:#bdb4a8;font-size:13px;line-height:1.8}.faq-domain-alternative{margin-top:70px;padding:50px;display:grid;grid-template-columns:45% 1fr;color:#211e1a;background:#efa3b8}.faq-domain-alternative>p{font-size:23px;line-height:1.6}.faq-domain-alternative>div{display:flex;flex-direction:column;gap:10px}.faq-domain-alternative s,.faq-domain-alternative strong{padding:15px 18px;background:#fffaf0;font-size:18px}.faq-domain-alternative s{opacity:.55}.faq-domain-alternative span{font-size:10px;font-weight:900}.faq-domain-note{margin:30px 0 0;color:#bdb4a8;font-size:13px;line-height:1.8}
.faq-closing{padding:100px 8vw;display:grid;grid-template-columns:38% 1fr;align-items:center;background:#fffaf0}.faq-closing img{width:100%;height:430px;object-fit:contain}.faq-closing h2{margin:25px 0;font-size:clamp(52px,7vw,96px);line-height:.95;letter-spacing:-.07em}.faq-closing p{font-size:15px;line-height:2}.faq-closing a{display:inline-block;margin-top:25px;padding:17px 23px;border:2px solid;border-radius:99px;background:#efa3b8;box-shadow:0 6px 0 #c85f78;font-size:15px;font-weight:900}
@media(max-width:800px){.faq-new-hero{min-height:0;padding:70px 24px 0;grid-template-columns:1fr}.faq-new-hero h1{font-size:15vw}.faq-new-hero p{font-size:13px}.faq-new-hero img{height:250px;margin-top:-15px;object-position:right bottom}.faq-jump{padding:14px 16px 52px;grid-template-columns:repeat(3,1fr);gap:6px}.faq-jump>a{min-height:105px;padding:10px}.faq-jump small{font-size:6px}.faq-jump b{margin:auto 0 8px;font-size:14px;line-height:1.15}.faq-jump span{font-size:6px}.faq-jump .faq-domain-jump{min-height:60px;padding:10px;grid-template-columns:1fr auto}.faq-domain-jump small{display:none}.faq-domain-jump b{font-size:16px}.faq-domain-jump span{font-size:7px}.faq-group{padding:72px 16px}.faq-group>header{grid-template-columns:1fr;gap:15px}.faq-group h2{font-size:13vw}.faq-question-grid{margin-top:40px;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.faq-question-grid button{min-height:94px;padding:11px}.faq-question-grid button b{font-size:13px}.faq-question-grid button span{font-size:18px}.faq-answer{min-height:260px;padding:24px;grid-template-columns:1fr}.faq-answer>small{grid-row:auto;margin-bottom:28px}.faq-answer h3{font-size:26px}.faq-answer p{font-size:13px;line-height:1.85}.faq-domain{padding:78px 16px}.faq-domain>header{grid-template-columns:1fr;gap:18px}.faq-domain h2{font-size:13vw}.faq-domain>header p{font-size:13px}.faq-domain-example{margin-top:45px;padding:22px 16px}.faq-domain-example strong{font-size:9.5vw}.faq-domain-example>div{margin-top:28px;grid-template-columns:2fr 1fr;gap:8px}.faq-domain-example p b{font-size:13px}.faq-domain-example p span{font-size:8px;line-height:1.4}.faq-domain-facts article{min-height:200px;padding:18px}.faq-domain-facts b{margin:35px 0 12px;font-size:17px;line-height:1.3}.faq-domain-facts p{font-size:10px}.faq-domain-alternative{margin-top:40px;padding:25px 18px;grid-template-columns:1fr}.faq-domain-alternative>p{font-size:18px}.faq-domain-alternative>div{margin-top:22px}.faq-domain-alternative s,.faq-domain-alternative strong{padding:12px;font-size:13px}.faq-domain-note{font-size:11px}.faq-closing{padding:70px 24px 80px;grid-template-columns:1fr}.faq-closing img{height:220px;order:2;margin-top:20px}.faq-closing h2{font-size:13vw}.faq-closing p{font-size:13px}.faq-closing a{font-size:13px}}

/* Service page: matching capability accordions and peekaboo cats */
.service-opening{grid-template-columns:1fr;padding-right:25%;min-height:680px}.service-opening>div{position:relative;z-index:2}.service-opening img{position:absolute;z-index:1;right:-25px;bottom:-80px;width:310px;height:430px;object-position:right bottom}
.service-capabilities{padding:125px 7vw}.service-capabilities--can{background:#9ed5e7}.service-capabilities--cannot{color:#f5f1ea;background:#cf6c84}.service-capabilities>header{display:grid;grid-template-columns:22% 48% 1fr;align-items:end}.service-capabilities h2{margin:0;font-size:clamp(50px,7vw,105px);line-height:.95;letter-spacing:-.075em}.service-capabilities>header p{font-size:15px;line-height:1.9}.service-capabilities>div{margin-top:75px;border-top:1px solid}.service-capabilities details{border-bottom:1px solid}.service-capabilities summary{min-height:115px;padding:18px 12px;display:grid;grid-template-columns:75px 1fr auto;align-items:center;cursor:pointer;list-style:none}.service-capabilities summary::-webkit-details-marker{display:none}.service-capabilities summary>span{font:900 10px Arial}.service-capabilities summary h3{margin:0;font-size:28px}.service-capabilities summary p{margin:6px 0 0;font-size:12px}.service-capabilities summary>b{font:300 33px Arial;transition:.25s}.service-capabilities details[open] summary>b{transform:rotate(45deg)}.service-capability-items{padding:0 0 18px 75px;display:grid;grid-template-columns:repeat(2,1fr);gap:7px}.service-capability-items article{min-height:115px;padding:19px;color:#211e1a;border:1px solid;background:#fffaf0}.service-capability-items h4{margin:0;font-size:18px}.service-capability-items p{margin:10px 0 0;font-size:12px;line-height:1.7}.service-capabilities--cannot .service-capability-items article{min-height:76px;display:flex;align-items:center}.service-capabilities--cannot .service-capability-items h4{font-size:15px;line-height:1.5}.service-capabilities-note{margin:50px 0 0 auto;max-width:650px;font-size:15px;line-height:2}
.service-close{min-height:600px;grid-template-columns:30% 70%;position:relative;overflow:hidden}.service-close img{position:absolute;left:-45px;bottom:-115px;width:300px;height:410px;object-position:left bottom}.service-close>div{grid-column:2;position:relative;z-index:2}
@media(max-width:800px){.service-opening{min-height:650px;padding:72px 24px 170px}.service-opening h1{font-size:15vw}.service-opening img{right:-35px;bottom:-42px;width:195px;height:250px}.service-capabilities{padding:75px 16px}.service-capabilities>header{grid-template-columns:1fr;gap:18px}.service-capabilities h2{font-size:13vw}.service-capabilities>header p{font-size:12px}.service-capabilities>div{margin-top:42px}.service-capabilities summary{min-height:82px;padding:12px 5px;grid-template-columns:36px 1fr auto}.service-capabilities summary h3{font-size:20px}.service-capabilities summary p{font-size:9px;line-height:1.35}.service-capabilities summary>b{font-size:25px}.service-capability-items{padding:0 0 10px;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}.service-capability-items article{min-height:92px;padding:11px}.service-capability-items h4{font-size:14px;line-height:1.25}.service-capability-items p{font-size:9px;line-height:1.45}.service-capabilities--cannot .service-capability-items article{min-height:68px}.service-capabilities--cannot .service-capability-items h4{font-size:11px}.service-capabilities-note{margin-top:35px;font-size:12px}.service-close{min-height:0;padding:75px 24px 180px;grid-template-columns:1fr}.service-close>div{grid-column:1}.service-close img{left:-25px;bottom:-52px;width:175px;height:220px}.service-close h2{font-size:12vw}}

/* Price impact: mobile-first 33 + 33 */
.price-impact{position:relative;min-height:calc(100svh - 84px);padding:clamp(56px,7vw,92px) 6vw;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto 1fr auto;gap:28px;align-items:center;overflow:hidden;background:#fffaf0}
.price-impact:before,.price-impact:after{content:"33";position:absolute;z-index:0;font:900 clamp(180px,26vw,440px)/.72 Arial;letter-spacing:-.14em;pointer-events:none;opacity:.11}
.price-impact:before{right:-.02em;top:.08em;color:#cf536f;transform:rotate(7deg)}
.price-impact:after{left:-.08em;bottom:-.06em;color:#8aa700;transform:rotate(-7deg)}
.price-impact>*{position:relative;z-index:1}
.price-impact-intro{align-self:start;display:flex;align-items:center;gap:18px}
.price-impact-intro small{padding:8px 11px;border:1px solid;border-radius:999px;background:#dce86a}
.price-impact-intro p{margin:0;font-size:12px;font-weight:900}
.price-impact h1{grid-column:1/-1;width:100%;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:clamp(56px,7vw,110px);font-family:Arial,"Yu Gothic",sans-serif}
.price-impact h1 span{position:relative;min-height:clamp(270px,32vw,450px);padding:clamp(28px,4vw,54px);display:flex;flex-direction:column;justify-content:flex-end;border:2px solid #211e1a;box-shadow:clamp(8px,1vw,14px) clamp(8px,1vw,14px) 0 #211e1a;white-space:normal;font-size:clamp(20px,2.1vw,30px);font-weight:900;line-height:1.1;letter-spacing:0;animation:priceCardIn .75s cubic-bezier(.2,.8,.2,1) both}
.price-impact h1 span:first-child{background:#dce86a;transform:rotate(-1.4deg);animation-name:priceCardInLeft}
.price-impact h1 span:last-child{background:#efa3b8;transform:rotate(1.4deg);animation-name:priceCardInRight;animation-delay:.12s}
.price-impact h1 span:before{display:block;margin-bottom:auto;font:900 clamp(56px,8.2vw,132px)/.78 Arial;letter-spacing:-.09em}
.price-impact h1 span:first-child:before{content:"33,000"}
.price-impact h1 span:last-child:before{content:"3,300"}
.price-impact h1:after{content:"＋";position:absolute;left:50%;top:50%;width:clamp(62px,6vw,92px);aspect-ratio:1;display:grid;place-items:center;border:2px solid #211e1a;border-radius:50%;color:#fffaf0;background:#211e1a;font:300 clamp(34px,3.5vw,55px)/1 Arial;transform:translate(-50%,-50%) rotate(-8deg);box-shadow:5px 5px 0 #9ed5e7;animation:pricePlusPop .55s .65s cubic-bezier(.2,1.5,.4,1) both}
.price-impact>p{margin:0;font-size:clamp(14px,1.25vw,18px);line-height:1.8}
.price-impact>p b{font-size:1.05em}
.price-impact-scroll{justify-self:end;align-self:end;padding:15px 18px;border:1px solid;background:#fffaf0;font-size:12px;font-weight:900;box-shadow:5px 5px 0 #211e1a}
.price-impact-scroll span{margin-left:32px}
@keyframes priceCardInLeft{from{opacity:0;transform:translateX(-13vw) rotate(-7deg)}to{opacity:1;transform:rotate(-1.4deg)}}
@keyframes priceCardInRight{from{opacity:0;transform:translateX(13vw) rotate(7deg)}to{opacity:1;transform:rotate(1.4deg)}}
@keyframes pricePlusPop{from{opacity:0;transform:translate(-50%,-50%) scale(.25) rotate(-40deg)}to{opacity:1;transform:translate(-50%,-50%) scale(1) rotate(-8deg)}}

@media(max-width:1024px) and (min-width:601px){
 .price-impact{min-height:calc(100svh - 76px);padding:62px 5vw;gap:24px}
 .price-impact h1{gap:58px}
 .price-impact h1 span{min-height:330px;padding:32px;font-size:22px}
 .price-impact h1 span:before{font-size:clamp(66px,9.5vw,96px)}
 .price-set>header{grid-template-columns:16% 52% 1fr;gap:20px}
 .price-set>header h2{font-size:5.8vw}
 .price-set-card{grid-template-columns:1fr 68px 1fr}
 .price-set-item{min-height:390px;padding:30px}
 .price-set-item strong{font-size:7.3vw}
}

@media(max-width:600px){
 .price-impact{min-height:auto;padding:36px 16px 54px;display:flex;flex-direction:column;align-items:stretch;gap:24px}
 .price-impact:before{right:-32px;top:92px;font-size:190px}
 .price-impact:after{left:-25px;bottom:115px;font-size:180px}
 .price-impact-intro{gap:10px}
 .price-impact-intro small{padding:7px 9px;font-size:8px}
 .price-impact-intro p{font-size:10px}
 .price-impact h1{display:flex;flex-direction:column;gap:48px}
 .price-impact h1 span{width:calc(100% - 10px);min-height:220px;padding:23px;box-shadow:8px 8px 0 #211e1a;font-size:19px}
 .price-impact h1 span:last-child{align-self:flex-end}
 .price-impact h1 span:before{font-size:clamp(62px,21vw,88px)}
 .price-impact h1:after{top:50%;width:60px;font-size:34px;box-shadow:4px 4px 0 #9ed5e7}
 .price-impact>p{font-size:13px;line-height:1.75}
 .price-impact-scroll{width:100%;display:flex;justify-content:space-between;padding:14px 16px}
 .price-set>header h2{font-size:11vw;line-height:1.02;letter-spacing:-.065em}
 .price-set-card{border-width:2px}
 .price-set-item--build{background:#dce86a}
 .price-set-item--keep{background:#efa3b8}
}

@media(prefers-reduced-motion:reduce){.price-impact h1 span,.price-impact h1:after{animation:none!important}}

/* Price choice and application paths */
.price-set-item--build{background:#dce86a}
.price-set-item--keep{background:#efa3b8}
.price-apply{padding:140px 6vw;background:#fffaf0}
.price-apply>header{display:grid;grid-template-columns:20% 48% 1fr;gap:2vw;align-items:end}
.price-apply>header h2{margin:0;font-size:clamp(52px,7vw,100px);line-height:.95;letter-spacing:-.075em}
.price-apply>header p{font-size:15px;line-height:1.9}
.price-apply-grid{margin-top:82px;display:grid;grid-template-columns:1.08fr .92fr;gap:18px}
.price-apply-card{position:relative;min-height:430px;padding:48px;display:flex;flex-direction:column;overflow:hidden;border:2px solid #49382e;border-top:12px solid #e4b85d;background:#f8d9e2;box-shadow:9px 9px 0 #49382e}
.price-apply-card:before{content:"";position:absolute;width:190px;height:190px;right:-75px;bottom:-75px;border-radius:50%;background:#78c7d4;opacity:.75}
.price-apply-card:after{content:"";position:absolute;width:72px;height:72px;right:135px;bottom:40px;border-radius:50%;background:#dce86a}
.price-apply-card--recommended{background:#f8d9e2}
.price-apply-card>small,.price-apply-card h3,.price-apply-card p,.price-apply-card>span{position:relative;z-index:1}.price-apply-card>span{position:absolute;right:30px;top:27px;padding:8px 13px;border:1px solid #d8ccbd;border-radius:999px;background:#f3ede2;font-size:10px;font-weight:900;transform:none}
.price-apply-card h3{margin:55px 0 18px;font-size:clamp(30px,3.5vw,54px);line-height:1.08;letter-spacing:-.055em}
.price-apply-card p{max-width:540px;font-size:14px;line-height:1.9}
.price-apply-card a{position:relative;z-index:1;width:min(100%,390px);margin-top:auto;padding:18px 20px;display:flex;justify-content:space-between;border:1px solid #49382e;background:#e4b85d;box-shadow:5px 5px 0 #49382e;font-size:13px;font-weight:900}
.price-apply-card a b{font-size:18px}
.price-apply-need{margin:35px 0 0;padding:20px;text-align:center;border:1px dashed;font-size:13px}
@media(max-width:800px){
 .price-apply{padding:85px 16px}
 .price-apply>header{grid-template-columns:1fr;gap:20px}
 .price-apply>header h2{font-size:13vw}
 .price-apply>header p{font-size:13px}
 .price-apply-grid{margin-top:52px;grid-template-columns:1fr;gap:18px}
 .price-apply-card{min-height:390px;padding:25px;box-shadow:7px 7px 0 #211e1a}
 .price-apply-card>span{right:17px;top:17px;font-size:9px}
 .price-apply-card h3{margin-top:68px;font-size:9vw}
 .price-apply-card p{font-size:12px}
 .price-apply-need{padding:17px;font-size:11px;line-height:1.7}
 .price-apply-need b{display:block}
}

/* Canonical price hero sizing. Keep all final card dimensions in this block. */
.price-impact{min-height:clamp(620px,calc(100svh - 84px),760px);padding-top:clamp(42px,5vw,70px);padding-bottom:clamp(42px,5vw,70px);grid-template-rows:auto 1fr auto;gap:18px}
.price-impact h1{max-width:1120px;justify-self:center;gap:clamp(42px,5vw,68px);align-self:center}
.price-impact h1 span{width:max-content;max-width:100%;min-height:clamp(190px,17vw,245px);padding:clamp(22px,2.3vw,32px);justify-content:center;gap:clamp(14px,1.5vw,22px);border-radius:clamp(18px,2vw,28px)}
.price-impact h1 span:before{content:none!important;display:none!important}
.price-impact h1 span>small{font:900 clamp(18px,2vw,28px)/1.1 "Yu Gothic",sans-serif;letter-spacing:.04em}
.price-impact h1 span>strong{white-space:nowrap;font:900 clamp(62px,6.4vw,96px)/.8 Arial,sans-serif;letter-spacing:-.085em}
.price-impact h1 span>strong em{margin-left:.32em;font:900 .24em/1 "Yu Gothic",sans-serif;letter-spacing:0;font-style:normal;vertical-align:.18em}
.price-impact h1 span:first-child{animation:priceCardInLeft .75s cubic-bezier(.2,.8,.2,1) both,priceFloatLeft 5.8s 1.1s ease-in-out infinite}
.price-impact h1 span:first-child{justify-self:end}
.price-impact h1 span:last-child{justify-self:start;animation:priceCardInRight .75s .12s cubic-bezier(.2,.8,.2,1) both,priceFloatRight 6.4s 1.25s ease-in-out infinite}
.price-impact h1:after{animation:pricePlusPop .55s .65s cubic-bezier(.2,1.5,.4,1) both,pricePlusBounce 4.8s 1.4s ease-in-out infinite}
.price-impact>p{display:flex;align-items:center;gap:18px}
.price-impact>p small{padding:6px 9px;border:1px solid;border-radius:999px;font-size:8px;letter-spacing:.12em;background:#fffaf0}
@keyframes priceFloatLeft{0%,100%{translate:0 0;rotate:0deg}50%{translate:0 -5px;rotate:-.45deg}}
@keyframes priceFloatRight{0%,100%{translate:0 0;rotate:0deg}50%{translate:0 5px;rotate:.45deg}}
@keyframes pricePlusBounce{0%,78%,100%{scale:1}84%{scale:1.15}90%{scale:.94}95%{scale:1.05}}

.price-apply-needs{margin-top:70px;padding:28px;display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:12px;color:#fffaf0;background:#211e1a;border:2px solid #211e1a;box-shadow:9px 9px 0 #9ed5e7}
.price-apply-needs>div{padding:15px;display:flex;flex-direction:column;gap:18px;justify-content:center}
.price-apply-needs>div strong{font-size:clamp(20px,2vw,29px);line-height:1.35}
.price-apply-needs>p{min-height:128px;margin:0;padding:20px;display:flex;flex-direction:column;justify-content:space-between;border:2px solid #211e1a;color:#211e1a;background:#dce86a}
.price-apply-needs>p:last-child{background:#efa3b8}
.price-apply-needs span{font:900 10px Arial;letter-spacing:.15em}
.price-apply-needs b{font-size:clamp(17px,1.7vw,24px);line-height:1.3}

@media(max-width:600px){
 .price-impact{min-height:auto;padding:28px 16px 36px;gap:18px}
 .price-impact-intro{margin-bottom:2px}
 .price-impact h1{gap:26px}
 .price-impact h1 span{width:max-content;max-width:calc(100% - 20px);min-height:142px;padding:17px 19px;gap:11px}
 .price-impact h1 span:first-child{align-self:flex-start}
 .price-impact h1 span:last-child{margin-right:8px;align-self:flex-end}
 .price-impact h1 span>small{font-size:15px}
 .price-impact h1 span>strong{font-size:clamp(56px,16.5vw,70px)}
 .price-impact h1:after{width:52px;font-size:30px}
 .price-impact>p{justify-content:space-between;gap:10px;font-size:12px}
 .price-impact-scroll{padding:12px 14px}
 .price-apply-needs{margin-top:44px;padding:13px;grid-template-columns:1fr 1fr;gap:7px;box-shadow:7px 7px 0 #9ed5e7}
 .price-apply-needs>div{grid-column:1/-1;padding:12px 5px;display:grid;grid-template-columns:auto 1fr;align-items:center;gap:12px}
 .price-apply-needs>div strong{font-size:19px}
 .price-apply-needs>p{min-height:116px;padding:13px}
 .price-apply-needs b{font-size:14px}
}

@media(prefers-reduced-motion:reduce){.price-impact h1 span,.price-impact h1:after{animation:none!important}}

/* Motion lab: clearer columns and slightly slower, larger text previews */
.motion-stage.is-fade .motion-fade{animation-duration:1.45s}
.motion-stage.is-letters .motion-letters span{animation-duration:.58s;animation-delay:calc(var(--i)*.07s)}
.motion-stage.is-meet .motion-meet span:first-child{animation-duration:1.2s}
.motion-stage.is-meet .motion-meet span:last-child{animation-duration:1.2s;animation-delay:.18s}
@media(max-width:800px){
 .motion-demo-card:not(:last-child) .motion-stage--text{border-right:2px solid #f5f1ea}
 .motion-fade,.motion-letters,.motion-meet{font-size:16px;transform:scale(1.06)}
 .motion-demo-grid{gap:8px;border:0}
 .motion-demo-card{overflow:hidden;border:1px solid #211e1a!important;box-shadow:4px 4px 0 #211e1a}
 .motion-demo-section:nth-child(1) .motion-demo-card:nth-child(1) .motion-demo-caption,
 .motion-demo-section:nth-child(2) .motion-demo-card:nth-child(2) .motion-demo-caption,
 .motion-demo-section:nth-child(3) .motion-demo-card:nth-child(3) .motion-demo-caption{background:#f7b7c8}
 .motion-demo-section:nth-child(1) .motion-demo-card:nth-child(2) .motion-demo-caption,
 .motion-demo-section:nth-child(2) .motion-demo-card:nth-child(3) .motion-demo-caption,
 .motion-demo-section:nth-child(3) .motion-demo-card:nth-child(1) .motion-demo-caption{background:#9ed5e7}
 .motion-demo-section:nth-child(1) .motion-demo-card:nth-child(3) .motion-demo-caption,
 .motion-demo-section:nth-child(2) .motion-demo-card:nth-child(1) .motion-demo-caption,
 .motion-demo-section:nth-child(3) .motion-demo-card:nth-child(2) .motion-demo-caption{background:#dce86a}
 .motion-demo-caption button{border:2px solid #211e1a;background:#fffaf0;box-shadow:0 4px 0 #211e1a;font-weight:900}
 .motion-demo-caption button:active{transform:translateY(4px);box-shadow:0 0 0 #211e1a}
}

/* Look lab mobile: preview above, thumb controls below, both visible together */
@media(max-width:800px){
 .lab-page--looks .lab-hero h1{font-size:16vw;line-height:.92;letter-spacing:-.09em;white-space:nowrap}
 .lab-page--looks .lab-hero p{max-width:31em;margin-top:20px;font-size:13px;line-height:1.75}
 .palette-lab,.finish-lab{padding:62px 16px}
 .palette-lab>header,.finish-lab>header{gap:10px}
 .palette-lab h2,.finish-lab h2{font-size:11vw}
 .palette-lab>header p,.finish-lab>header p{margin:4px 0;font-size:11px;line-height:1.5}
 .palette-workbench{min-height:0;margin-top:28px;display:grid;grid-template-columns:1fr;grid-template-rows:240px auto;border:0;gap:8px}
 .mini-site{grid-row:1;min-height:0;height:240px;grid-template-columns:72% 28%;grid-template-rows:42px 1fr;border:1px solid;box-shadow:4px 4px 0 #211e1a}
 .mini-site nav{grid-column:1/3;padding:0 14px}
 .mini-site nav b{font-size:14px}
 .mini-site main{padding:16px;justify-content:center}
 .mini-site main small{font-size:7px}
 .mini-site h3{margin:8px 0;font-size:25px}
 .mini-site main p{display:none}
 .mini-site main button{margin-top:5px;padding:8px 10px;font-size:9px}
 .mini-site aside{padding:10px;align-items:flex-end;writing-mode:vertical-rl;font-size:17px}
 .palette-options{grid-row:2;padding:0;background:transparent}
 .palette-options button{min-height:54px;padding:6px;grid-template-columns:60px 1fr;border:1px solid #211e1a;background:#fffaf0}
 .palette-options button:nth-child(5){min-height:48px}
 .palette-options button i{width:12px;height:25px}
 .palette-options button b{font-size:12px}
 .palette-options button small{font-size:7px}
 .palette-options button.is-active{background:#efa3b8;box-shadow:inset 0 0 0 2px #211e1a}
 .finish-showcase{margin-top:28px;display:grid;grid-template-columns:1fr;grid-template-rows:205px auto;gap:8px}
 .finish-orb{grid-row:1;width:190px;margin:auto;box-shadow:0 16px 35px #0008}
 .finish-options{grid-row:2;grid-template-columns:repeat(2,minmax(0,1fr));border:1px solid #fff7}
 .finish-options button{min-height:57px;padding:6px 8px;gap:7px}
 .finish-swatch{width:30px;height:30px;flex-basis:30px}
 .finish-options span b{font-size:11px}
 .finish-options span small{font-size:7px}
 .finish-options button.is-active{background:#efa3b82b;box-shadow:inset 4px 0 #efa3b8}
}

/* Motion lab hero: large, smooth first impression */
.lab-page--motion .lab-hero h1{transform-origin:left center;animation:motionHeroEnter 1.65s cubic-bezier(.16,1,.3,1) both,motionHeroFloat 6s 1.65s ease-in-out infinite}
.lab-page--motion .lab-hero:before{right:-10vw;bottom:-8vw;font-size:clamp(210px,32vw,520px);animation:motionHeroWord 8s cubic-bezier(.45,0,.2,1) infinite}
@keyframes motionHeroEnter{0%{opacity:0;filter:blur(18px);transform:translate3d(-12vw,55px,0) scale(.58)}65%{opacity:1;filter:blur(0);transform:translate3d(1.5vw,-4px,0) scale(1.045)}100%{opacity:1;filter:blur(0);transform:none}}
@keyframes motionHeroFloat{0%,100%{transform:translate3d(0,0,0) scale(1)}50%{transform:translate3d(1.5vw,-8px,0) scale(1.035)}}
@keyframes motionHeroWord{0%,100%{transform:translate3d(8vw,3vw,0) rotate(-5deg) scale(.92)}50%{transform:translate3d(-8vw,-2vw,0) rotate(3deg) scale(1.12)}}
@media(max-width:800px){
 .lab-page--motion .lab-hero{min-height:560px}
 .lab-page--motion .lab-hero h1{font-size:21vw;letter-spacing:-.11em}
 .lab-page--motion .lab-hero:before{right:-24vw;bottom:-5vw;font-size:55vw}
}

/* Unified responsive typography: phone / tablet / desktop */
:root{
 --type-page-title:clamp(82px,7vw,118px);
 --type-section-title:clamp(56px,6.5vw,88px);
 --type-card-title:clamp(24px,2.2vw,30px);
 --type-lead:17px;
 --type-body:15px;
 --type-card:14px;
 --type-note:12px;
 --leading-page-title:.95;
 --leading-section-title:1;
 --leading-card-title:1.25;
 --leading-lead:2;
 --leading-body:1.9;
 --leading-card:1.8;
 --leading-note:1.65;
 --tracking-page-title:-.07em;
 --tracking-section-title:-.055em;
 --tracking-card-title:-.025em;
}

/* Page titles */
.ex-words h1,
.works-hero h1,
.info-hero h1,
.service-opening h1,
.price-guide-hero h1,
.faq-new-hero h1,
.contact-play-intro h1,
.mii-about-hero h1{
 font-size:var(--type-page-title);
 font-weight:800;
 line-height:var(--leading-page-title);
 letter-spacing:var(--tracking-page-title);
}

/* Section titles */
.guide-next h2,
.service-simple h2,
.service-can h2,
.service-delegate h2,
.service-cannot h2,
.service-why h2,
.service-result h2,
.service-close h2,
.service-capabilities h2,
.price-guide-included h2,
.price-guide-monthly h2,
.price-guide-separate h2,
.price-photo-note h2,
.price-guide-cancel h2,
.price-guide-summary h2,
.faq-group h2,
.faq-domain h2,
.faq-closing h2,
.contact-seeds h2,
.contact-one-line h2,
.contact-reply h2,
.contact-final h2,
.mii-about-story h2,
.mii-about-character h2,
.mii-about-human h2,
.mii-about-gallery-link h2{
 font-size:var(--type-section-title);
 font-weight:800;
 line-height:var(--leading-section-title);
 letter-spacing:var(--tracking-section-title);
}

/* Card and accordion titles */
.guide-cards h2,
.info-body h2,
.service-can article h3,
.service-capabilities summary h3,
.price-accordion summary h3,
.price-set-item h3,
.mii-timeline h3,
.mii-about-character h3{
 font-size:var(--type-card-title);
 font-weight:700;
 line-height:var(--leading-card-title);
 letter-spacing:var(--tracking-card-title);
}
.work-tile h2,
.faq-answer h3{
 font-weight:700;
 line-height:1.1;
 letter-spacing:var(--tracking-section-title);
}

/* Copy roles */
.works-hero p,
.info-hero p,
.service-opening p,
.price-guide-hero p,
.faq-new-hero p,
.contact-play-intro p,
.mii-about-hero p{
 font-size:var(--type-lead);
 line-height:var(--leading-lead);
}
.info-body p,.info-body li,
.service-simple p,.service-delegate p,.service-why p,.service-close p,
.price-photo-note p,.price-guide-cancel p,.price-guide-summary p,
.faq-answer p,.faq-closing p,
.contact-reply p,
.mii-about-human p{
 font-size:var(--type-body);
 line-height:var(--leading-body);
}
.guide-cards p,.work-tile p,
.service-can article p,.service-capability-items p,
.price-set-item p,.price-accordion summary p,
.faq-domain-facts p,
.mii-timeline p,.mii-about-character p{
 font-size:var(--type-card);
 line-height:var(--leading-card);
}
.service-capabilities summary p,
.info-body aside p,
.faq-domain-note{
 font-size:var(--type-note);
 line-height:var(--leading-note);
}

/* Tablet: a distinct middle range instead of inheriting phone or desktop type */
@media(min-width:768px) and (max-width:1023px){
 :root{
  --type-page-title:clamp(68px,9vw,88px);
  --type-section-title:clamp(48px,7vw,70px);
  --type-card-title:clamp(22px,3vw,27px);
  --type-lead:16px;
  --type-body:15px;
  --type-card:14px;
  --type-note:12px;
 }
 .site-header{height:72px;padding:0 3vw;grid-template-columns:1fr auto;background:#fffaf0a8;backdrop-filter:blur(18px) saturate(1.15);-webkit-backdrop-filter:blur(18px) saturate(1.15)}
 .site-menu-toggle{display:none}
 .site-header nav{position:static;padding:0;display:flex;flex-direction:row;align-items:center;gap:clamp(10px,1.7vw,18px);background:transparent;border:0;box-shadow:none;backdrop-filter:none;opacity:1;visibility:visible;transform:none}
 .site-header nav>a,.site-header nav>button{padding:8px 0;text-align:center;font-size:12px}
 .site-header .site-line{min-width:116px;margin:0;padding:8px 12px 9px}
 .ex>.site-header+.ex-stage{height:calc(100svh - 72px)}
 .ex-words{width:82vw;top:calc(50% - 12px)}
 .ex-words h1{font-size:clamp(68px,9vw,88px)}
 .ex-node--tl{width:215px;height:215px;left:0;top:1%}
 .ex-node--tr{width:225px;height:215px;right:0;top:1%}
 .ex-node--bl{width:215px;height:190px;left:1%;bottom:1%}
 .ex-node--br{width:172px;height:172px;right:1%;bottom:1%}
 .ex-price-cat{width:134px;height:134px;right:0;top:43%}
 .ex-node span,.ex-price-cat span{display:block}
}

/* Phone */
@media(max-width:767px){
 :root{
  --type-page-title:clamp(48px,13vw,64px);
  --type-section-title:clamp(38px,11vw,54px);
  --type-card-title:clamp(20px,6vw,24px);
  --type-lead:15px;
  --type-body:14px;
  --type-card:13px;
  --type-note:11px;
 }
 .ex-words h1{font-size:clamp(48px,13vw,64px)}
 .service-capabilities summary p,
 .service-capability-items p,
 .price-accordion summary p{
  font-size:12px;
  line-height:1.65;
 }
 .price-accordion summary>div{min-width:0}
 .price-accordion-items{grid-template-columns:1fr}
 .price-accordion-items article{width:100%;min-width:0}
 .price-accordion-items strong{min-width:0;overflow-wrap:anywhere}
 .faq-domain-example p span{font-size:11px;line-height:1.6}
}

/* Application — independent, formal signup flow */
.apply-page{min-height:100vh;background:#f4f1e9;color:#19222b;font-family:var(--font-sans,"Noto Sans JP",sans-serif)}
.apply-header{height:78px;padding:0 clamp(20px,5vw,72px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #19222b22;background:#fbfaf6}
.apply-header img{display:block;width:min(220px,52vw);height:auto}
.apply-header>span{font-size:11px;font-weight:800;letter-spacing:.18em;color:#66717b}
.apply-hero{padding:clamp(64px,9vw,118px) clamp(20px,8vw,120px) clamp(58px,8vw,96px);background:#19222b;color:#fff;position:relative;overflow:hidden}
.apply-hero:after{content:"";position:absolute;width:360px;height:360px;border:70px solid #dce96a;border-radius:50%;right:-150px;top:-190px;opacity:.9}
.apply-hero>*{position:relative;z-index:1}
.apply-hero>small,.apply-step header small,.apply-submit small,.apply-complete>small{display:block;font-size:11px;font-weight:800;letter-spacing:.18em;color:#a9b7c2}
.apply-hero h1{margin:18px 0 20px;font-size:clamp(42px,6.5vw,82px);line-height:1.12;letter-spacing:-.055em}
.apply-hero p{margin:0;font-size:clamp(14px,1.5vw,17px);line-height:2;color:#d7dde1}
.apply-hero>b{display:block;max-width:620px;margin-top:26px;padding:8px 0 8px 13px;border:0;border-left:3px solid #dce96a;color:#dce96a;font-size:12px;line-height:1.7;letter-spacing:.03em}
.apply-form{width:min(1120px,calc(100% - 40px));margin:0 auto;padding:clamp(54px,8vw,100px) 0}
.apply-honeypot{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important}
.apply-step{padding:clamp(28px,5vw,60px);margin-bottom:22px;border:1px solid #cad0d3;background:#fbfaf6;box-shadow:0 8px 28px #17212b0b}
.apply-step>header{display:flex;align-items:center;gap:18px;margin-bottom:clamp(28px,4vw,46px)}
.apply-step>header>span{width:48px;height:48px;display:grid;place-items:center;flex:none;border-radius:50%;background:#19222b;color:#fff;font-weight:800;font-size:13px}
.apply-step header small{color:#71808b}
.apply-step h2{margin:5px 0 0;font-size:clamp(25px,3vw,36px);line-height:1.25;letter-spacing:-.035em}
.apply-price-pair{display:grid;grid-template-columns:1fr 42px 1fr;align-items:center;gap:14px}
.apply-price-pair article{padding:clamp(24px,4vw,42px);border:1px solid #d8ddca;border-radius:14px;background:#f1f3ce;box-shadow:0 10px 26px #17212b10}
.apply-price-pair article:last-child{border-color:#d3dde2;background:#e8f0f4}
.apply-price-pair small,.apply-price-pair b{display:block}
.apply-price-pair small{font-size:12px;color:#5a6670;margin-bottom:10px}
.apply-price-pair b{font-size:17px;margin-bottom:12px}
.apply-price-pair strong{font-size:clamp(43px,7vw,76px);line-height:1;letter-spacing:-.06em;white-space:nowrap}
.apply-price-pair em{margin-left:8px;font-size:18px;font-style:normal;letter-spacing:0}
.apply-price-pair>i{width:42px;height:42px;display:grid;place-items:center;border:1px solid #bcc5ca;border-radius:50%;background:#fbfaf6;color:#66747e;font-size:23px;font-style:normal;font-weight:400}
.apply-note{margin:18px 0 0;font-size:13px;line-height:1.8;color:#596771}
.apply-step-lead{max-width:760px;margin:-10px 0 28px;font-size:14px;line-height:1.9;color:#53616c}
.apply-paths{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.apply-paths label{display:flex;flex-direction:column;min-height:290px;padding:28px;border:2px solid #cbd1d4;background:#fff;cursor:pointer;transition:border-color .2s,box-shadow .2s,transform .2s}
.apply-paths label:hover{transform:translateY(-2px);box-shadow:0 12px 28px #17212b12}
.apply-paths label.is-selected{border-color:#19222b;box-shadow:inset 0 5px 0 #dce96a}
.apply-paths input{position:absolute;opacity:0;pointer-events:none}
.apply-paths label>span{align-self:flex-start;padding:7px 10px;border-radius:3px;background:#e8ebed;font-size:11px;font-weight:800;letter-spacing:.06em}
.apply-paths .is-selected>span{background:#dce96a}
.apply-paths h3{margin:24px 0 12px;font-size:clamp(20px,2.2vw,27px);line-height:1.35}
.apply-paths p{margin:0 0 24px;font-size:13px;line-height:1.85;color:#53616c}
.apply-paths label>b{margin-top:auto;display:flex;justify-content:space-between;padding-top:18px;border-top:1px solid #d8dcde;font-size:13px}
.apply-paths label>b i{display:none;font-style:normal}.apply-paths .is-selected>b i{display:inline}
.apply-flow{margin-top:20px;padding:24px 28px;background:#19222b;color:#fff}
.apply-flow>small{font-size:10px;font-weight:800;letter-spacing:.16em;color:#a9b7c2}
.apply-flow ol{display:flex;align-items:center;gap:0;margin:18px 0 0;padding:0;list-style:none}
.apply-flow li{display:flex;align-items:center;gap:9px;flex:1;font-size:12px;font-weight:700}
.apply-flow li:not(:last-child):after{content:"→";margin-left:auto;padding-right:14px;color:#82909b}
.apply-flow li span{width:25px;height:25px;display:grid;place-items:center;border:1px solid #dce96a;border-radius:50%;color:#dce96a;font-size:10px}
.apply-fields{display:grid;gap:26px;max-width:780px}
.apply-fields label>span{display:block;margin-bottom:10px;font-size:14px;font-weight:800}
.apply-fields label>span b{margin-left:8px;padding:3px 7px;border-radius:2px;background:#19222b;color:#fff;font-size:9px}
.apply-fields input{width:100%;height:56px;padding:0 16px;border:1px solid #adb6bc;border-radius:3px;background:#fff;color:#19222b;font:inherit;font-size:16px;outline:none}
.apply-fields input:focus{border-color:#19222b;box-shadow:0 0 0 3px #dce96a88}
.apply-fields label>small{display:block;margin-top:8px;color:#687680;font-size:11px;line-height:1.6}
.apply-agreement-summary{border-top:1px solid #cbd1d4}
.apply-agreement-summary p{display:grid;grid-template-columns:180px 1fr;gap:20px;margin:0;padding:17px 0;border-bottom:1px solid #cbd1d4;font-size:13px;line-height:1.6}
.apply-agreement-summary span{color:#64727c}.apply-agreement-summary b{font-weight:700}
.apply-terms-button{width:100%;margin-top:24px;padding:18px 20px;display:flex;justify-content:space-between;border:1px solid #19222b;background:#fff;color:#19222b;font:inherit;font-size:13px;font-weight:800;cursor:pointer}
.apply-terms{padding:26px;border:1px solid #cbd1d4;border-top:0;background:#f1f2ed}
.apply-terms h3{margin:0 0 14px;font-size:16px}.apply-terms ul{margin:0 0 18px;padding-left:20px}.apply-terms li{margin:6px 0;font-size:12px;line-height:1.75}.apply-terms a{color:#19222b;font-size:12px;font-weight:800;text-underline-offset:4px}
.apply-consent{display:flex;align-items:flex-start;gap:14px;margin-top:24px;padding:22px;border:1px solid #19222b;background:#fff;cursor:pointer}
.apply-consent input{width:20px;height:20px;flex:none;margin:1px 0 0;accent-color:#19222b}.apply-consent span{font-size:13px;font-weight:700;line-height:1.75}
.apply-submit{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:clamp(28px,5vw,54px);background:#19222b;color:#fff}
.apply-submit h2{margin:7px 0 8px;font-size:clamp(22px,3vw,34px)}.apply-submit p{margin:0;color:#b8c1c8;font-size:12px;line-height:1.7}
.apply-submit button{min-width:290px;padding:20px 24px;display:flex;justify-content:space-between;border:0;border-radius:3px;background:#dce96a;color:#19222b;font:inherit;font-size:13px;font-weight:900;cursor:pointer}
.apply-submit button:disabled{background:#66727b;color:#aeb7bd;cursor:not-allowed}
.apply-submit-error{flex-basis:100%;margin:0!important;padding:12px 14px;border:1px solid #e1b9a9;background:#fff4ef;color:#783d2a!important;font-weight:700}
.apply-complete{width:min(760px,calc(100% - 40px));margin:0 auto 90px;padding:clamp(30px,6vw,58px);border:1px solid #19222b;background:#fbfaf6;text-align:center;box-shadow:10px 10px 0 #dce96a}
.apply-complete>small{color:#61707b}.apply-complete h2{margin:12px 0;font-size:clamp(26px,4vw,40px)}.apply-complete>p{font-size:13px;line-height:1.8;color:#596771}
.apply-complete dl{margin:28px 0;text-align:left;border-top:1px solid #cbd1d4}.apply-complete dl div{display:grid;grid-template-columns:130px 1fr;padding:13px 0;border-bottom:1px solid #cbd1d4;font-size:12px}.apply-complete dt{color:#687680}.apply-complete dd{margin:0;font-weight:800}
.apply-complete button{padding:13px 24px;border:1px solid #19222b;background:#fff;font:inherit;font-size:12px;font-weight:800;cursor:pointer}
.apply-payment-actions{margin:28px 0;padding:24px;background:#f3e8cc;text-align:left}.apply-payment-actions h3{margin:0 0 14px;font-size:15px}.apply-payment-actions a{display:flex;align-items:center;gap:10px;margin-top:10px;padding:15px 18px;border-radius:6px;background:#e4b85d;color:#3f342b;font-size:13px;font-weight:900;text-decoration:none}.apply-payment-actions a span{width:24px;height:24px;display:grid;place-items:center;border-radius:50%;background:#49382e;color:#fff;font-size:10px}.apply-payment-actions p{margin:8px 0;font-size:12px;color:#7b6c60}
.apply-payment-actions .apply-payment-caution{margin-top:10px;padding:12px 14px;border-left:4px solid #c98f45;background:#fff8e9;color:#5b4637;line-height:1.75}
.apply-footer{padding:48px 40px;text-align:center;background:#0f171e;color:#aeb8bf}.apply-footer img{width:190px;height:auto;filter:brightness(0) invert(1);opacity:.9}.apply-footer p{margin:20px auto;max-width:600px;font-size:11px;line-height:1.9}.apply-footer small{display:block;margin-top:18px;font-size:9px;letter-spacing:.16em}

@media(max-width:767px){
 .apply-header{height:64px}.apply-header>span{font-size:8px;letter-spacing:.12em}
 .apply-hero{padding-top:58px}.apply-hero:after{width:230px;height:230px;border-width:44px;right:-110px;top:-130px}
 .apply-hero h1{font-size:42px}.apply-hero p br{display:none}
 .apply-form{width:calc(100% - 24px);padding:42px 0 62px}
 .apply-step{padding:24px 18px;margin-bottom:14px}.apply-step>header{gap:12px;margin-bottom:26px}.apply-step>header>span{width:38px;height:38px;font-size:11px}.apply-step h2{font-size:24px}
 .apply-price-pair{grid-template-columns:minmax(0,1fr) 24px minmax(0,1fr);gap:5px}.apply-price-pair article{min-width:0;padding:20px 8px;border-radius:10px}.apply-price-pair small{font-size:10px}.apply-price-pair b{font-size:14px}.apply-price-pair strong{display:flex;align-items:baseline;gap:5px;min-width:0;font-size:clamp(30px,8.7vw,38px);letter-spacing:-.06em}.apply-price-pair em{flex:none;margin-left:0;font-size:12px;letter-spacing:0}.apply-price-pair>i{width:24px;height:24px;border:0;background:transparent;font-size:20px}
 .apply-paths{grid-template-columns:1fr}.apply-paths label{min-height:250px;padding:22px}.apply-paths h3{font-size:21px}
 .apply-flow{padding:22px}.apply-flow ol{display:grid;gap:13px}.apply-flow li:not(:last-child):after{content:"↓";padding:0;margin-left:auto}
 .apply-agreement-summary p{grid-template-columns:1fr;gap:5px}.apply-agreement-summary span{font-size:11px}
 .apply-consent{padding:18px 15px}.apply-consent span{font-size:12px}
 .apply-submit{display:block;padding:28px 20px}.apply-submit button{min-width:0;width:100%;margin-top:24px}
 .apply-complete dl div{grid-template-columns:1fr;gap:4px}.apply-footer{padding:40px 20px}
}

/* Application — calm natural contract theme */
.apply-page{background:#f3ede2;color:#49382e}
.apply-header{border-bottom-color:#6a514024;background:#fcf8f0}
.apply-header>span{color:#806f62}
.apply-hero{background:linear-gradient(118deg,#3e2d25 0%,#513a2e 56%,#624737 100%)}
.apply-hero:before{content:"";position:absolute;inset:0;background:repeating-radial-gradient(ellipse at 12% 160%,transparent 0 34px,#f7e7d208 35px 37px,transparent 38px 57px),repeating-linear-gradient(4deg,transparent 0 29px,#fff7ea08 30px 31px,transparent 32px 64px);mix-blend-mode:screen;opacity:.8}
.apply-hero:after{border-color:#d3a34f;opacity:.92}
.apply-hero>small,.apply-step header small,.apply-submit small,.apply-complete>small{color:#c7b9ad}
.apply-hero p{color:#eadfd5}
.apply-hero>b{border-color:#e4b85d;color:#f2ce82;background:transparent}
.apply-step{border-color:#d8ccbd;background:#fcf8f0;box-shadow:0 10px 30px #59402f0b}
.apply-step>header>span{background:#513a2e}
.apply-step header small{color:#907b6b}
.apply-price-pair article{border-color:#e3d0ab;background:#f3e8cc;box-shadow:0 10px 26px #59402f0d}
.apply-price-pair article:last-child{border-color:#ddc8ae;background:#e8d8c2}
.apply-price-pair small,.apply-note,.apply-step-lead,.apply-paths p{color:#74665b}
.apply-price-pair>i{border-color:#cdbfae;background:#fcf8f0;color:#8b7768}
.apply-paths label{border-color:#d8ccbd;background:#fffdf8}
.apply-paths label:hover{box-shadow:0 12px 28px #59402f14}
.apply-paths label.is-selected{border-color:#8a6038;box-shadow:inset 0 5px 0 #e4b85d}
.apply-paths label>span{background:#ebe5dc}
.apply-paths .is-selected>span{background:#f3d89b}
.apply-paths label>b{border-top-color:#ded4c7}
.apply-flow{background:linear-gradient(110deg,#49342a,#5d4435)}
.apply-flow>small{color:#cbbdb2}
.apply-flow li:not(:last-child):after{color:#b9a89a}
.apply-flow li span{border-color:#e4b85d;color:#f3ce81}
.apply-fields label>span b{background:#5a4234}
.apply-fields input{border-color:#c9baaa;background:#fffdf8;color:#49382e}
.apply-fields input:focus{border-color:#9a6d3d;box-shadow:0 0 0 3px #e4b85d66}
.apply-fields label>small,.apply-agreement-summary span{color:#7b6c60}
.apply-agreement-summary,.apply-agreement-summary p{border-color:#d8ccbd}
.apply-terms-button{border-color:#6d5545;background:#fffdf8;color:#49382e}
.apply-terms{border-color:#d8ccbd;background:#f2ede4}
.apply-terms a{color:#49382e}
.apply-terms-full-button{padding:0;border:0;background:transparent;color:#49382e;font:inherit;font-size:12px;font-weight:800;text-decoration:underline;text-underline-offset:4px;cursor:pointer}
.apply-terms-dialog{position:fixed;z-index:1000;inset:0;display:grid;grid-template-rows:auto 1fr auto;background:#f3ede2;color:#49382e}
.apply-terms-dialog>header{min-height:76px;padding:13px clamp(18px,5vw,54px);display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid #d8ccbd;background:#fcf8f0;box-shadow:0 4px 18px #49382e12}
.apply-terms-dialog>header small{display:block;color:#907b6b;font-size:9px;font-weight:800;letter-spacing:.16em}
.apply-terms-dialog>header h2{margin:4px 0 0;font-size:clamp(18px,3vw,27px)}
.apply-terms-dialog>header>button{width:44px;height:44px;flex:none;border:1px solid #6d5545;border-radius:50%;background:#fffdf8;color:#49382e;font-size:25px;line-height:1;cursor:pointer}
.apply-terms-document{overflow:auto;padding:clamp(28px,5vw,64px) clamp(20px,7vw,96px) 70px;background:#f4f2ed;overscroll-behavior:contain}
.apply-terms-document-lead{max-width:760px;margin:0 auto clamp(34px,6vw,68px);font-size:14px;line-height:2;color:#74665b}
.apply-terms-document>article{max-width:920px;margin:0 auto;padding:clamp(30px,5vw,54px) 0;display:grid;grid-template-columns:70px 1fr;gap:22px;border-top:1px solid #8b7768}
.apply-terms-document>article>span{padding-top:5px;font:900 10px Arial;letter-spacing:.16em}
.apply-terms-document h3{margin:0 0 20px;font-size:clamp(22px,3vw,34px);letter-spacing:-.035em}
.apply-terms-document article p,.apply-terms-document article li{font-size:14px;line-height:2}
.apply-terms-document article p{margin:0 0 18px}.apply-terms-document article p:last-child{margin-bottom:0}
.apply-terms-document article ul{margin:0;padding-left:1.3em}
.apply-terms-dialog>footer{padding:12px clamp(16px,5vw,54px);border-top:1px solid #d8ccbd;background:#fcf8f0;box-shadow:0 -4px 18px #49382e12}
.apply-terms-dialog>footer button{width:100%;padding:16px 18px;border:0;border-radius:8px;background:#e4b85d;color:#49382e;font:inherit;font-size:13px;font-weight:900;cursor:pointer}
@media(max-width:767px){.apply-terms-dialog>header{min-height:68px;padding:10px 14px}.apply-terms-dialog>header h2{font-size:17px}.apply-terms-dialog>header>button{width:42px;height:42px}.apply-terms-document{padding:30px 20px 56px}.apply-terms-document-lead{font-size:13px}.apply-terms-document>article{grid-template-columns:1fr;gap:12px;padding:34px 0}.apply-terms-document h3{font-size:23px}.apply-terms-document article p,.apply-terms-document article li{font-size:13px;line-height:1.95}.apply-terms-dialog>footer{padding:10px 12px}.apply-terms-dialog>footer button{padding:14px 12px}}
.apply-consent{border-color:#6d5545;background:#fffdf8}
.apply-consent input{accent-color:#6d5545}
.apply-submit{position:relative;overflow:hidden;flex-wrap:wrap;background:linear-gradient(112deg,#463229,#5d4334);color:#fff}
.apply-submit:before{content:"";position:absolute;inset:0;background:repeating-radial-gradient(ellipse at 8% 170%,transparent 0 42px,#fff7e908 43px 45px,transparent 46px 70px);pointer-events:none}
.apply-submit>*{position:relative;z-index:1}
.apply-submit p{color:#d9cdc3}
.apply-submit button{border-radius:8px;background:#e4b85d;color:#3f342b;box-shadow:0 7px 18px #24170f3d;transition:background .2s,transform .2s,box-shadow .2s}
.apply-submit button:not(:disabled):hover{background:#f0c978;transform:translateY(-2px);box-shadow:0 10px 24px #24170f4d}
.apply-submit button:not(:disabled):hover span{transform:translateX(4px)}
.apply-submit button span{transition:transform .2s}
.apply-submit button:disabled{background:#80746a;color:#c8c0b9;box-shadow:none}
.apply-complete{border-color:#6d5545;background:#fcf8f0;box-shadow:10px 10px 0 #e4b85d}
.apply-complete>small,.apply-complete>p,.apply-complete dt{color:#7b6c60}
.apply-complete dl,.apply-complete dl div{border-color:#d8ccbd}
.apply-complete button{border-color:#6d5545;background:#fffdf8;color:#49382e}
.apply-footer{background:#35261f;color:#cbbdb2}
.apply-redirect{min-height:100vh}.apply-redirect .apply-complete{margin-top:90px}.apply-redirect .apply-complete a{display:inline-block;margin-top:20px;padding:15px 20px;border-radius:6px;background:#e4b85d;font-size:13px;font-weight:900}
/* 2026-08-18 usability and tablet pass */
.info-hero>b{margin-top:18px;font-size:12px;font-weight:700;color:#665f57}.info-index{padding:28px 8vw;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;background:#211e1a}.info-index a{min-height:58px;padding:12px 14px;display:flex;align-items:center;gap:10px;border:1px solid #ffffff45;color:#f4f2ed;font-size:12px;line-height:1.35}.info-index a span{font:800 9px Arial;color:#dce86a}.info-body>article{scroll-margin-top:80px}
.demo-guide{position:fixed;z-index:1000;right:18px;bottom:18px;display:flex;align-items:center;gap:10px}.demo-guide>span{padding:10px 13px;border:1px solid;border-radius:99px;font:800 10px/1.2 sans-serif;backdrop-filter:blur(10px)}.demo-guide--dark>span{color:#eee;background:#111d}.demo-guide--light>span{color:#222;background:#fffd}.demo-guide .demo-exit{position:static}.mii-gallery-copy-touch{display:none}
@media(max-width:800px){
 .faq-jump small,.faq-jump span,.faq-domain-jump span{font-size:11px}.faq-jump{grid-template-columns:1fr}.faq-jump>a{min-height:82px}.faq-jump b{font-size:18px}.faq-question-grid button small{font-size:11px}.faq-domain-example p span{font-size:11px}.faq-domain-facts p{font-size:12px}
 .service-capabilities summary p,.service-capability-items p{font-size:12px}.service-capabilities--cannot .service-capability-items h4{font-size:13px}
 .site-footer nav a{font-size:12px}
 .info-hero>b{font-size:11px}.info-index{padding:18px 24px;grid-template-columns:1fr}.info-index a{font-size:13px}
 .demo-guide{left:10px;right:10px;bottom:10px;justify-content:flex-end}.demo-guide>span{max-width:190px;border-radius:12px;font-size:10px}.demo-guide .demo-exit{white-space:nowrap}
 .mii-gallery-copy-desktop{display:none}.mii-gallery-copy-touch{display:inline}
}
@media(min-width:801px) and (max-width:1100px){
 .guide-cards,.works-list,.works-list--showcase,.lab-entrances{grid-template-columns:repeat(2,minmax(0,1fr))}
 .mii-about-character>div,.price-three,.faq-question-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .price-apply-grid,.service-opening,.service-close,.price-photo-note,.info-body>article{grid-template-columns:1fr}
 .price-apply-card{min-height:430px}.service-capabilities summary{grid-template-columns:55px 1fr auto}.info-index{grid-template-columns:repeat(2,minmax(0,1fr))}
 .faq-jump{padding-inline:4vw}.faq-jump b{font-size:20px}.site-header{padding-inline:24px}.site-header nav{gap:16px}.site-header nav>a{font-size:11px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}.demo *,.mii-page *{scroll-behavior:auto!important}}

/* NNW motion system: lively scroll reveals shared by every public page. */
@keyframes nnwHeroPop{0%{opacity:0;translate:0 34px;scale:.96;filter:blur(8px)}100%{opacity:1;translate:0 0;scale:1;filter:blur(0)}}
@keyframes nnwRevealUp{0%{opacity:0;translate:0 64px;filter:blur(7px)}100%{opacity:1;translate:0 0;filter:blur(0)}}
@keyframes nnwRevealLeft{0%{opacity:0;translate:-70px 24px;rotate:-2deg;filter:blur(7px)}100%{opacity:1;translate:0 0;rotate:0deg;filter:blur(0)}}
@keyframes nnwRevealRight{0%{opacity:0;translate:70px 24px;rotate:2deg;filter:blur(7px)}100%{opacity:1;translate:0 0;rotate:0deg;filter:blur(0)}}
@keyframes nnwPhotoReveal{0%{opacity:0;translate:0 76px;scale:.9;rotate:-3deg;filter:saturate(.65) blur(10px)}100%{opacity:1;translate:0 0;scale:1;rotate:0deg;filter:saturate(1) blur(0)}}
main>section:first-of-type>div,main>section:first-of-type>header,main>section:first-of-type>h1,main>section:first-of-type>p,main>section:first-of-type>a,main>section:first-of-type>img,main>section:first-of-type>figure{animation:nnwHeroPop .8s cubic-bezier(.16,1,.3,1) both}
main>section:first-of-type>h1{animation-delay:.08s}main>section:first-of-type>p{animation-delay:.18s}main>section:first-of-type>a,main>section:first-of-type>figure,main>section:first-of-type>img{animation-delay:.28s}
@supports(animation-timeline:view()){
 main>section:not(:first-of-type)>header,main>section:not(:first-of-type)>h2,main>section:not(:first-of-type)>.section-intro,main>section:not(:first-of-type)>.gallery-heading,main>section:not(:first-of-type)>.spotlight-copy{animation:nnwRevealUp linear both;animation-timeline:view();animation-range:entry 4% cover 30%}
 main>section:not(:first-of-type)>div:not(.mii-track):not(.modal-card),main>section:not(:first-of-type)>nav,main>section:not(:first-of-type)>aside,main>section:not(:first-of-type)>a{animation:nnwRevealUp linear both;animation-timeline:view();animation-range:entry 2% cover 25%}
 main>section article,main>section details{animation:nnwRevealLeft linear both;animation-timeline:view();animation-range:entry 3% cover 24%}
 main>section article:nth-child(even),main>section details:nth-child(even){animation-name:nnwRevealRight}
 main>section:not(:first-of-type)>img,main>section:not(:first-of-type)>figure,main>section:not(:first-of-type) .work-photo,main>section:not(:first-of-type) .spotlight-photo{animation:nnwPhotoReveal linear both;animation-timeline:view();animation-range:entry 3% cover 34%}
}
@media(max-width:800px){
 @keyframes nnwRevealLeft{0%{opacity:0;translate:-28px 30px;filter:blur(5px)}100%{opacity:1;translate:0 0;filter:blur(0)}}
 @keyframes nnwRevealRight{0%{opacity:0;translate:28px 30px;filter:blur(5px)}100%{opacity:1;translate:0 0;filter:blur(0)}}
 @keyframes nnwRevealUp{0%{opacity:0;translate:0 40px;filter:blur(5px)}100%{opacity:1;translate:0 0;filter:blur(0)}}
}
@media(prefers-reduced-motion:reduce){main *,main *:before,main *:after{animation-duration:.01ms!important;animation-iteration-count:1!important;animation-timeline:auto!important;translate:none!important;rotate:none!important;scale:none!important;filter:none!important}}

/* Showcase demos: deliberately stronger, theme-specific motion. */
@keyframes demoTitleRush{0%{opacity:0;translate:-12vw 30px;scale:.82;letter-spacing:.08em;filter:blur(12px)}100%{opacity:1;translate:0 0;scale:1;letter-spacing:inherit;filter:blur(0)}}
@keyframes demoCardKick{0%{opacity:0;translate:0 110px;rotate:-7deg;scale:.82}70%{rotate:2deg;scale:1.03}100%{opacity:1;translate:0 0;rotate:0;scale:1}}
@keyframes demoSweep{0%{translate:-25vw 0;rotate:-18deg;scale:.65;opacity:.15}100%{translate:18vw -7vh;rotate:18deg;scale:1.3;opacity:.9}}
@keyframes demoGlowRun{0%{translate:-40vw 0;scale:.6;opacity:.1;filter:blur(18px)}100%{translate:35vw 0;scale:1.4;opacity:1;filter:blur(0)}}
@keyframes demoMoonDrift{0%{translate:14vw 18vh;scale:.65;opacity:.25}100%{translate:-8vw -10vh;scale:1.28;opacity:1}}
.demo-salon .salon-hero h1,.demo-handmade .hm-hero h1,.demo-car .car-hero h1,.demo-ryotei .ryotei-hero h1{animation:demoTitleRush .95s cubic-bezier(.16,1,.3,1) both}
.demo-salon .salon-hero figure{animation:demoCardKick 1.05s .16s cubic-bezier(.16,1,.3,1) both}.demo-handmade .hm-flower{animation:hmSpin 18s linear infinite,demoSweep 1.2s cubic-bezier(.16,1,.3,1) both}.demo-car .car-lines{animation:demoGlowRun 1.4s cubic-bezier(.16,1,.3,1) both}.demo-ryotei .ryotei-moon{animation:demoMoonDrift 1.5s cubic-bezier(.16,1,.3,1) both}
@supports(animation-timeline:view()){
 .demo-salon .salon-concept>*{animation:nnwRevealLeft linear both;animation-timeline:view();animation-range:entry 2% cover 34%}.demo-salon .salon-concept>*:nth-child(even){animation-name:nnwRevealRight}.demo-salon .salon-menu article{animation:demoCardKick linear both;animation-timeline:view();animation-range:entry 2% cover 28%}
 .demo-handmade .hm-items article{animation:demoCardKick linear both;animation-timeline:view();animation-range:entry 2% cover 28%}.demo-handmade .hm-items article:nth-child(even){animation-name:nnwRevealRight}.demo-handmade .hm-story>span{animation:hmSpin 12s linear infinite,nnwPhotoReveal linear both;animation-timeline:auto,view();animation-range:normal,entry 2% cover 34%}
 .demo-car .car-philosophy>*{animation:nnwRevealUp linear both;animation-timeline:view();animation-range:entry 2% cover 30%}.demo-car .car-model>*{animation:demoGlowRun linear both;animation-timeline:view();animation-range:entry 1% cover 40%}.demo-car .car-contact>*{animation:nnwRevealRight linear both;animation-timeline:view();animation-range:entry 2% cover 32%}
 .demo-ryotei .ryotei-intro>*{animation:nnwRevealUp linear both;animation-timeline:view();animation-range:entry 2% cover 32%}.demo-ryotei .ryotei-season figure{animation:demoMoonDrift linear both;animation-timeline:view();animation-range:entry 1% cover 38%}.demo-ryotei .ryotei-rooms article{animation:demoCardKick linear both;animation-timeline:view();animation-range:entry 2% cover 30%}
}
@supports(animation-timeline:scroll()){
 .demo-salon .salon-hero figure,.demo-handmade .hm-flower,.demo-car .car-lines,.demo-ryotei .ryotei-moon{animation-timeline:scroll(root);animation-range:0 95vh}
}
@media(prefers-reduced-motion:reduce){.demo-salon *,.demo-handmade *,.demo-car *,.demo-ryotei *{animation-duration:.01ms!important;animation-iteration-count:1!important;animation-timeline:auto!important}}

/* Video and scroll-action labs. */
.lab-entrance--video{position:relative;overflow:hidden;color:#fff;background:linear-gradient(135deg,#ef477a,#8d2b91 55%,#30231f)}.lab-entrance--video:before{content:"▶";position:absolute;right:8%;top:10%;font-size:120px;color:#fff2;animation:videoPulse 2s ease-in-out infinite}.lab-entrance--scroll{position:relative;overflow:hidden;background:linear-gradient(160deg,#ffd542 0 42%,#ff9dba 42% 70%,#96d8ff 70%)}.lab-entrance--scroll:after{content:"↓";position:absolute;right:8%;top:-15%;font-size:230px;font-weight:900;color:#211e1a1a;animation:scrollArrow 2.4s ease-in-out infinite}.lab-entrance--video>*,.lab-entrance--scroll>*{position:relative;z-index:1}@keyframes videoPulse{50%{scale:1.18;rotate:7deg;opacity:.65}}@keyframes scrollArrow{50%{translate:0 80px}}
.video-lab,.scroll-lab{min-height:100vh;overflow:hidden;color:#fff;background:#161112}.video-lab>header,.scroll-lab>header{height:76px;padding:0 4vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #fff4;font:900 10px Arial;letter-spacing:.15em}.video-lab-hero,.scroll-lab-hero{min-height:calc(100svh - 76px);padding:10vw 7vw;display:flex;flex-direction:column;justify-content:center;position:relative}.video-lab-hero{background:radial-gradient(circle at 78% 30%,#a43b76,#3b2038 35%,#161112 68%)}.video-lab-hero h1,.scroll-lab-hero h1{margin:24px 0;font-size:clamp(72px,11vw,170px);line-height:.82;letter-spacing:-.09em}.video-lab-hero em{color:#ff9dba;font-style:normal}.video-lab-hero p,.scroll-lab-hero p{font-size:16px;line-height:2}.video-scenes{padding:10vw 6vw;display:grid;gap:18vh}.video-scene{min-height:72vh;display:grid;grid-template-columns:62% 1fr;align-items:center;gap:5vw}.video-scene>div{height:68vh;position:relative;overflow:hidden;border:1px solid #fff4}.video-scene img{width:100%;height:100%;object-fit:cover;animation:videoKenBurns 9s ease-in-out infinite alternate}.video-scene i{position:absolute;inset:0;background:linear-gradient(120deg,transparent,#ff9dba55,transparent);translate:-100% 0;animation:videoLight 4s ease-in-out infinite}.video-scene span{position:absolute;left:18px;bottom:18px;padding:8px 10px;background:#161112cc;font:900 9px Arial;letter-spacing:.15em}.video-scene h2{font-size:clamp(45px,5vw,78px);line-height:1}.video-scene p{line-height:2}.video-scene--cut img{animation-name:videoCut;animation-duration:5s}.video-scene--poster img{animation-name:videoPoster;animation-duration:7s}@keyframes videoKenBurns{to{scale:1.2;translate:-3% -2%}}@keyframes videoLight{50%,100%{translate:130% 0}}@keyframes videoCut{0%,20%{scale:1;filter:hue-rotate(0)}24%,50%{scale:1.17;filter:hue-rotate(22deg)}54%,80%{scale:1.05;translate:4% 0;filter:hue-rotate(-18deg)}84%,100%{scale:1.24;translate:-3% -3%}}@keyframes videoPoster{50%{scale:1.14;rotate:2deg;filter:saturate(1.35)}}.video-lab footer,.scroll-lab footer{min-height:70vh;padding:10vw 7vw;display:flex;flex-direction:column;justify-content:center;background:#ff9dba;color:#211e1a}.video-lab footer h2,.scroll-lab footer h2{font-size:clamp(65px,9vw,130px);line-height:.9}.video-lab footer a,.scroll-lab footer a{align-self:flex-start;margin-top:35px;padding:18px 22px;border:2px solid;box-shadow:6px 6px 0}
.scroll-lab{background:#fff9e9;color:#2d201c}.scroll-lab-hero{background:linear-gradient(140deg,#96d8ff 0 52%,#ffd542 52%)}.scroll-lab-hero em{color:#ef477a;font-style:normal}.scroll-stage{min-height:120vh;padding:10vw 7vw;position:relative;display:flex;align-items:center;justify-content:center}.scroll-stage--one{color:#fff;background:#2d201c}.scroll-stage--one h2{font-size:clamp(70px,10vw,150px);line-height:.85}.scroll-stage--one>span{position:absolute;right:5vw;font:900 14vw Arial;color:#fff1;writing-mode:vertical-rl}.scroll-stage--two{display:grid;grid-template-columns:58% 1fr;gap:6vw;background:#ff9dba}.scroll-stage--two figure{height:76vh;overflow:hidden;margin:0}.scroll-stage--two img{width:100%;height:100%;object-fit:cover}.scroll-stage--two h2{font-size:clamp(50px,6vw,90px);line-height:.95}.scroll-stage--three{min-height:140vh;flex-direction:column;gap:3vh;background:#ffd542}.scroll-stage--three b{font-size:clamp(80px,16vw,240px);line-height:.72;letter-spacing:-.08em}.scroll-stage--three p{max-width:600px;margin-top:80px;font-size:20px;line-height:1.9}@supports(animation-timeline:view()){.scroll-stage--one>div{animation:demoTitleRush linear both;animation-timeline:view();animation-range:entry 0 cover 45%}.scroll-stage--one>span{animation:scrollArrow linear both;animation-timeline:view();animation-range:entry 0 exit 100%}.scroll-stage--two figure{animation:nnwPhotoReveal linear both;animation-timeline:view();animation-range:entry 0 cover 45%}.scroll-stage--two img{animation:videoKenBurns linear both;animation-timeline:view();animation-range:entry 0 exit 100%}.scroll-stage--two>div{animation:nnwRevealRight linear both;animation-timeline:view();animation-range:entry 0 cover 40%}.scroll-stage--three b:nth-child(odd){animation:nnwRevealLeft linear both;animation-timeline:view();animation-range:entry 0 cover 38%}.scroll-stage--three b:nth-child(even){animation:nnwRevealRight linear both;animation-timeline:view();animation-range:entry 0 cover 38%}}
@media(max-width:800px){.video-lab>header span,.scroll-lab>header span{display:none}.video-lab-hero,.scroll-lab-hero{padding:90px 24px}.video-lab-hero h1,.scroll-lab-hero h1{font-size:19vw}.video-scene{grid-template-columns:1fr;gap:35px}.video-scene>div{height:62vh}.video-scenes{padding:90px 20px}.scroll-stage{padding:90px 24px}.scroll-stage--two{grid-template-columns:1fr}.scroll-stage--two figure{height:58vh}.scroll-stage--three b{font-size:24vw}.lab-entrance--scroll h2{font-size:22px}}
@media(prefers-reduced-motion:reduce){.lab-entrance--video:before,.lab-entrance--scroll:after,.video-scene img,.video-scene i{animation:none!important}}

/* 2026-09-19: Keep view-timeline reveals attached to the page scrollport.
   overflow:hidden made these non-scrolling main elements timeline containers. */
@supports (overflow: clip) {
  .mii-page, .contact-play { overflow: clip; }
}
/* Keep the final phrase together at tablet and desktop widths. */
.mii-ending h2 em { display: block; }
.mii-ending h2 { line-height: 1.12; }
/* Contact calls to action must stay legible at every scroll position. */
.mii-ending > h2, .mii-ending > a,
.contact-final > h2, .contact-final > .contact-final-grid { animation: none !important; }
@media (max-width: 600px) {
  .contact-final > h2 { font-size: clamp(24px, 7.5vw, 42px); line-height: 1.3; }
}