/* PONOTTE — a quiet, human-centered journal. */
:root{--ink:#3b352b;--paper:#f2eee5;--bg-color:#f2eee5;--text-color:#3b352b;--text-sub:#665e52;--text-light:#776e61;--dark:#3b352b;--accent:#bf4c2c;--accent-light:#dba082;--green:#696e55;--rule:#d8d0bf;--font-en:'Manrope',sans-serif;--serif-disp:'Noto Sans JP',sans-serif}
html{scroll-padding-top:32px;scroll-behavior:smooth}body{background:#332e23;color:var(--ink);font-size:16px;overflow-x:hidden;margin:0}::selection{background:#d9c8a6;color:#302a22}a:focus-visible,button:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid #b45b36;outline-offset:5px}.skip-link{position:fixed;top:-100px;left:16px;z-index:10000;background:var(--paper);padding:16px}.skip-link:focus{top:12px}#bg-canvas,.tw-bgfx,.tw-spark{display:none!important}.nature-landscape{position:fixed;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(24,26,17,.48),rgba(24,26,17,.12) 60%,rgba(24,26,17,.28)),url('image/ponotte-warm-workspace.png') center/cover no-repeat}.story-column{position:relative;max-width:500px;width:100%;margin:24px auto 0;background:var(--paper);box-shadow:0 0 60px #19170d18;overflow:hidden}.story-column>.container{width:100%;max-width:none;padding:0 38px;margin:0}.section-padding{padding:70px 0;border-bottom:1px solid var(--rule)}h1,h2,h3,.section-title,.content-text h3,.cta-title,.mq-title,.sb-title,.reveal-band h2{font-family:'Noto Sans JP',sans-serif!important;font-weight:500!important;letter-spacing:.045em!important}.section-title,.content-text h3{font-size:27px!important;line-height:1.75!important}.section-header{text-align:left;margin-bottom:34px}.section-header .section-desc{margin-left:0}.section-label,.content-text .sub-label,.mq-eyebrow,.sb-eyebrow,.nature-section-en{font:500 19px/1.5 Georgia,serif!important;letter-spacing:.015em!important;color:var(--accent);text-transform:none}.section-desc,.content-text p,.service-desc,.profile-text,.mq-sub,.sb-sub,.reveal-band p{font-size:15px;line-height:2.15}.fade-up,.content-item{opacity:1;transform:none}.wipe-reveal{clip-path:none!important}.content-item,.content-item.reverse{display:flex!important;flex-direction:column!important;gap:32px;margin:0;min-width:0}.content-text{max-width:100%!important;width:100%}.content-text h3{margin:14px 0 22px}.content-text p{font-size:15px!important}.content-img-wrap{width:100%;border-radius:0!important}.content-img-wrap img{max-width:100%}.content-img-wrap.about-figure{border:0!important;border-radius:0!important;background:var(--paper)!important}.about-figure svg{width:100%;height:auto}.about-essence{background:#e9e1d1!important;border:0!important;padding:28px 22px;border-radius:0!important}.about-essence-text{font-family:'Noto Sans JP',sans-serif!important;font-size:23px;line-height:1.7}.about-essence-sub{font-size:14px}.cycle3{max-width:100%}.cycle3-legend{font-size:14px}.cycle3-center .ja{font-family:'Noto Sans JP',sans-serif!important}
.nav,.nav:not(.scrolled),.nav.scrolled{position:fixed;inset:42px auto auto 4%;width:calc((100vw - 500px)/2 - 8%);background:transparent!important;border:0!important;box-shadow:none!important;backdrop-filter:none!important;z-index:100;padding:0}.nav-inner{display:flex;flex-direction:column;align-items:flex-start;padding:0;width:100%;gap:55px}.nav-logo,.nav:not(.scrolled) .nav-logo{font-family:var(--font-en);font-weight:700;font-size:34px;line-height:1.2;letter-spacing:-1px;color:#f2eee5!important}.nav-logo small{display:block;font:400 12px/1.8 'Noto Sans JP',sans-serif;letter-spacing:.05em;margin-top:12px}.nav-links{display:flex;flex-direction:column;align-items:stretch;gap:16px;width:100%}.nav-links a,.nav:not(.scrolled) .nav-links a{display:flex;align-items:baseline;gap:8px;color:#f2eee5!important;font-size:15px;white-space:nowrap;text-decoration:none}.nav-links a::before{content:'↗';font-size:13px;margin-right:2px;opacity:.7}.nav-links a span{font:400 21px Georgia,serif;letter-spacing:0}.nav-links a small{font:400 11px 'Noto Sans JP',sans-serif;letter-spacing:0;opacity:.85}.nav-links a:hover{opacity:.72}.nav-links .nav-cta{margin-top:25px;display:flex;align-items:center;justify-content:space-between;font:400 14px 'Noto Sans JP',sans-serif;background:#d85d38!important;border-radius:50px!important;color:#fff!important;border:0!important;padding:16px 20px!important;box-shadow:none!important;white-space:normal;gap:12px}.nav-links .nav-cta::before{display:none}.hamburger{display:none}.nature-motto{position:fixed;left:calc(50% + 294px);right:35px;bottom:72px;color:#f5f0e5;text-align:center;pointer-events:none;text-shadow:0 2px 15px #18181080}.nature-motto>span{font:400 32px Georgia,serif}.nature-motto p{font-size:14px;letter-spacing:.13em;margin-top:14px}.nature-motto small{display:block;font:500 10px var(--font-en);letter-spacing:.12em;margin-top:32px;opacity:.75}
.nature-hero{position:relative;min-height:760px;height:calc(100svh - 24px);max-height:980px;display:flex;flex-direction:column;justify-content:space-between;align-items:center;padding:52px 32px 35px;text-align:center;color:#f8f2e8;background:linear-gradient(180deg,#251c0c15 0%,#271c10 78%),url('image/ponotte-warm-workspace.png') 65% 32%/auto 100% no-repeat}.nature-brand{display:flex;flex-direction:column;align-items:center;gap:8px;text-shadow:0 2px 18px #221a1040}.nature-brand>span{font:600 44px/1.1 var(--font-en);letter-spacing:-1.5px}.nature-brand small{font:400 10px var(--font-en);letter-spacing:.2em}.nature-hero-copy{width:100%;margin-top:180px}.nature-small{font-size:12px;letter-spacing:.08em;color:#e8dfd1;margin-bottom:20px}.nature-hero h1{font-size:31px!important;font-weight:500!important;line-height:1.7!important;letter-spacing:.12em!important;color:#f8f2e8!important;margin:0 0 24px}.nature-hero-copy>p:not(.nature-small){font-size:15px;line-height:1.9;color:#ede4d6;margin:0 0 24px;letter-spacing:.06em}.nature-button{display:flex;align-items:center;justify-content:space-between;gap:15px;width:100%;max-width:350px;min-height:65px;padding:7px 24px 7px 8px;margin:0 auto;border:0;border-radius:60px;background:#d85d38;color:#fff;text-decoration:none;font:400 15px 'Noto Sans JP',sans-serif;letter-spacing:.04em;transition:background .2s,transform .2s}.nature-button:hover{background:#bd4929;transform:translateY(-2px)}.button-seal{display:flex;align-items:center;justify-content:center;flex-shrink:0;background:#3b352b;color:#f2eee5;width:50px;height:50px;border:1px solid #f2eee580;border-radius:50%;font-size:11px;line-height:1.3}.nature-scroll{display:inline-block;color:#c5b9a6;text-decoration:none;font-size:11px;letter-spacing:.08em;margin-top:25px}.nature-scroll span{margin-left:16px}.nature-intro{padding:78px 35px 80px;text-align:center;background:var(--paper)}.nature-intro h2{font-size:32px;line-height:1.9;margin:32px 0;color:var(--ink)}.nature-intro p{font-size:15px;line-height:2.3;margin:32px 0;letter-spacing:.075em}.nature-sign{font:italic 17px Georgia,serif;color:#897854;display:block;margin-top:43px}
.stats-bar{padding:32px 20px;background:#e7dfce!important;border:0!important;margin:0}.stats-bar .container{padding:0;max-width:100%}.stats-grid{grid-template-columns:repeat(2,1fr)!important;gap:27px 0}.stats-grid>div{background:none!important;border:0!important;border-right:1px solid #c7baa1!important;border-radius:0!important;padding:0 8px;box-shadow:none!important;transform:none!important}.stats-grid>div:nth-child(even){border-right:0!important}.stats-grid>div::before{display:none}.stat-number{font:400 45px/1.1 Georgia,serif!important;letter-spacing:-.03em;color:var(--ink)!important;-webkit-text-fill-color:var(--ink)!important}.stat-number sup{font-size:17px}.stat-label{font-size:11px;margin-top:10px;color:#6a604f}.services-grid{grid-template-columns:1fr;gap:0;margin-top:35px}.service-card{border:0!important;border-top:1px solid var(--rule)!important;border-radius:0!important;padding:28px 0!important;background:transparent!important;box-shadow:none!important}.service-card:hover{transform:none!important;box-shadow:none!important;border-color:var(--rule)!important}.service-icon{font:italic 20px Georgia,serif!important;color:#b09970!important;border:0!important;background:none!important;box-shadow:none!important;margin-bottom:14px;opacity:1}.service-name{font-size:20px;font-weight:500;line-height:1.7;margin-bottom:16px}.service-desc{font-size:15px;line-height:2.1}.tag{font-size:11px!important;font-weight:400;border:1px solid #d1c5af!important;border-radius:3px!important;background:transparent!important;color:#6a604f!important;padding:4px 8px}.tools-wrap{border-top:1px solid var(--rule);padding-top:25px;margin-top:15px}.tools-wrap h4{font-size:14px;font-weight:500}.tools-list{gap:7px}.services-map{display:none}.marquee-section{background:#e6dece;margin:0;padding:65px 0 35px;overflow:hidden}.marquee-caption{padding:0 38px;max-width:100%;text-align:left;margin-bottom:28px}.mq-title{font-size:27px;line-height:1.75;margin-top:18px}.mq-sub{font-size:15px;margin-top:22px}.marquee-track{display:flex;flex-direction:column;animation:none!important;width:100%;gap:16px;padding:0 18px}.marquee-item.wide{width:100%;height:auto;aspect-ratio:3;border-radius:0!important}.marquee-item.wide:nth-child(n+3){display:none}.marquee-item.wide img{width:100%;height:100%;object-fit:cover}.statement-band{padding:60px 38px;background:var(--paper);text-align:left;margin:0;max-width:100%;border-bottom:1px solid var(--rule)}.sb-eyebrow{font-size:16px!important}.sb-title{font-size:24px;line-height:1.85;margin-top:22px}.sb-sub{font-size:15px}.philosophy{background:transparent}.philo-pin{height:auto!important}.philo-sticky{position:static!important}.philosophy-grid{grid-template-columns:1fr;gap:20px;mask-image:none!important;-webkit-mask-image:none!important}.philosophy-card{background:#e9e1d1!important;border:0!important;border-radius:0!important;padding:25px!important;box-shadow:none!important}.philosophy-card::before{display:none!important}.card-label{font-size:12px!important;color:#877047!important}.card-title{font-size:20px;line-height:1.75;font-weight:500}.card-desc{font-size:15px;line-height:2}.values-grid{grid-template-columns:1fr}.value-item-name{font-size:15px}.value-item-desc{font-size:14px}.reveal-band{width:100%;margin-left:0;min-height:340px;background:#443d2f!important;padding:0;text-align:center}.reveal-band::before,.reveal-band::after{display:none}.rb-veil{display:none}.rb-inner{padding:65px 32px;max-width:100%}.reveal-band h2{font-size:27px;line-height:1.9;color:#f2eee5}.reveal-band p{font-size:15px;color:#d8d0bf}.rb-eyebrow{font:italic 17px Georgia,serif;letter-spacing:.02em;color:#d2bd92}.rb-accent{color:#e3c898}.rb-cta{background:#d85d38;color:white;border-radius:40px;padding:17px 22px;font-size:14px}.process-timeline{padding:0}.process-timeline::before{left:17px;background:#cfc3ab}.process-step{gap:16px}.process-number{width:35px;height:35px;flex-shrink:0;font:400 15px Georgia,serif;background:var(--paper)!important;border:1px solid #baaa8a!important;color:#5b503c!important;box-shadow:none!important}.process-content{padding:0 0 28px;background:transparent!important;border:0!important;box-shadow:none!important}.process-title{font-size:18px;font-weight:500;line-height:1.7}.process-desc{font-size:15px;line-height:2}.comparison-table{display:block;overflow-x:auto;width:100%;font-size:14px}.comparison-table th,.comparison-table td{min-width:100px;font-size:13px!important;padding:14px 10px!important}.results-grid,.results-changes,.testimonials-grid,.note-grid,.profile-grid,.profile-strengths{grid-template-columns:1fr!important;gap:24px}.result-card{background:transparent!important;box-shadow:none!important;border-bottom:1px solid var(--rule)!important;border-radius:0!important;padding:25px 0!important}.result-icon{background:transparent!important;border:1px solid #c7b797!important;border-radius:50%!important}.result-number{font-family:Georgia,serif!important;color:var(--accent)!important}.testimonial-card{background:#e9e1d1!important;border:0!important;border-radius:0!important;padding:28px!important;box-shadow:none!important}.testimonial-text{font-size:15px;line-height:2.1}.testimonial-card.tw-glass.tw-glass{border-left:0!important}.note-card{background:transparent!important;border:0!important;border-bottom:1px solid var(--rule)!important;border-radius:0!important;padding-bottom:20px;box-shadow:none!important}.note-body{padding:20px 0 0}.note-card-title{font-size:17px;font-weight:500;line-height:1.85}.note-thumb{border-radius:0!important}.note-date{font-size:12px}.note-more .btn-secondary{font-size:13px;padding:14px 18px;width:100%}.profile-image-wrapper{border-radius:0!important;box-shadow:none!important;width:100%;max-width:none;aspect-ratio:4/3}.profile-image-wrapper img{width:100%;height:100%;object-fit:cover}.profile-name{font-size:26px;font-weight:500;margin-top:12px}.profile-name span{font-size:12px!important;margin-left:8px!important}.profile-role{font-size:12px;line-height:1.8}.profile-text{font-size:15px}.strength-card{background:transparent!important;padding:0 0 20px;border:0!important;border-bottom:1px solid var(--rule)!important;border-radius:0!important}.strength-name{font-size:16px;font-weight:500}.strength-desc{font-size:14px;line-height:2}.btn-primary,.btn-secondary{border-radius:40px!important;box-shadow:none!important;font-size:14px}.diag-float-btn{bottom:24px;right:24px;background:#f2eee5!important;color:#3b352b!important;font-size:12px!important;font-weight:400!important;padding:13px 20px!important;border-radius:30px!important;box-shadow:0 3px 20px #30231120!important;border:1px solid #bfb29b!important}.diag-popup{max-height:85svh}.notion-embed-wrap{min-height:0!important}.contact-button{min-height:60px;max-width:100%;font-size:14px;justify-content:center;padding:18px 23px}.contact-button span{margin-left:8px}.notion-embed-wrap~p{font-size:13px!important;line-height:1.8}#contact a[href^="mailto"]{color:var(--ink);text-decoration:underline}footer{background:#3b352b!important;padding:48px 30px 28px}footer .container{padding:0;max-width:100%}.footer-inner-flow{flex-direction:column;gap:35px}.footer-logo{font-size:33px!important;font-weight:500!important;letter-spacing:-1px!important}.footer-tagline{font-size:12px;line-height:1.8}.footer-nav{display:grid;grid-template-columns:1fr 1fr;gap:30px 18px}.footer-nav-group h4{font-size:13px;font-weight:500}.footer-nav a{font-size:12px;line-height:1.9}.footer-links-pills{flex-direction:row;flex-wrap:wrap;gap:15px}.footer-links-pills .link-btn{font-size:12px;border-radius:0;padding:0 0 5px;background:none;border:0;border-bottom:1px solid #b5a991}.footer-bottom{margin-top:35px;flex-direction:column;gap:8px;text-align:left;font-size:11px}.footer-copyright{font-size:10px}
@media(min-width:1400px){.nav{left:5%;width:260px}.story-column{max-width:520px}.nature-motto{left:calc(50% + 325px);right:5%}.nature-hero h1{font-size:33px!important}}
@media(min-width:901px) and (max-width:1100px){.nav{left:22px;width:calc((100vw - 500px)/2 - 38px);top:40px}.nav-logo{font-size:25px!important}.nav-logo small{font-size:10px}.nav-links a{flex-direction:column;gap:2px}.nav-links a::before{display:none}.nav-links a span{font-size:19px}.nav-links a small{font-size:10px}.nav-links .nav-cta{font-size:12px!important;padding:14px!important}.nature-motto{left:calc(50% + 268px);right:15px}.nature-motto>span{font-size:23px}.nature-motto p{font-size:12px;line-height:2}.nature-motto small{font-size:9px}}
@media(max-width:900px){html{scroll-padding-top:74px}.nature-landscape{background-position:70% center}.story-column{margin:0 auto;max-width:540px}.nature-motto{display:none}.nav,.nav:not(.scrolled),.nav.scrolled{top:0;left:50%;right:auto;bottom:auto;transform:translateX(-50%);width:100%;max-width:540px;padding:0;background:#342e2399!important;border-bottom:1px solid #e7d8be20!important}.nav-inner{padding:17px 22px;display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:0}.nav-logo,.nav:not(.scrolled) .nav-logo{font-size:22px!important}.nav-logo small{display:none}.hamburger{display:flex}.hamburger span,.nav:not(.scrolled) .hamburger span{background:#f2eee5!important}.nav-links{display:none;position:absolute;inset:69px 0 auto;width:100%;max-height:calc(100svh - 69px);overflow-y:auto;background:#3b352b!important;padding:30px;gap:18px;align-items:stretch;box-shadow:none}.nav-links.open{display:flex}.nav-links a,.nav:not(.scrolled) .nav-links a{color:#f2eee5!important;padding:4px 0;justify-content:flex-start}.nav-links a span{font-size:23px}.nav-links a small{font-size:12px}.nav-links .nav-cta{justify-content:space-between}.nature-hero{height:100svh;min-height:740px;padding-top:115px}.nature-hero-copy{margin-top:140px}.nature-brand>span{font-size:42px}.diag-float-btn{bottom:12px;right:12px;font-size:11px!important;padding:11px 16px!important}}
@media(max-width:480px){.story-column>.container{padding:0 28px}.nature-hero{min-height:720px;padding:112px 28px 30px}.nature-hero h1{font-size:29px!important;letter-spacing:.08em!important}.nature-hero-copy{margin-top:130px}.nature-brand>span{font-size:40px}.nature-small{font-size:11px}.nature-hero-copy>p:not(.nature-small){font-size:14px}.nature-intro{padding:67px 28px}.nature-intro h2{font-size:29px}.nature-intro p{font-size:15px}.section-padding{padding:60px 0}.section-title,.content-text h3{font-size:24px!important}.marquee-caption{padding:0 28px}.mq-title{font-size:25px}.statement-band{padding:55px 28px}.sb-title{font-size:23px}.nature-button{font-size:14px;gap:10px;padding-right:20px}.nature-section-en{font-size:18px!important}.reveal-band h2{font-size:24px}.rb-inner{padding:55px 28px}.profile-name span{display:block;margin:7px 0 0!important}.footer-nav{grid-template-columns:1fr 1fr}.stat-number{font-size:40px!important}.stat-label{font-size:10px}.philosophy-card{padding:22px!important}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.fade-up,.content-item{opacity:1!important;transform:none!important}}
/* Scroll-driven approach toward the window; the reading surface stays stable. */
.nature-landscape{overflow:hidden;background:#332e23;isolation:isolate}
.nature-landscape::before{content:'';position:absolute;inset:-2%;background:linear-gradient(90deg,rgba(24,26,17,.48),rgba(24,26,17,.12) 60%,rgba(24,26,17,.28)),url('image/ponotte-warm-workspace.png') center/cover no-repeat;transform-origin:73% 38%;transform:translate3d(0,var(--depth-y,0px),0) scale(var(--depth-scale,1));will-change:transform}
.nature-hero{isolation:isolate;overflow:hidden;background:#271c10}
.nature-hero::before{content:'';position:absolute;inset:-3%;z-index:-2;background:url('image/ponotte-warm-workspace.png') 65% 32%/auto 100% no-repeat;transform-origin:70% 36%;transform:translate3d(0,var(--hero-depth-y,0px),0) scale(var(--hero-depth-scale,1));will-change:transform}
.nature-hero::after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#251c0c15 0%,#271c10 78%);pointer-events:none}
@media(max-width:900px){.nature-landscape::before{background-position:70% center}}
@media(prefers-reduced-motion:reduce){.nature-landscape::before,.nature-hero::before{transform:none!important;will-change:auto}}
/* Scene-based spatial story: a left turn into the next chapter. */
.cinematic-world{background:#19231e;overflow:hidden}
.cinematic-world::before{display:none}
.camera-scene{position:absolute;inset:-10%;background-position:center;background-size:cover;background-repeat:no-repeat;transform-origin:50% 45%;opacity:0;visibility:hidden;backface-visibility:hidden;will-change:transform,opacity}
.camera-scene[data-camera-image="0"]{background-image:url('image/ponotte-warm-workspace.png');opacity:1;visibility:visible}
.camera-scene[data-camera-image="1"]{background-image:url('image/ponotte-left-turn.png')}
.camera-scene[data-camera-image="2"]{background-image:url('image/ponotte-co-creation.png')}
.camera-scene[data-camera-image="3"]{background-image:url('image/ponotte-horizon.png')}
.camera-shade{position:absolute;inset:0;background:linear-gradient(90deg,#0a171a8c,transparent 44%,#09161820 68%,#09161865);pointer-events:none}
.story-column{background:transparent;overflow:visible;box-shadow:none}
.story-column>.container{background:var(--paper)}
.scene-transition{position:relative;height:160svh;min-height:800px;background:transparent;border:0;color:#fff;text-align:center}
.scene-transition-inner{position:sticky;top:24svh;padding:32px 24px 40px;text-shadow:0 2px 24px #061817b3;background:linear-gradient(180deg,transparent,#10272730,transparent)}
.journey-eyebrow{font:500 11px var(--font-en);letter-spacing:.25em;color:#b6e1da}.turn-arrow{display:block;font:300 60px/1.3 sans-serif;color:#c6f0e6;margin:14px 0}.scene-transition h2{font-size:33px;line-height:1.75;color:#fff;font-weight:400!important;letter-spacing:.09em!important}.scene-transition p{font-size:14px;letter-spacing:.12em;margin:18px 0 28px;color:#e7f0e9}.scene-transition a{font-size:12px;color:white;text-decoration:none;border-bottom:1px solid #c6f0e66b;padding-bottom:10px}.scene-transition a span{margin-left:22px}
.nature-motto{bottom:235px}.nature-motto>span{font-family:var(--font-en);font-size:25px;letter-spacing:-.025em}.nature-motto small{color:#b6e1da}
.scene-controls{position:fixed;right:4%;bottom:64px;width:calc((100vw - 500px)/2 - 8%);max-width:260px;z-index:110;color:#eaf6ed;background:#10201dd9;border:1px solid #b6e1da35;border-radius:5px;padding:20px;box-shadow:0 8px 40px #00000015}.scene-readout{display:flex;flex-direction:column;gap:9px;margin-bottom:18px}.scene-count{font:500 10px var(--font-en);letter-spacing:.15em;color:#a8cfc7}.scene-current{font:400 20px var(--font-en);letter-spacing:-.015em}.scene-control-row{display:flex;justify-content:space-between;align-items:center;gap:8px}.scene-control-row>span{font:400 8px var(--font-en);letter-spacing:.06em;color:#bfd1c8}.scene-control-row button{width:36px;height:36px;flex-shrink:0;border-radius:50%;border:1px solid #d6eee155;background:transparent;color:#eaf6ed;font-size:18px;cursor:pointer}.scene-control-row button:hover{background:#d6eee11c}.scene-control-row button:disabled{opacity:.28;cursor:default}.scene-progress{height:1px;background:#b6e1da35;margin-top:17px;overflow:hidden}.scene-progress>span{display:block;width:100%;height:100%;background:#b6e1da;transform:scaleX(0);transform-origin:left}.diag-float-btn{bottom:14px}
@media(min-width:1400px){.scene-controls{right:5%;width:260px}}
@media(min-width:901px) and (max-width:1100px){.scene-controls{right:18px;width:calc((100vw - 500px)/2 - 34px);padding:14px 10px}.scene-current{font-size:16px}.scene-control-row>span{display:none}.nature-motto{bottom:230px}}
@media(max-width:900px){.scene-controls{right:12px;bottom:60px;width:auto;max-width:calc(100vw - 24px);padding:8px 10px;display:flex;align-items:center;gap:16px;border-radius:35px}.scene-readout{margin:0;gap:1px;padding-left:7px}.scene-count{font-size:8px}.scene-current{font-size:12px;max-width:125px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.scene-control-row{gap:7px}.scene-control-row>span,.scene-progress{display:none}.scene-control-row button{width:34px;height:34px}.scene-transition{height:135svh;min-height:680px}.scene-transition-inner{top:23svh}.scene-transition h2{font-size:29px}.camera-scene{inset:-8%}.nature-motto{display:none}}
@media(prefers-reduced-motion:reduce){.camera-scene{transform:none!important;will-change:auto}.scene-transition{height:auto;min-height:420px}.scene-transition-inner{position:static;padding:60px 24px}.scene-controls{scroll-behavior:auto}}
/* The entire site lives inside the cinematic space. */
:root{--ink:#f3f1e8;--dark:#f3f1e8;--text-color:#f3f1e8;--text-sub:#d2dad1;--text-light:#b9c6bc;--accent:#b6e1da;--accent-light:#d8eee2;--rule:#bed8c02e;--paper:#14241f}
body{color:#f3f1e8}.camera-shade{background:linear-gradient(90deg,#0a151c80,rgba(8,22,19,.32) 35%,rgba(8,22,19,.48) 65%,#09161855)}
.story-column{max-width:560px;margin-top:0;background:transparent!important}.story-column>.container{background:transparent!important;padding:0 28px}.section-padding{padding:56px 0 95px;border:0}.nature-hero{background:none!important;min-height:100svh;max-height:none;height:auto;padding:23svh 28px 12svh;justify-content:center}.nature-hero::before,.nature-hero::after{display:none}.nature-brand{display:none}.nature-hero-copy{margin:0;text-shadow:0 2px 24px #0b1919a6}.nature-hero h1{font-size:40px!important;line-height:1.85!important;letter-spacing:.12em!important}.nature-small{color:#b6e1da;letter-spacing:.14em}.nature-hero-copy>p:not(.nature-small){font-size:17px;line-height:2.1}.nature-hero .nature-button{margin-top:35px}.nature-scroll{color:#e0e8dd}.nature-intro{background:transparent!important;min-height:100svh;padding:15svh 25px 13svh;text-shadow:0 2px 24px #071716b3}.nature-intro h2{font-size:38px;line-height:1.9;color:#fff}.nature-intro p{font-size:17px;line-height:2.3;color:#e5eae0}.nature-sign{color:#c8e3d5}.nature-section-en,.section-label,.content-text .sub-label,.mq-eyebrow,.sb-eyebrow{font:500 12px/1.6 var(--font-en)!important;color:#b6e1da!important;text-transform:uppercase;letter-spacing:.2em!important}
.section-header{min-height:65svh;display:flex;flex-direction:column;justify-content:center;text-align:center;padding:55px 10px;margin-bottom:28px;text-shadow:0 2px 24px #06151280}.section-header .section-desc{margin:18px auto 0;max-width:470px}.section-title,.content-text h3{font-size:34px!important;line-height:1.85!important;color:#f3f1e8!important;font-weight:400!important;letter-spacing:.08em!important}.section-desc,.content-text p,.mq-sub,.sb-sub{color:#dce4d9;font-size:16px!important;line-height:2.2}.content-text h3{margin:22px 0 30px}.content-item,.content-item.reverse{gap:35px}.content-item>.content-text{order:-1;text-align:center;padding:8svh 8px 36px;text-shadow:0 2px 22px #08171780}.content-text p{text-align:left}.content-img-wrap.about-figure{background:#10241fc9!important;border:1px solid #b6e1da26!important;border-radius:8px!important;padding:15px}.about-essence{background:#10241fd9!important;border:1px solid #b6e1da26!important;border-radius:8px!important;color:#eef3e9}.about-essence-label,.about-essence-sub{color:#bed1c5}.about-essence-text{color:#f3f1e8!important}.cycle3-node{background:#112820e6!important;border-color:#b6e1da70!important}.cycle3-center .en,.cycle3-node .en,.cycle3-center .ja,.cycle3-node .ja{color:#dceee4!important}.cycle3-legend{color:#d4e1d4}.cycle3-center{background:none!important}
.stats-bar{background:transparent!important;border:0!important;padding:50px 15px}.stats-grid{gap:16px!important}.stats-grid>div{background:#10231ece!important;border:1px solid #b6e1da33!important;border-radius:5px!important;padding:25px 10px!important}.stats-grid>div:nth-child(even){border-right:1px solid #b6e1da33!important}.stat-number{font-family:var(--font-en)!important;color:#f1f3e9!important;-webkit-text-fill-color:#f1f3e9!important;font-weight:400!important;font-size:40px!important}.stat-number sup{color:#b6e1da!important;-webkit-text-fill-color:#b6e1da!important}.stat-label{color:#c8d6c9;font-size:12px}.services-grid{gap:18px}.service-card,.service-card:hover{background:#10231ee0!important;border:1px solid #b6e1da33!important;border-radius:7px!important;padding:30px!important;box-shadow:none!important}.service-icon{color:#b6e1da!important;font-family:var(--font-en)!important;font-size:13px!important;letter-spacing:.12em}.service-name{color:#f2f3e9;font-weight:400;font-size:21px;line-height:1.8}.service-desc{color:#d0dbce;font-size:16px;line-height:2}.tag{color:#c6d8cb!important;border-color:#c7dfc638!important;background:none!important;font-size:12px!important}.tools-wrap{background:#10231ed9;border:1px solid #b6e1da2b;border-radius:7px;padding:25px;margin:28px 0}.tools-wrap h4{color:#dbe8db}
.marquee-section{background:transparent!important;padding:70px 0}.marquee-caption{min-height:60svh;display:flex;flex-direction:column;justify-content:center;text-align:center;padding:35px 28px}.mq-title{font-size:33px;line-height:1.85;color:#f4f3eb;margin-top:24px;font-weight:400!important}.mq-sub{text-align:left;margin-top:30px}.marquee-track{padding:0 5px;gap:20px}.marquee-item.wide{border:1px solid #b6e1da33;border-radius:6px!important;overflow:hidden}.statement-band{background:transparent!important;border:0;min-height:75svh;padding:70px 28px;display:flex;flex-direction:column;justify-content:center;text-align:center}.sb-title{font-size:30px;color:#f2f3e9}.sb-sub{text-align:left}.philosophy{background:transparent!important}.philosophy-card,.philosophy-card:hover{background:#10231ee0!important;border:1px solid #b6e1da2e!important;border-radius:7px!important;padding:30px!important}.card-label{color:#b6e1da!important}.card-title{color:#edf3e7;font-size:22px;font-weight:400}.card-desc,.value-item-desc{color:#d0dbce}.value-item-name{color:#ecf2e7}.reveal-band{min-height:80svh;background:transparent!important}.rb-inner{padding:80px 20px;text-shadow:0 2px 25px #05181199}.reveal-band h2{font-size:34px;color:#fff;font-weight:400!important;letter-spacing:.1em!important}.rb-eyebrow{font:500 12px var(--font-en);letter-spacing:.2em;color:#b6e1da}.reveal-band p{color:#e3eadd;font-size:16px}.rb-accent{color:#c7eee0}
.process-timeline{background:#10231edb;border:1px solid #b6e1da30;border-radius:8px;padding:30px 20px 8px}.process-timeline::before{display:none}.process-number{background:#112e25!important;border-color:#b6e1da6e!important;color:#d2e8d8!important}.process-title{color:#eef3e8;font-size:19px}.process-desc{color:#cfdccf;font-size:16px}.comparison-table{background:#10231ee8;border:1px solid #b6e1da30;border-radius:7px;color:#dce8da}.comparison-table thead th{background:#14382b!important;color:#e0eee0!important}.comparison-table tbody td{background:transparent!important;color:#d7e4d4!important;border-color:#b6e1da26!important}.results-grid,.results-changes{gap:18px}.result-card,.result-card:hover{background:#10231ee0!important;border:1px solid #b6e1da30!important;border-radius:7px!important;padding:28px!important}.result-icon{color:#b6e1da!important;border-color:#b6e1da55!important}.result-title,.result-name,.result-label{color:#e6eee0!important}.result-desc,.result-text{color:#cbd9cb!important}.result-number{color:#c5e7d8!important;-webkit-text-fill-color:#c5e7d8!important}.change-item{background:#10231ee0!important;color:#e2edde!important;border-color:#b6e1da33!important}.change-before{color:#bccabf!important}.change-after{color:#cce8d8!important}.testimonial-card,.testimonial-card.tw-glass.tw-glass{background:#10231ee0!important;border:1px solid #b6e1da33!important;border-radius:7px!important}.testimonial-text,.testimonial-name{color:#e4eddf}.testimonial-role{color:#bfcec0}
.note-card,.note-card:hover{background:#10231ee6!important;border:1px solid #b6e1da33!important;border-radius:7px!important;overflow:hidden;padding-bottom:25px}.note-body{padding:23px 25px 0}.note-date{color:#b8d5c3}.note-card-title{color:#f0f4e9;font-size:18px}.note-thumb-ph{background:#204537!important;color:#dbead8}.note-loading{color:#deeadb}.btn-secondary{color:#e2ebde!important;border:1px solid #b6e1da66!important;background:#10231ecc!important}.btn-primary{color:#fff!important;background:#bf5432!important}.profile-image-wrapper{border:1px solid #b6e1da3b;border-radius:7px!important}.profile-grid>div:last-child{background:#10231ee3;border:1px solid #b6e1da2b;border-radius:7px;padding:30px}.profile-name{color:#ecf1e6}.profile-role{color:#b5cebc}.profile-text{color:#d3dfcf;font-size:16px}.strength-name{color:#e4efdd}.strength-desc{color:#bdcdbd}.profile-strengths{margin-top:30px}.strength-card{border-color:#b6e1da30!important}.notion-embed-wrap~p{color:#d3decb!important}#contact .section-header{text-align:center}#contact a[href^="mailto"]{color:#e2edd9}.contact-button{max-width:430px}.footer-logo{color:#edf2e6!important}footer{background:#0b1c17a6!important;border-top:1px solid #b6e1da33;padding-top:60px;margin-top:65px}.footer-tagline,.footer-bottom{color:#c8d8c6}.footer-nav a{color:#cbdcc9}.footer-nav-group h4{color:#e4eddb}.footer-links-pills .link-btn{color:#d0e0cc;border-color:#b6e1da55}.scene-controls{background:#10231ec9}.scene-transition-inner{background:transparent}.scene-transition{height:140svh}.skip-link{background:#10231e;color:#fff}
@media(min-width:1400px){.story-column{max-width:620px}.nature-hero h1{font-size:45px!important}.section-title,.content-text h3{font-size:38px!important}.nature-intro h2{font-size:42px}}
@media(max-width:900px){.story-column{max-width:640px;width:100%;margin:0 auto}.nav,.nav:not(.scrolled),.nav.scrolled{max-width:100%;background:#10231ed9!important}.nav-links{background:#10231ef5!important}.nature-hero{padding-top:24svh;min-height:100svh}.nature-hero h1{font-size:36px!important}.nature-intro{min-height:100svh}.nature-landscape{display:block}.camera-shade{background:rgba(6,20,15,.48)}.section-header{min-height:60svh}.scene-transition-inner{background:transparent}.scene-transition{height:125svh}.nature-motto{display:none}.section-padding{padding-bottom:70px}}
@media(max-width:480px){.story-column>.container{padding:0 20px}.nature-hero{padding-left:24px;padding-right:24px}.nature-hero h1{font-size:32px!important;letter-spacing:.07em!important}.nature-intro{padding:12svh 25px}.nature-intro h2{font-size:34px}.nature-intro p{font-size:16px}.section-title,.content-text h3{font-size:29px!important}.section-header{padding:60px 8px 35px}.content-item>.content-text{padding-top:7svh}.service-card,.service-card:hover,.philosophy-card,.philosophy-card:hover{padding:25px!important}.mq-title{font-size:29px}.mq-sub{font-size:16px!important}.marquee-caption{padding-left:24px;padding-right:24px}.sb-title{font-size:27px}.reveal-band h2{font-size:29px}.profile-grid>div:last-child{padding:25px}.scene-transition{min-height:650px}.scene-controls{background:#0c201bf2}.process-timeline{padding-left:16px;padding-right:16px}.profile-name{font-size:25px}.stat-label{font-size:11px}}
@media(prefers-reduced-motion:reduce){.scene-transition{height:auto;min-height:450px}}
/* Keep the existing diagnostic questionnaire readable on its light surface. */
.diag-popup{--ink:#28372f;--dark:#28372f;--text-sub:#526157;--text-light:#66766b;--accent:#a64a2e;--accent-light:#cf7753;--green:#39745f;color:#28372f}.testimonial-quote{color:#edf2e7;font-size:16px;line-height:2}.cycle3 svg .ring-rotor circle{stroke:#b6e1da80!important}.cycle3 svg g[fill] polygon{fill:#b6e1da99!important}
/* High-contrast values, legible at every nested level. */
.philosophy-card.values .value-item,.value-item{background:#17392e!important;border:1px solid #a9c6b940!important;border-radius:6px!important;padding:22px!important;box-shadow:none!important}.value-item-name{color:#f4f6ed!important;font-size:17px!important;font-weight:500!important;line-height:1.65!important}.value-item-desc{color:#d5e5da!important;font-size:16px!important;line-height:1.95!important;margin-top:10px}.values-grid{gap:15px}.card-label{font-size:13px!important}.customer-outcomes{margin-top:28px}.customer-voice-heading{font-size:24px!important;font-weight:400!important;line-height:1.7;color:#eff4e9!important;margin:65px 0 27px}.award-photo{margin:0 0 28px;background:#11281fe8;border:1px solid #b6e1da3b;border-radius:8px;overflow:hidden}.award-photo a{display:block}.award-photo img{display:block;width:100%;height:auto}.award-photo figcaption{padding:20px 24px;color:#d2e4d5;font-size:14px;line-height:1.9}
/* Consultation reads as an invitation, with a distinct directional target. */
.nav .nav-links .nav-cta{background:#f2ecdd!important;color:#182e25!important;border:1px solid #fff5d366!important;border-radius:9px!important;padding:18px!important;gap:13px;align-items:center;white-space:normal;box-shadow:0 6px 24px #07171330!important;transform:none!important;transition:background .2s!important}.nav .nav-links .nav-cta:hover{opacity:1;background:#fff7e8!important}.nav-cta .consult-copy{display:flex;flex-direction:column;gap:9px;min-width:0}.nav-cta .consult-copy small{font:400 12px/1.8 'Noto Sans JP',sans-serif!important;color:#40594b!important;opacity:1;white-space:normal}.nav-cta .consult-copy strong{font:600 15px/1.65 'Noto Sans JP',sans-serif!important;color:#142b21!important}.nav-cta .consult-arrow,.nature-button .consult-arrow{font:400 23px/1 sans-serif!important;display:flex;justify-content:center;align-items:center;width:39px;height:39px;flex-shrink:0;border:1px solid #1d423533;border-radius:50%;background:#153b2c;color:#f3f4df!important}.nature-hero .nature-button{border-radius:9px;background:#f2ecdd;color:#142b21;padding:18px 20px;max-width:365px;gap:18px;text-shadow:none}.nature-hero .nature-button:hover{background:#fff7e8}.hero-consult-copy{display:flex;flex-direction:column;text-align:left;gap:7px}.hero-consult-copy small{font-size:12px;line-height:1.7;color:#40594b}.hero-consult-copy strong{font-size:15px;line-height:1.7;font-weight:600;color:#142b21}.nav-cta:focus-visible,.nature-button:focus-visible{outline-color:#f8eed4;outline-offset:5px}.camera-scene{transform-origin:var(--walk-origin,50% 46%)}
@media(min-width:901px) and (max-width:1100px){.nav .nav-links .nav-cta{padding:13px!important;gap:7px}.nav-cta .consult-copy small{font-size:10px!important}.nav-cta .consult-copy strong{font-size:13px!important}.nav-cta .consult-arrow{width:30px;height:30px;font-size:18px!important}}
@media(max-width:480px){.value-item{padding:20px!important}.value-item-name{font-size:16px!important}.value-item-desc{font-size:16px!important}.nature-hero .nature-button{padding:17px 18px}.hero-consult-copy strong{font-size:14px}.award-photo figcaption{padding:18px;font-size:13px}}
/* Four real moments from the supplied community photographs. */
.activity-slider{width:100%;margin:15px 0 0}.activity-viewport{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;padding:0 26px 8px;scroll-padding:26px;overscroll-behavior-x:contain}.activity-viewport::-webkit-scrollbar{display:none}.activity-slide{flex:0 0 94%;min-width:0;margin:0;scroll-snap-align:start;background:#10251fe8;border:1px solid #b6e1da35;border-radius:8px;overflow:hidden}.activity-image{position:relative;width:100%;display:block;border:0;padding:0;background:#10251f;cursor:zoom-in;aspect-ratio:4/3;color:white;overflow:hidden}.activity-crop{display:block;position:absolute;inset:0;overflow:hidden}.activity-crop img{position:absolute;width:400%!important;height:200%!important;max-width:none!important;left:var(--crop-x);top:var(--crop-y);object-fit:fill}.activity-expand{position:absolute;right:14px;bottom:14px;display:grid;place-items:center;width:33px;height:33px;border:1px solid #e2edda70;border-radius:50%;background:#10251fba;color:#e2edda;font-size:19px}.activity-slide figcaption{padding:24px 25px 29px;position:relative}.activity-step{font:400 12px var(--font-en);letter-spacing:.1em;color:#a8d7c6}.activity-slide h3{font-size:25px!important;color:#edf4e8!important;font-weight:400!important;line-height:1.7;margin:10px 0}.activity-slide p{font-size:15px;line-height:1.9;color:#c7dacb}.activity-controls{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 26px}.activity-pagination{display:flex;align-items:center;gap:16px}.activity-pagination button{border:1px solid #b6e1da66;border-radius:50%;background:#10251fd9;color:#e1eedd;font-size:20px;width:42px;height:42px;cursor:pointer}.activity-pagination button:disabled{opacity:.3;cursor:default}.activity-pagination button:hover:not(:disabled){background:#234837}.activity-counter{color:#cee2d3;font:400 12px var(--font-en);white-space:nowrap;letter-spacing:.08em}#activity-pause{font:400 12px/1.6 'Noto Sans JP',sans-serif;background:none;border:0;border-bottom:1px solid #b6e1da66;padding:8px 0;color:#d4e6d5;cursor:pointer}
@media(max-width:480px){.activity-viewport{padding-left:18px;padding-right:18px;scroll-padding:18px;gap:12px}.activity-slide{flex-basis:94%}.activity-controls{padding:18px;gap:10px}.activity-pagination{gap:10px}.activity-pagination button{width:38px;height:38px}#activity-pause{font-size:11px}.activity-slide figcaption{padding:22px}.activity-slide h3{font-size:23px!important}}
/* A single journey: entrance → interior → corridor → atrium → workshop → horizon. */
.camera-scene[data-camera-image="0"]{opacity:0;visibility:hidden}
.camera-scene[data-camera-image="4"]{background-image:url('image/journey-entry.png');opacity:1;visibility:visible}
.camera-scene[data-camera-image="5"]{background-image:url('image/journey-passage.png')}
.camera-scene[data-camera-image="6"]{background-image:url('image/journey-making.png')}
#activity-pause:disabled{opacity:.75;cursor:default;border-bottom-color:transparent}

/* A cinematic arrival, followed by a quiet invitation. */
body.arriving{overflow:hidden}
.arrival{position:fixed;inset:0;z-index:100000;background:#0a1713;overflow:hidden;perspective:900px;color:#f6f1e4}
.arrival-hall{position:absolute;inset:-2%;background:linear-gradient(#08100c30,#08100c55),url('image/journey-passage.png') center/cover;transform-origin:53% 45%;animation:hall-walk 3.8s cubic-bezier(.3,0,.6,1) forwards}
.arrival-doorway{position:absolute;inset:17% 34%;border:9px solid #473b2a;box-shadow:0 0 0 3px #cfba8860,0 0 90px #e9db8b30;perspective:900px;animation:door-approach 4.6s cubic-bezier(.4,0,.65,1) forwards}
.arrival-door{position:absolute;inset:0;background:linear-gradient(90deg,#332b20,#554734 48%,#30291f);border:1px solid #b3a07d80;transform-origin:left center;animation:door-open 1.5s 2.6s ease-in-out forwards;box-shadow:inset 0 0 70px #0005}
.arrival-door::after{content:'';position:absolute;right:9%;top:48%;width:3px;height:13%;background:#ded8b1;box-shadow:0 0 10px #ede9b780}
.arrival-wordmark{position:absolute;left:50%;top:38%;transform:translateX(-50%);font:500 15px sans-serif;letter-spacing:.25em;color:#e6ddc6}
.arrival-caption{position:absolute;bottom:11%;width:100%;text-align:center;font-size:12px;letter-spacing:.22em;animation:arrival-caption 4s forwards}
.arrival-skip{position:absolute;right:28px;bottom:28px;border:0;border-bottom:1px solid #fff6;background:transparent;color:#fff;padding:12px;font-size:12px;cursor:pointer}
.arrival.leaving{opacity:0;transition:opacity .8s ease;pointer-events:none}
.arriving .nav,.arriving .nature-motto,.arriving .scene-controls,.arriving .diag-float-btn{visibility:hidden}
.arriving .nature-hero-copy{opacity:0}
.film-line{display:block}.film-ready .film-line{animation:film-reveal 1.8s both}.film-ready .film-line:nth-child(2){animation-delay:.7s}.film-ready .nature-small{animation:film-reveal 1.8s .2s both}.film-ready .nature-hero-copy>p:not(.nature-small),.film-ready .nature-scroll{animation:film-reveal 1.8s 1.5s both}
#philosophy .philosophy-card.tw-glass{background:rgba(12,32,26,.96)!important;border:1px solid #8eb9a64d!important;box-shadow:none!important}
#philosophy .philosophy-card .card-title{color:#f2f5eb!important}#philosophy .philosophy-card .card-desc{color:#d9e5dd!important}#philosophy .philosophy-card .card-label{color:#aed9cb!important}
#contact{padding-top:16svh;padding-bottom:12svh}#contact .section-header{min-height:0;padding-bottom:35px}#contact .section-title{font-size:clamp(26px,3vw,38px)!important;line-height:1.8}#contact .contact-button{background:transparent;border-radius:0;border-bottom:1px solid #cde3d0;padding:22px 0;color:#f1f3e7;min-height:0}#contact .contact-button:hover{background:#15382b80;transform:none}
@keyframes hall-walk{from{transform:scale(1)}to{transform:scale(2.8)}}
@keyframes door-approach{0%{transform:scale(.65)}58%{transform:scale(1.25)}100%{transform:scale(5);opacity:0}}
@keyframes door-open{to{transform:rotateY(-105deg)}}
@keyframes arrival-caption{0%,70%{opacity:1}100%{opacity:0}}
@keyframes film-reveal{from{opacity:0;filter:blur(9px);transform:translateY(16px);letter-spacing:.2em}to{opacity:1;filter:blur(0);transform:translateY(0)}}
@media(max-width:600px){.arrival-doorway{inset:22% 22%}.arrival-skip{right:18px;bottom:18px}}
@media(prefers-reduced-motion:reduce){.arrival{display:none}.film-ready .film-line,.film-ready .nature-small,.film-ready .nature-hero-copy>p,.film-ready .nature-scroll{animation:none!important}}

.arrival-replay{display:block;margin:24px auto 0;padding:10px 0;border:0;border-bottom:1px solid #c1d8cc70;background:none;color:#e0ebdf;font:400 12px/1.8 sans-serif;letter-spacing:.12em;cursor:pointer}
body.motion-preview .arrival{display:block}
body.motion-preview .arrival-hall{animation:hall-walk 3.8s cubic-bezier(.3,0,.6,1) forwards!important}
body.motion-preview .arrival-doorway{animation:door-approach 4.6s cubic-bezier(.4,0,.65,1) forwards!important}
body.motion-preview .arrival-door{animation:door-open 1.5s 2.6s ease-in-out forwards!important}
body.motion-preview .arrival.leaving{transition:opacity .8s ease!important}
body.motion-preview.film-ready .film-line{animation:film-reveal 1.8s both!important}
body.motion-preview.film-ready .film-line:nth-child(2){animation-delay:.7s!important}

/* Wider establishing viewpoints leave real floor and near architecture to pass. */
.camera-scene[data-camera-image="0"]{background-image:url('image/approach-studio.png')}
.camera-scene[data-camera-image="2"]{background-image:url('image/approach-atrium.png')}
.camera-scene[data-camera-image="3"]{background-image:url('image/approach-horizon.png')}
.camera-scene[data-camera-image="6"]{background-image:url('image/approach-workshop.png')}
/* The arrival ends on the exact image and framing used by the hero. */
.arrival-destination{position:absolute;inset:-10%;background:url('image/journey-entry.png') center/cover;transform:scale(1.03);transform-origin:51% 46%}
.arrival-hall{inset:-10%;background: url('image/journey-approach.png') center/cover;transform-origin:51% 46%;animation:approach-walk 4.2s linear forwards}
.arrival-doorway{inset:-4%;border:0;box-shadow:none;animation:none;perspective:1200px;pointer-events:none}
.arrival-door{inset:0 50% 0 0;background:linear-gradient(115deg,#8caa9a20,#182c2538);border:3px solid #29392fd9;box-shadow:inset -8px 0 16px #0e211930;transform-origin:left center;animation:glass-open 1.9s 1.8s cubic-bezier(.4,0,.3,1) forwards}
.arrival-door-right{inset:0 0 0 50%;transform-origin:right center;animation-name:glass-open-right}
.arrival-door::after{right:5%;top:46%;height:12%;background:#9caa9c}.arrival-door-right::after{right:auto;left:5%}
.arrival::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#0a171a8c,transparent 44%,#09161820 68%,#09161865);pointer-events:none}
.arrival-caption,.arrival-skip{z-index:2}
body.motion-preview .arrival-hall{animation:approach-walk 4.2s linear forwards!important}
body.motion-preview .arrival-doorway{animation:none!important}
body.motion-preview .arrival-door{animation:glass-open 1.9s 1.8s cubic-bezier(.4,0,.3,1) forwards!important}
body.motion-preview .arrival-door-right{animation-name:glass-open-right!important}
@keyframes approach-walk{0%{transform:scale(1);opacity:1}45%{opacity:1}85%,100%{transform:scale(1.55);opacity:0}}
@keyframes glass-open{to{transform:translateX(-20%) rotateY(-100deg);opacity:0}}
@keyframes glass-open-right{to{transform:translateX(20%) rotateY(100deg);opacity:0}}
@media(max-width:900px){.arrival::after{background:rgba(6,20,15,.48)}}


/* 2026-09: readable service details and a direct path to consultation. */
.nature-hero { padding-top: max(110px, 17svh); padding-bottom: 110px; }
.nature-hero .hero-description { font-size: 16px; line-height: 2; letter-spacing: .025em; }
.hero-actions { margin-top: 26px; }
.nature-hero .hero-actions .nature-button { margin-top: 0; min-height: 74px; }
.hero-actions .nature-scroll { margin-top: 18px; padding: 12px 8px; font-size: 13px; }
.arrival-replay { margin-top: 14px; font-size: 11px; opacity: .85; }
.film-ready .film-line, .film-ready .nature-small,
.film-ready .nature-hero-copy > p:not(.nature-small) { animation-duration: .65s; animation-delay: 0s; }
.service-section-title { font-size: 32px; line-height: 1.75; margin: 22px 0 24px; color: #f3f1e8; }
#services .content-text { text-shadow: none; padding-top: 28px; }
#services .content-text > p { background: #10251fe8; border: 1px solid #b6e1da33; border-radius: 8px; padding: 24px; }
.service-shortcuts { display: grid; margin-top: 22px; gap: 10px; text-align: left; }
.service-shortcuts a { display: grid; grid-template-columns: 1fr auto; gap: 5px 12px; padding: 18px 20px; background: #10251ff2; border: 1px solid #b6e1da50; border-radius: 8px; color: #f3f1e8; text-decoration: none; }
.service-shortcuts a:hover { background: #214435; }
.service-shortcuts span { font-size: 15px; }
.service-shortcuts small { grid-row: 2; color: #c0d8c9; font-size: 12px; }
.service-shortcuts b { grid-column: 2; grid-row: 1 / 3; align-self: center; font-weight: 400; }
#services .service-card.tw-glass { background: #f3efe5 !important; border: 1px solid #e6dece !important; color: #21382d; backdrop-filter: none; -webkit-backdrop-filter: none; text-shadow: none; scroll-margin-top: 96px; }
#services .service-name { color: #183b2d; font-weight: 500; }
#services .service-desc { color: #405247; line-height: 2.05; }
#services .service-icon { color: #526f5e !important; }
#services .service-card .tag { color: #486052 !important; border-color: #b5c4b7 !important; }
#services .service-card a { color: #235d44 !important; text-decoration: underline !important; text-underline-offset: 4px; display: inline-block; padding: 10px 0; }
.section-header { min-height: 0; padding: 45px 8px 25px; }
.scene-transition { height: 75svh; min-height: 480px; }
.scene-transition-inner { top: 16svh; }
.heading-line { display: block; }
#contact .section-header { padding-bottom: 12px; }
.consultation-note { color: #e3edde; font-size: 14px; line-height: 2; text-align: center; margin: 0 0 25px; }
#contact .contact-button { color: #183b2d; background: #f3efe5; border-radius: 8px; min-height: 64px; }
#contact .contact-button:hover { background: #fff9ee; }
a:focus-visible, button:focus-visible { outline-color: #e6be83; }
@media (min-width: 901px) and (max-height: 680px) {
  .nav, .nav:not(.scrolled), .nav.scrolled { top: 24px; max-height: calc(100dvh - 48px); overflow-y: auto; }
  .nav-inner { gap: 24px; }
  .nav-links { gap: 10px; }
}
@media (max-width: 900px) {
  .nav, .nav:not(.scrolled), .nav.scrolled { left: 0; transform: none; z-index: 1000; }
  .nav .nav-inner { min-height: 73px; }
  .nav .hamburger { position: relative; z-index: 1002; width: 44px; height: 40px; align-items: center; justify-content: center; }
  .nav .nav-links, .nav .nav-links.open { position: absolute; inset: 100% 0 auto; width: 100%; height: calc(100dvh - 73px); max-height: calc(100dvh - 73px); margin: 0; transform: none; padding: 24px 24px max(28px, env(safe-area-inset-bottom)); justify-content: flex-start; align-items: stretch; gap: 8px; background: #10251f !important; overflow-y: auto; overscroll-behavior: contain; backdrop-filter: none; -webkit-backdrop-filter: none; z-index: 1001; }
  .nav .nav-links { display: none; }
  .nav .nav-links.open { display: flex; }
  .nav .nav-links a { min-height: 52px; flex-shrink: 0; padding: 10px 0; border-bottom: 1px solid #bed8c025; }
  .nav .nav-links a span { font-size: 21px; }
  .nav .nav-links .nav-cta { margin-top: 16px; min-height: 85px; }
  body.menu-open { overflow: hidden; }
  body.menu-open .scene-controls, body.menu-open .diag-float-btn { visibility: hidden; }
  .nature-hero { padding: 135px 24px 138px; min-height: 100svh; }
  .nature-hero h1 { font-size: 32px !important; line-height: 1.8 !important; }
  .nature-hero .hero-description { font-size: 14px; line-height: 2; }
  .nature-hero .nature-small { font-size: 11px; letter-spacing: .07em; }
  .nature-hero .nature-button { max-width: 335px; }
  .hero-consult-copy strong { font-size: 15px; }
  .service-section-title { font-size: 27px; }
  .scene-transition { height: 65svh; min-height: 430px; }
  .scene-transition-inner { position: static; padding: 70px 24px; }
  .section-header { min-height: 0; padding: 35px 8px 22px; }
}
@media (max-width: 380px) {
  .nature-hero { padding-left: 20px; padding-right: 20px; }
  .nature-hero h1 { font-size: 29px !important; }
  #services .service-card.tw-glass { padding: 24px !important; }
  .service-name { font-size: 19px; }
}
@media (prefers-reduced-motion: reduce) {
  .scene-transition { height: auto; min-height: 0; }
}

@media (max-width: 900px) {
  .nature-hero .nature-hero-copy > .hero-description { font-size: 15px; letter-spacing: .02em; }
  .scene-controls { left: 12px; right: auto; bottom: max(12px, env(safe-area-inset-bottom)); padding: 7px; }
  .scene-controls .scene-readout { display: none; }
  .diag-float-btn { bottom: max(12px, env(safe-area-inset-bottom)); }
}

/* Mobile consultation stays available without interrupting the opening view. */
.mobile-consult-bar { display: contents; }
.mobile-consult-link { display: none; }
@media (max-width: 900px) {
  .mobile-consult-bar { display: flex; align-items: center; gap: 10px; position: fixed; inset: auto 0 0; z-index: 120; padding: 12px 16px max(12px, env(safe-area-inset-bottom)); background: #10251ff5; border-top: 1px solid #b6e1da33; }
  .mobile-consult-link { display: flex; flex: 1; align-items: center; justify-content: space-between; min-height: 50px; gap: 12px; padding: 12px 20px; border-radius: 7px; background: #f3efe5; color: #183b2d; font-size: 15px; font-weight: 600; text-decoration: none; }
  .mobile-consult-link:hover { background: #fff9ee; }
  .mobile-consult-bar .diag-float-btn { position: static; flex: 0 0 auto; min-height: 50px; margin: 0; padding: 12px !important; border-radius: 7px !important; border-color: #b6e1da60 !important; background: transparent !important; color: #e4eddf !important; box-shadow: none !important; transform: none !important; }
  .scene-controls { bottom: calc(86px + env(safe-area-inset-bottom)); }
  .story-column { padding-bottom: calc(86px + env(safe-area-inset-bottom)); }
  .arriving .mobile-consult-bar, .menu-open .mobile-consult-bar { visibility: hidden; }
}

/* A little curiosity: tactile invitations and a sparkling diagnostic. */
.mobile-consult-link, .nav .nav-links .nav-cta, #contact .contact-button {
  position: relative; overflow: hidden; isolation: isolate;
  transition: background .2s, box-shadow .2s, scale .2s !important;
}
.mobile-consult-link::after, #contact .contact-button::after {
  content: ''; position: absolute; inset: -50% auto -50% -80%; width: 45%;
  background: linear-gradient(90deg, transparent, #ffffff80, transparent);
  transform: skewX(-22deg); pointer-events: none; z-index: -1;
}
.playful-arrow { display: grid; place-items: center; width: 30px; height: 30px; flex-shrink: 0; border-radius: 50%; background: #183b2d; color: #f3efe5; transition: rotate .25s, translate .25s; }
.diag-float-btn, .mobile-consult-bar .diag-float-btn {
  display: flex; align-items: center; justify-content: center; gap: 7px;
  transition: background .2s, box-shadow .2s, scale .2s !important;
}
.diagnosis-spark { display: inline-block; color: #b17625; font-size: 18px; line-height: 1; transform-origin: center; animation: curiosity-spark 5s ease-in-out infinite; }
@keyframes curiosity-spark { 0%, 72%, 100% { transform: rotate(0deg) scale(1); } 80% { transform: rotate(30deg) scale(1.22); } 90% { transform: rotate(-12deg) scale(.95); } }
@keyframes invitation-glint { to { left: 140%; } }
@media (hover: hover) {
  .mobile-consult-link:hover, .nav .nav-links .nav-cta:hover, #contact .contact-button:hover { box-shadow: 0 5px 22px #b6e1da30 !important; }
  .mobile-consult-link:hover .playful-arrow { rotate: 12deg; translate: 2px -2px; }
  .nav-cta:hover .consult-arrow { animation: curiosity-spark .65s ease-in-out; }
  .mobile-consult-link:hover::after, #contact .contact-button:hover::after { animation: invitation-glint .7s ease-out; }
  .diag-float-btn:hover, .mobile-consult-bar .diag-float-btn:hover { background: #24533e !important; color: #fff6df !important; box-shadow: 0 0 0 3px #b6e1da25 !important; }
  .diag-float-btn:hover .diagnosis-spark { color: #f4d48c; }
}
.mobile-consult-link:active, .nav .nav-links .nav-cta:active, #contact .contact-button:active, .diag-float-btn:active { scale: .97; }
@media (max-width: 900px) {
  .mobile-consult-link { min-height: 52px; padding: 10px 14px; }
  .mobile-consult-bar .diag-float-btn { min-height: 52px; }
  .mobile-consult-bar .diagnosis-spark { color: #e8c985; font-size: 16px; }
}
@media (prefers-reduced-motion: reduce) {
  .diagnosis-spark, .mobile-consult-link::after, #contact .contact-button::after { animation: none !important; }
  .playful-arrow, .mobile-consult-link, .nav .nav-links .nav-cta, #contact .contact-button, .diag-float-btn { transition: none !important; }
  .mobile-consult-link:active, .nav .nav-links .nav-cta:active, #contact .contact-button:active, .diag-float-btn:active { scale: 1; }
  .mobile-consult-link:hover .playful-arrow { rotate: 0deg; translate: none; }
}
@media (max-width: 380px) {
  .mobile-consult-link { padding: 10px; gap: 8px; font-size: 14px; }
  .playful-arrow { width: 26px; height: 26px; }
  .mobile-consult-link > span:first-child { white-space: nowrap; }
}
