/* Soft-pop color study: keep the editorial layout and original logo motion. */
:root{--foreground:#29443d;--primary:#3e7463;--primary-foreground:#fff;--border:#dbe4dc;--gold:#d99b77}
body{background:#fffdf8;color:#29443d}
::selection{background:#ffe0c9;color:#29443d}
.topbar,.brand-rail{background:#fffdf8}
.topbar-label,.rail-caption,.rail-scroll{color:#61736a}
.nav-contact{border-color:#80b5a0}
.hero.hero-brand{background:#fff9f0;color:#29443d;border-radius:30px 0 0 30px}
.hero-brand::before{background:radial-gradient(ellipse at 84% 24%,#d7eaf27a,transparent 52%),radial-gradient(ellipse at 77% 83%,#ffddbd5c,transparent 52%),#fff9f0}
.hero-logo-aura{background:radial-gradient(ellipse,#d9ecda52,transparent 69%)}
.hero-brand-shade{background:linear-gradient(90deg,#fff9f0 0%,#fff9f0ef 23%,#fff9f055 43%,transparent 66%)}
.hero-brand h1{color:#29443d;text-shadow:none}
.hero-brand .eyebrow.light{color:#547767}
.hero-brand .hero-detail p{color:#4c665e}
.hero-brand .fine-line{background:#cb9878}
.hero-brand .hero-discover{color:#29443d}
.hero-scene-select button{color:#71847b}
.hero-scene-select button[aria-pressed=true]{color:#284b3e}
.hero-motion-control .motion-toggle{color:#315749;background:#f0f7eb;border-color:#adcdb9}
.hero-motion-control .motion-toggle:hover{background:#dceede;border-color:#72a58f}
.hero-motion-caption{color:#547568}
.hero-illustration{mask-image:radial-gradient(ellipse 70% 65% at 53% 46%,#000 54%,transparent 91%)}
.hero-illustration img{object-fit:contain}
.scene-float,.hero-network-art .scene-float{animation:soft-float 15s ease-in-out infinite alternate}
@keyframes soft-float{from{transform:translate3d(0,0,0) scale(1)}to{transform:translate3d(0,-.8%,0) scale(1.012)}}
.eyebrow{color:#607e70}
.business{background:#f0f5eb}
.business-rule{background:#a6c9b6}
.process{background:#e7f0f5;color:#29443d}
.process .eyebrow,.process-heading>p:last-child,.process-list li>p{color:#506b6c}
.process-step span{color:#d09171}
.process-step b,.process-step i{color:#627e78}
.process-list li{border-color:#c5d7d9}
.service-visual.product-visual{background:#fff0df}
.product-visual:before{border-color:#ecd2b9}
.service-copy{background:#fffdf8}
.message{background:#f2f5e9;border-color:#e0e7d7}
.message-heading h2 em{color:#54967c}
.message-origin{color:#8bb3a1}
.message-body>p strong{background:linear-gradient(transparent 68%,#ffddbc 68%)}
.company{background:#fffdf8}
.company-en{color:#b4cdd2}
.contact{background:#e1eee6;color:#29443d}
.contact .eyebrow,.contact p:not(.eyebrow),.contact-intro>p:not(.eyebrow),.contact .contact-guidance p,.contact-guidance>span{color:#49675a}
.contact-purpose label,.contact-fields>label,.inquiry-label{color:#335346}
.contact-form label small{color:#64796b}
.contact-form input:not([type=radio]),.contact-form textarea{color:#29443d;background:#ffffffb3;border-color:#a8c5b3;border-radius:8px}
.contact-form input::placeholder,.contact-form textarea::placeholder{color:#7c8b80}
.contact-form input:focus-visible,.contact-form textarea:focus-visible{outline-color:#5a947b;border-color:#5a947b}
.contact-submit{color:#29443d;background:#ffdbbd;border-color:#f0c7a6;border-radius:10px}
.contact-submit:hover{background:#f7caa8}
.contact-copy{color:#365a49;border-color:#83ab95}
.contact .contact-copy-status{color:#315744}
.accel-project-banner{background:#fff9f0}
.footer{background:#fffdf8}
.text-link{border-color:#95b6a3}
@media(min-width:701px) and (max-width:1080px){.hero-brand-shade{background:linear-gradient(0deg,#fff9f0,#fff9f0d9 30%,transparent 72%)}}
@media(max-width:700px){.hero.hero-brand{border-radius:22px 0 0 22px}.hero-brand-shade{background:linear-gradient(0deg,#fff9f0 0%,#fff9f0ee 35%,#fff9f022 60%,transparent 79%)}}
@media(prefers-reduced-motion:reduce){.scene-float,.hero-network-art .scene-float{animation:none}}
/* Layered Rakupochi screens / photographic together scene */
.raku-stage{position:absolute;width:70%;height:78%;right:-3%;top:8%;perspective:1200px;color:#345951}
.raku-halo{position:absolute;inset:7% 4%;background:radial-gradient(ellipse,#c9e4df88,transparent 70%);border-radius:50%}
.raku-laptop{position:absolute;left:22%;top:33%;width:69%;padding:13px 9px 10px;border:2px solid #697774;background:linear-gradient(140deg,#697976,#263c39);border-radius:18px;transform:rotateY(-15deg) rotateX(5deg) rotateZ(-5deg);box-shadow:15px 36px 55px #526e6330}
.laptop-camera{width:4px;height:4px;background:#a8bbb4;border-radius:100%;position:absolute;top:4px;left:50%}
.laptop-screen,.panel-screen{overflow:hidden;background:white;aspect-ratio:1600/912;border-radius:5px}
.laptop-screen img,.panel-screen img{display:block;width:100%;max-width:none;height:auto;margin-top:-8%}
.laptop-base{position:absolute;top:100%;height:30px;left:-8%;width:116%;background:linear-gradient(#dce4e0,#a8b8b2);clip-path:polygon(7% 0,93% 0,100% 75%,97% 100%,3% 100%,0 75%);border-radius:0 0 16px 16px;box-shadow:0 20px 35px #5d736530}
.laptop-base:after{content:'';display:block;margin:auto;width:20%;height:5px;background:#879993;border-radius:0 0 8px 8px}
.raku-panel{position:absolute;background:#ffffffdf;border:1px solid #fff;border-radius:15px;box-shadow:0 20px 45px #516e6122;backdrop-filter:blur(12px);overflow:hidden}
.panel-heading{display:flex;align-items:center;gap:8px;padding:12px 15px;font-size:11px;font-weight:600;letter-spacing:.08em}.panel-heading>span:last-child{margin-left:auto;font-size:10px;color:#7d9990}.panel-dot{width:6px;height:6px;border-radius:50%;background:#9dccc0}
.raku-listing{width:55%;right:1%;top:9%;transform:rotate(5deg);background:#edf8f5ed}
.raku-search{width:30%;left:5%;top:31%;transform:rotate(-7deg);background:#fff1e9e8}
.search-preview{padding:4px 18px 16px;font-size:10px}.search-preview>span{display:block;margin-bottom:14px;color:#81948c}.search-preview>div{background:#fff9;padding:9px;border-radius:5px;margin:7px 0}.search-preview b{float:right}.search-preview i{display:block;text-align:center;padding:7px;margin-top:12px;border-radius:5px;background:#accfc0;font-style:normal}
.raku-brand-card{position:absolute;right:5%;bottom:5%;width:40%;padding:20px 24px;background:#ffffffc9;border:1px solid white;border-radius:15px;box-shadow:0 20px 40px #68867716;transform:rotate(4deg);backdrop-filter:blur(12px)}.raku-brand-card img{width:100%;height:55px;object-fit:contain}.raku-brand-card span{display:block;font-size:10px;text-align:center;margin-top:9px;letter-spacing:.05em}
.raku-note{position:absolute;bottom:1%;left:26%;font-size:9px;letter-spacing:.2em;color:#66867a}
.hero-scene[data-active=true] .raku-panel{animation:card-arrive 1.7s cubic-bezier(.2,.7,.2,1) both,card-hover 7s 1.7s ease-in-out infinite alternate}
.hero-scene[data-active=true] .raku-search{animation-delay:.13s,1.83s}.hero-scene[data-active=true] .raku-brand-card{animation:card-arrive 1.8s .2s both}
@keyframes card-arrive{from{opacity:0;translate:20px 85px;scale:.75}to{opacity:1;translate:0 0;scale:1}}
@keyframes card-hover{to{translate:0 -10px}}
.team-stage{position:absolute;right:3%;top:7%;width:61%;height:85%}.team-photo{position:absolute;inset:2% 3% 6% 12%;overflow:hidden;border-radius:47% 47% 42% 42%;transform:rotate(6deg);box-shadow:18px 25px 0 #e8cbbd66;background:#f3eee7}.team-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 47%;mix-blend-mode:multiply}.team-orbit{position:absolute;inset:0;border:1px solid #afc9ba;border-radius:50%;transform:rotate(-18deg) scaleX(1.08)}.team-tag{position:absolute;bottom:8%;left:7%;padding:17px 25px;background:#fffaf0;border-radius:60px;font-size:11px;letter-spacing:.2em;transform:rotate(-7deg);box-shadow:0 10px 25px #526e6315}.hero-scene[data-active=true] .team-photo{animation:team-breathe 12s ease-in-out infinite alternate}@keyframes team-breathe{to{transform:rotate(3deg) scale(1.025)}}
.scene-wipe{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:5;visibility:hidden}.scene-wipe span{position:absolute;left:50%;top:50%;width:160vmax;height:160vmax;background:#fffaf1;border-radius:43% 57% 61% 39% / 42% 38% 62% 58%;transform:translate(-50%,-50%) scale(0) rotate(-120deg)}.scene-wipe span:nth-child(1){background:#dcece4}.scene-wipe span:nth-child(2){background:#f5e4d5}.scene-wipe.is-wiping{visibility:visible}.scene-wipe.is-wiping span{animation:cream-swirl 1.45s cubic-bezier(.65,0,.3,1) both!important;animation-play-state:running!important}.scene-wipe span:nth-child(2){animation-delay:.06s}.scene-wipe span:nth-child(3){animation-delay:.1s}@keyframes cream-swirl{0%{transform:translate(5%,-80%) scale(.05) rotate(-150deg)}45%,55%{transform:translate(-50%,-50%) scale(1) rotate(0)}100%{transform:translate(-110%,20%) scale(.05) rotate(140deg)}}
@media(max-width:1080px){.raku-stage{width:86%;height:440px;top:0;right:0}.team-stage{width:75%;height:460px;top:-3%;right:1%}}
@media(max-width:700px){.raku-stage{width:108%;height:360px;right:-2%;top:2%}.raku-laptop{top:36%}.raku-listing{top:8%;right:5%;width:52%}.raku-search{left:8%;width:30%;top:25%}.panel-heading{font-size:8px;padding:8px}.search-preview{font-size:8px;padding:0 10px 10px}.search-preview>span{margin-bottom:5px}.search-preview>div{padding:5px;margin:5px 0}.raku-brand-card{bottom:2%;padding:10px;width:39%}.raku-brand-card img{height:35px}.raku-brand-card span{font-size:7px}.raku-note{font-size:7px;left:15%;bottom:0}.team-stage{top:0;right:0;width:94%;height:380px}.team-tag{font-size:8px;padding:13px 19px}.team-photo{inset:2% 8% 7% 10%}.team-orbit{inset:3% 5%}.laptop-base{height:20px}}
@media(prefers-reduced-motion:reduce){.hero-scenes *{animation:none!important}.scene-wipe{display:none!important}}
/* Mint / aqua line identity, first frame */
.hero.hero-brand{background:#fcfefd}.hero-brand:before{background:radial-gradient(ellipse at 85% 15%,#e8f9fc80,transparent 55%),radial-gradient(ellipse at 75% 90%,#e1f5ed80,transparent 48%)}
.brand-waves{position:absolute;inset:0;width:100%;height:100%}.hero-brand[data-scene="0"] .hero-logo-art{width:53%;right:auto;left:3%;top:43%;opacity:1}.hero-brand[data-scene="0"] .hero-brand-shade{opacity:0}.hero-brand .hero-copy{transition:opacity .5s}.hero-brand[data-scene="0"] .hero-copy{opacity:0;pointer-events:none}.hero-brand[data-scene="0"] .hero-logo-aura{opacity:.15}
@media(max-width:1080px){.hero-brand[data-scene="0"] .hero-logo-art{width:75%;left:2%;top:16%;transform:none}}
@media(max-width:700px){.hero-brand[data-scene="0"] .hero-logo-art{width:94%;left:0;top:20%;transform:none}.brand-waves{width:170%;left:-55%}}
.hero-brand[data-motion="paused"] .raku-panel,.hero-brand[data-motion="paused"] .raku-brand-card{animation:none!important;opacity:1;translate:0 0;scale:1}
.hero-brand[data-motion="paused"] .team-photo{animation:none!important}
@media(min-width:1081px){.raku-stage{width:62%;right:1%;top:9%;height:75%}.raku-search{left:8%}.team-stage{width:57%;right:1%}}
/* Photo direction: a woman working at a real laptop; conceptual commerce panels. */
.raku-photo-scene{position:absolute;right:0;top:0;width:68%;height:100%;overflow:hidden;mask-image:linear-gradient(90deg,transparent 0%,#000 18%);-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 18%)}
.raku-photo-scene img{display:block;width:100%;height:100%;object-fit:cover;object-position:61% center;transform:scale(1.015)}
.hero-scene[data-active=true] .raku-photo-scene img{animation:photo-drift 14s ease-in-out infinite alternate}
@keyframes photo-drift{to{transform:scale(1.045) translateX(-.4%)}}
.hero-brand[data-scene="1"] .hero-brand-shade{background:linear-gradient(90deg,#fcfefd 0%,#fcfefd 22%,#fcfefde6 33%,#fcfefd00 53%)}
.team-photo{box-shadow:none}.team-stage{height:76%;top:7%}
@media(min-width:1081px){.hero-brand[data-scene="1"] .hero-copy{right:auto;width:43%}.hero-brand[data-scene="1"] h1{font-size:clamp(42px,3.8vw,64px)}}
@media(min-width:701px) and (max-width:1080px){.raku-photo-scene{width:100%;height:420px;mask-image:linear-gradient(#000 80%,transparent);-webkit-mask-image:linear-gradient(#000 80%,transparent)}.raku-photo-scene img{object-position:center 46%}.hero-brand[data-scene="1"] .hero-brand-shade{background:linear-gradient(0deg,#fcfefd 0%,#fcfefd 35%,transparent 58%)}.team-stage{height:350px;top:2%;width:65%;right:2%}}
@media(max-width:700px){.raku-photo-scene{width:100%;height:385px;mask-image:linear-gradient(#000 82%,transparent);-webkit-mask-image:linear-gradient(#000 82%,transparent)}.raku-photo-scene img{object-position:59% center}.hero-brand[data-scene="1"] .hero-brand-shade{background:linear-gradient(0deg,#fcfefd 0%,#fcfefd 40%,transparent 59%)}.team-stage{height:340px;top:2%;width:94%;right:0}}
@media(prefers-reduced-motion:reduce){.hero-scene[data-active=true] .raku-photo-scene img{animation:none!important}}
.brand-waves{left:19%;top:28%;width:100%;height:100%;mask-image:linear-gradient(135deg,transparent 15%,#000 50%);-webkit-mask-image:linear-gradient(135deg,transparent 15%,#000 50%)}
@media(max-width:700px){.brand-waves{left:8%;top:35%;width:150%;height:90%;mask-image:linear-gradient(135deg,transparent 5%,#000 48%);-webkit-mask-image:linear-gradient(135deg,transparent 5%,#000 48%)}}
@media(min-width:701px) and (max-width:1080px){.raku-photo-scene{height:350px}.hero-brand[data-scene="1"] .hero-brand-shade{background:linear-gradient(0deg,#fcfefd 0%,#fcfefd 47%,transparent 63%)}}
/* Keep focus on slide controls from scrolling the clipped hero internally. */
.hero.hero-brand{overflow:clip}
