/* NIKKEN corporate motion / 2026-11-07 */
body #header.nk-header .nk-header-inner{min-height:88px;padding-top:6px;padding-bottom:6px}
body #header.nk-header .nk-logo img{height:60px!important}
body #header.nk-header .nk-logo-caption{font-size:10px;letter-spacing:.15em;margin-top:-2px}
body #header.nk-header{box-shadow:none;border-bottom:1px solid #e3e5e2}
body #header.nk-header.is-scrolled{box-shadow:0 4px 20px #162d3910}
.nk-home .nk-stage{position:relative;display:grid;grid-template-columns:46% 54%;min-height:640px;background:#f5f4f0;isolation:isolate}
.nk-stage-copy{position:relative;z-index:2;padding:72px 28px 110px max(40px,calc((100vw - 1160px)/2));align-self:center}
.nk-home .nk-stage-eyebrow{font-size:10px;letter-spacing:.17em;line-height:1.8;color:#8e2634;font-weight:700;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.nk-stage-eyebrow>span{display:block;width:24px;height:1px;background:currentColor}
.nk-stage-eyebrow small{font-size:9px;letter-spacing:.1em}
.nk-home .nk-stage h1{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:clamp(34px,3.5vw,58px);font-weight:600;line-height:1.55;letter-spacing:.045em;margin:28px 0 24px;color:#223036}
.nk-title-line{display:block;overflow:hidden}
.nk-title-line>span{display:block;animation:nk-title-enter 1s cubic-bezier(.22,.7,.2,1) both}
.nk-title-line:nth-child(2)>span{animation-delay:.13s}.nk-title-line:nth-child(3)>span{animation-delay:.26s}
.nk-home .nk-stage-description{font-size:14px;line-height:2.1;color:#526067}
.nk-stage-company{display:inline-flex;align-items:center;gap:24px;border-bottom:1px solid #a6aeab;padding:12px 0;margin-top:24px;color:#223036!important;font-size:13px}
.nk-stage-company span{transition:transform .3s}.nk-stage-company:hover span{transform:translate(3px,-3px)}
.nk-stage-visual{position:relative;min-width:0;background:#40514e;overflow:hidden}
.nk-stage-slide{position:absolute;inset:0;margin:0;opacity:0;transition:opacity 1.3s ease;z-index:0;overflow:hidden}
.nk-stage-slide.is-active{opacity:1;z-index:1}
.nk-stage-slide img{display:block;width:100%!important;height:100%!important;max-width:none;object-fit:cover;object-position:55% center;transform:scale(1.045);transition:transform 7s linear}
.nk-stage-slide[data-slide="1"] img{object-position:50% 60%}
.nk-stage-slide.is-active img{transform:scale(1)}
.nk-stage-slide:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,#10212ad9)}
.nk-stage-slide figcaption{position:absolute;z-index:2;left:36px;bottom:90px;color:#fff}
.nk-stage-slide figcaption small{display:block;font-size:10px;letter-spacing:.16em;margin-bottom:8px}
.nk-stage-slide figcaption>span{font-size:21px;font-weight:500;letter-spacing:.05em}
.nk-slide-controls{position:absolute;z-index:4;bottom:32px;left:32px;right:32px;display:flex;gap:12px;align-items:center}
.nk-slide-controls[hidden]{display:none}
.nk-slide-controls button{font:inherit;color:#fff;border:0;background:transparent;min-height:44px;cursor:pointer;padding:8px 4px;display:flex;align-items:center;gap:10px}
.nk-slide-controls button span{font-size:11px;letter-spacing:.08em}
.nk-slide-controls i{display:block;width:42px;height:2px;background:#ffffff60;position:relative}
.nk-slide-controls button[aria-pressed="true"] i{background:#fff}
.nk-slide-controls .nk-slide-pause{margin-left:auto;border:1px solid #ffffff70;padding:8px 14px;font-size:11px;min-width:56px;justify-content:center}
.nk-slide-controls button:focus-visible{outline:2px solid #fff;outline-offset:4px}
.nk-scroll-cue{position:absolute;left:max(40px,calc((100vw - 1160px)/2));bottom:24px;z-index:4;display:flex;align-items:center;gap:22px;color:#536068!important;font-size:11px;letter-spacing:.08em}
.nk-scroll-cue i{font-style:normal;display:flex;align-items:center;justify-content:center;width:34px;height:42px;border:1px solid #bdc5c0;border-radius:20px;animation:nk-cue 2.6s ease-in-out 2}
.nk-brand-bridge{background:#24373c;color:#fff}
.nk-brand-bridge .nk-wrap{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-top:19px;padding-bottom:19px}
.nk-home .nk-brand-bridge p{font-size:13px;letter-spacing:.04em;line-height:1.8}
.nk-brand-bridge strong{font-size:19px;letter-spacing:.06em;margin:0 5px;font-weight:700}
.nk-brand-bridge a{color:#fff!important;font-size:12px;display:flex;align-items:center;gap:24px;border-bottom:1px solid #7d8e90;padding-bottom:4px}
.nk-overview{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;padding-top:90px;padding-bottom:70px;border-bottom:1px solid #dce0de}
.nk-home .nk-overview h2{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:31px;font-weight:600;line-height:1.65;margin-top:18px}
.nk-home .nk-overview-text{font-size:15px;color:#536068;line-height:2.1}
.nk-overview .nk-facts{border-bottom:0;margin-top:22px;padding:20px 0 0}
.nk-overview .nk-facts strong{font-size:27px;white-space:nowrap;font-family:Georgia,"Yu Mincho",serif}
.nk-overview .nk-facts strong small{font-size:12px;margin-left:3px}
.nk-overview .nk-facts div:last-child strong{font-size:20px}
.nk-overview .nk-facts div{padding:0 15px}.nk-overview .nk-facts div:first-child{padding-left:0}
.nk-overview .nk-facts span{font-size:11px}
.nk-home .nk-section h2,.nk-home .nk-company h2,.nk-team h2{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-weight:600;line-height:1.65}
.nk-home .nk-service{border:0;padding-top:0}
.nk-service-image{margin:0 0 28px;overflow:hidden;aspect-ratio:16/10;background:#e8eae6}
.nk-service-image img{display:block;width:100%;height:100%!important;object-fit:cover;transition:transform .8s ease}
.nk-service:nth-child(2) .nk-service-image img{object-position:center 60%}
.nk-service:hover .nk-service-image img{transform:scale(1.025)}
.nk-service .nk-text-link{margin-top:22px}
.nk-home .nk-quality{background:#eef1ed}
.nk-home .nk-steps li{padding-top:30px;padding-bottom:30px}
.nk-home .nk-brand-panel{position:relative;border:0;border-left:3px solid #ad2638;background:#f7f3eb;padding:48px}
.nk-team{display:grid;grid-template-columns:1.3fr 1fr;align-items:center;gap:60px;padding-top:15px;padding-bottom:90px}
.nk-team figure{margin:0;max-width:640px}
.nk-team img{display:block;width:100%;height:auto;aspect-ratio:2/1;object-fit:contain;background:#eeeee9}
.nk-team figcaption{font-size:11px;color:#647078;margin-top:12px;line-height:1.8}
.nk-team h2{font-size:31px;margin:18px 0 22px}
.nk-team p{font-size:15px;color:#536068}
.nk-reveal{transition:transform .8s cubic-bezier(.22,.7,.2,1),opacity .8s ease}
.nk-reveal.nk-await{opacity:0!important;transform:translateY(24px)}
.nk-home .nk-contact{background:#24373c}
@keyframes nk-title-enter{from{transform:translateY(110%);opacity:.1}to{transform:translateY(0);opacity:1}}
@keyframes nk-cue{0%,100%{transform:translateY(0)}50%{transform:translateY(6px)}}
@media(min-width:1600px){.nk-home .nk-stage{min-height:720px}.nk-stage-copy{padding-right:60px}}
@media(max-width:1050px){.nk-stage-copy{padding-left:28px}.nk-home .nk-stage h1{font-size:38px}.nk-home .nk-stage{min-height:580px}.nk-overview{gap:32px}.nk-scroll-cue{left:28px}.nk-team{gap:32px}}
@media(max-width:700px){
body #header.nk-header .nk-header-inner{min-height:76px;padding:6px 20px;gap:12px}
body #header.nk-header .nk-logo{flex-basis:184px!important}
body #header.nk-header .nk-logo img{width:184px!important;height:52px!important;object-fit:cover!important}
body #header.nk-header .nk-logo-caption{font-size:9px;line-height:1.4;margin-top:0}
body #header.nk-header .nk-mobile summary{font-size:11px;padding:10px 12px;min-height:40px}
.nk-home .nk-stage{display:block;min-height:560px;height:calc(100svh - 160px);max-height:700px;background:#253b3f}
.nk-stage-visual{position:absolute;inset:0;z-index:0}
.nk-stage-slide img{object-position:30% center}
.nk-stage-slide[data-slide="1"] img{object-position:48% 52%}
.nk-stage-slide:after{background:linear-gradient(180deg,#112a3425 0%,#112a3440 25%,#10222bd9 66%,#10222bf2 100%)}
.nk-stage-copy{position:absolute;inset:auto 22px 145px;padding:0;z-index:3;pointer-events:none}
.nk-stage-copy a{pointer-events:auto}
.nk-home .nk-stage-eyebrow{font-size:9px;color:#fff;letter-spacing:.12em;gap:8px;text-shadow:0 1px 5px #0008}
.nk-stage-eyebrow small{font-size:8px}
.nk-home .nk-stage h1{color:#fff;font-size:clamp(31px,8.4vw,44px)!important;line-height:1.5;letter-spacing:.045em;margin:17px 0 16px;text-shadow:0 2px 16px #0002}
.nk-home .nk-stage-description{color:#fff;font-size:12px;line-height:1.9}
.nk-stage-company{color:#fff!important;font-size:12px;padding:7px 0;margin-top:12px;border-color:#b3c0bf}
.nk-stage-slide figcaption{left:22px;bottom:84px}
.nk-stage-slide figcaption small{font-size:8px;letter-spacing:.12em;margin-bottom:3px}
.nk-stage-slide figcaption>span{font-size:14px}
.nk-slide-controls{bottom:20px;left:18px;right:22px}
.nk-scroll-cue{display:none}
.nk-brand-bridge .nk-wrap{display:block;padding:17px 22px}
.nk-home .nk-brand-bridge p{font-size:11px}.nk-brand-bridge strong{font-size:17px}
.nk-brand-bridge a{display:inline-flex;font-size:11px;margin-top:7px;gap:18px}
.nk-overview{grid-template-columns:1fr;gap:25px;padding-top:54px;padding-bottom:45px}
.nk-home .nk-overview h2{font-size:27px;margin-top:12px}
.nk-home .nk-overview-text{font-size:14px}
.nk-overview .nk-facts{margin-top:20px}.nk-overview .nk-facts div{padding:0 9px}
.nk-overview .nk-facts strong{font-size:25px}.nk-overview .nk-facts div:last-child strong{font-size:17px}
.nk-overview .nk-facts span{font-size:9px}
.nk-service-image{margin-bottom:20px}
.nk-home .nk-brand-panel{padding:30px}
.nk-team{grid-template-columns:1fr;gap:28px;padding-top:0;padding-bottom:54px}
.nk-team h2{font-size:27px;margin:13px 0 18px}
.nk-team p{font-size:14px}
}
@media(max-width:360px){.nk-home .nk-stage{min-height:540px}.nk-home .nk-stage h1{font-size:30px!important}.nk-stage-copy{left:18px;right:18px}.nk-home .nk-stage-description{font-size:11px}.nk-stage-eyebrow>span{width:16px}body #header.nk-header .nk-header-inner{padding-left:14px;padding-right:14px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}.nk-home *,.nk-header *{animation:none!important;transition:none!important}.nk-reveal.nk-await{opacity:1!important;transform:none}.nk-stage-slide img{transform:none!important}}

/* Compact the draft-only review notice on small screens without hiding its controls. */
@media(max-width:700px){
#wpvibe-preview-banner{padding:7px 10px!important;gap:8px!important;flex-wrap:wrap!important;justify-content:space-between!important}
#wpvibe-preview-banner .wpvibe-badge{font-size:10px!important;white-space:nowrap!important}
#wpvibe-preview-banner .wpvibe-info{flex:1 0 100%!important;order:4;font-size:9px!important;line-height:1.3!important}
#wpvibe-preview-banner .wpvibe-btn{font-size:9px!important;white-space:nowrap!important;padding:5px 7px!important;line-height:1.4!important}
.nk-home .nk-stage{height:calc(100svh - 180px);max-height:620px}
}
/* Final typography alignment / 2026-11-07 */
.nk-home .nk-overview .nk-facts{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}
.nk-home .nk-overview .nk-facts>div{display:grid;grid-template-rows:42px auto;gap:10px;align-content:start;min-width:0}
.nk-home .nk-overview .nk-facts strong{display:flex;align-items:baseline;align-self:end;gap:0;line-height:1.15;letter-spacing:0;margin:0;padding:0 0 3px}
.nk-home .nk-overview .nk-facts strong small{line-height:1.15;white-space:nowrap}
.nk-home .nk-overview .nk-facts>div>span{display:block;margin:0;line-height:1.7;min-height:3.4em;font-size:11px;letter-spacing:0}
.nk-home .nk-overview .nk-facts>div:last-child strong{font-weight:600}
.nk-home .nk-overview-text{line-height:2;line-break:strict;overflow-wrap:break-word}
.nk-overview-text .nk-overview-sentence{display:block}
@media(max-width:700px){
 .nk-home .nk-overview .nk-facts{padding-top:18px;margin-top:24px}
 .nk-home .nk-overview .nk-facts>div{grid-template-rows:35px auto;gap:12px;padding:0 10px}
 .nk-home .nk-overview .nk-facts>div:first-child{padding-left:0}
 .nk-home .nk-overview .nk-facts>div:last-child{padding-right:0}
 .nk-home .nk-overview .nk-facts strong{font-size:25px;line-height:1.1;padding-bottom:2px}
 .nk-home .nk-overview .nk-facts strong small{font-size:11px}
 .nk-home .nk-overview .nk-facts>div:last-child strong{font-size:17px;line-height:1.1;padding-bottom:3px}
 .nk-home .nk-overview .nk-facts>div>span{font-size:10px;line-height:1.8;min-height:3.6em}
 .nk-home .nk-overview h2{font-size:clamp(23px,6.7vw,27px);line-height:1.6;letter-spacing:.025em}
 .nk-overview-text .nk-overview-sentence+.nk-overview-sentence{margin-top:8px}
}
@media(max-width:360px){
 .nk-home .nk-overview .nk-facts>div{padding-left:7px;padding-right:7px}
 .nk-home .nk-overview .nk-facts strong{font-size:23px}
 .nk-home .nk-overview .nk-facts>div:last-child strong{font-size:15px}
 .nk-home .nk-overview .nk-facts strong small{font-size:10px}
 .nk-home .nk-overview .nk-facts>div>span{font-size:9px}
}
