:root{--ink:#111;--muted:#666;--line:#dedede;--lime:#c8ff00;--white:#fff;--max:1440px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:84px}body{margin:0;background:#fff;color:var(--ink);font-family:Inter,'Noto Sans JP',Arial,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}::selection{background:var(--lime);color:var(--ink)}.skip-link{position:absolute;left:1rem;top:-5rem;z-index:500;background:var(--lime);padding:1rem}.skip-link:focus{top:1rem}.section-shell{max-width:var(--max);padding-left:clamp(22px,4.3vw,72px);padding-right:clamp(22px,4.3vw,72px);margin:auto}.site-header{height:82px;padding:0 clamp(22px,4.3vw,72px);position:sticky;top:0;z-index:100;background:rgba(255,255,255,.96);backdrop-filter:blur(16px);border-bottom:1px solid #ededed;display:flex;align-items:center;justify-content:space-between;gap:30px}.logo{font-size:31px;font-weight:900;letter-spacing:-.09em;line-height:1}.logo-dot,.period{color:var(--lime)}.desktop-nav{display:flex;gap:clamp(12px,1.8vw,29px);align-items:center}.desktop-nav a,.lang,.header-cta,.header-right,.footer-links{font-size:10px;font-weight:800;letter-spacing:.035em}.desktop-nav a:hover,.footer-links a:hover{box-shadow:inset 0 -4px var(--lime)}.header-right{display:flex;gap:24px;align-items:center;white-space:nowrap}.lang span{color:#aaa}.header-cta{background:#111;color:white;padding:17px 21px;display:flex;gap:27px;align-items:center}.header-cta:hover,.contact-button:hover{background:#333}.menu-button{display:none;background:none;border:0;width:36px;height:36px;cursor:pointer;padding:8px}.menu-button span{display:block;height:2px;background:#111;margin:6px 0}.mobile-menu{display:none}.hero{min-height:min(850px,calc(100svh - 82px));position:relative;display:flex;flex-direction:column;justify-content:center;padding-top:90px;padding-bottom:76px}.hero-inner{width:100%}.hero-kicker{font-size:11px;font-weight:800;letter-spacing:.13em;display:flex;gap:10px;align-items:center;margin-bottom:35px}.signal{display:inline-block;background:var(--lime);width:11px;height:11px;border-radius:50%}.hero h1{font-size:clamp(70px,10.65vw,164px);letter-spacing:-.092em;line-height:.91;font-weight:900;margin:0 0 54px;white-space:nowrap}.hero-bottom{display:flex;justify-content:space-between;align-items:end;gap:40px}.hero-jp{font-size:clamp(22px,2.5vw,34px);line-height:1.55;font-weight:900;letter-spacing:-.07em;margin:0 0 20px}.hero-lead{max-width:540px;line-height:2;font-size:13px;font-weight:600;color:#555;margin:0}.hero-side{display:flex;flex-direction:column;align-items:flex-end;gap:9px;font-size:11px;font-weight:800;letter-spacing:.05em}.scroll-hint{display:flex;align-items:center;gap:16px;margin-top:36px}.round-arrow{display:grid;place-items:center;width:56px;height:56px;border:1px solid #888;border-radius:50%;font-size:22px;font-weight:400;transition:background .2s}.scroll-hint:hover .round-arrow{background:var(--lime);border-color:var(--lime)}.hero-index{position:absolute;bottom:26px;left:clamp(22px,4.3vw,72px);font-size:10px;font-weight:700;color:#777}.section{padding-top:125px;padding-bottom:135px;border-top:1px solid var(--line)}.section-meta{font-size:11px;font-weight:900;letter-spacing:.08em;display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding-bottom:16px;margin-bottom:58px}.section-meta span:last-child{color:#777}.about-grid{display:grid;grid-template-columns:1.45fr 1fr;gap:8%}.statement{font-size:clamp(37px,5.1vw,75px);letter-spacing:-.075em;line-height:1.29;font-weight:900;margin:0}.marker{box-shadow:inset 0 -.22em var(--lime)}.about-copy{padding-top:6px}.about-copy p:first-child{font-size:clamp(23px,2.5vw,35px);font-weight:900;line-height:1.65;letter-spacing:-.055em;margin:0 0 32px}.about-copy p:nth-child(2),.strength-grid>div>p{font-size:14px;line-height:2.2;color:#555;font-weight:500;max-width:500px}.text-link{display:inline-flex;gap:55px;border-bottom:1px solid #111;padding:17px 0;font-size:12px;font-weight:900;margin-top:28px}.text-link:hover{border-color:var(--lime)}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:53px}.large-heading{font-size:clamp(55px,8.2vw,116px);line-height:.96;letter-spacing:-.09em;font-weight:900;margin:0}.section-heading>p{line-height:1.9;font-size:13px;font-weight:700;max-width:290px;margin:0 0 8px}.service-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:19px}.service-card{position:relative;border-top:1px solid #111;padding-top:16px;padding-bottom:38px}.service-visual{height:clamp(160px,19vw,260px);overflow:hidden;position:relative;margin-bottom:21px}.service-no{color:#6b8400;font-size:12px;font-weight:900;margin-bottom:15px}.service-card h3{font-size:clamp(19px,1.95vw,28px);font-weight:900;line-height:1.15;letter-spacing:-.06em;margin:0 0 17px}.service-card h3 span{font-size:.84em}.service-card p{font-size:12px;line-height:2;max-width:270px;margin:0;color:#555;font-weight:600}.mini-arrow{position:absolute;right:0;bottom:0;border:1px solid #111;border-radius:50%;width:30px;height:30px;display:grid;place-items:center}.visual-creative{background:var(--lime);display:flex;align-items:center;padding:12%;transform:translateZ(0)}.visual-creative:after{content:'';position:absolute;width:63%;aspect-ratio:1;background:#111;border-radius:50%;right:-25%;bottom:-48%}.visual-text{font-size:clamp(33px,4.3vw,62px);font-weight:900;letter-spacing:-.10em;line-height:.93;position:relative;z-index:2}.visual-text .period{color:white}.visual-corner{font-size:7px;font-weight:900;position:absolute;bottom:11px;left:14px;z-index:2;letter-spacing:.1em}.visual-marketing{background:linear-gradient(145deg,#eaeaea,#c4c4c4);padding:17px}.visual-chart{display:flex;align-items:end;gap:7px;height:74%;width:100%;border-bottom:2px solid #111;opacity:.9}.visual-chart span{flex:1;background:#111;height:var(--h,20%)}.visual-chart span:nth-child(1){--h:20%}.visual-chart span:nth-child(2){--h:42%}.visual-chart span:nth-child(3){--h:34%}.visual-chart span:nth-child(4){--h:65%}.visual-chart span:nth-child(5){--h:50%}.visual-chart span:nth-child(6){--h:77%}.visual-chart span:nth-child(7){--h:95%;background:var(--lime)}.chart-title{position:absolute;top:20px;left:22px;line-height:.99;font-weight:900;letter-spacing:-.06em;font-size:clamp(22px,2.7vw,39px)}.chart-title span{color:#8faf00}.visual-tech{background:#171717;display:flex;align-items:center;justify-content:center}.visual-tech .visual-corner{color:var(--lime)}.fake-app{background:#272727;color:white;border:1px solid #4e4e4e;border-radius:8px;padding:13px;width:85%;height:74%;box-shadow:0 16px 35px #0007}.fake-bar{display:flex;gap:4px}.fake-bar i{width:5px;height:5px;border-radius:50%;background:#aaa}.fake-app-title{font-size:7px;letter-spacing:.12em;margin-top:11px;color:#aaa}.fake-kpi{font-size:clamp(23px,3vw,42px);font-weight:900;letter-spacing:-.06em;margin:5px 0}.fake-kpi span{color:var(--lime);font-size:.5em}.fake-lines{display:flex;gap:7px;align-items:end;height:25%;border-bottom:1px solid #555}.fake-lines i{background:var(--lime);height:55%;flex:1}.fake-lines i:nth-child(2){height:35%}.fake-lines i:nth-child(3){height:63%}.fake-lines i:nth-child(4){height:40%}.fake-lines i:nth-child(5){height:95%}.visual-consult{background:#efefed}.crosshair{position:absolute;border:1px solid #999;width:230px;height:230px;border-radius:50%;top:-35px;right:-105px}.crosshair:before,.crosshair:after{content:'';position:absolute;background:#999}.crosshair:before{width:1px;height:100%;left:50%}.crosshair:after{height:1px;width:100%;top:50%}.consult-word{position:absolute;left:10%;bottom:13%;font-size:clamp(29px,3.45vw,52px);font-weight:900;letter-spacing:-.08em;line-height:1.05}.projects{background:#fafafa}.project-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px}.project-art{aspect-ratio:1.2;position:relative;overflow:hidden}.project-art>span:last-child{position:absolute;bottom:12px;left:13px;font-weight:900;font-size:11px}.art-architecture{background:linear-gradient(130deg,#cfd4d6,#8d979c)}.architecture-building{position:absolute;bottom:-16%;left:23%;height:113%;width:56%;transform:skewY(-12deg);background:repeating-linear-gradient(90deg,#303d47 0 2px,#7f919e 2px 28px,#3a4953 29px 32px),linear-gradient(#647480,#303d47);box-shadow:-23px 12px 0 #67737a;opacity:.9}.architecture-building i{position:absolute;background:#d5dce0a0;left:0;right:0;height:2px;top:20%}.architecture-building i:nth-child(2){top:40%}.architecture-building i:nth-child(3){top:60%}.architecture-building i:nth-child(4){top:80%}.art-insurance{background:#e4e3e0;display:grid;place-items:center}.insurance-frame{width:67%;height:80%;border:1px solid #222;position:relative;padding:16px;transform:rotate(-7deg);background:#f6f6f2;box-shadow:15px 16px 0 #cacac6}.insurance-frame span{font-size:clamp(20px,2.55vw,38px);letter-spacing:-.08em;font-weight:900;line-height:.95}.insurance-frame i{position:absolute;background:var(--lime);width:36%;aspect-ratio:1;bottom:13%;right:13%;border-radius:50%}.art-food{background:#222;display:grid;place-items:center}.food-ring{border:25px solid #b9baac;width:75%;aspect-ratio:1;border-radius:50%;display:grid;place-items:center;background:#f5f3e9;transform:rotate(-15deg)}.food-ring span{font-size:clamp(14px,1.55vw,24px);line-height:1.05;letter-spacing:-.06em;font-weight:900}.art-food>span:last-child{color:white}.art-system{background:#bfc6c7;display:grid;place-items:center}.system-panel{background:#16191b;color:#fff;border-radius:4px;width:80%;height:75%;padding:13px;box-shadow:10px 16px 21px #0002;transform:rotate(4deg);position:relative}.system-panel>div:first-child{color:#bbb;font-size:8px;font-weight:700}.system-panel strong{display:block;font-size:clamp(20px,2.2vw,34px);margin:8px 0 0}.system-panel>span{font-size:7px;color:#bdbdbd}.graph{position:absolute;bottom:12%;height:30%;display:flex;gap:4px;align-items:end;left:12%;right:12%}.graph i{flex:1;background:var(--lime);height:33%}.graph i:nth-child(2){height:56%}.graph i:nth-child(3){height:46%}.graph i:nth-child(4){height:70%}.graph i:nth-child(5){height:60%}.graph i:nth-child(6){height:80%}.graph i:nth-child(7){height:95%}.project-label h3{font-size:16px;font-weight:900;letter-spacing:-.04em;margin:17px 0 6px}.project-label p{font-size:11px;color:#555;margin:0;font-weight:600;line-height:1.7}.disclaimer{font-size:10px;color:#888;line-height:1.7;margin-top:28px}.clients-grid{display:grid;grid-template-columns:1.3fr 1fr;align-items:end;gap:10%;margin-bottom:68px}.clients-grid p{max-width:410px;font-size:14px;line-height:2.2;color:#555;margin:0}.industry-list{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #bbb;border-left:1px solid #bbb}.industry-list span{font-size:clamp(13px,1.5vw,20px);font-weight:900;letter-spacing:-.04em;padding:27px 20px;border-right:1px solid #bbb;border-bottom:1px solid #bbb}.industry-list span:hover{background:var(--lime)}.strengths{background:#f8f8f6}.strength-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:10%}.strength-grid>div>p{margin-top:38px}.strength-items{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid #ccc;border-left:1px solid #ccc}.strength-items>div{padding:26px 20px;border-right:1px solid #ccc;border-bottom:1px solid #ccc}.strength-items span{font-size:12px;color:#829a24;font-weight:900}.strength-items h3{font-size:19px;font-weight:900;margin:18px 0 8px}.strength-items p{font-size:12px;line-height:1.8;margin:0;color:#555}.company-grid,.news-grid{display:grid;grid-template-columns:1fr 1fr;gap:10%}.company-detail dl{margin:0}.company-detail dl>div{display:grid;grid-template-columns:115px 1fr;gap:20px;border-bottom:1px solid #ddd;padding:20px 0}.company-detail dt{font-size:12px;color:#777;font-weight:700}.company-detail dd{font-size:13px;font-weight:700;line-height:1.8;margin:0}.news{padding-bottom:110px}.news-empty{border-top:1px solid #111;padding:28px 0}.tiny-tag{font-size:10px;font-weight:900;color:#777}.news-empty p{font-size:15px;font-weight:700}.contact{padding-top:90px;padding-bottom:95px;background:#fff;border-top:1px solid var(--ink)}.contact-head{display:flex;justify-content:space-between;font-size:11px;font-weight:900;letter-spacing:.1em}.contact h2{font-size:clamp(70px,11vw,165px);font-weight:900;letter-spacing:-.095em;line-height:.9;margin:78px 0 60px}.contact-foot{display:flex;align-items:end;justify-content:space-between;gap:25px}.contact-foot p{font-size:15px;font-weight:800;line-height:2}.contact-button{background:var(--lime);padding:23px 28px;display:flex;justify-content:space-between;gap:100px;align-items:center;font-size:13px;font-weight:900;transition:.2s}.contact-button:hover{color:#fff}.contact-button span{font-size:23px}.contact-note{color:#777;font-size:10px;margin-top:24px}.footer{border-top:1px solid #ddd;min-height:130px;display:flex;align-items:center;justify-content:space-between;gap:25px;flex-wrap:wrap}.footer .logo{font-size:29px}.footer-links{display:flex;gap:16px;flex-wrap:wrap}.footer small{font-size:10px;color:#777}.back-top{font-weight:900;background:var(--lime);padding:12px 16px}a:focus-visible,button:focus-visible{outline:3px solid #859e00;outline-offset:4px}@media(max-width:1120px){.desktop-nav{gap:12px}.desktop-nav a{font-size:9px}.header-right{gap:13px}.header-cta{padding:14px}.service-grid{grid-template-columns:repeat(2,1fr);gap:35px}.service-visual{height:240px}.visual-text{font-size:55px}.chart-title{font-size:39px}.consult-word{font-size:50px}}@media(max-width:850px){.site-header{height:70px}.desktop-nav,.header-cta,.lang{display:none}.menu-button{display:block}.mobile-menu{display:flex;position:absolute;top:70px;left:0;right:0;background:white;border-bottom:1px solid #ccc;padding:25px;flex-direction:column;gap:0;box-shadow:0 14px 25px #0001;visibility:hidden;opacity:0;transform:translateY(-8px);transition:.2s}.mobile-menu.open{visibility:visible;opacity:1;transform:translateY(0)}.mobile-menu a{font-size:20px;font-weight:900;padding:14px 0;border-bottom:1px solid #eee}.hero{min-height:780px}.hero h1{font-size:clamp(65px,11vw,100px)}.hero-bottom{align-items:start}.about-grid,.strength-grid,.company-grid,.news-grid{grid-template-columns:1fr;gap:45px}.project-grid{grid-template-columns:repeat(2,1fr)}.clients-grid{grid-template-columns:1fr;gap:30px}.contact h2{font-size:clamp(58px,10.4vw,95px)}}@media(max-width:590px){.site-header{padding:0 22px}.hero{min-height:calc(100svh - 70px);padding-top:60px;padding-bottom:80px}.hero-kicker{font-size:9px;line-height:1.6;letter-spacing:.025em;margin-bottom:37px}.hero h1{font-size:clamp(46px,12.2vw,74px);margin-bottom:50px;letter-spacing:-.09em}.hero-bottom{display:block}.hero-jp{font-size:25px}.hero-lead{font-size:12px;line-height:1.95}.hero-side{margin-top:30px;align-items:flex-start;font-size:9px}.scroll-hint{margin-top:15px}.round-arrow{width:40px;height:40px}.hero-index{font-size:8px}.section{padding-top:75px;padding-bottom:85px}.section-meta{margin-bottom:36px;font-size:9px}.statement{font-size:clamp(32px,9vw,48px)}.about-copy p:first-child{font-size:23px}.section-heading{display:block;margin-bottom:32px}.section-heading>p{margin:25px 0 0;font-size:12px}.large-heading{font-size:clamp(50px,13vw,80px)}.service-grid{grid-template-columns:1fr;gap:32px}.service-visual{height:250px}.service-card h3{font-size:29px}.project-grid{gap:26px 12px}.project-art{aspect-ratio:1}.project-label h3{font-size:12px;overflow-wrap:anywhere}.project-label p{font-size:10px}.insurance-frame span{font-size:18px}.food-ring{border-width:12px}.food-ring span{font-size:12px}.system-panel strong{font-size:18px}.industry-list{grid-template-columns:repeat(2,1fr)}.industry-list span{font-size:11px;padding:22px 12px}.strength-items h3{font-size:14px}.strength-items>div{padding:18px 12px}.strength-items p{font-size:10px}.company-detail dl>div{grid-template-columns:90px 1fr;gap:10px}.contact{padding-top:60px;padding-bottom:70px}.contact-head{font-size:9px}.contact h2{font-size:clamp(48px,11vw,70px);margin:60px 0 38px}.contact-foot{display:block}.contact-foot p{font-size:13px}.contact-button{margin-top:35px}.footer{padding-top:35px;padding-bottom:35px;justify-content:flex-start}.footer-links{order:3;width:100%}.footer small{order:4;width:85%}.back-top{margin-left:auto}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* TRAD motion system — luminous surfaces, editorial motion */
:root{--motion-cubic:cubic-bezier(.22,1,.36,1)}
body{overflow-x:hidden}
.hero,.section,.contact{isolation:isolate}
/* Sections stay white until the viewer enters; lime sweeps in from the bottom. */
.about,.clients,.contact{position:relative;transition:color .65s var(--motion-cubic)}
.about::before,.clients::before,.contact::before{content:"";position:absolute;z-index:-1;inset:0;background:var(--lime);transform:scaleY(0);transform-origin:bottom;transition:transform 1.05s var(--motion-cubic);pointer-events:none}
.about.is-lime::before,.clients.is-lime::before,.contact.is-lime::before{transform:scaleY(1)}
.about.is-lime .marker{box-shadow:inset 0 -.18em #fff}
.clients.is-lime .period,.contact.is-lime .period{color:#fff}
.about.is-lime .section-meta,.clients.is-lime .section-meta{border-color:#111}
.about.is-lime .about-copy p:nth-child(2),.clients.is-lime .clients-grid p{color:#252525}
.clients.is-lime .industry-list{border-color:#111}
.clients.is-lime .industry-list span{border-color:#111}
.clients .industry-list span{transition:background .3s,color .3s,transform .4s var(--motion-cubic)}
.clients .industry-list span:hover{background:#111;color:var(--lime);transform:translateY(-5px)}
/* Hero headline, understated kinetic graphic treatment */
.hero h1{transition:letter-spacing .9s var(--motion-cubic)}
.hero h1:hover{letter-spacing:-.073em}
.hero h1 .period{display:inline-block;transition:transform .55s var(--motion-cubic),color .4s}
.hero h1:hover .period{transform:rotate(45deg) scale(1.18)}
.signal{animation:signal-pulse 2.5s ease-in-out infinite}
@keyframes signal-pulse{0%,100%{box-shadow:0 0 0 0 #c8ff0070}50%{box-shadow:0 0 0 10px #c8ff0000}}
/* Scroll reveal: no-JS fallback keeps all content visible. */
.motion-ready .reveal{opacity:0;transform:translateY(42px);transition:opacity .8s ease,transform .9s var(--motion-cubic)}
.motion-ready .reveal.in-view{opacity:1;transform:translateY(0)}
.motion-ready .reveal[data-delay="1"]{transition-delay:.10s}
.motion-ready .reveal[data-delay="2"]{transition-delay:.20s}
.motion-ready .reveal[data-delay="3"]{transition-delay:.30s}
/* Service visuals invert and shift on hover; accessible keyboard focus */
.service-card .service-visual{transition:transform .65s var(--motion-cubic),filter .5s,box-shadow .55s var(--motion-cubic)}
.service-card:hover .service-visual,.service-card:focus-within .service-visual{transform:translateY(-9px);box-shadow:10px 12px 0 var(--lime)}
.service-card:hover .visual-marketing,.service-card:hover .visual-consult{filter:contrast(1.13)}
.service-card .mini-arrow{transition:background .25s,transform .4s var(--motion-cubic)}
.service-card:hover .mini-arrow{background:var(--lime);transform:rotate(45deg)}
.project-art{transition:transform .65s var(--motion-cubic),filter .5s}
.project-item{overflow:hidden}
.project-item:hover .project-art{transform:scale(.97);filter:saturate(1.18)}
.project-item:hover .project-label h3{box-shadow:inset 0 -.45em var(--lime)}
.project-label h3{display:inline;transition:box-shadow .3s}
.strength-items>div{transition:background .35s,color .35s}
.strength-items>div:hover{background:var(--lime)}
.strength-items>div:hover span,.strength-items>div:hover p{color:#111}
.header-cta,.contact-button,.back-top{transition:background .35s,color .35s,transform .35s var(--motion-cubic)}
.header-cta:hover{background:var(--lime);color:#111;transform:translateY(-2px)}
.contact-button:hover{background:#111;color:var(--lime);transform:translateY(-4px)}
.back-top:hover{transform:translateY(-4px)}
/* Thin neon progress line across sticky header */
.scroll-progress{position:absolute;bottom:-1px;left:0;width:100%;height:3px;transform:scaleX(0);transform-origin:left;background:var(--lime);pointer-events:none}
@media(max-width:590px){.hero h1:hover{letter-spacing:-.09em}.service-card:hover .service-visual{transform:translateY(-4px);box-shadow:6px 7px 0 var(--lime)}}
@media(prefers-reduced-motion:reduce){.motion-ready .reveal{opacity:1;transform:none}.about::before,.clients::before,.contact::before{transition:none}.signal{animation:none}}

/* TRAD / Rebranding & Succession — 2026 update */
.service-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:clamp(10px,1.2vw,22px)}
.service-grid .service-visual{height:clamp(175px,17vw,250px)}
.service-succession .visual-succession{background:#c8ff00;color:#111;position:relative;display:flex;align-items:center;padding:17px;overflow:hidden}
.succession-line{font-weight:900;letter-spacing:-.075em;font-size:clamp(22px,2.5vw,42px);line-height:1.02}.dot-dark{color:#fff}.visual-succession .visual-corner{color:#111}
.service-arrow{display:grid;place-items:center;text-decoration:none}
.succession{position:relative;isolation:isolate;overflow:hidden;background:#fff}
.succession::before{content:"";position:absolute;inset:0;background:var(--lime);z-index:-1;transform:scaleY(0);transform-origin:bottom;transition:transform 1.1s cubic-bezier(.21,.8,.2,1);pointer-events:none}
.succession.is-lime::before{transform:scaleY(1)}
.succession .section-meta{border-color:#111}.succession .section-meta span:last-child{color:#383838}
.succession-layout{display:grid;grid-template-columns:1.4fr .65fr;gap:6%;align-items:end}
.succession-kicker{font-weight:900;font-size:12px;letter-spacing:.13em}
.succession h2{font-weight:900;letter-spacing:-.095em;line-height:.97;font-size:clamp(48px,8.5vw,135px);margin:28px 0 50px}
.succession-dot{color:#b4d900;transition:color .5s}.succession.is-lime .succession-dot{color:white}
.succession-intro h3{font-size:clamp(27px,3vw,44px);letter-spacing:-.065em;line-height:1.4;margin:0 0 20px;font-weight:900}
.succession-intro p{font-size:14px;line-height:2.1;font-weight:600;margin:0 0 55px}
.succession-paths{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-left:1px solid #111;border-top:1px solid #111;margin:24px 0 36px}
.succession-paths article{padding:25px 22px 35px;border-right:1px solid #111;border-bottom:1px solid #111;transition:background .25s,transform .25s}
.succession-paths article:hover{background:#111;color:var(--lime);transform:translateY(-5px)}
.succession-paths span{font-size:11px;font-weight:900;letter-spacing:.04em}
.succession-paths h3{font-size:clamp(19px,2.8vw,35px);letter-spacing:-.06em;margin:30px 0 12px;font-weight:900}
.succession-paths p{font-size:12px;line-height:1.9;margin:0}
.succession-cta{display:flex;justify-content:space-between;align-items:center;max-width:535px;background:#111;color:#fff;padding:23px 25px;font-size:14px;font-weight:900;transition:transform .25s,background .25s}
.succession-cta:hover{background:white;color:#111;transform:translateY(-4px)}
.succession-note{font-size:11px;line-height:1.8;margin:24px 0 0}
@media(max-width:1120px){.service-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.service-grid .service-visual{height:240px}}
@media(max-width:850px){.succession-layout{grid-template-columns:1fr}.succession-intro p{margin-bottom:28px}}
@media(max-width:590px){.service-grid{grid-template-columns:1fr}.service-grid .service-visual{height:245px}.succession h2{font-size:clamp(43px,12vw,75px)}.succession-paths{grid-template-columns:1fr}.succession-paths article{padding:20px}.succession-paths h3{margin:10px 0}.succession-intro p{font-size:12px}.succession-cta{font-size:12px}}
@media(prefers-reduced-motion:reduce){.succession::before,.succession-dot{transition:none!important}.succession-paths article:hover{transform:none}}

/* ABOUT TRAD independent philosophy page */
.about-detail-page .site-header{background:#fff}.about-detail-page .desktop-nav a[aria-current]{box-shadow:inset 0 -4px var(--lime)}
.about-detail-hero{min-height:77vh;padding-top:75px;padding-bottom:95px;display:flex;flex-direction:column;justify-content:space-between}
.about-detail-hero h1{font-size:clamp(48px,8.1vw,132px);line-height:.95;letter-spacing:-.09em;font-weight:900;margin:65px 0}
.about-detail-hero-foot{display:flex;justify-content:space-between;align-items:end;gap:20px}.about-detail-hero-foot strong{font-weight:900;font-size:clamp(23px,3vw,40px);line-height:1.5;letter-spacing:-.04em}.about-detail-hero-foot span{font-size:11px;font-weight:900;letter-spacing:.08em}
.detail-mission,.detail-values,.detail-message,.detail-final{padding-top:85px;padding-bottom:110px;border-top:1px solid #111}
.detail-two-col{display:grid;grid-template-columns:1.2fr 1fr;gap:9%;align-items:start}.detail-two-col h2{font-size:clamp(32px,4.4vw,70px);font-weight:900;letter-spacing:-.06em;line-height:1.42;margin:35px 0}.detail-two-col h2 em{font-style:normal;box-shadow:inset 0 -.2em var(--lime)}.detail-mission .detail-two-col p{font-size:clamp(15px,1.3vw,19px);font-weight:600;line-height:2.3;padding-top:42px}
.detail-section-title{font-size:clamp(48px,9vw,120px);letter-spacing:-.085em;line-height:1;margin:30px 0 60px;font-weight:900}
.value-list article{display:grid;grid-template-columns:80px 1fr 45px;gap:28px;padding:45px 0;border-top:1px solid #bbb;align-items:start;transition:background .35s,padding .35s}.value-list article:last-child{border-bottom:1px solid #bbb}.value-list article:hover{background:var(--lime);padding-left:20px;padding-right:20px}.value-n{font-size:30px;letter-spacing:-.06em;font-weight:900}.value-en{font-size:11px;font-weight:900;letter-spacing:.12em}.value-list h3{font-size:clamp(27px,4vw,52px);letter-spacing:-.06em;line-height:1.2;margin:16px 0}.value-label{font-size:12px;font-weight:900}.value-list article div>p:last-child{font-size:15px;line-height:2;color:#333;margin-top:20px}.value-arr{font-size:29px;font-weight:900}
.detail-message{background:#f5f5f3}.detail-small-en{font-size:10px;font-weight:900;letter-spacing:.12em;margin-top:25px}.message-copy{padding-top:45px}.message-copy p{font-size:15px;line-height:2.4;margin-bottom:25px}.message-copy .signature{text-align:right;margin-top:42px;font-size:14px}.signature strong{font-size:20px}
.detail-final{position:relative;isolation:isolate;overflow:hidden}.detail-final:before{content:"";position:absolute;inset:0;background:var(--lime);z-index:-1;transform:scaleY(0);transform-origin:bottom;transition:transform 1s cubic-bezier(.22,1,.36,1)}.detail-final.is-lime:before{transform:scaleY(1)}.detail-final h2{font-size:clamp(43px,7.7vw,112px);line-height:.96;letter-spacing:-.085em;font-weight:900;margin:75px 0}.detail-final h2 span{color:#fff}.detail-final-foot{display:flex;justify-content:space-between;align-items:end;gap:25px}.detail-final-foot p{font-weight:800;font-size:17px;line-height:2}.detail-final-foot a{background:#111;color:#fff;padding:22px 35px;font-size:13px;font-weight:900;transition:transform .3s}.detail-final-foot a:hover{transform:translateY(-5px)}
@media(max-width:750px){.about-detail-hero{min-height:65vh;padding-top:50px;padding-bottom:65px}.about-detail-hero h1{font-size:clamp(39px,8.8vw,75px);margin:50px 0}.about-detail-hero-foot{display:block}.about-detail-hero-foot span{display:block;margin-top:32px}.detail-mission,.detail-values,.detail-message,.detail-final{padding-top:65px;padding-bottom:75px}.detail-two-col{grid-template-columns:1fr;gap:0}.detail-mission .detail-two-col p{padding-top:0}.value-list article{grid-template-columns:44px 1fr 20px;gap:12px;padding:34px 0}.value-n{font-size:22px}.value-arr{font-size:19px}.value-list article div>p:last-child{font-size:13px}.message-copy{padding-top:10px}.detail-final-foot{display:block}.detail-final-foot a{display:inline-block;margin-top:25px}}
@media(prefers-reduced-motion:reduce){.detail-final:before{transition:none}}

/* Philosophy refinement */
.detail-mission .mission-copy p{font-size:clamp(15px,1.3vw,19px);font-weight:600;line-height:2.25;margin:22px 0}
.detail-mission .mission-copy{padding-top:25px}
.value-list article div>p:not(.value-label){font-size:15px;line-height:2;margin:14px 0;color:#333;max-width:760px}
.value-list article:first-child .value-n{background:var(--lime);padding:5px 10px;width:max-content}
.message-copy strong{font-weight:900}
@media(max-width:750px){.detail-mission .mission-copy{padding-top:0}.value-list article div>p:not(.value-label){font-size:13px}}

/* Readable English typography — enhanced tracking, responsive scale */
.hero h1 {letter-spacing:.045em;font-size:clamp(66px,9.3vw,143px);white-space:normal}
.hero h1:hover {letter-spacing:.055em}
.large-heading {letter-spacing:.045em;font-size:clamp(50px,7.3vw,105px)}
.contact h2 {letter-spacing:.04em;font-size:clamp(61px,9.4vw,143px)}
.succession h2 {letter-spacing:.04em;font-size:clamp(46px,7.7vw,120px)}
.about-detail-hero h1 {letter-spacing:.045em;font-size:clamp(45px,7.2vw,114px)}
.detail-section-title {letter-spacing:.05em;font-size:clamp(46px,8vw,105px)}
.detail-final h2 {letter-spacing:.04em;font-size:clamp(40px,6.8vw,98px)}
.service-card h3,.project-label h3,.strength-items h3 {letter-spacing:.035em;overflow-wrap:anywhere}
.visual-text,.chart-title,.consult-word,.succession-line,.insurance-frame span,.food-ring span {letter-spacing:.02em}
.logo {letter-spacing:.015em}
.desktop-nav a,.footer-links a,.hero-kicker,.section-meta,.value-en,.detail-small-en,.about-detail-hero-foot span {letter-spacing:.1em}
@media(max-width:850px){.hero h1{font-size:clamp(54px,9.5vw,84px)}}
@media(max-width:590px){
.hero h1{font-size:clamp(37px,9.5vw,57px);letter-spacing:.025em}
.hero h1:hover{letter-spacing:.025em}
.large-heading{font-size:clamp(43px,11.3vw,67px);letter-spacing:.02em}
.contact h2{font-size:clamp(42px,9.9vw,65px);letter-spacing:.018em}
.succession h2{font-size:clamp(39px,10vw,65px);letter-spacing:.015em}
.about-detail-hero h1{font-size:clamp(35px,8vw,65px);letter-spacing:.018em}
.detail-section-title{font-size:clamp(42px,9vw,76px);letter-spacing:.025em}
.detail-final h2{font-size:clamp(39px,9vw,65px);letter-spacing:.02em}
}

/* 2026-10-26: Reduce English tracking by 0.5 mm (about 1.89 CSS px). */
.hero h1{letter-spacing:calc(.045em - 1.89px)}
.hero h1:hover{letter-spacing:calc(.055em - 1.89px)}
.large-heading{letter-spacing:calc(.045em - 1.89px)}
.contact h2,.succession h2,.detail-final h2{letter-spacing:calc(.04em - 1.89px)}
.about-detail-hero h1{letter-spacing:calc(.045em - 1.89px)}
.detail-section-title{letter-spacing:calc(.05em - 1.89px)}
.service-card h3,.project-label h3,.strength-items h3{letter-spacing:calc(.035em - 1.89px)}
.visual-text,.chart-title,.consult-word,.succession-line,.insurance-frame span,.food-ring span{letter-spacing:calc(.02em - 1.89px)}
.logo{letter-spacing:calc(.015em - 1.89px)}
.desktop-nav a,.footer-links a,.hero-kicker,.section-meta,.value-en,.detail-small-en,.about-detail-hero-foot span{letter-spacing:calc(.1em - 1.89px)}
/* Airier paragraph structure with reduced copy, no loss of emphasis. */
.detail-message .detail-two-col{grid-template-columns:1.05fr 1fr;gap:7%}
.message-copy{padding-top:25px;max-width:650px}
.message-copy p{font-size:clamp(13px,1.05vw,15px);line-height:2.15;margin-bottom:19px}
.message-copy .message-rhythm{line-height:2.35}
.message-copy .message-emphasis{border-left:4px solid var(--lime);padding-left:20px;margin:24px 0;font-size:clamp(14px,1.2vw,17px)}
.message-copy .signature{text-align:right;margin-top:36px;display:flex;align-items:flex-end;flex-direction:column;gap:9px}
.signature-company{font-size:12px;line-height:1.9;letter-spacing:.025em}
.handwritten-signature{font-family:'Yuji Boku','Yu Mincho','Hiragino Mincho ProN',serif;font-size:clamp(29px,3vw,43px)!important;font-weight:400!important;letter-spacing:.11em;line-height:1.35;transform:rotate(-3deg);transform-origin:right center;display:inline-block}
@media(max-width:590px){
.hero h1,.hero h1:hover{letter-spacing:calc(.025em - 1.89px)}
.large-heading{letter-spacing:calc(.02em - 1.89px)}
.contact h2,.about-detail-hero h1{letter-spacing:calc(.018em - 1.89px)}
.succession h2{letter-spacing:calc(.015em - 1.89px)}
.detail-section-title{letter-spacing:calc(.025em - 1.89px)}
.detail-final h2{letter-spacing:calc(.02em - 1.89px)}
.message-copy{max-width:100%;padding-top:10px}
.message-copy p{font-size:13px;line-height:2.05;margin-bottom:17px}
.message-copy .message-emphasis{padding-left:13px}
}

.language-switch{display:flex;align-items:center;gap:7px;font-size:11px;font-weight:800;letter-spacing:.12em;white-space:nowrap}.language-switch a{color:#777;text-decoration:none}.language-switch a:hover{color:#111;text-decoration:underline;text-decoration-color:#c8ff00;text-decoration-thickness:3px}.language-switch [aria-current="page"]{color:#111}.language-switch .lang-divider{color:#aaa}.about-detail-page[lang="en"] .message-copy{line-height:1.85}html[lang="en"] .statement{font-size:clamp(36px,5vw,74px)}@media(max-width:570px){.language-switch{font-size:10px;gap:5px}.header-right{gap:9px}}

/* Always-visible succession banner */
.sb{position:fixed;left:0;right:0;bottom:0;z-index:70;display:flex;align-items:stretch;background:#c8ff00;border-top:2px solid #111;padding-bottom:env(safe-area-inset-bottom,0px)}
.sb[hidden]{display:none}
.sb-link{flex:1;min-width:0;display:flex;align-items:center;justify-content:center;gap:12px;padding:12px 8px 12px max(16px,env(safe-area-inset-left,0px));color:#111;text-decoration:none;font-weight:900;font-size:14px;line-height:1.4;transition:background .25s,color .25s}
.sb-link:hover{background:#111;color:#c8ff00}
.sb-tag{flex:none;background:#111;color:#c8ff00;font-size:10px;letter-spacing:.14em;padding:3px 8px;border-radius:99px;font-family:Inter,Arial,sans-serif}
.sb-link:hover .sb-tag{background:#c8ff00;color:#111}
.sb-text{min-width:0;overflow-wrap:anywhere;text-align:left}
.sb-arrow{flex:none;font-size:18px}
.sb-close{flex:none;width:48px;border:0;border-left:2px solid #111;background:transparent;color:#111;font-size:22px;line-height:1;cursor:pointer;padding:0 max(0px,env(safe-area-inset-right,0px)) 0 0}
.sb-close:hover{background:#111;color:#c8ff00}
.sb-link:focus-visible,.sb-close:focus-visible{outline:3px solid #111;outline-offset:-5px}
body:has(.sb:not([hidden])){padding-bottom:calc(56px + env(safe-area-inset-bottom,0px))}
@media(max-width:480px){.sb-link{font-size:13px;gap:8px}}
