/* CAVA 02 — quiet depth, a clear point of view */
:root{--ink:#222322;--muted:#666965;--line:#d0d1cd;--soft:#efefeb;--paper:#fafaf7}
body{background:var(--paper);font-family:"Yu Gothic",Meiryo,sans-serif}.wrap{width:min(1240px,calc(100% - 96px))}.reviewbar{background:#252825;color:#d0d2cd;height:28px;font-size:10px}.header{background:var(--paper);border-color:#d4d5ce}.navrow{height:91px}.logo{font-size:40px;letter-spacing:-2.6px}.logo small{font-size:8px;letter-spacing:.19em}.navlinks{font-size:13px;gap:34px}.btn{border-radius:0;padding:20px 24px;font-weight:600}.btn::after{font-size:18px}.btn.light{background:#eeeFEB;color:#202320;border-color:#eeefeb}.btn.light:hover{background:#d5d8d1}.text-link{padding-bottom:7px}.page-home .header{background:#141a17;color:#f4f5ef;border-bottom-color:#ffffff24}.page-home .header .btn{background:transparent;border-color:#adb5aa;color:#fff}.page-home .menu-toggle{background:transparent;color:#fff;border-color:#929a90}.page-home .navlinks.open{background:#141a17;color:white}.dive-hero{position:relative;min-height:730px;overflow:hidden;background:#141a17;color:#f2f3ed}.dive-scene{position:absolute;inset:0;pointer-events:none;background-position:right center;background-size:cover;background-repeat:no-repeat}.dive-inner{position:relative;z-index:2;padding:72px 0 26px}.dive-hero .eyebrow{font-size:11px;letter-spacing:.17em;color:#d0d5cb;margin-bottom:33px}.dive-hero h1{font-size:clamp(36px,4.5vw,68px);font-weight:600;line-height:1.55;letter-spacing:.055em;max-width:790px}.dive-hero h1 em{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-style:normal;font-weight:500;font-size:1.21em}.dive-description{font-size:15px;line-height:2.15;margin-top:27px;max-width:540px;color:#dce0d7}.dive-hero .actions{align-items:center;margin-top:30px;gap:28px}.dive-hero .text-link{font-size:13px;color:#e9ece4}.dive-foot{display:flex;justify-content:space-between;align-items:flex-end;margin-top:62px;border-top:1px solid #ffffff34;padding-top:20px;font-size:11px;font-family:Arial;letter-spacing:.12em;line-height:1.7;color:#adb6a8}.dive-foot span:first-child{font-size:13px}.perspective-section{padding:82px 0 76px;scroll-margin-top:100px}.perspective-top{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding-bottom:24px;margin-bottom:48px}.perspective-top .eyebrow{margin:0}.micro{font-size:12px;letter-spacing:.1em;color:#6b7168}.perspective-grid{display:grid;grid-template-columns:1fr 1fr;gap:85px}.perspective-grid h2{font-size:clamp(35px,4vw,54px);line-height:1.6;font-weight:500;letter-spacing:.05em}.perspective-grid h2 span{font-family:"Yu Mincho",serif}.perspective-grid p{font-size:15px;line-height:2.25;color:#60645d}.perspective-grid p.lead{font-size:19px;color:#282c25;margin-bottom:25px}.perspective-grid .text-link{margin-top:25px}.depth-line{display:flex;align-items:center;justify-content:space-between;margin-top:60px;padding:18px 0;border-top:1px solid #c4c8bf;border-bottom:1px solid #c4c8bf;font-size:13px;letter-spacing:.14em;gap:24px}.depth-center{font-weight:bold;display:flex;align-items:center;gap:25px;flex:1;justify-content:center}.depth-center::before,.depth-center::after{content:"";height:1px;background:#c4c8bf;width:20%}.section{padding:85px 0}.section-head h2,.heading{font-weight:500;font-size:36px}.service-row{grid-template-columns:75px 1.1fr 1fr 36px;padding:39px 0}.service-row .number{font-size:28px;font-family:Georgia,serif;color:#8b9085}.service-row h3{font-size:27px;font-weight:500}.service-row .en{font-size:11px}.service-row p{font-size:15px}.issue h3{font-size:21px}.section.soft{background:#edeee9}.case-visual{background:#dee1d8;border-color:#d0d4c9}.case-card h3{font-size:20px;font-weight:500}.case-card>p{font-size:15px}.case-meta{font-size:12px}.step strong{font-family:Georgia,serif;color:#747c6d}.step h3{font-weight:500}.step p{font-size:15px}.contact-band{position:relative;background:#172019;padding:80px 0;overflow:hidden}.contact-inner{position:relative;z-index:2}.contact-inner h2{font-family:"Yu Mincho",serif;font-size:42px;font-weight:500;line-height:1.6}.contact-inner p{color:#d3d9cc;font-size:15px}.contact-inner .btn{min-width:280px}.footer{background:#f5f5ef;padding-top:60px}.footer .logo{font-size:86px}.footer-company{font-size:13px;line-height:2}.footer-nav{font-size:14px}.footer-bottom{letter-spacing:.06em}.pagehead{background:#e9ece3;padding-bottom:67px}.pagehead h1{font-weight:500;letter-spacing:.035em}.pagehead p{max-width:830px;line-height:2}.pagehead .eyebrow{color:#65705f}.service-detail h2{font-weight:500}.deliverable{background:#e9ece3}.form-pet .pet{width:80px}.form-intro h2{font-family:"Yu Mincho",serif;font-size:32px;font-weight:500}.brand-about-visual{overflow:hidden;min-height:340px;background:#172019}.brand-about-visual img{display:block;width:100%;height:380px;object-fit:cover;object-position:72% center}.manifesto{background:#172019;color:#eef0e7;padding:80px 0}.manifesto .wrap{display:grid;grid-template-columns:1fr 1.3fr;gap:70px;align-items:center}.manifesto h2{font-size:40px;font-family:"Yu Mincho",serif;font-weight:500;line-height:1.65}.manifesto p{font-size:16px;line-height:2.2;color:#dce1d3}.manifesto .eyebrow{font-size:11px;color:#bdc6b5}.quiet-caption{display:flex;gap:22px;align-items:center;border-top:1px solid #c5cbbd;padding-top:20px;margin-top:35px}.quiet-caption .pet{width:75px}.quiet-caption p{font-size:13px!important}.process-note{font-size:13px;color:#69725f;max-width:650px;margin-top:30px}.service-intro-title{margin-bottom:40px;font-size:22px;font-weight:500}.kicker{font-family:Georgia,serif;font-size:38px;color:#97a08c;margin-bottom:20px}.case-visual .mock-window{box-shadow:10px 10px 0 #ccd1c4}.case-card:hover .case-visual{background:#d4dacb}
@media(min-width:1650px){.dive-hero{min-height:820px}.dive-inner{padding-top:105px}.dive-foot{margin-top:90px}}
@media(max-width:1050px){.wrap{width:calc(100% - 64px)}.navlinks{gap:22px}.navrow{gap:22px}.dive-hero{min-height:690px}.dive-hero h1{font-size:49px}.dive-description{font-size:14px}.perspective-grid{gap:42px}.service-row{grid-template-columns:45px 1.2fr 1fr 32px;gap:20px}.service-row h3{font-size:22px}.contact-inner h2{font-size:34px}}
@media(max-width:760px){.wrap{width:calc(100% - 40px)}.reviewbar{font-size:9px;padding:4px 20px}.navrow{height:76px}.logo{font-size:34px}.logo small{font-size:7px}.navlinks{top:76px}.navlinks a:not(.btn){font-size:15px}.menu-toggle{font-size:13px;padding:10px 12px}.dive-hero{min-height:765px}.dive-inner{padding-top:45px;padding-bottom:20px}.dive-hero h1{font-size:clamp(28px,7.7vw,42px);line-height:1.65;letter-spacing:.015em;max-width:100%}.dive-hero h1 em{font-size:1.18em}.dive-hero .eyebrow{font-size:9px;margin-bottom:25px;letter-spacing:.13em}.dive-description{font-size:14px;line-height:2.05;margin-top:25px;max-width:330px}.dive-hero .actions{gap:22px;margin-top:25px;flex-direction:column;align-items:flex-start}.dive-hero .actions .btn{width:auto;min-width:275px}.dive-hero .actions .text-link{font-size:12px}.dive-foot{margin-top:170px;padding-top:16px;font-size:9px}.dive-foot span:first-child{font-size:10px}.perspective-section{padding:50px 0}.perspective-top{margin-bottom:30px;padding-bottom:20px;align-items:flex-start;gap:15px}.perspective-top .eyebrow{font-size:10px}.micro{font-size:10px;letter-spacing:0}.perspective-grid{grid-template-columns:1fr;gap:26px}.perspective-grid h2{font-size:36px}.perspective-grid p{font-size:14px;line-height:2.1}.perspective-grid p.lead{font-size:17px;margin-bottom:20px}.depth-line{font-size:11px;gap:12px;margin-top:36px;letter-spacing:.02em}.depth-center{gap:10px}.depth-center:before,.depth-center:after{width:15%}.section{padding:55px 0}.section-head h2,.heading{font-size:28px}.service-row{grid-template-columns:28px 1fr 30px;padding:30px 0;gap:12px}.service-row .number{font-size:21px}.service-row h3{font-size:22px}.service-row p{font-size:14px}.service-row .en{font-size:10px}.contact-band{padding:55px 0}.contact-inner h2{font-size:31px}.contact-inner .btn{min-width:0}.contact-inner p{font-size:14px}.footer .logo{font-size:65px}.pagehead{padding-bottom:40px}.pagehead h1{font-size:32px}.pagehead p{font-size:14px}.brand-about-visual{min-height:230px}.brand-about-visual img{height:250px}.manifesto{padding:50px 0}.manifesto .wrap{grid-template-columns:1fr;gap:28px}.manifesto h2{font-size:32px}.manifesto p{font-size:15px}.form-intro h2{font-size:28px}.quiet-caption{gap:16px}.step p{font-size:14px}.case-card h3{font-size:21px}.case-card>p{font-size:14px}}


/* Mochikaba: a quiet character with a small sense of humor. */
.dive-scene{background:#141a17}.dive-hero{min-height:710px}.dive-inner{padding-bottom:30px}.dive-hero h1{font-size:clamp(36px,4.1vw,60px);max-width:70%}.dive-description{max-width:53%}.dive-hero .actions{max-width:60%;gap:22px}.dive-foot{margin-top:74px}
.mochi-scene{width:350px;position:absolute;right:0;top:155px;text-align:center;color:#e4ebe3;isolation:isolate}.mochi-speech{display:flex;align-items:center;justify-content:center;min-height:76px;margin:0 auto 16px;padding:16px 22px;background:#eaf4ec;color:#24382f;border-radius:24px 24px 24px 4px;font-size:16px;line-height:1.8;max-width:310px;box-sizing:border-box}.mochi-button{position:relative;display:block;padding:0;width:100%;background:none;border:0;color:inherit;cursor:pointer;font:inherit;-webkit-tap-highlight-color:transparent}.mochi-button:focus-visible{outline:2px solid #87dbd4;outline-offset:7px;border-radius:8px}.mochi-window{display:block;position:relative;height:258px;overflow:hidden}.mochi-actor{position:absolute;width:250px;height:auto;max-width:none;bottom:-21px;left:calc(50% - 125px);transform-origin:50% 85%;animation:mochi-hello 2.3s ease-in-out 2;transition:filter .2s}.mochi-button:hover .mochi-actor{filter:brightness(1.06)}.mochi-water{display:block;position:relative;height:26px;margin:-12px auto 0;width:94%;border:1px solid #83c6be70;border-radius:50%;background:#141a17;box-shadow:0 8px 0 -7px #83c6be70;pointer-events:none}.mochi-label{display:flex;justify-content:center;align-items:center;gap:25px;font-size:14px;letter-spacing:.06em;margin-top:22px}.mochi-label>span{color:#8cdbd1}.mochi-caption{display:block;font-size:12px;color:#9baea3;margin-top:13px}.is-diving .mochi-actor{animation:mochi-dive 1.1s ease-in-out both}.is-diving .mochi-water{animation:mochi-ripple 1.1s ease-out both}.mochi-compact{position:relative;top:auto;right:auto;width:100%;max-width:450px;justify-self:center;background:#172019;padding:35px 30px;box-sizing:border-box}.mochi-compact .mochi-window{height:210px}.mochi-compact .mochi-actor{width:210px;left:calc(50% - 105px)}.mochi-compact .mochi-water{background:#172019}.mochi-compact .mochi-speech{font-size:15px}.mochi-compact .mochi-label{font-size:14px}
@keyframes mochi-hello{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-7px) rotate(-2deg)}}
@keyframes mochi-dive{0%,100%{transform:translateY(0) rotate(0)}35%,55%{transform:translateY(250px) rotate(6deg)}82%{transform:translateY(-12px) rotate(-4deg)}}
@keyframes mochi-ripple{0%,100%{transform:scaleX(1);opacity:1}50%{transform:scaleX(1.06);opacity:.5}}
@media(min-width:1650px){.mochi-scene:not(.mochi-compact){top:195px}.dive-hero{min-height:770px}}
@media(min-width:761px) and (max-width:1100px){.mochi-scene:not(.mochi-compact){width:290px;top:145px}.dive-hero h1{font-size:clamp(32px,4.2vw,46px)}.dive-hero .actions{flex-direction:column;align-items:flex-start}.mochi-speech{font-size:15px}.mochi-actor{width:225px;left:calc(50% - 112.5px)}}
@media(max-width:760px){.dive-hero{min-height:0}.dive-hero h1{font-size:clamp(27px,7.7vw,42px);max-width:100%}.dive-description,.dive-hero .actions{max-width:100%}.mochi-scene{position:relative;top:auto;right:auto;width:100%;max-width:350px;margin:42px auto 0}.mochi-speech{font-size:15px;min-height:68px;padding:12px 18px;max-width:290px;margin-bottom:8px}.mochi-window{height:220px}.mochi-actor{width:220px;left:calc(50% - 110px)}.mochi-label{margin-top:16px}.dive-foot{margin-top:36px}.mochi-compact{margin:0 auto;padding:26px 20px}.mochi-compact .mochi-window{height:205px}}
@media(prefers-reduced-motion:reduce){.mochi-actor,.is-diving .mochi-actor,.is-diving .mochi-water{animation:none!important;transition:none!important}}
